How to become a great software developer.
Posted by Mike on July 9, 2009
I googled the title of this blog post, as I am working through a difficult transition. I have been a full-time project manager (PM), but I am switching to 50% PM and 50% developer. I want to be the best developer I can be in that 50%.
Here is my story. I went into management for a better salary. Back when I did that, I had reached the top of the career path for developers – Systems Analyst. Several years into my time as an IT Manager, I was tapped to lead the Project Office. I oficially became a project manager and earned my Project Manager Professional (PMP) certification.
The more I worked with software development teams, the more I missed doing software development. As a PM, I also saw problems with software development that I figured would be hard to improve unless I got involved in the work. A hands-on approach would show me what was going on and build credibility for potential solutions.
My problem? Besides the tinkering I do in my spare time, most of my programming skills are rusty, out-dated, and underdeveloped. That being said, I have always been able to learn new things. With budgets tight, it is up to me to get started and prove my value. This is where the web really comes handy. There are so many good, free resources available for learning!
Here are a few that I am using:
- VB Programming for Non-Programmers! – This course will get your feet wet. It comes in four weekly installments and is easy to follow.
- SQLCourse.com has an Introductory SQL Tutorial. SQL is a manditory skill for querying relational databases.
- Learning the Java Language – A free course from Sun covering the fundamentals of the Java language.
- JavaBat – Innovative web page with Java practice problems.
Here are a few articles worth reading:
- Five Ways to Become a Better Software Developer – This one surprised me, as most of the tips involve networking and getting feedback from other developers.
- So how do you become a great software developer? – Another surprise – read! At the core is being able to understand the problem you are solving.
- Platform Engineers or Rock Star Engineers – It’s all about passion, skill, and understanding. The Rock Star Engineer can solve problems using whatever technology you put in front of him.
Finally, a couple book lists:
- Do you want to become a great developer? – This list covers a lot of different topics, but none of the books are language-specific.
- How to become a Great Software Engineer – Once again, most of this is not language-specific!
Here is a quote from the “Rock Star” article referenced above that sums it up nicely.
I’ve lost track of how many times this simple fact has been proven to me. The qualities of a great engineer carry over to any platform, and a great engineer will pick up a new platform quickly — mostly because they love learning new things. If you’re starting out in software development, concentrate on being a great engineer. That’s far more valuable than an engineer that knows a platform.
I have seen this too. If you look at the articles and book lists I’ve noted above, you will see that very little is said about specific languages. The languages are just the tools. They are important and you need to know them. However, it’s not the knowledge of languages that make a developer valuable. It’s the higher skills – learning, networking, understanding, and problem solving.
Add A Comment