Mastering a new language, building a great reputation on GitHub, honing the ability to write clean, no-frills code? All essential steps to becoming a great developer.
But those milestones also take a lot of time. For those of you who want to become a better coder overnight, we’ve got good news. Here are four things you can do immediately to upgrade your programming abilities.
Four Key Steps to Becoming a Better Coder
1. Measure Your Brick Walls
Damien Roche, a web developer, explained on Quora that he records every “Brick Wall” he encounters: an unexpected problem that takes an unnecessarily long time to solve. Once he figures out the solution, he logs it.
Not only does this technique help Roche deal with future Brick Walls, but it also allows him to measure his progress—the fewer issues he’s writing down, the more comfortable he’s getting.
“If I stop logging to that list frequently, I’m probably not challenging myself,” Roche said.
2. Write Prototypes
Jeff Nelson, who invented Chromebook, says, “One habit I’ve clung to is writing small prototypes when I’m trying to learn new concepts. Nelson will set outside a couple hours to browse a book or web page and write 30-40 short programs, “each intended to demonstrate some simple concept.”
What these programs lack in complexity, they make up for in quantity: you’ll get to quickly expand your knowledge base in a small period of time.
3. Explore What You Know
Not only will this strategy help you find and fill your knowledge gaps, you’ll enhance your communication skills and boost your community following. And while you’re on Stack Exchange, look at a topic you’re unfamiliar with, too. Curiosity and a willingness to experiment are hallmarks of a top developer.
4. Make Small Atomic Changes
Even though modern source control systems let you commit changes to the repository in more than one file at a time, make a practice of only committing one code change at a time. This is a good habit for a couple reasons.
First, as one developer explains on his blog, if later you realize your change was a bad one, “you need only do a reverse merge (merge -rN:N-1) to undo it. If you don’t have an atomic commit, and you only want to undo part of what you committed, then you’re stuck with doing that merge, but then undoing part of the merge, which gets really dicey if you’ve got some mods in a file that you want, and some mods that you don’t.
Second, atomic commits make it much easier to figure out what change is responsible for a particular bug. And lastly, small commits make looking at a project’s history a lot easier—which your future self or your fellow developers will definitely appreciate.
Syed Ahmed is the co-founder and Chief Technology Office at Tara AI. He graduated in 2014 from Queensland University of Technology with two master degrees and founded Tara Inc. in 2016. Syed specializes in creating applications related to machine learning and data science, as well as process development and business process engineering.