How to Become a Good C# Programmer, Part 10
- by Scott Whigham on September 1, 2009 3:50 PMThis is final post in my 10-part series on How to Become a Good C# Developer. If you need to reference the full list of steps to take to be a good C# programmer, you can find those here.
- Part 1 - Overview of a System for Becoming a Good C# Programmer
- Part 2 - Steps 1 and 2: Picking a Language and Picking a Pet Project
- Part 3 - Steps 3 and 4: Picking a Book or Class to Get Started
- Part 4 - Step 5: Implementing Your Pet Project
- Part 5 - Step 6: Minimizing the Trough of Disillusionment
- Part 6 - Steps 7 and 8: Finish your Book/Class and Start a New One
- Part 7 - Steps 9 and 10: Begin Answering Questions and Pick a New Project
- Part 8 - Steps 11 and 12: Review more apps and Start Contributing!
- Part 9 - Steps 13 and 14: Write a few articles and the Bonus Step
- Part 10 - Next Steps and What Does It Take to Be a Great Programmer?
Now You Have the System
I believe that, if you follow the thirteen steps that I outlined in this article, you will become a good C# programmer. You just can't help but become a good programmer when you do things like learn from people with tons of experience (i.e. reading the right books, taking the right video classes, and reviewing quality developer's code). It will take you time to become a good C# developer but, like all things worth doing, you will have a sense of pride once you've gone through these steps. And if you do Step 14 - the one where you create your own business - you might even be one of those people who makes their living from writing their own software (and that's a great feeling - trust me).
I wish you luck and I hope that you will share this article with others so that, together, you and I can make someone's life a little bit better.
The Next Steps
Inevitably everyone wants to know, "What now? I've followed the system and I'm doing well - where do I go from here?" Really it's just more of a "Rinse and Repeat" mantra: find some books/classes, contribute to more open source projects, develop more pet projects, read more books, take more classes, etc. You need time and "seasoning" to go from "good" to "great". The good news is that even good programmers can write great programs, enjoy programming, and make a great living. In fact, it's quite easy to just be a "good programmer" for your whole life. I hope you'll go on to become a "great programmer" though :)
What Does It Take to Become a Great C# Programmer?
Whew - big question! It certainly takes years of experience - I think everyone can agree on that point. What else though? I think most people who list these attributes:
- High intelligence
- Training on the right things (i.e. "perfect practice" as opposed to "practice makes perfect")
- Exposure to many systems and styles
- Passion for learning, developing
- Creativity
- In-depth knowledge of internals
- Ability to make complex topics simple
- Unit testing knowledge
- Knowledge of patterns
- Ability to quickly solve problems
- Ability to accurately scope projects and provide accurate timelines
- Ability to hit deadlines
- Ability to debug quickly and efficiently
There are many more attributes and skills, of course, but these are definitely in the ballpark.
How can you develop these skills?
I wish I could say, "This one thing - if you'll go do this one thing, you'll become a great developer" but I just can't - it's not possible. In my opinion, some people aren't born to be great programmers. Some people have all of the attributes except the ability to stay focused and hit a deadline - and they aren't great programmers. Others become really great at a specific version yet allow their skills to age - they don't update their skillset as new versions or technologies replace what they mastered. That's where the passion for learning and technology comes into play - you've really got to love developing to put in the hours it takes to remain a great developer.
I'll give you a few books that will allow you to help yourself:
- The Pragmatic Programmer - a must for anyone serious about becoming a great developer
- Code Complete - techniques, design patterns, "life as a programmer"
- Head First Design Patterns - I think most developers have this book!
- The Mythical Man Month: Essays on Software Engineering - Oh you think you know programming, do you?
There are many, many more books worth reading - I've only focused on pure programming-related books. There are books that change your outlook on life, books that motivate you, and inspirational biographies that can make you feel like a small, insignificant ant - all of which great developers enjoy. The one thing I'm sure of is that it takes a desire to learn and improve. Without that, the rest will not follow.
I wish you luck on your journey!
Scott Whigham
- Part 1 - Overview of a System for Becoming a Good C# Programmer
- Part 2 - Steps 1 and 2: Picking a Language and Picking a Pet Project
- Part 3 - Steps 3 and 4: Picking a Book or Class to Get Started
- Part 4 - Step 5: Implementing Your Pet Project
- Part 5 - Step 6: Minimizing the Trough of Disillusionment
- Part 6 - Steps 7 and 8: Finish your Book/Class and Start a New One
- Part 7 - Steps 9 and 10: Begin Answering Questions and Pick a New Project
- Part 8 - Steps 11 and 12: Review more apps and Start Contributing!
- Part 9 - Steps 13 and 14: Write a few articles and the Bonus Step
- Part 10 - Next Steps and What Does It Take to Be a Great C# Programmer?




Leave a comment