This is a continuation of 10 Habits of Highly Effective Programmers which I wrote a few weeks ago. Here are 10 more habits. They are not set in stone but that’s what I saw work really well if you want to become a great developer and enjoy your work and career (be great first to get a great job).
1. Teach Others
Teaching is the best way to learn. You can fake it by copy/pasting from Stackoverflow, but when you need to do a presentation, conduct a workshop or write a blog post—that’s when you get serious and dive deep into the topic. Teaching is the surest way to becoming an expert contrary to the way most people think that you first must be an expert in order to teach. I knew 0 about React when I started working on my React course, and just a bit more when I started working on React Quickly. Now I know a lot about React!
2. Network
It’s mostly about whom you know, not what you know. Less so in IT but still applicable. Some companies don’t have SOPs in place and you just have to know whom to ask to create an AWS instance or set up a QA environment for you. Invest time in networking inside your company, as well as externally, to learn new techniques, and practices. Go to meetups. Conferences are a great way to network, because virtually all of them have social events and speaker&sponsor dinners.
3. Watch Conference Videos
Conferences are expensive and require travel which takes time (and money of course). They are great for networking but if you can’t go, then you can’t go. However, there’s an easy hack. Most major conferences (and now small ones too) started to record their sessions and making them available online either free or for a small payment (relative to traveling and the actual tickets). Also, you can speed up, replay and skip videos. It’s harder to do that with live in-person presentations. Tip: nothing can prevent you from hanging out and networking in a coffeeshop close to a conference if you (or your cash-strapped startup) can’t afford a ticket.
4. GTD or Kanban
Use a Get Things Done or personal Kanban system to keep track of your ideas and current projects. Maybe even adapt Agile scrums in addition to GTD. Holding more than a few items in your head won’t work. Our brains can only keep current 5, at most 7 tasks.
5. Follow Up
If you spoke or emailed someone, don’t assume they’ll get back to you. Mark your calendar or GTD list with an item to follow up in a week or two. Life happens. People have other tasks to worry about. Don’t assume if they didn’t reply they are treating you badly or not interested. Follow up at least a few times (with intervals) to bump your email in their inbox.
6. Use Markdown for Everything
Use Markdown not only for READMEs, but for any documents (sans spreadsheets), slide decks and presentations, wikis, and maybe even emails. Why? Markdown is simple. You won’t be distracted when you paste something and now you have different fonts in your document. With presentations, having all those fancy Powerpoint and Keynote animations and effects is a GREAT way… to procrastinate. Kill this excuse. Use plain text and Markdown.
7. Eat Your Ugliest Frog First
Do the most important and/or most scariest things first otherwise small things will fill it up and you’ll end the day without making progress on your important thing (again!).
8. Google+Wiki Voraciously
Stop asking people things you can Google or search on Wiki. It’s annoying to people and won’t give you as much info anyway. For example, what is CORS or what are the features of HTTP/2? Those things are out there on the internet. Search first, ask later if you can find it (too many or too little results).
9. Ask for Help When Stuck
When you are a new member to the team and if you are stuck for more than 15 minutes when at work, ask a colleague. Just walk to him/her or leave a message on IM (Slack, HipChat, IRC) depending on your team’s style of communication.
10. Learn Fundamentals
Libraries, frameworks come and go in a few year (or few months for JavaScript!), while fundamentals of platforms, languages and Computer Science stay for decades. Invest time and money and learn the fundamentals. That will give you TONS of bang for your “buck”.
BONUS: 11. Buy The Fastest Internet You Can Get
This must be obvious, don’t be penny smart and dollar foolish. Get your self a MoFi (mobile internet) or tethering and stop using that slow coffee show WiFi which is by the way is not very secure either.