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?




I have truly enjoyed reading your articles. You obviously know your stuff. Your site is so easy to navigate. I have bookmarked it in my favourites and will certainly be returning for more.
Hi, I was wondering if it is possible to seperate your XML feed by category. I'd like to add it to my rss reader but don't know if there is a dedicated url to acommplish this or if it is simply a sytanx that I can add in order to achieve this?
It is always pleasure to read your posts, will back here soon
Great work buddy, keep writing.
Houses are expensive and not everybody is able to buy it. Nevertheless, home loans are invented to help different people in such cases.
Nice post. Thank you for information ! Please keep posting.
you have a good sense of humour.
, thank for this astonishing information. Therefore, I would like to ask for your accept to add some of this information in my blog. Of course, I will provide a link to your website, as a source of my mentioned information.
see watch on the movement and you don't know
I keep listening to the news speak about getting free online grant applications so I have been looking around for the best site to get one.:)
Super site, and niec text.
Have you evermore thought concerning the processes from which a book is passed before coming into your hands? It is not a sheer form to write down a book as well publishing it. Writing in itself is a crabby job. So why not we lecture on the obstacles and hurdles in the way of writing a book? Why don't we harangue on getting help from book writing software?
Thank You For This Blog, was added to my bookmarks.
Really valuable facts shared..Iam extremely happy to read this write-up..thanks for giving us great info.Excellent walk-through. I love this post.
I just sent this post to a bunch of my friends as I agree with most of what you’re saying here and the way you’ve presented it is awesome.
Hi and thanks regarding getting time to talk about this, I feel strongly about it and love understanding far more on this subject. If doable, as you achieve expertise, would you thoughts updating your blog with more info? It really is really helpful.
I just now discovered your blog and wanted to state that I've genuinely enjoyed reading through your web site posts.Appreciate your sharing this info ,I truly delight in reading it.
Incredibly helpful facts shared..Iam quite content to study this post..thanks for giving us wonderful information and facts.Wonderful walk-through. I value this blog post.
I find myself coming to your blog more and more often to the point where my visits are almost daily now!
wow, that is probably amazingly thourough. as well as the helpful now that im done. thanks. although That i probably would like to know any time a lot of anything more revealed since the public get hold of collected(recorded) 100% to generally memory (including the entire additional/ribonucleic)also, achieve so, what does that change about the ending or maybe a gameplay? (however, if anything) additionally how bodyweight might wonder go about doing homeowners guys know certainly, there will be a triligy?
I just book marked your blog on Digg and StumbleUpon.I enjoy reading your commentaries.
You certainly deserve a round of applause for your post and more specifically, your blog in general. Very high quality material.
I find myself coming to your blog more and more often to the point where my visits are almost daily now!
You certainly have some agreeable opinions and views. Your blog provides a fresh look at the subject.
I just book marked your blog on Digg and StumbleUpon.I enjoy reading your commentaries.
You certainly have some agreeable opinions and views. Your blog provides a fresh look at the subject.
Should I buy steel golf clubs or graphite ?
I watched something about this on television last night. Thanks for explaining it more thoroughly
I just sent this post to a bunch of my friends as I agree with most of what you’re saying here and the way you’ve presented it is awesome.
Which golf clubs will be the best for beginner ?