How to Become a Good C# Programmer, Part 7
- by Scott Whigham on September 1, 2009 12:27 PMThis is part 7 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?
Step 9: Begin answering other people's questions in forums
Now that you know a little, you can start helping others. One of the most proven ways to learn is by teaching others. You may think you know how things work but trying to explain a tough topic to someone who knows less than you when you don't fully understand the topic is tough for anyone! So help others - look for the newbies and try to guide them along. Make suggestions that reference books/courses/authors/trainers - people love that stuff. Just follow good forum etiquette!
Step 10: Pick a new pet project and implement it
Now's the time to move into ASP.NET, Silverlight, WPF, or whatever technology you want to work on. This should be an application that you take with you on job interviews and that, if it's good enough, you release as open source software yourself (maybe on http://codeplex.com). Take your time, find something interesting to work on, and make sure that it highlights things you like. You'd be surprised at how often employers find job candidates in forums and in the open source community.
Suggestions for Your Final Pet Project
- Take it seriously
- Use high quality graphics (spend a few bucks to get them a la carte from a place like http://www.istockphoto.com/ if you have to)
- Embed your name on each source code page
- Have friends test it out
Learn About Usability
Software developers are not renowned for creating great, usable applications by default; we have to work really hard to make our applications usable by people who didn't write the code. Two suggestions:
- Read Steve Krug's seminal work, Don't Make Me Think - yes it's about websites but that doesn't matter; the content applies to any and all apps
- Read Janice Redish's Letting Go of the Words: Writing Web Content that Works - again it has "web" in the title but it applies to any app
Final Thoughts on Your Final Pet Project
You know, there's nothing wrong with going back to your first pet project, revisiting that first "Top 25 Features" list you created, and augmenting that first pet project...
Next up
Let's take a look at Part 8 of 10! Of course, you are welcome to go ahead and dive into my C# video training class at any time!
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?




Cheers for this article, guys, keep up the great work.
You guys have a great blog going here, KIU!
Great blog, thanks a lot for the awesome posts!
My pals and I really love facebook's new "like" function. Want to be able to "like" anything you want? Check out this site, it does exactly that: www.fbliker.net
Have you aye thought anent the processes from which a book is passed before coming into your hands? It is not a stolid course to write down a book as well publishing it. Writing in itself is a formidable job. So why not we say on the obstacles and hurdles in the way of writing a book? Why don't we speechify on getting help from book writing software?
Thanks for all the great information.