How to Become a Good C# Programmer, Part 1
- by Scott Whigham on September 1, 2009 8:25 AMI get questions through email (through the LearnItFirst.com website) all the time from people who watch my .NET training videos asking things like this recent email:
Hi Scott -
I really like your C# training course and would like to ask you if you have any tips on how can I become a better C# developer?
Along with this type of email, I also commonly get questions like this:
I'm a student at university and would like to know how to become a good programmer. What's the best way to learn to be good C# programmer?
I think I can help - and in a pretty standardized way that just about anyone with any aptitude for computer programming can follow.
My System to Help Anyone Become a Good Programmer
Let's get the hard part out of the way: this isn't going to happen overnight. It probably won't happen in only a year and it might take 2-3 years. But if you follow the steps below, I promise that you will become what you ask for: a good programmer. You may not become a great programmer but I believe that anyone who diligently follows this system can become a good programmer. Let's take a look at the (long) list of steps:
- Pick a language
- Pick a pet project
- Buy a few starter-level books or take a few online classes that are on your chosen language
- Begin reading the book/taking the class
- Implement your project while you are reading/taking the class
- Post your questions in an online forum dedicated to the language
- Find some sample apps written in your language and review how they did things differently
- Finish your book/class and buy another book/class that is specific to your language of a beginner/intermediate level
- Begin answering other people's questions in forums
- Pick a new pet project and implement it
- Review some open source apps written in your language
- Contribute to open source apps
- Write a few articles on subjects you enjoy
- (Bonus step listed on last page!)
Whew - 14 steps is a lot! In this ten-part series on How to Be a Good C# Programmer, I'll step through each step and explain a little about each step. And while I'm sure that any sufficiently advanced developer could add several items to this list, in my opinion as a professional developer and educator of developers, if you follow this system, you will be able to start from scratch and become a highly paid, highly successful developer who enjoys what they do.
What You Do Not Need
A lot of people think that they need to have a Computer Science degree to be a good programmer but I disagree. I don't have such a degree and I fancy myself a more-than-able developer. Computer Science degrees are wonderful things but they aren't required to be a "good developer". Will it help you be a better developer? Yes, I think that having such a degree would make anyone a better developer. But I don't think it's a requirement to be a good or even a great programmer. Now don't misunderstand me: I think it's great to take computer science classes but I don't think that, in 2009/2010, having a computer science degree automatically makes you a "good programmer." You could, I suppose, make the case that a Software Engineering degree would fill that gap and I might be more inclined to agree.
I also see people wondering about whether they have to be math gurus and again I say, "No." It helps to know complex mathematical structures but I've made a career out of being a programmer and I failed Trigonometry three times (well, "failed" is perhaps the wrong word - "dropped out", "stopped going to class", "couldn't get up in time" all might be more appropriate).
"Yes, but Scott you don't need Trigonometry to be a good programmer; you need to know Calculus!" Oh. Okay, if you say so. I've never taken a Calculus class so I wouldn't know.
Next up
Let's walk through the steps of my system, starting with Part 2 of this article. That is, unless you're ready to start learning C# with my online C# training course!
Article Index:
- 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