Healthy habits every software engineer should adopt

by Zalando Technology - 1 Jul 2016

Most software engineers are aware of the bad habits they need to steer clear from, but what about the practices that make them good at what they do? The key to being a more experienced developer often comes from working with people better than yourself, so how do great software engineers stand out?

We’ve made it our mission to outline the healthiest habits every developer should start practicing, to level up your engineering game and benefit your teammates. Sometimes, we all need to go back to basics when it comes to programming and code.

Plan before you code

When you have a problem to solve, it makes sense to plan how you’re going to address it, rather than bash away the first compilable code that comes into your head. Figuring out the procedure that your solution needs will allow you to troubleshoot more effectively later on, as well as making the process a lot simpler.

Your plan could be in the form of a set of steps that need to be followed, or a set of questions that need to be answered. Either way, planning your approach will result in better quality code.

Ask, and ye shall receive

At a company as big as Zalando, you can imagine the wealth of experience we’ve collected over the years, as well as the knowledge that our 1,000-strong tech team possesses. Developer culture can often chastise people asking what might be deemed a ‘stupid’ question, but the embarrassment you feel posing the question will only increase more so when you realise you’ve been doing something wrong the whole time.

Resources like Stack Overflow and simple Googling are always good places to start, but your own colleagues are a valuable asset in terms of troubleshooting and general knowledge. Don’t be afraid to ask – you’ll often find you’re not the only one needing an answer.

Smarter debugging

Debugging isn’t everyone’s cup of tea. It’s a necessary, inevitable evil. It could be next to impossible to find bug-free code, but you can alleviate the pain of the process by being smart about its execution. This is where the right debugging tools come into play.

Whether you prefer your IDE’s in-built debugger, open source tools, or techniques like rubber duck debugging, the aim is to streamline error detection, breakpoint setting, expression tracking, and performance checking. Best practices can also be derived from bug bounties, which Zalando conducts via an internal program to better combat insider threats. Teams know their infrastructure best, its strengths, as well as its weaknesses.

Don’t overcook features

As programmers hone their craft, it's tempting to develop solutions that are more complex and cater to a wider audience. However, when doing so in the middle of a project, it’s easy to lose track of the main objective and whether the feature you’re working on actually helps or hinders its purpose.

Sometimes, less is more when it comes to features. Why add a function that will never get used? Just because you can, doesn’t mean you should. For mobile developers at Zalando, feature delivery is targeted for every 4-6 weeks. There are much better uses of your time, and time is precious.

Make version control your friend

Even the best programmers make mistakes – it’s how they learn and excel. But when a major misstep occurs, you’ll be grateful to version control. Using software like Git lets you keep as many revisions as you want, branch out for code experimentation, plus track down previous changes made in the code. You can then refer back to those changes at any time.

Git was created in large part to be used by development teams, thus good practices here are fundamental to modern-day programming and essential when working on a professional team. It will save you time and often save your arse.

Are we missing anything important that should be added to this list? Let us know by tweeting us @ZalandoTech.