It takes time It takes practice It takes motivation It takes inspiration It takes discipline It takes courage It takes effort It takes concentration It takes perseveration It takes education http://www.brianonsoftware.com/2007/03/06/10-tips-to-become-a-valuable-software-professional/ Other articles about this topic - http://www.softwarebyrob.com/archive/2007/03/20/Advice_on_How_to_Become_a_Programmer.aspx I love the following sentence a lot: "Programmers are problem solvers. Programmers are logical thinkers. Programmers can figure out why it doesn't work. Programmers like to build new things and make old things work better. Perhaps some folks think that limits programming to young folks, but I respectfully disagree. " http://weblogs.java.net/blog/johnreynolds/archive/2004/12/too_old_to_prog.html http://java.dzone.com/articles/10-effective-ways-become-good In constrast - http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer How to be a Programmer: A Short, Comprehensive, and Personal Summary - http://samizdat.mines.edu/howto/HowToBeAProgrammer.html http://assarconsulting.blogspot.gr/2010/03/5-ways-to-think-wisely-in-development.html Problem solving analysis - http://simpleprogrammer.com/2011/01/08/solving-problems-breaking-it-down/ How to improve yourself - http://www.codinghorror.com/blog/2008/06/the-ultimate-code-kata.html , also, those task replicating add up bit by bit and comsuming time - http://rdegges.com/freeing-up-your-time being-a-developer-after-40 - https://medium.freecodecamp.com/being-a-developer-after-40-3c5dd112210c#.rgkhc7zba Don't let failure limit yourself - https://blog.prototypr.io/you-will-write-bad-code-94081bb66bec?gi=be728cf1cf03#.2kt2xkvoj