Professional Documents
Culture Documents
http://www.basilv.com/psd/blog/2009/the-core-skills-all-software-develo...
This goes beyond simply writing a build script to include other related automation like continuous integration, Use of Build Automation automated deployments, and static code analysis tools. I have deliberately excluded skills that are not specifically about software development. Some of these general skills are very important to software developers (as well as other professions) and are necessary in order to excel as a developer. Examples of such skills include the ability to communicate verbally and in writing, the ability to work well with others in a team setting, self-discipline, and personal organization. I expect this list to be contentious. I may have missed a few skills you feel are core or may have included skills that you feel do not belong. Let me know via a comment below what skills you feel should or should not be core. Update: I revised the description of the skill "Debugging" based on Jacob's comment below.
Tweet
18 Comments on The Core Skills All Software Developers Need 1. Jacob says:
April 10, 2009 at 6:24 pm
The only thing I would disagree with is that I think the skill of debugging (which is certainly core) need not have anything to do with using a debugger. Debugging is the skill of quickly searching out and fixing bugs the most important part of that skill is being able to rapidly isolate (based on the context and the bug description) what component is causing the bug. The debugger can be a useful tool but a senior developer should not be dependent on it. Just my opinion of course.
1 of 3
2/16/2013 4:48 PM
The Core Skills All Software Developers Need Basil Vandegriend: Pro...
http://www.basilv.com/psd/blog/2009/the-core-skills-all-software-develo...
Id also make a broader argument that in many cases what makes a senior developer is not skill but habit sure, its important to know how to write unit tests, but its far more important to _actually do it_, for every unit that makes sense to test. Similarly, refactoring is not simply an ability but a habit; the tendency to always leave code better than you found it. You cant have (and shouldnt have) the habit without the ability, but the ability by itself doesnt help much. 2. Basil Vandegriend says:
April 10, 2009 at 9:22 pm
Great points, Jacob. Im going to change the definition of debugging in my article as a result. I particularly like your point about habit being key, although I prefer the term disciplined. 3. Danny says:
February 1, 2010 at 8:44 am
Excellent comments Basil Vandegriend. Im a Computer Science student in my 2nd year and I found your comments very useful. 4. YongYong says:
June 27, 2010 at 10:41 am
This is Brilliant! I am from Electronics Engineering and doing a Final Year Project on the Computer Engineering. The lack of many skills mentioned made my progress very very slow. Thanks a lot. 5. Wojciech Markowski says:
November 3, 2010 at 4:50 pm
Post over a year old and Im still finding it the best point to start self-assessment. Im quite experienced programmer and found it extremely difficult to evaluate myself as software developer. Your post made me aware of my weaknesses and strengths. I cant wait to share the link with my team. Man, I wish I knew this all 5 years ago! Many Thanks. 6. Basil Vandegriend says:
November 3, 2010 at 8:13 pm
Hi Wojciech. Im really happy you found this useful and I appreciate the kind words. Best of luck in applying this. 7. Jim says:
January 22, 2011 at 10:19 am
Technical skills are important in the software development industry. I think the desire to constantly learn is even more important. I wrote a post about it on my own blog after read this post and a few others. For all that are interested: http://www.theblogaholic.com/2011/01/22/mostimportant-software-development-skills/ 8. younis says:
February 11, 2011 at 12:24 pm
Very good article indeed and a very nice comment by Mr. Jacob, and mr. Jim Hats off 9. Parthi says:
July 6, 2011 at 8:31 am
I am having all those skills(I am B.E Computer Science Graduate)but not in good job, still I am lacking. 10. krisinte guido says:
July 28, 2011 at 11:45 am
Found your article the most helpful one of the 20 I reviewed. I do not have a technical background, but needed to help a client with a job description for software developers. Your article was great for that purpose. Thank you. I also quoted your website as the source on what I provided to my client. 11. Krishan says:
October 1, 2011 at 3:49 am
Very clearly mentioned basil. I am a software developer and have started working since few months only. I knew just coding wont be enough and to excel as a software engineer you need to be good in everything related to software develepement. Most of the stuffs mentioned are helpful. Understanding old code is kinda boring though and working with tools like ut automation tools, new compilers and searching for existing library functions always play with my patience.
2 of 3
2/16/2013 4:48 PM
The Core Skills All Software Developers Need Basil Vandegriend: Pro...
http://www.basilv.com/psd/blog/2009/the-core-skills-all-software-develo...
But these things need to be improved. Thnx a lot! 12. Habib says:
December 5, 2011 at 10:39 am
Very helpful. I think you have covered the core. I was self-assessing my skills as developer and your article allowed me to pinpoint improvement area thanks 13. alex says:
April 14, 2012 at 12:01 pm
Isnt having strong math skills a strong requirement? 14. Basil Vandegriend says:
April 15, 2012 at 4:39 pm
@alex, it helps but I wouldnt call it a requirement. Strong analytical / logical thinking abilities are more important. 15. disha says:
May 14, 2012 at 2:42 am
My logical skills are good but my analytical thinking isnt that great so is it ok for me to pursue a career in software development? Please help. 16. Basil Vandegriend says:
May 15, 2012 at 9:03 pm
@Disha, if it is something that really interests you then give it a try. Analytical thinking skills will improve with experience. 17. Ebenezer says:
May 23, 2012 at 7:40 pm
Excellent post. you really cleared my doubts. i am a third year student in computer science and Engineering. Will be chosen my stream from next academic session. This has really helped me now my strengths and weaknesses when it comes to software development. 18. Riyaz shaikh says:
October 18, 2012 at 8:04 pm
nice 1 for those who just begin to study of software developement Leave a Reply Name: Email: Website: (Not displayed)
Basil Vandegriend: Professional Software Development Copyright 2005-2012 by Basil Vandegriend. All Rights Reserved.
3 of 3
2/16/2013 4:48 PM