RSS 2.0 Feed
RSS 2.0


Atom 1.0 Feed
Atom 1.0

  Becoming a Better Developer 


I mentioned before about my return to blogging on ryanfarley.com and my renewed passion for programming. I've found myself moving from blog to blog reading things that continue to inspire me. I read a post from Justice Gray, titled "How I am becoming a better developer, part 1 of infinity", that was mentioned on an episode of Hanselminutes. This was a great meme, and although I'm late getting to the table, I wanted to post some thoughts I have on becoming a better developer as well as some goals that I've made for myself.

The following list are some things I am doing to become a better developer:

1. Find/Rediscover Your Passion
I've always believed that to be a great developer you have to have the passion. What is passion? You know, it's that itch you get as you sit on the couch with your wife (or your husband) watching crappy reality TV and you can't break your thoughts away from sneaking off to write some code. It's that desire you feel to know all there is to know about your language, the framework, emerging new technologies, etc - just because it is fun to know it. It's that code that is always in your head, just dying to get out. You're not content with put in 8 hours a day writing code, you just have to find that extra time to do it just because you enjoy it. So, how do you rediscover that (or find it if you've never had it?). I think the rest of this list will help with that. I'd recommend starting with Hanselminutes show #72, Be a Better Developer in 6 Months. Then, make some goals for yourself.

My goal: Keep doing the rest of this list to keep the passion. At the end of the year, add new goals.

 

2. Remove Distractions
There's always things to get in your way of improving yourself and staying focused on your goals. If you work at your home, like me, turn off the TV, shut the office door, establish a "work mode" that separates itself from "home mode". I find it helps to turn off notification sound from Twhirl (or whatever Twitter client you use) as well as other distracting notifications. I found that my eyes would automatically shift to the bottom right corner of my monitor every time that "ping" sound would occur. I think part of "removing distractions" involved establishing routine to some degree. Instead of doing things like going through subscribed RSS feeds periodically throughout the day, disrupting your focus on real work, have a set time at the beginning of each day to catch up on that reading. Then you can stay better focused the rest of the day. 

My goal: Keep the TV off. Make work time a little more "formal" to stay focused. Establish a work mode routine and stick to it.



3. Listen to Podcasts & Read Blogs
A long while back, I would listen to DotNetRocks, but I stopped and that time got replaced with other things. After hearing about the start of the HerdingCode podcast on Twitter, I ended up giving it a try and loved it. I was feeling interested in the topics they were talking about and found myself wanting to dig into the topics discussed after the show. It was great. I've known of Hanselminutes for quite some time from Scott's blog, but never really gave it a try. So, I threw a bunch of episodes of that and DotNetRocks on my Zune, as well as the Deep Fried Bytes podcast that was starting up around that same time. The result was not exactly what I expected. I was expecting to enjoy listening to these, but it ended up in more than just that. I was feeling inspired. I was feeling excited and couldn't wait to jump into whatever the topic was for the show. Maybe the reason why I thought it was so great is because I do work out of my house. The rest of my development team lives in another state. Being able to hear development related discussions like these is just not the sort of thing I hear around my house (but we're working on that, hehe). The same can be said for reading blogs. There is always just so much to learn. I've never had a problem with keeping up with reading blogs.

My goal: Listen to a new podcast each morning (weekdays). I've started getting up earlier than I would have to give myself enough time to do a 30-45 minute power walk each morning. The fresh air does wonders, but it also gives me dedicated time to listen to a podcast while walking.


4. Blog
I've taken the first step here with reviving my ryanfarley.com blog. My belief is that, while you can learn a lot from reading from other blogs, you'll learn 10x that by writing posts yourself. The process of thinking through a topic enough to write about it is far more valuable than just reading about that same topic. Any time you can "teach" others, you'll end up growing as a developer by leaps and bounds. This has been my experience throughout my entire career, and I do love teaching others.

My goal: Keep posting reularly on this blog (and my CRM Developer blog too). I'm not going to set a specific number or anything, I'm ok with just saying "regularly" :-) Feel free to contact me and give me a push if "regularly" seems "less-regular".


5. Learn a New Technology Each Month
For me, this is something that without questions comes out of listening to podcasts. Since listening to podcasts, I've found that I really love SubSonic, ASP.NET MVC, LINQ, & WPF - which are all things I never really took the time to get into before. The problem is that there are just so many things I want to really learn well and I need some focus or I won't learn enough of any of them. Along the same lines as this, I've established at my company weekly developer meetings. We take an hour or two each Thursday and do some internal training. This has been a great way for me to stay focused and current on new things with a dedicated time for me, and my team, to improve ourselves.

My goal: Take the time to learn a new technology every month. Create a side-project using that technology as a reason to learn it. Stick to planned, weekly, developer training sessions with the development team at my company.


