Taking it to the next level…
Josh writes:
I’ve been working professionally with C# for about 2 years now and am just blown away by the things I can do with it. Lately though, I’ve felt like I’ve plateaud at this beginner to intermediate level. Every book I look at is either “Hello, World” or beyond my level of expertise, I feel like I’m always one step behind the game and my code is becoming stale.
That’s a very interesting question. I’m not longer a professional programmer (though I was for a little over a decade), so you’ll also want to listen to the comments that others are sure to write.
If you haven’t read them, there are a couple of books that I’d definitely recommend.
Code Complete
The Pragmatic Programmer
Both of these are currently on my bookshelf (actually, they would be if somebody hadn’t walked off with my copy of Code Complete).
To expose yourself to some new ideas, I’d also suggest:
Refactoring: Improving the Design of Existing Code
Extreme Programming Adventures in C#
Test-Driven Development in Microsoft .NET
Whether you agree with these approaches or not, they are certainly thought-provoking.
The best programmers that I’ve known always have a few side projects going on, where they’re exploring new areas, new environments, etc. If you’ve never done network programming, try writing some socket code, or play around with remoting, or DirectX. Play around with tools, like a profiler, or measure the performance of different options. Get a book on .NET IL and spend some time under the covers (Richter’s book is a good guide here).
Finally – and this may seem like weird advice from a C# guy – spend some time writing some code in a language such as Perl. Scripting languages lead to a different mindset that can be useful in language.
New version of Code Complete is coming out soon.
http://www.amazon.com/exec/obidos/tg/detail/-/0735619670/103-0122872-8806202?%5Fencoding=UTF8&coliid=I27SDK7I7JJZR0&colid=2NR9ZWS6ESIXJ
I feel the same way. Over the years I’ve gone to a gazillion Microsoft newsgroup meetings, workshops, seminars, etc; read a ton of books; and every time I come across "Hello world" in a serious book it inflicts guilt on me that (1( I’m wasting my time, and (2) I’m not getting what I extected. We need more really hardcore books.
And yes, you’re absoultely right about side projects. They let me explore areas I can’t afford to expore at work due to deadlines and such.
I can recommend you to buy the "Refactoring: Improving the Design of Existing Code" book, it’s really great book and I promise, if you think you write your code clean and easy to understand today, read this, and you will write even better code.
I have both the Test driven book and the extreme programming book, I don’t have read them yet, because I have other book in my queue, but by taking a brief look in the books, it looks great and I se forward to read them.
Eric Gunnerson writes about some programming books that are on his bookshelf. Based on the reviews at Amazon, I may buy some of these books. My programming library is relatively small. I’ve been using various Borders stores to read through…
Wow… good suggestion. I picked up Code Complete last week based on your comments.
Helpful For MBA Fans.