Original question from Quora:

What are some of the most basic things every programmer should know?

My Answer:

Here’s a quick list off the top of my head…

  1. Bad architecture causes more problems than bad code.

  2. You will spend more time thinking than coding.

  3. The best opportunity to get paid more is when you’re negotiating salary before getting hired.

  4. People skills determine your success more than technical skills.

  5. Users will find impressive and bizarre ways to solve their own problems.

  6. Commit code more often.

  7. Always work in feature branches.

  8. Basic UNIX skills are helpful, but not required.

  9. Learning VIM or EMACS will change your world.

  10. All estimates are lies and “good estimates” are bigger lies.

  11. 80% of programmers are barely capable of doing their job.

  12. Businesses exist to make money, not to make code.

  13. Software exists to solve problems, it’s not art.

  14. Agile is a trap. You can’t avoid it.

  15. 80% of programmers never invest in improving their skills and never learn outside of work.

  16. Your boss believes you are replaceable.

  17. Work is a job, not a family, not a church, not a religion. You do it to get paid.

  18. Company culture is often used as a trick to pay you less money.

  19. The best programmers are always building things.

  20. Your IDE doesn’t matter.

  21. The language you use doesn’t matter.

  22. The framework you use doesn’t matter.

  23. All technology arguments boil down to children fighting over which toy to play with.

  24. You probably won’t get rich by winning the startup lottery.

  25. Make friends with QA testers, they will make your life better.

  26. Always know how your business makes money, that determines who gets paid what.

  27. If you want to feel important as a software developer, work at a tech company.

  28. People will always prioritize new features over refactoring legacy code.

  29. Sometimes a train wreck has to happen for anyone to care about the brakes.

  30. You are not your job.

Hope this helps.

-Brian

P.S. Have you subscribed to Code Career Genius yet?