- 13 Commandments of a programmer (reminder to self)
- 0. Thou shall “be excellent to each other”
- 1. Thou shall learn command line
- 2. Thou shall type > 40 WPM
- 3. Thou shall learn your IDE
- 4. Thou shall use SCM
- 5. Thou shall code every day
- 6. Thou shall learn your primary language well
- 7. Thou shall test
- 8. Thou shall learn your stack
- // 9. Thou shall comment
- 10. Thou shall open-source
- 11. Thou shall learn OOP. Then FP. Then DP. Then IP.
- 12. Thou shall never cease to learn new things
- P.S.:
When you help others learn you learn as well. You learn better. Even if you are rockstar unicorn developer, if nobody wants to work with you on the same team, it’s kind of pointless. Also you do not want John Wick coming after you ( for not being excellent)
Be that fish, bash, zsh - learn the console and most common command line tools ( grep, find, traceroute, etc) on your primary OS. Then learn it on “the other OS”.
You don’t need to be world’s fastest typist, but you should type faster than my grandma (~38 WPM is average), and do it without looking at the keyboard. If only for your own sanity’s sake. And your pair programming partner’s.
Be that Visual Studio, Vim, Sublime Text, or even nano. Learn it. Be proficient with it. Know thy shortcuts. Besides Ctrl+C, Ctrl+V.
Any source/version control management system - be that Git, Mercurial, even Visual Studio Team Services ( if you are into that kind of thing) would do.
Programming is a muscle skill, that needs to be exercised and challenged constantly in order to grow. Especially when you are a student.
Before you start learning the “latest flavor of the month” language and framework, learn one popular language. Learn it well.
Not in production! Also “It works on Frank’s computer”, is not an acceptable quality standard.
Learn your deploy tools, basic hosting platform, web server, build tools, OS, CI & CD systems, cloud platform, etc. You don’t need to be a DevOps ninja, but you need to understand it.
You are in danger of getting some really bad karma from people who have to read you code, if you don’t.
We all stand on the shoulders of giants who came before us. They gave us an option to work with some truly amazing tech. Don’t be a putz, and contribute back. Even a little.
Read Gang of Four book (https://en.wikipedia.org/wiki/Design_Patterns) and understand it. Don’t reinvent a square wheel. Then learn another programing paradigm. That reinvents a square wheel.
Cease learning -> increase entropy -> universe dies a little -> you make a puppy cry somewhere. DO NOT MAKE A PUPPY CRY! ( You know how John Wick feels about puppies…)
This list was prompted by this question on Quora: What are some of the best tips from experienced programmers for students?. Feel free to PR with your suggestions.
(c) Nick Gorbikoff nick.gorbikoff@gmail.com