6. Get Involved in an Open Source Project
On the Hanselminutes episode #72 that I mentioned earlier, Scott and Carl talk about how the best thing you can do to be a better programmer is read. Not reading books, but reading other people's code. I'll take that one a step further. Not only does reading other people's code help you become a better programmer, but getting involved in writing the code as well will take you even further. While recently migrating my .Text blog to Subtext, I dug though probably most of the Subtext source (and was very familiar with the .Text code that it was forked from). I learned quite a bit looking at the code and a huge benefit of that is the ability to jump in and contribute to the Subtext project.

My goal: Pick an open-source project to contribute to over the year.



7. Seek out Local .NET Groups or Nerd Dinners
This one is a big one for people like me that work by themselves in their home. I mentioned earlier that the rest of my team all work in another state. I work out of my home and have a lot of online conferences and meetings as we work on projects together. However, I don't get the social "geek" atmosphere with my co-workers (except when I go out of town to meet with them - which is great). I've never really taken the time to get involved with the other local Arizona geeks. Just having the ability to network with other local .NET geeks and have meaningful conversations about programming topics would do wonders for keeping the passion and focus.

My goal: Seek out my local .NET users group and attend as much as possible. Take the time to meet up with others at local nerd diner meetups.


Well, there you go. My thoughts on ways to improve myself as a developer and my goals to do it. Wish me luck.


                   



Leave a comment below.

Comments

  1. Adrian H. 7/30/2008 1:32 PM
    Gravatar
    You got some good points here. Thanks for all those links, I just gathered a whole bunch of podcasts from those sites, I'll push them on my ipod. That's indeed a great idea to keep up with new technology and to hear some wisdom from insiders ;)
  2. Ryan Farley 7/30/2008 3:31 PM
    Gravatar
    Hi Adrian,

    Thanks for the comment. I've posted a follow-up with a complete list of valuable podcasts.

    -Ryan
  3. Gravatar
    The ASP.NET MVC Information Portal
  4. Jason Haley 7/30/2008 4:03 PM
    Gravatar
    Interesting Finds: July 30, 2008
  5. dzone 7/30/2008 5:07 PM
    Gravatar
    Becoming a Better Developer
  6. Gravatar
  7. A Continuous Learner's Weblog 7/31/2008 9:18 PM
    Gravatar
    A Continuous Learner's Weblog: Links (7/31/2008)
  8. Rhonda Tipton 8/3/2008 7:24 PM
    Gravatar
    Weekly Link Post 53
  9. gOODiDEA.NET 8/3/2008 8:39 PM
    Gravatar
    Interesting Finds: 2008.08.02~2008.08.04
  10. DotNetKicks.com 8/3/2008 8:40 PM
    Gravatar
    You've been kicked (a good thing) - Trackback from DotNetKicks.com
  11. Robert S. Robbins 8/3/2008 9:31 PM
    Gravatar
    I feel I make myself a better developer by learning very specific things. For example, today I worked out exactly how to reference a radiobuttonlist web control within a web user control. I think I finally grasp the control tree! Then I read a lengthy article on how using em rather than px is better for font sizing in CSS but only if you are careful about the parent element.

    Podcasts and blogs rarely provide the specific tips and tricks that I crave.
  12. Ryan Farley 8/3/2008 9:51 PM
    Gravatar
    Hi Robert, thanks for the comment. I could not agree more about focusing on learning something specific. I think that is great. Blogs and podcasts don't typically provide that same specific focus, although I find them equally as valuable, if nothing more than to inspire you and keep you in the loop for development topics that you should focus on.

    -Ryan
  13. JT 8/8/2008 12:11 PM
    Gravatar
    This is an awesome post. I have backed off recently on development items to focus more on quality assurance and have never regained that "passion." I'm hoping from this entry I can apply these tips to get me back in the game.
  14. Miron 8/26/2008 10:00 AM
    Gravatar
    Hi Ryan,
    Like you blog.
    I'm going to start working from home soon.
    Any more tips for working from home ?
    All the years I worked in companies,so It's a little
    scary working from home. Isn't it?
    Do you find it better than sit in the companies office ?
  15. Ryan Farley 8/26/2008 3:29 PM
    Gravatar
    @Miron, thanks. Yes, it can be a little scary to start working from home. *Don't* let yourself loose touch with other devs out there. *Do* get yourself to realize that you're in it for the long haul and just have to make it work.

    If you can get yourself to get dedicated to it, you'll realize that the benefits are completely huge and you'll love it.

    -Ryan
  16. Smith 9/30/2009 8:13 AM
    Gravatar
    hi Rayan,
    Nice work , i love it
    I am still a student and i do have concentration problem i hoop you have some more advies to mee
Comments have been closed on this topic.



 

News


Also see my CRM Developer blog

Connect:              


Sponsor

Sections