In the previous parts of our series on how to advance your software development skills, we’ve looked at the research, the planning and the attitude you need to take: Getting away from the keyboard, staying motivated, collaborating with others and focusing on your mindset.
When you’ve started to put those into practice, you can use them to improve your actual day-to-day work. With the right attitude and approach, you’ll be advancing your coding abilities without realising it.
And you’ll find that much simpler to do when you implement best practices and good workflows. Here are some of our top tips to make those tasks easier:
Your ultimate goal should always be towards coding faster and more efficiently. The faster you can code, the quicker problems can be resolved.
But there’s a caveat here. Speed is rarely more important than quality. Don’t try and run before you can walk. Adding speed without preparing, without building other skills will not go well.
You should be increasing speed without compromising on quality. You want a fast impact, but it should be high quality.
To practice increasing your speed, try BeFaster. It compares your technique and time with other developers and will help you improve.
In instances where deadlines are pressing and a compromise must be made, work fast but note your shortcuts. Keep track of your technical debt.
Record where you skipped over a minor issue. Mark-up where you deployed a quick, untidy fix. Add comments to remind you of where you opted for a faster option where normally you’d write something more elegant.
You’ll want to return to fix all of these issues – to improve the quality at a later date.
The whole point of working faster and maintaining quality is to make sure your code has maximum impact.
You want your code to work to the best of its ability, to get the results needed. The way to know that, is to measure. To use metrics.
Make metrics your friend, because you’ll find them invaluable. They’ll help you check your speed. They’ll help you improve quality. They’ll help you return to those issues you skipped over and sort them out.
You’ll probably already use some metrics to monitor your code performance. After all, developers are software engineers, so a rigorous scientific approach should be at the heart of what you do.
Use them for productivity too. Measure the time it takes to do a task, then add keyboard shortcuts. If your time speeds up, those shortcuts are successful. Pomodoros and time sheets can help you improve too – and are invaluable for planning (and quoting) future projects.
Whatever task you’re trying to do – whether it’s coding or admin, or whether you’re prioritising speed over quality, always favour the simplest approach.
Use the simplest language possible. Deploy the cleanest code. Omit what isn’t needed.
It’s easy to get sucked into a complicated project, adding lines here and there, amending this, tweaking that, building nice-to-have features. But all too easily that comes at the expense of the main task. The end goal.
Don’t get distracted and keep things simple. Don’t try and show off with complex languages. They just place a higher cognitive load on your brain, preventing you from applying that processing power elsewhere.
Committing often, in smaller chunks, can also help you keep things simpler and effective.
GitBreeze can help with that. With separate views of branches, commits, pending files and stashes, it provides a simpler overview of your code and helps keep your workflow effortless.
In the next part of our series on best software development practices, we’ll be looking at learning some of that code by heart.
We provide these pages to try to make your programming life easier. Our resources page gives an overview. You can see a full list of our best software development practices here.
We have this free download to help with your coding: 25 design patterns - these are working examples you can step through in C#.