Feel free to embed it on your site using the code below
I have read lots of “Ways to become a better developer” posts and it seems most of them were written 10 years ago. They still have a lot of wisdom so I wanted to distill what I think are the best 10 ways into this poster above so you can have it with you every time.
Here we go.
Read other people’s code
Read other people’s code and learn from them. You will get better in time because you tend to see how other developers approach problems.
Pair programming is the best way to improve yourself. You get to read code from another developer and see his/her thought process in real time. And vice versa. You can both challenge your point of views and both grow as developers.
Get someone to read your code
In Greek mythology, Narcissus fell in love with his own reflection in the water. He couldn’t resist looking at it. As developers we are prone to the same syndrome that has now been named after him, Narcissism.
When you code, it is easy to fall in love with your “artwork”. But a piece is of code is only close to perfection when someone else can read it and understand what you are on about.
Get others to read your code by doing code reviews often. You will learn a thing or two every time. Especially when you discover that method name doesn’t mean so much sense after all.
Tweetable – One way to be a better developer is to read other people’s code <- Tweet this
Fix bugs before writing new code
I’m sure you have been there. You discover a bug and you say, “I’ll fix it later, let me just get these features out of the way”. Or you see a failing unit test but you cannot be bothered to go find out why it is failing, so you either comment out the test or hack it.
Do yourself a favour and create a habit of fixing issues early. They will only pile up and then you incur more technical debt as time goes on.
Learn a new technology
You are in a fast paced world. Your skills are perishable very similar to the risotto in your fridge. Learning new technologies as a developer will help you stay on the cutting edge and in demand.
Lots of “civilians” are learning how to code now and it isn’t a surprise because you have one of the best paid jobs on the planet right now. Never has it been cool to be a geek. 🙂
If you are an iOS developer, learn some Rails or vice versa so you know how to roll a server backend as a quick example.
Keep it simple
You can always find more elaborate ways to implement a task in programming. Some people get off of looking at how amazing their code is, and that’s okay but keep it simple, will you? This ties into the earlier point made about getting someone else to read your code.
If they can’t understand it within a few minutes then you are doing yourself (and frankly anyone that has to maintain that piece of code) a disservice.
Write a blog post about your implementation
The best way to get better at anything is to teach it. If you are able to make someone else understand a concept, that means you have been able to grasp it and not just hacking or blagging away.
Write a blog post explaining how you went about the process of solving the problem at hand.
This is also a good resume BTW, if you are ever looking for contracts and you can point your potential recruiter at a series of blog posts, you have an advantage.
Thought leaders always the advantage.
Contribute to Open Source
This means to either start an open source implementation of your own or contribute to an existing one. This helps you understand how to collaborate with a bunch of developers. This is especially helpful if you do a lot of lone projects.
Learning from other like-minded developers is a plus and, come on, isn’t it cool to give back to the community?
Fix it don’t Hack it
I was speaking to a friend the other day. She is an accountant and she says it can be frustrating when she is 0.69 cents short of balancing an account. She spends hours doing accounts worth millions of dollars and at the end they don’t balance just because he switched a 0.96 cents somewhere to 0.69 cents.
As developers, we encounter the same thing often. The “one-liner” bug that kills the whole show. It is tempting to put in a hack without really researching why your code isn’t doing what is should. “Add a +5 here and there and it will be fine”, you say.
No, find out the cause and fix it or that hack will come back to bite you in the ass.
Tweetable – Be good citizen and fix that bug, don’t hack it. <- Tweet this
Increase Code Coverage by 1%
Doing Test Driven Development (TDD) can seem like a bore sometimes. Having to write lines and lines of tests before writing the code? Yeah, that’s not always fun, let’s be honest. You want to get right to the fun part.
I subscribe to the TDD mindset wholly but sometimes you just are at a point where you have tons of untested code sitting right in front of you. Maybe you inherited a crappy codebase from someone else or you dropped the ball and forgot to add those unit tests.
Don’t feel bad, and don’t cry over spilt milk. Believe it or not, lots of projects have the same issues, whether they like to admit it or not. What you have to do is add the tests one by one.
It’s like a writer/author that has writer’s block, and staring at a blank piece of paper. Productivity gurus say the best way to overcome it is to just start writing on that blank paper (or computer screen, nowadays 🙂
Don’t think about the 24,000 lines of untested code, just break it down into chunks and start adding those tests. Cover 400 lines today and another 400 lines tomorrow. You may never cover all 24,000 but 1 month down the line, you will be 8000 lines of untested code lighter.
Your codebase just got better.
Leave your desk every hour
This is one of the most important points in this post. Even though it doesn’t directly relate to programming. Stand up and have a stretch at least every hour, your body will thank you for it.
Don’t go on those marathon coding sessions where you are glued to a chair for hours on end. Even if you have one of those $900 ergonomic ones (by the way, if there was going to be an 11th tip, it would be “Get a great chair”).
You don’t want to make all that money as a developer and not be able to make use of it because you are spending it on medical bills, do you?
Tweetable – Leave your chair/desk every hour, your back will thank you for it <- Tweet this
That’s all folks, Please share this
So there you have it, 10 ways you can improve on your development skills. Don’t forget to download the poster and put it up on your wall to remind you.
And, let your fellow developers know about by tweeting it. The world will be a more peaceful place if all code-bases were maintained with these 10 steps in mind 🙂