How to become a good developer?

I was asked through this blog how to become a good developers. I think this is the question that many beginners want to ask. For every question there are throusands of answers. Okay, there are many answers like these but these ones are mine. :)

  1. Attitude. Most important thing is attitude. To get strong you have to get used with an idea that for every damn day you should learn many new things. You have to understand that you are part of world that changes very fast and the only way to survive it is to study, study and study again. 
     
  2. Read the books. There are many great books written guys who have long experience on the field. Also there are many great books written by industry leaders. And, of course, there are too many books to read them all. Select books carefully so you don’t waste your money. Read the books you got and think hard about what you have read. Is it all like this or do you have another opinion? How can you use new knowledge in your current or future task? What you made wrong in past tasks? 
     
    For guys who find books to expensive for them – there are public libraries where you can find books. Also you can check out Google books system and search for free e-Books. There are many great e-books available in internet and they are free.
     
  3. Code! Code! Code! To get a good practice write as much code you need. Try to be each time more effective than before. Study from experiences you have. Analyze the mistakes you made last time and try to find better ways how to solve these problems. Try out different features of language and platform you are using. Using different features of language you should usually write code using different patterns. This way you are improving your coding skills and also study many new things you didn’t knew before.
     
  4. Try out tools and utilities that make your work easier. One part of your work is knowledge about how to make things work. The other part of your work is your development environment. Find out what features your IDE provides and look for utilities that extend it by great fetures you don’t get out-of-box with your IDE.
     
  5. Try out new technologies. To stay on the track you should know about things that happened today or that will happen tomorrow. Take a time to discover new technologies and study new theories. Think about how you can use these technologies and in what context. Also try out how new stuff works and try to create something using it.
     
  6. Look how other guys develop systems. Take a look at open-source project to see how other guys build their systems. Go through the code and try to understand why they decided to do things this way and not the other. Of course, you can always communicate with authors of system if you think you have good advice how they can make their systems better.
     
  7. Everything that shines is not gold. Although there are industry leaders and veterans and their opinions matter they are just human beings like you and me. And they make mistakes – just like you and me. Of course, they are genial source of information but always use your own brain to rate the information you got.

    There are also online information sources like discussion groups, chat rooms, forums etc. Before you believe what is said there – try out. If somebody thinks that this or that thing goes this way then don’t follow these opinions blind. Try out if it is this way or not. But always use your brain to analyze information.
     

  8. Participate in communities. There are many communities for Microsoft technologies. You can belong to any open community you like. Communicate with people, help them to solve their problems and ask help if you are in trouble. Also be a member of local technology communities. 
     
  9. Visit technology events. If it is possible visit technical events. There are many regions where are local .Net groups (by example INETA etc) wo organize events. Also try to visit events like TechEd and MIX. These events are valuable sources of information about new and coming technologies.

Okay, these are my nine points that I would suggest if somebody asks me how to become a good developer. If somebody feels like this list needs corrections then please drop some lines to comments sections :)

Gunnar Peipman

