6 Bad Programming Habits To Lose in 2020
The coronavirus pandemic is shaking up a lot of programmers’ working lives, posing new challenges and threatening old ways of working.
At the same time, the unexpected, peaceful quiet time at home is a great opportunity for us to reevaluate how we work and to attempt to change the negative or unhelpful practices that are stopping us from reaching our full potential as programmers.
These negative practices really matter, even—or perhaps especially—in a remote working situation. Teams are stretched thin and communication is more difficult than ever, meaning any unproductive habits can really throw a wrench in the works.
It’s also really easy to get side-tracked while remote working. Luckily, the lockdown is a great time to change those habits and improve your skills as a programmer. After all, you have a unique set of skills. With the right habits, you could really make a difference right now.
Let’s take a look at the six most damaging habits that can affect a programmer’s productivity. I’ll also share with you ways of losing these habits, placing good foundations for the future.
The internet is a fantastic resource for learning and growing, especially for those in web development. But when you’re away from easy access to your colleagues’ advice and business’s resources, there are ways of using the internet that can limit your potential as a programmer.
For example, everyone has used code they’ve found online in at least one of their projects, but blindly copy-pasting it into your project without checking is a wasted opportunity.
Take a moment to learn about the code you’ve found. Figure out how it solves the problem you had, its basic structure. Sure, if it’s something very complex, no one would expect you to know all its intricate details, but taking a moment to understand complex code will make the next time you need to implement a similar solution easier, maybe even something you can do yourself.
Analyze your past projects, learn from new challenges, and you will become a stronger programmer. To check your understanding of the code, see if you could write a program or script that does the same thing again, from memory.
No Style or Structure
Programmers that rely too much on copy-pasted solutions from other programmers often fall into the second trap of having no coherent structure of style to their coding. Using comments for each separate piece of code and breaking up subroutines should help improve your code’s readability.
Not having any predetermined plan to your code makes you look like an amateur who’s not thinking ahead. Moreover, it creates more hard work for your other team members with very limited access to your clarification and explanation who might have to deal with your code.
Tech expert Dando Rylan says “the architecture and small-scale style of your code are important to implement early and keep consistent to avoid projects getting confusing and hard to manage. Also, having a predetermined architecture and style helps anyone else looking at your code to find their place and understand your thought process.”
So develop your own style to keep it clear for yourself and others to understand what your code does when reviewing it. And have fun creating your own distinct signature style.
Attitude or outlook is a pretty broad category, but it deserves some attention, as your attitude toward your work and others is a major factor in how your working relationships operate, especially during these testing times, when we are forced to work remotely.
Unfortunately, there is a stereotype that programmers are unsociable and hard to relate to, and the stereotype has its foundations in pervasive bad attitudes.
Probably chief amongst these bad attitudes is acting like you know everything. Assuming you are right and everyone else is wrong or that you are the only one who can figure out a problem not only comes across as arrogant and patronizing to others, but it also creates an unnecessary amount of pressure on you to perform. Associated with these negative attitudes is being defensive when your code is criticized.
However, when you’re working remotely, a good attitude is paramount for communicating well and getting projects done.
Try to be humble enough to accept that your work could be better and that others might be able to help you make it better. Furthermore, check out some articles and tips on effective communication in the programming business to become a relationship pro. You’ll end up with better working relationships and stronger code.
Even if you have never worked through the night to pull off a project or meet a deadline, you’ve likely spent at least one late night at the office as a programmer. Ending up pulling an all-nighter is especially easy in our current work-from-home setting, where the boundary between office day and off-time is fuzzier than ever.
As much as it might be common, pushing yourself to work at night may actually be doing more harm than good.
“Really push yourself to consider whether the work you’ve done on all-nighters is productive work,” advises tech writer Rami Salik. “It doesn’t matter how many lines you write late at night if you have to tweak and redo them in the morning. At the end of the day, we’re all human beings, we need time to rest in order to keep our minds and bodies healthy. Denying yourself that rest is almost certainly hurting your performance in the long run.”
Even though you’re not physically at work and don’t have a commute, try to still stick to the same routine, with your typical 9-to-5 schedule, and clock off at 5.
Documentation is another aspect of good team collaboration that will make your work easily accessible. Documentation is often cast aside as not important; after all, you know what you’ve done and what you’re doing, so why do you need to write it down?
The answer is, to make for smoother communication between team members. Without the benefit of physical presence, where a team member can simply walk to a colleague and ask, smooth remote communication is very important.
A lack of documentation is one of the main disappointments in programming. It delays the onboarding and training of new team members. Doing your documentation may be a chore, but like any chore, it has to be done eventually. It’s a lot easier to do it little and often.
Perfectionism is a tough habit to break. As much as I wouldn’t want to advise anyone to do worse programming, there are some situations in which striving too hard for perfect code is actually hindering your progress.
Sometimes, when it comes to running experiments, fixing urgent bugs, or meeting deadlines, writing code that is simply functioning—even barely—is all that’s needed, and spending too much time perfecting it is time wasted.
As I stated above, when working from home, living with perfectionism means that it’s easy to find yourself spending hours getting something just right, especially when you feel like you’ve got nothing else to do.
All I can advise is to learn when to apply your skills. There will, of course, be times when perfect code is necessary or when elements need to be fully optimized. However, there will be other times in which optimizing code will make it more difficult to understand in the long run.
Try to remember the big-picture goals of the project, and gear your code toward that rather than focussing too intently on small-term performance.
Place Good Foundations To Benefit in the Future
So if you’re working from home and have more time to work on yourself, kicking these bad habits and developing a good work routine will benefit you strongly long after this epidemic has ended.
Even under normal circumstances, keeping on task in remote working is tough. But with the rise in investment toward remote working seen in many businesses, it looks like this form of work is here to stay for some workers.
As you may find yourself working remotely for a long time, developing these positive habits now will aid you for a long time down the line.
So have fun working on yourself and your programming during these testing times, and emerge from this lockdown a new person with a fresh attitude to your work.