Being a developer is hard – and being an effective developer demands that you juggle many responsibilities at the same time – from writing and reviewing code to mentoring others and communicating with stakeholders.
How are you supposed to be good at all of these things? Each one is hard even just on its own!
The answer – build good habits.
Then you don’t have to actually remember to do the things, you just stick with your habits.
So here are some habits that I believe can make you a more effective developer. Practice these, and you will be the most valuable member of your team.
1. Read
Reading makes you smarter. There’s just something about it. Obviously you learn information from the content you are reading, but its also exercise for your brain.
I’ve been back in the habit of reading for the past year or so, and I feel it making my mind a little fresher – a little sharper.
Set yourself a reading goal to hold yourself accountable – this year my reading goal is to read 15 books – 7 books for fun, 5 books for personal development, and 3 books for work (books about software).
2. Log Your Daily Standup
You’re probably already doing regular standup meetings at work. These are ubiquitous in the software industry now.
But I also find it beneficial to write down my plan for the day every day. This has at least three benefits.
First, I can keep that in front of me all day to help stay focused and on-task.
Second, I can refer to it the next morning while I struggle to remember what I did the day before 😂.
Third, I can refer to it at the end of the year when I’m asked to reflect on my work for an annual review (or to help brainstorm for the day you eventually need to update your resumé.
3. Keep the main thing the main thing
This is a great quote:
To succeed, always remember that the main thing is to keep the main thing the main thing.
Brendon Burchard, High performance Habits
And its true.
It is too easy to get lost in the weeds as a developer – you can spend a huge amount of time on something that is in some ways productive and helpful, but might not be actually delivering value to your employer, or related to the high priority task you need to get done before some deadline.
Writing unit tests is a great goal; but writing unit tests for a component that’s not used probably isn’t the main thing you’re supposed to be working on. You just found yourself in that code and noticed it needed cleaning up.
Keep the main thing the main thing. Stay focused.
4. Use your daily commute time for something productive
This is as important as your commute is long. In my case my commute to work is about 2 hours.
Yep, 2 hours. Each way.
Luckily I’m not driving, but it is all too easy to spend 4 hours a day playing Angry Birds, or scrolling through Instagram. And that would be a colossal waste of time.
I spend one of those trips doing something for myself, like reading (see #1), or writing (see #11). And I spend the other trip doing work for my employer, who allows me to end my work day on the commute to avoid getting home suuuuper late.
But it’s a game changer.
Suddenly you have time – already carved into your schedule – to tackle that thing you’ve been meaning to do. Do it on your commute!
5. Attend tech talks or meetups regularly
If you’re not constantly learning in this industry you’re falling behind. It is one of the greatest things about working as a developer that you get to keep learning throughout your career, but it is hard to know where you should be focusing your learning.
Public tech talks and meetups expose you to industry trends and technologies you haven’t seen before. They also are great opportunities to slowly and casually build a network of likeminded (and potentially useful) connections with others in your industry.
You can also accomplish some of this by joining public Slack groups – but there’s still no substitute for chatting face-to-face – IRL.
6. Document your accomplishments, and make quantitative measurements
I learned this from the Manager Tools/Career Tools podcasts. In an episode where they are discussing building a resumé, they recommend keeping a career file – a document where you keep extensive detailed notes on accomplishments you’ve had at your job.
The career file can include a wide variety of things, but they should be quantitative, and should demonstrate the skills you have. Imagine if you could show your usage of these skills, instead of just listing them on your resumé – it’s much more compelling.
Did you increase the performance of a critical component of code? By what percentage? And in how many days/weeks? Was it ahead of schedule? Did this cut costs for the business? Did customer complaints reduce as a result of your work? Did it enable sales to land a big deal?
These are all quantifiable evidence of how great you are for the company you work for – and an effective developer knows why they are valuable.
7. Keep your computer organized
This is as simple as it sounds.
Your job is complex enough – don’t add another layer of complexity by making your computer hard to use. Know where things are – have a system for naming files or organizing directories.
8. Review your own pull requests
Whenever you submit a pull request and ask your peers for review, you are asking for a bit of their time to double-check your work. You should be confident that it is as good as you could make it.
Don’t be that developer that submits a half-done pull request (unless you’re just asking for early feedback and in that case state that intent explicitly).
I like the interface of a pull request to look over my work, so sometimes I’ll create the pull request but not add any reviewers until I’ve reviewed it myself. I can even make comments to myself there, or go through file by file to make sure I’m not leaving little debug messages for myself in my final commits.
9. Commit early and often
Git will save your life some day. Well ok, maybe not literally. But it will be your safety net and allow you to quickly revert back to a working version, or refer to that intermediate step you made while working through a problem.
But only if you committed your work while you went.
There is no reason not to commit often – even if you want to avoid cluttering up git history you can squash commits together at the end.
At a minimum you need to commit your work at the end of every day before you go home, and push to the remote. If your computer implodes, or gets eaten by a lion, your work will be safe, and you won’t have to scramble to remember exactly how you solved that difficult problem so elegantly last week.
10. Schedule exercise into your daily routine
Our job is very sedentary. This is terrible for your health over the long term, and makes you feel sluggish and depressed in the short term.
This is a simple life hack. When you get exercise you have more energy. Fact.
So ensure you have exercise in your routine. At least half an hour. Every. Single. Day.
Personally, I choose to use a rental bicycle for the last leg of my commute instead of taking the bus. It is often actually faster than transit, plus I feel awake and fresh when I arrive at the office.
You can also find yoga videos on YouTube in the morning/evening, or even just go for a walk at lunch every day.
There’s no excuse, and you’ll feel SO much more powered up to accomplish all the things in your busy life.
11. Write when you learn a new thing
Remember how when you were in school and your teacher taught a lesson, you had to write down what you learned and submit assignments demonstrating your new knowledge?
That’s not just so the teacher can mark you.
More importantly, it helps you internalize that learning, and commit it to long term memory.
Maybe you can start a blog, or maybe you just keep a journal or some notes. But writing (either by hand, or on the computer) can help take your learning to the next level.
So Many Habits!
You can’t take all of these on at once – overreaching on too many things at once is a recipe for failure. But start with one of these behaviours, and do it every day. Then after a month, once that behaviour has ingrained itself into you as a habit, start the next one.
After a year, you’ll have all of these working for you, powering you to be a more effective developer version of yourself!
Go get it!