Gunnar Peipman is ASP.NET, Azure and SharePoint fan, Estonian Microsoft user group leader, blogger, conference speaker, teacher, and tech maniac. Since 2008 he is Microsoft MVP specialized on ASP.NET.

    31 thoughts on “How to become a good developer?

    • July 22, 2008 at 12:00 pm
      Permalink

      Awesome post, it is really pretty much spot on.

      The only part that is hard is the 9th point really, Visit Technology Events.

      Most of them are outside my country, in like USA or other part of the World.

      Travelling to it, visiting it and similar are often very expensive and more or less impossible.

      Wished they would hold smaller events of Mix and TechEd in other countries afterwards the big one, so many people can visit it as possible.

      The 3de point is very good, Code, code and code is the best way to keep the brain uptodate and still learn more and more.

      Sadly, you need sometimes something to code and not just regular stuff like Hello World, that would be pretty much dumb and stupid.

      The ultimate would be finding something that you can work on outside your regular job, for years to come and keep improving it, what that would be i have no clue.

      Thanks for the great post!

    • July 22, 2008 at 12:20 pm
      Permalink

      About events. Although I live in Europe visiting TechEd EMEA is not cheap event plus I have to travel to other side of Europe (flights, hotels etc). But it is only once a year and one year is time long enough to get prepared for that event.

      For events that are too far (USA, Australia, Asia) it is always possible to check out if event presentation are made available online. By example, check out MIX2008 site. You can find all event materials there. There are videos and presentations and you can watch them online or download interesting ones to your computer.

    • July 22, 2008 at 1:18 pm
      Permalink

      True, TechEd is just once a year so one can plan for it, even get the job to pay for it or something.

      Watching a presentation live compared to on the computer is way different, you don’t get the social interaction like you get when you are on a event.

      Always fun meeting similar people that is working in the business with the same stuff, talk, eat, drink together and have fun.

      I have been looking at Mix site and it is good, i am greatful for it.

    • July 22, 2008 at 1:56 pm
      Permalink

      Live is always better, of course. But if it is not possible to go to event then looking videos and presentations is still better than nothing.

      For USA events, I guess, one needs also visa and getting visa is another project (couple of days running between different officials and proving in embassy one hundred times that I’m going there for business and I don’t have any plan to bomb something or kill somebody etc). Maybe one day this visa horror goes a little bit easier and then I will visit USA events too. But until it happens I check videos online and imagine a good aura of these events around me :)

    • July 22, 2008 at 4:40 pm
      Permalink

      10. Read blogs. Simply subscribing to the ASP.NET article of the day has really been a huge help in getting to know what’s out there. The framework is so large, there’s almost always the right tool for the job, but you have to being aware that the tool exists before you can use it. Seeing the types of challenges other people are facing and the tools they are using also can really help you weed out what are the most effective solutions.

    • July 22, 2008 at 5:44 pm
      Permalink

      Thanks Mark! Blogs, I think, should go under communities stuff I think. Let’s wait a little bit formore feedback and then I will make update to this entry.

    • July 22, 2008 at 6:24 pm
      Permalink

      True about the visa and traveling part.

      and Yes, it is awesome that they put it up for free afterwards, not all that does that kind of friendly stuff.

      When it comes to blogs, i am subscribing to the weblogs.asp.net feed, what more dotnet feeds are out there that is good to subscribe on?

    • July 22, 2008 at 9:23 pm
      Permalink

      11. Visit the forums and help people. Helping people not only gives you the opportunity to feel good about helping the community it gives you the chance to look at a large variety of problems faced by other developers and attempt to solve them.

    • July 22, 2008 at 9:44 pm
      Permalink

      Thanks, bechbd. Your advice should perfectly fit under communities point.

    • July 23, 2008 at 10:34 am
      Permalink

      12.

      Don’t read to much of this stuff and just start doing it…

      (just a reminder to myself)

    • July 23, 2008 at 10:44 am
      Permalink

      Thanks, Erik. I think this suggestion should go under books point.

    • July 23, 2008 at 11:24 am
      Permalink

      Read Blogs,

      Participate in forum,

      view Webcasts and techinal interview specially of the technology geeks.

      Help your fellow developers both seniors as well as junior in there technical problems.

    • July 23, 2008 at 4:04 pm
      Permalink

      Excellent points. IMO, reading and participating in communities are two of the most beneficial things that most developers do not do.

    • July 23, 2008 at 5:28 pm
      Permalink

      Alex, if you work in company where are many developers then in the end of the day you just want to rest from everything related to development. :)

    • July 24, 2008 at 10:54 am
      Permalink

      Great points …But I thinks thinks like the project requirements and client reqirements do matter..You just can’t go over the top with technologies when time frames and deliveries have to taken care of right!

    • August 7, 2008 at 4:48 pm
      Permalink

      Wow! many thank DigiMortal

      It’s very helpful for all of developers,even leader also should read it to make their work better, as well as all of students before they can go to work like me (Vietnamese student).

      I will follow your ways, and I’m interested in The Way #8. This is reason I come your blog.

      Best,

      QuachNguyen

    • June 2, 2009 at 12:15 pm
      Permalink

      Hi i was looking to take up the carrer in .net so rigorusly looking for something like this its interesting i shall work on it thank you

    • July 25, 2009 at 2:53 pm
      Permalink

      This question was in my mind for a long time.

      After I read this I got a good solution.

      Really interesting..

    • September 12, 2009 at 11:29 am
      Permalink

      This is a wonderful job.

    • September 18, 2009 at 7:25 am
      Permalink

      I want to be good PHP developer in Thailand but sometime I need some of this article to cheer me up.

      Thank you very much.

      Best regards,

      Jeeradate K.

    • October 8, 2009 at 1:12 am
      Permalink

      Great !!! i like it !

    • November 25, 2009 at 1:52 am
      Permalink

      [… – weblogs.asp.net is one relavant source of tips on this issue,[… –

    • December 17, 2009 at 2:50 pm
      Permalink

      That is really nice but be sure you have the gut and start acting.

    • May 3, 2011 at 7:06 pm
      Permalink

      Great,

      i was facing some probloms, like i don’t want study daily, i was thinking that i’m not expert. but i got your point, to be a developer i should prepare myself mentally that i have to learn new thing everyday and i need to study everyday.

      Thanks

    • October 13, 2011 at 11:27 am
      Permalink

      Now i am thinking, Am i a good Developer?

      Thanks for good post.

    • January 4, 2012 at 7:03 am
      Permalink

      Very usefull points. Thanx

    • June 29, 2013 at 7:57 pm
      Permalink

      in my option 1, 2, 3, 6 are the most important, the rest are often optional.

    Leave a Reply

    Your email address will not be published. Required fields are marked *