AmA icon indicating copy to clipboard operation
AmA copied to clipboard

What's your advice for young programmers

Open gowthamgts opened this issue 6 years ago • 2 comments

If you're 25 what's the advice you can give for your younger self for becoming a better programmer?

gowthamgts avatar Jan 23 '19 11:01 gowthamgts

  • Pursuing perfection rarely pays off. You get better faster if you iterate rapidly. Trying to get it right first time takes too much time, is frustrating (because you'll continuously know you can do better, but you won't know how) and doesn’t produce perfection either.
  • You won’t know how to write it properly until the third rewrite.
  • Third party dependencies are to be avoided if possible. Especially for UI components, it's better to look at the code of the thing you want and figure out how it works and do it yourself. Third party code is mostly terrible quality. You can do better. Good dependencies are invaluable though, just be meticulous in your choices.
  • The same goes for elaborate design patterns. Learn the patterns for the knowledge but then combine them with wisdom on a case per case basis. The pattern is an aid to work around the fact that humans are terrible programmers, once you realize this you can apply patterns that help for your level of ability; the patterns work for you rather than you being their slave.
  • Tight responsibility boundaries for objects/modules is key to reliable software.
  • If you don’t write tests you will regret it, but 100% coverage isn’t as valuable as you want it to be.
  • Plan how you will spend tomorrow morning. Mornings are when your brain works best, those first three hours should be distraction-free and ready to go. Some people preach 3 hour work days for programmers for this reason.
  • Communication is significantly less effective than thought. Split team responsibilities so that there are defined and documented API boundaries between people.
  • Good teams and good companies are rare, don’t quit early for the next big thing without careful consideration.

mxcl avatar Jan 23 '19 14:01 mxcl

Thank you!

gowthamgts avatar Jan 23 '19 14:01 gowthamgts