This post is my first post about you. Yes, you. I have been thinking a lot recently about what I can do in my everyday practice in order to make myself a better developer. I had thought up a few ways in which I can better myself on a day to day basis, but they all seemed a bit shallow and cliche. So, this is where you come in. What can we, as developers, do on a day to day basis to improve ourselves as developers? What small changes in our habits can we make that will have lasting impacts on us?
Since I started this blog in order to make you and I better developers, let’s take this chance to collaborate and come up with a truly awesome list of things that we can do in order to improve ourselves. Please, feel free to add a comment with a suggestion or pass this question along on your blog and let me know what your readers come up with. I am going to take all of the feedback that I get and try to create a list with the best ideas on how we can be better developers. If you blog about it, make sure you provide me a link to your post so that I can link to it! Just don’t call it a meme or my friend Scott will kill me! (he thinks that a special place in hell is reserved for people who use the word “meme”)
I have wanted to get create a post like this for a while now, but I wanted to make sure that my readership was large enough to get some good feedback. Well, I recently passed 1000 blog subscribers (yeah, I know, tooting my own horn :-) and so I feel like I should be able to get a few responses. Don’t prove me wrong dear readers!
Now, I am not completely going to cop out and leave this up to you guys. I am going to put two of my ideas on here, and then let you guys take it from there.
1) Emulate – I am not talking about emulating code, but I am talking about emulating programmers. There are always going to be programmers around you that are better than you. And if you think that is not the case, then you are probably just seriously deluded, or you are on a team of one. If you do have some great programmers around you, watch what they do and how they work and you might pick up a few tips that you never thought of!
2) Involve yourself in your local developer community – For me, this has probably been then most important thing I have done in order to make myself a better developer. There is something about surrounding yourself with other smart, driven, and dedicated developers that just keeps the fires of learning going. I know that since I have been involved in my local user group I have made more great friendships and met more awesome developers than I could ever count. Just for kicks I am going to call out a few right now, so cheers Kevin Hazzard, Andy Leonard, Kevin Israel, Harper Trow, Andrew Duthie, James Avery, Jeremiah Ivan, Al Tenhundfeld, and many many more.
So, is there a tool, technique, or habit that gives you that edge? Well then share it with us!
Oh, and I just decided this, but I am going to throw in three copies of “The Pragmatic Programmer” (affiliate link) to the top three best ideas that are submitted. This is one of the best development books I have ever read and it certainly made me a better developer. I will pick the ideas that I think are close to the top and then put a poll up at the end to decide the best of the best. If anyone in the top three already has copies of the book, then let me know so that someone further down the list can get it. Remember, this is all about making you a better developer!
Update: I may have started this off on the wrong foot by throwing out some very generic ideas, but I do want to see some specifics. For example, Rick below said “Read” and Angel said “Practice” which are both excellent suggestions. But is there a specific blog or book that you have read which has made you a better developer? Even better if it is outside of the normal books that most people can think of. Is there a specific paper that you read, or algorithm that you have learned? Was there a specific project Euler task that you completed which turned on a light in your head? Was there a blog post that inspired you? On top of broad suggestions, I also want to see specific things that you did or experienced which made you a better developer!
Update: I am going to start putting links here to other people’s posts who have replied to this: