Making Good Software

A blog by Alberto G (Alberto Gutierrez)

Written by Alberto G

May 15th, 2009 at 10:36 am

5 Tips for creating good code every day; or how to become a good software developer

with 28 comments

Being a good developer is like being any other good professional, it’s all it’s about doing as much quality work as possible. There is a popular sentence that summarises it: “Do it. Do it right. Do it right now”.

1.- Have your own to do list for the day.

The best approach to complete complex activities is to break them down into simple activities. Do this every morning by breaking down the different activities you would like to complete for the day and assign them a schedule. This will help you to:

  • Have a better understanding of the activity.
  • Have a focused goal for the day
  • Improve your estimating skills. After a few days you will find that you can predict how much work you can do in a day.

2.- Do one thing at a time.

It’s been proven by different studies and published in different media (ie CNN) that it  is more productive to be focus only on one task than to do multitasking.

Work in short batches of intense work of about 25 minutes with a 5-10 minutes rest. There are popular techniques like the pomodoro technique to help you manage the time. There are also tools to help you measure the time you spent on the different tasks, my favorite one is CoolTimer.

3.- Do it right.

There are two keys to know if something is done right

  1. To be proud of the solution; it is not just any solution, it is a good solution. It follows the principles of the “Pyramid of the software quality“.
  2. The solution passes at least one review. Ask one of your colleagues that you respect as a good developer to review your solution and for his sincere opinion.

4.- Don’t finish something until it’s completely done.

We all know that if there’s still a glass to wash, we cannot say that we have done the dishes, the same applies for painting a wall or driving to a destination but in software development we don’t do that, we say that we are done even when we haven’t completed all the unit tests or when we haven’t checked if the implementation is correct with the customer, that’s a typical behavior from Hope Driven Development and that’s evil.

Something is only done when you are 100% sure that it won’t be necessary to work at all on that solution unless the requirements change.

5.- Better late than sorry BUT better sorry than never.

If it’s going to take you an extra day to complete the testing of some code, or to refactor a class which is unreadable, do it, that’s an investment in time for the future, but if you are stuck with something and you are delaying the project too much, just find an easier solution. It may not be as elegant as the one you are implementing, but at least you will have a solution. Make sure to document it as future risk for the project and something that will probably need to be revisited.

28 Responses to '5 Tips for creating good code every day; or how to become a good software developer'

Subscribe to comments with RSS or TrackBack to '5 Tips for creating good code every day; or how to become a good software developer'.

  1. […] 5 Tips for creating good code every day; or how to become a good software developer « Making Good S… "Being a good developer is like being any other good professional, it’s all it’s about doing as much quality work as possible. There is a popular sentence that summarises it: “Do it. Do it right. Do it right now”." (tags: software programming development productivity) […]

  2. Good list. This could apply to life in general, not inly programming.

    BlackWasp

    16 May 09 at 5:22 pm

  3. “Have a better understanding of the activity.”

    I think this is key. When you’re going to write a section of code, write out what you’ll be doing, and how you’ll be doing it, in plain English a few times, to get a grip on the entire situation.

    It’ll really help you form a better solution, and find and fix any potential problems, /before/ you’ve taken the time to write all of that code.

    Patrick

    17 May 09 at 3:09 am

  4. This post could also be titled “How to advance from a junior software developer to a senior software developer”, because no one should be promoted without mastering these simple techniques. Great post!

    Scott

    17 May 09 at 3:16 pm

  5. I just want to chime in that I think tip #2 here is really important. I have had it with the mythology about multitasking. I wish the view that it is better to do one thing at a time would really return to popularity.

    neo

    17 May 09 at 3:46 pm

  6. […] Read more…. Sphere: Related Content […]

  7. […] Gutierrez provides 5 Tips for creating good code every day; or how to become a good software developer. “Being a good developer is like being any other good professional, it’s all it’s about […]

  8. […] 5 consejos para ser un buen programador y crear buen codigo cada dia. [ENG]makinggoodsoftware.com/2009/05/15/5-tips-for-creating-good-c… por elpetecan hace pocos segundos […]

  9. […] 5 Tips for creating good code every day; or how to become a good software developer « Making Good S… (tags: productivity programming development tips gtd software interesting articles) […]

  10. […] I explained in my previous article: 5 tips for creating good code every day, my personal approach is to follow these steps every […]

  11. I agree that this is so good, I hope that all programers could apply it in your jobs and yours own lifes.

    An other thing that would be good to us is objectivity.

    Targino Silveira

    11 Jul 09 at 11:08 am

  12. […] expliquei no meu artigo anterior: 5 dicas para criar bons códigos todos os dias, a minha abordagem pessoal é seguir estes passos todos os […]

  13. […] And another: 5 Tips for creating good code every day; or how to become a good software developer […]

  14. #3 is extremely important, good list

    Visual C# Kicks

    22 Oct 09 at 1:22 pm

  15. […] expliquei no meu artigo anterior: 5 dicas para criar bons códigos todos os dias, a minha abordagem pessoal é seguir estes passos todos os […]

  16. Thanxz to publish this article.
    Its Too Good For Fresher in software developement.
    Plz Publish more articles.

    Vishal

    21 Feb 10 at 9:31 pm

  17. […] de março de 2010 Sérgio Souza Deixe um comentário Ir para os comentários Lendo o artigo “5 dicas para criar bons códigos todos os dias, ou como se tornar um bom desenvolvedor de software” encontrei algumas dicas de coisas que já faço no meu dia-a-dia, e de outras que estou tentando […]

  18. Thanks for these tips. Surely they seem very good. Thumbs UP

    prodej obrazu

    22 Jul 10 at 2:21 am

  19. De acuerdo. Acerca del numero 2, algun tiempo atras publiqué sobre ello en http://blog.svpino.com/2010/12/one-foot-at-time-o-el-alcohol-en-el.html

  20. Un post muy interesante Santiago… Gracias por el comentario!!

    Alberto Gutierrez

    27 Dec 10 at 6:08 pm

  21. This is amazing. I agree with #1. I would prefer day to day work log. I maintain it for whole project. It helps me to understand that what is done and what needs to be done. Thanks for sharing this valuable post

    Robert Brown

    14 Apr 11 at 3:45 am

  22. […] Hoy presento este articulo el cual traduzco para uds. Es tomado de makinggoodsoftware […]

  23. […] – 程序员  译文链接:http://www.jobbole.com/entry.php/971  原文:Alberto Gutierrez  翻译:敏捷翻译 – […]

  24. […] 原文链接 This entry was posted in Exp. by Hong Duan. Bookmark the permalink. […]

  25. […]   原文出自:Alberto Gutierrez […]

  26. […] 原文出自:Alberto Gutierrez […]

  27. […] 原文:Alberto Gutierrez  翻译:敏捷翻译 – 唐瑭 […]

Leave a Reply