Rodrigo Díaz Concha

Silverlight 3 y 4 en Español. Este sitio se ha movido.

Ir a rdiazconcha.com

How to be a better developer?

This is the english version of my "Cómo ser un mejor desarrollador?" article

Maybe we have asked this question to ourselves a bunch of times.  With so many technologies, acronyms and learning options available today it seems that the answer to this question is not as easy as it seems.

Maybe so many of you will respond right now: "Studying" or "Taking a Training Course", but: Is that enough?

Here's the list of things that -in my personal life- I try to do in order to be a better developer.  The main idea behind the following list is to enrich it with your ideas and collaboration.

I don't know anything

Why?  This is the most important start point and the most critic because the fundamental idea -like in any other learning process- is to recognize and accept our ignorance in so many and so huge topics and technologies.  Take off our egocentrism allows us to open our mind to other kind of knowledge and other kind of questions.  After all, we learn something from everyone each day.  Remember that monotony is the mother of mediocrity.

Listen to PodCasts

Why?  You can listen to the podcast at any time you want using your iPod, Zen, Zune, etc. in your car, at the office, at the gym, before sleep (please... BEFORE sleeping not WHILE YOU ARE sleeping ;)), etc.  I mean: you can stay in contact with the specific topic whenever you want and you can combine it with another kind of activity (please be careful when driving because you couldn't say to the officer "I'm so sorry, I've crashed the car because I was listening how to create a workflow in WF...").  But which ones?  Alright take these as a recommendation: Scott Hanselman's Hanselminutes and Ron Jacobs' ArCast.  In these podcasts you can listen to so many topics about recent and upcoming technologies and in the other hand they are fun!  Those guys really know what they're talking about...seriously.

Watch WebCasts

Why? I like Webcasts because they show and explain visually a specific topic; meanwhile the podcasts are audio-only.  But which ones?  I recommend: http://www.microsoft.com/events/default.mspx

Watch ScreenCasts

Why? A ScreenCast is a small video file that shows an specific technology topic in a "how-to" way.  They just are awesome knowledge sources because they teach us how to perform the required tasks for the problem we're trying to resolve.  But which ones?  Obviously, it depends on the technology we're using.  What about the ASP.NET, AJAX, Silverlight and Workflow Foundation as a startup?

Forum Participation

Why?  The forums are a basic resource when we have a specific doubt related to technology.  With the word Forum I refer to those Web-based and Newsgroups as well.  Also we have the opportunity to answer the questions of any other people in the world that has a problem and maybe you know how to fix it.  But which ones?  Each technology has its own forum.  Personally, I often visit the Workflow Foundation and Silverlight ones.

User groups meetings / Community meetings

Why?  There's no better way of learning from others but in person, front to front about an specific topic.  That's what .NET User Groups are for, to schedule meetings between different people geographically related in order to talk and show the technology.  But which ones?  There's always a .NET User Group near you.  Visit MSN Groups to find more information about it.

Read Books

Why?  The answer is obvious.  Books are an ancient source of any kind of knowledge (hundreds and hundreds of years of manual and automatic printing can't be wrong).  But which ones?  Personally, I like Programmer-To-Programmer books from Wrox (yeah, the red ones).  Another great development books are Microsoft .NET Development Series books because they are written by truly experts.

Read Blogs

Why? A web log is a personal log from other's ideas, thoughts and technical articles from its author and it's accessible via Web.  A good example is this blog where I'm writing my own opinions in how to be a better developer.  Is this The Ultimate Special Platinum Double-Pack Director's Cut Extended Anniversary Edition Article about it?  Of course not! And it's not meant to be like that tho.  It's just a way to synthesize what I do in order to be a better developer and it's a mechanism to share it and to obtain feedback about it.  But which ones?  I could write down here all my feeds but I'll just write the ones that I read day by day:

ScottGu
Soma
Silverlight
Eric Sink
Joel on Software
Erika Ehrli

Learn to use other technologies

Why? Yes. We are geeks.  And we love Microsoft development technologies, but we would be blind or crazy if we wouldn't recognize that there's a bunch of other excellent technologies and that not everyone in this world use the same tools as we do.  In the other hand, they're not absolutely necessary to be non-Microsoft technologies.  For example, IronRuby is a technology that I don't know how to use it but it seems to me very powerful and interesting enough to try to learn from it.  But which ones?  There's a lot right in front of our eyes.  For example I'm currently using and learning ActiveRecord.  Other technologies in my "To-Learn" list are: IronRuby, IronPython, F#, Microsoft Sync Framework and ASP.NET MVC Framework.

Adopt a Development Methodology

(Very special thanks to Misael for this one)

Why?  A methodic person has more control over the things he performs, and he can identify where he is and what step follows in his development path:  Identify, Measure, Document, Secure and Control are steps that can be reached using the correct methodology.  But which ones? There are so many methodologies but the must important could be the following:

Do not procrastinate

Why?  Up to this point, we have mentioned a list of learning resources that we can use in order to be better developers.  But we need the tactics and strategy, and these are of course: Discipline.  We need a great effort and discipline in order to accomplish our goal and to stop using and doing the things that waste our time.  YouTube, FaceBook, MSN Messenger are just a few of those things that come to my mind right now.  No excuses (like Alice in Chains once said) please.  Remember how we worked 10 years ago.  Let's measure our procrastination level:  If you think this is a very drastic solution then you have a very serious procrastination problem.  But, if you are willing to stop wasting your time (you know you do!) then: Congratulations, your procrastination problem can be cured.

Try to hang up with people that love software development

At last but not least, it's very important to look for people that are just as restless as you are and have the same learning goals (please refer to point number one).  Once you find them then it will be very helpful to talk and chat with them, and get support from them in your process of personal improvement.  That process would be less painful and more fun!

 

This article was not meant to be a meme but I would like for this topic that the following people could share their own thoughts and ideas:

Comments

whartonj said:

Hi Rodrigo,

Excellent post and you've hit the nail on the head.

Hope things are going well for you and look forward to catching up in the near future.

Cheers

Jeff

# February 1, 2008 5:14 PM

rodrigo said:

Hey Jeff!

I'm glad you liked it my friend.  Hope to see you in Spain this year!

Cheers

# February 1, 2008 5:55 PM

Caio Proiete said:

How to be a better developer?

# February 5, 2008 3:38 PM

Caio Proiete said:

Hola Rodrigo,

What a great post! As Jeff said, you hit the nail.

It's a pleasure to share my thoughts on this topic. Thanks for the invitation.

This is my post:

www.caioproiete.com/.../How-to-be-a-better-developer.aspx

Salu2,

Caio Proiete

# February 5, 2008 3:46 PM

Caio Proiete on ASP .NET said:

This is my follow-up to Rodrigo's excellent post " How to be a better developer? ", where he

# February 5, 2008 3:48 PM

Good Links February 6, 2008 « Emad’s Weblog said:

Pingback from  Good Links February 6, 2008 « Emad’s Weblog

# February 6, 2008 11:21 AM

Caio Proiete said:

Como ser um desenvolvedor melhor?

# February 10, 2008 11:04 AM

英文阅读:如何成为更好的程序员 | 守望轩 said:

Pingback from  英文阅读:如何成为更好的程序员 | 守望轩

# February 16, 2008 11:23 PM

{codesqueeze} said:

Feels like I haven’t done a squeezed links in awhile. Completely not related to software I have two new favorite sites that you should go check out - Daily Monster and Indexed. Be especially sure to check out Indexed - Indexing a Career: A Care

# February 27, 2008 10:02 AM

Growing as a Developer « IS Department said:

Pingback from  Growing as a Developer « IS Department

# March 4, 2008 12:21 AM

Andre said:

Good points here. But in real world... you know what I mean? ;)

# May 9, 2008 1:43 AM

3 unusual tips to be a better software developer « Making Good Software said:

Pingback from  3 unusual tips to be a better software developer «  Making Good Software

# May 22, 2009 6:20 AM

Being a Better Developer « Juixe TechKnow said:

Pingback from  Being a Better Developer «  Juixe TechKnow

# May 28, 2009 4:18 PM

The Ultimate How-to Video Pack. | 7Wins.eu said:

Pingback from  The Ultimate How-to Video Pack. | 7Wins.eu

# May 29, 2009 7:57 AM

3 non technical tips to be a better software developer | Making good software said:

Pingback from  3 non technical tips to be a better software developer | Making good software

# August 6, 2009 6:36 AM

Ultimate Pm Toolkit. | 7Wins.eu said:

Pingback from  Ultimate Pm Toolkit. | 7Wins.eu

# September 30, 2009 9:46 AM

How to be a better developer? said:

Pingback from  How to be a better developer?

# July 6, 2010 6:45 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Protected by FormShield
Refresh
Listen
Please enter the characters shown on the image


Code: