Sometimes, when you want to advance your software development skills, it’s not about learning any new coding skills or any new language. It’s about a change to your old habits.
Getting away from the keyboard, staying motivated and collaborating with others are all strategies that require one thing from you. A good, strong mindset.
If your mind’s not in the right place, you won’t be able to learn new tips and tricks. You’ll lose your motivation. And you won’t be able to collaborate.
But if you do focus on your mindset, you won’t just find it easier to improve your skills, you’ll also find doing your job easier too. Here are some places to start:
Before you start, you might actually need to stop. Burnout is common, and it’s a huge barrier to becoming a better software developer.
The best developers know how to manage their time. They know how to set aside clear, focused time for coding AND how to set aside time for things completely unrelated to coding.
That’s just as – if not more – important.
So, take the time to rest and recover. Plan downtime, where you kick back and relax and never think about scripts, open lines or commits.
And always make sure you get a good night’s sleep so you feel refreshed and ready to code. A lot of developers tend to take pride in those sleepless nights where we power through lines and lines of code. But in reality, the drop in focus and cognitive ability the next day, and often for a few days after, will outweigh any gains you made.
Large complex tasks are overwhelming for anyone in any industry. So, deploy a tactic that’s practiced by the best project managers. Break those tasks down.
Success lies in the planning, so take the time to scope out a big coding project and separate each area, each feature, each challenge into smaller manageable chunks.
Break them down as small as you can, keeping it simple. One problem, one task. A big skill here is in ignoring those inessential, inconsequential details for now.
Then once you can solve the smaller problems, your mindset will be in the right place to put everything back together to tackle that initial, bigger problem – only it won’t seem so big now.
One way to get a different mindset about your tasks is to think of the way that kids might approach a software problem.
Mistakes are going to happen. No matter how skilled a developer you are, you will always make mistakes. It’s human nature. One of the first big steps you can take with your mindset is to accept this.
And once you accept it, you can remove blame. It happens to everyone. The difference between good and great software developers is how those mistakes are embraced.
The best software developers don’t point fingers. They’re not afraid to admit when they mess up, because they know it happens, it’s no big deal. Their mindset isn’t focused on hiding the mistake or quickly fixing it before someone finds out. Their thoughts are on why it happened.
By removing blame – individuals, scripts, tools, whatever it might be – you can focus on the solution. If you can understand what went wrong, you can make sure it doesn’t happen again.
But that doesn’t mean you should become sloppy, or that you should lower your standards.
Just because mistakes happen doesn’t mean that it’s OK. Bugs might develop, but you shouldn’t make the mistake of thinking they’re inevitable.
Because that’s a bad mindset to have. It encourages you to become lazy.
Ed Weissman, a prominent software developer in the US, cites an example of two clients. Client One had a mantra that bugs are unacceptable – in anything they did. Client Two opted for a softer approach, believing that ‘bugs are unavoidable’.
Client one had zero bugs in six years. Client two had one or two a week.
And while you make that transition, GitBreeze can help you catch any errors before you deploy. Try it out, for free, here.
The takeaway here is to change how you think. And that will change how you code.
With a more positive, more focused mindset, you’ll be able to improve your workflows, as we’ll explore in the next part of our series on best software development practices.
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#.