I am chiming in late on this meme, but since James Kovacs and Jeff Palermo
both tagged me I thought it wise to share my strategy for becoming a better
developer over the next 6 months.
I have a lot of strategies that I try to follow in both my personal and
professional life that I have found have allowed me to experience what, thus
far, has been a very rewarding and enjoyable career.
- God’s Guidance. First and foremost I have and will
continue to ensure to ask for God’s guidance with regard to all of the decisions
I make with regards to my career. I want to ensure that whatever I choose to
pursue is something that allows me to open up new doors for sharing with other
people about the wonders of God’s grace.
- Humility. Being honest about my abilities has always let
me keep in the forefront of my mind where my strengths and weaknesses lie with
regards to software. Over the next 6 months I am going to continue to ensure
that areas that I feel weak in “that are applicable to the current
projects that I am working on” are the ones that I will try to develop
further. Learning to stay focused and not get pulled in 20 different directions
will allow people to assimilate new information much quicker. Identifying what
is currently applicable for your learning will prevent the overwhelming feeling
that can sometimes follow the release of new cool toys. It’s
not that I don’t want to be aware of all of the new stuff. I just don’t want to
waste my time on something that I can’t currently prove out in a production
environment.
- Publishing Code. Over the next 6 months I plan to release a
lot of source code examples that I think will serve as good reference materials
for people who are wanting to get their hands on some stuff that demonstrates
practically what it means to apply a lot of the techniques and strategies that
have come out of the Agile development movement. The reason for doing this is
twofold. I can start to share more with the community in a medium that works for
me better than blog posts. I have been fairly lax at answering people’s emails
as of late and I think that using this means of publishing will allow me to keep
on my toes as some of the problems I am posed with are fairly interesting and
would serve as good ways for me to sharpen my sword.
- Networking. This year has been an amazing year for me
getting out there and meeting other like minded developers out of the scene that
I am comfortable with. Being able to form relationships with people that I
respect as developers provides me with a group of people who can potentially
serve as sounding boards for ideas that I want to implement as well as mentors
from who I can learn from. I have always felt that if you surround yourself by
people who challenge your assumptions and truly make you think, that it elevates
the level to which you can take your career.
- Teaching. Having the opportunity to teach courses this year
has blessed our family in ways that I could not have imagined. Being able to
spend a week with a new group of people every month and be a source of advanced
training material has been a blast. I learn so much about development when I am
teaching a Nothin But .Net course. No 2 courses have been the same, and the
codebases that come out of each class vary greatly. The dynamic nature of the
classes allows me to take the students wherever they want to go, which can be an
interesting and challenging experience. Being able to pick up tricks and tidbits
along the way from different sets of students has been great. For me, the reason
I love teaching is that at the end of each week my brain is filled with new
ideas that just start flowing as the developer muscles are contracting over the
course of the week. The 3 weeks following every course allow me to test out and
apply the ideas that were birthed during each successive course. I truly feel
that I get just as much out of teaching the classes as I hope the students do
from attending. My plan over the next 6 months is to branch out with regards to
training and bring on board some kick butt collaborators who are experts in
their own areas and continue to provide top notch, practical development
training.
- Learning from the past. One of the things I always say is
that if I can’t look back at code I have written a couple of months ago and not
see ways that I could improve it, I have not done any real growing since. It’s
not to say that the way the code was written was not good. It’s that I should
not be content to just rinse and repeat my knowledge the exact same way from
project to project. One of the strategies that has allowed me to keep my job
fresh is to truly always try and think of new ways to solve what are sometimes
that same problem. This keeps your mind on its toes and allows you to exercise
the creative part of your development brain. Sure, it would be easy to take a
“model” project and extract the code and place it in as the base for a new
project; but where would the learning be.
- Passion. This is the last but by no means least point that
I am going to make. When I was younger my dad told me “I don’t care if
you want to be a garbage man, if you choose it as a profession and that is what
you want to do, I want to you work as hard as you can and be the best garbage
man that you can be.” Those words have resonated with
me throughout my career life more than my dad knows. My company slogan is :
Develop with Passion. Passion being, I feel, the main
ingredient that allows me to continually pursue excellence in this field I have
chosen for my career. I truly love the opportunity of being a software
developer. Being able to craft solutions from the ground up and be a mentor and
student of others around me is an amazing thing. Whenever I am on a mentorship
engagement my first and foremost plan is to let the passion I have for my job
shine through and potentially infect other developers!! The greatest blessing
for me as a developer is when I am told that I have positively impacted
somebody’s career path and have got them fired up for pursuing the future with
intensity and joy.
You will notice that none of the above items are overly technical things.
This is because, the technical side always takes care of itself when software is
something that you love to do. How am I going to improve as a developer over the
next 6 months? By continuing to pursue a path that I have been on for the last 7
years. A path that I feel blessed to have started down and one that ,for the
meanwhile, is where I feel I am meant to be. Each day I am going to strive to
sharpen the sword and not feel satisfied with prior accomplishments no matter
how great they might have been. I am going to always remember that there will
always be someone who knows more than me, makes more than me, etc. So I am not
going to get hung up on becoming like someone else. I am going to live out my
development life, wearing my passion on my sleeve and praying that each day I
get the opportunity to impact someone both professionally and personally, and be
thankful for the opportunity to work in a job that is both lucrative and
challenging.
