views:

334

answers:

11

Ok,

Most of you are better developer than me but how did you become one ?

Could you explain me how.

+4  A: 

Reading programming best-practices books like The Pragmatic Programmer, Code Complete, Refactoring, Design Patterns, Effective C++, Effective Java, etc.

Andy White
+3  A: 

All of what Andy said ..... and years of practical experience. Nothing can replace that - no training, no certification, no "magic bullet" - you just need to be using your skills and get better over the years.

Marc

marc_s
+2  A: 

Lots of practice, some theory and a big bucket of passion. Talent never hurts.

ammoQ
+3  A: 

My motto is: never think you are the best developer or a better developer than the guy next you(you may be better than him in 99% of matters but that 1% is something yuou cuold learn). This will always motivate you to lean more, you will always be open to learning (stealing knowledge) from others.

Any other suggestrion like, read books, practice a lot etc.. are thigs you should really do no matter if you are trying to become a better developer or just doing your job.

AlexDrenea
+3  A: 
  1. Write lots of software to practice.
  2. When you are not sure how stuff works or when you read about new interesting technology/language/framework try it out. Download/compile see how it works.
  3. Follow up latest trends. See what other people are doing.
  4. Read technical books, it is suggested that technical person should read at least 2 technical books a year. Even if you don't have time to read whole book at least try to understand concepts.
  5. Try coding competitions. You don't have to compete, look for online sites like topcoder.com and google's codejam and try to solve some problems.
  6. Practice use algorithms and datastructures.
  7. When you get job as software developer look at ways to improve your software. Focus on how the user uses your application and what the user would like to see in your application.
  8. Remember even when you get tasks that are boring (especially at the beginning of your career) by executing the tasks you are always learning and gaining experience.
stefanB
+3  A: 
  1. Practice practice practice
  2. Self-analysis. Since you're trying to get better, it helps to analyze the code you're trying to improve -- the code you've already written.
  3. Read good books about programming
  4. Analyze non-programming problems from a programming perspective.
  5. Talk to other developers.
  6. Remember that you will always have more to learn.
Paul Morie
+1  A: 

I didn't really start to improve my skills until I started reading lots of books. I also find I cannot read tech books when in front of the computer, I always go to a coffee shop drink way too much coffee and read through the books without actually ever trying the samples.

With that being said I always recommend spending time researching the best books before buying any, there are plenty of stinkers out there obscuring the great ones.

Benju
+1  A: 

Get involved in an open source project. Preferably a large one, with a smart, active community with smart, active members who will tell you why your patch is trash and give you advice on how to reroll it.

Also, this question is very similar: http://stackoverflow.com/questions/385312/setting-personal-development-goals-as-a-developer/385328#385328

jskulski
+3  A: 

Curiosity. Nothing hinders improvement in programming more than a lack of curiosity.

thedz
+1  A: 
  • re-write your code
  • read other people's code
  • have other people read your code
  • learn new languages
  • learn old languages
sh
+1  A: 

learn assembler (its all syntax after that), I recommend ARM and msp430 first

take each rule you learned in formal training (no gotos, globals are bad, one return per function) and question every one of them, decide if you agree and if you dont defend your opinion. Basically dont be a follower be a leader, start by leading yourself...

No matter how good you think you are at something there is always someone out there much better. Or if you are the king of the whatsit then there will eventually be someone out there that challenges you and takes your throne and makes it their own. Particularly important with assembler, no matter how much of a hot shot you are some lame compiler will come up with a sequence of instructions that is far superior to your hand coded solution.

Careful though, ignorance is bliss and the more you know the less you know.

dwelch