Software developers want to be as effective as possible, but some are not meeting that mark. Many developers develop some bad habits over their years of writing code. Here are seven bad habits likely to break a developer’s career. Every developer needs to ditch them.
1. No Passion
People who enjoy their jobs will never do a day of work in their lives. This is cliché, but true. After several years of code production, many software developers may lose that passion. Even worse is, this lack of passion rubs off on those around them. According to Liz Eggleston, cofounder of Course Report, and online resource for people considering coding schools, “Even when you’re coding all day, you have to be passionate enough to talk about it during lunch and after work as well”. Without passion laziness is inevitable and laziness causes mistakes on the job. Software developers must find a way to rediscover their passion.
2. Finds Code Testing Unpleasant
Software developers previously thought code testing was below them-the coding equivalent of washing dishes. Today this has changed very much. Any software developer who still thinks this is the case is ineffective and uninformed. “Testing isn’t a nice-to-have, it’s a must-have,” says D.J. Charles, CTO of Invaluable, an online auction marketplace.
“Don’t be embarrassed by bugs-good quality assurance engineering is a terrific safety net,” he advises. No single individual can identify every single test case and outcome. A bug found as a result of QA is much better than a bug shipped with the product.
Only ineffective software developers don’t embrace the power of testing. Top performing developers understand the importance of spending quality time testing their code and will go the extra mile to ensure their code is properly tested before shipping.
3. Doesn’t understand the concept of usability
Ineffective software developers believe their role is to deliver software that gets a job done, not to hand-hold users for whom the software is developed to get their jobs done. They don’t know their users are customers; they think of them as a pain in the backside. Most times, ineffective developers incorrectly characterize a user experience issue as someone else’s problem.
Sadly, there are a lot of software developers with this attitude, which is why companies are looking for code warriors with empathy and knowledge of other people’s problems. “Employers are struggling to find people who have technical skills and domain knowledge around fundamental business problems” says Matt Sigelma, CEO of Burning Glass Technologies, a job market analytics company.
“Even good programmers will say they are not interested in understanding the business need they’re trying to solve” he continues. “They’ll say, ‘Give me a spec. I’ll write to spec’. That’s ineffective programming, and makes it hard to even a get a job”.
4. Likes to say “no”
Ineffective software developers lack foresight and vision as a result are more likely to say ‘no’ to a project or become a steaming pile of negativity in its path. It is important when presented with a challenge, to keep a positive attitude to allow all potential possibilities to remain open.
When you say ‘no’ you shut the door on the creative process. Whether you have an immediate idea about a solution or not, you need to remain open-minded for inspiration to strike.
Ineffective software developers are also quick to say ‘no’ because once they have something working, they don’t want to mess with it for fear of breaking it. Fear of breaking things leads to safe and non-innovative choices. Freedom to try new things is vital for developers as what once started as a seemingly ‘crazy’ path can lead to innovative and groundbreaking solutions.
5. Is not serious about learning and avoids curiosity
Ineffective software developers are reluctant learners who are resistant to new ideas. Those attitudes have severe consequences for all occupations, but are career-ending for software developers. “You have to have curiosity to continue learning because programming is a lifelong learning process,” Course Report’s Eggleston says.
“You need to reach out to other people in the community and stay up to date on on-demand technologies because technology is constantly changing,” she recommends.
Development conferences,online seminars and tutorials are learning exercises for software developers who wish to avoid being ineffective.
6. Are not good team players
Ineffective software developers are poor team players. This attribute can pose a real problem in today’s development world where teamwork is a necessity. “These days, software projects are increasingly complex,” says BurningGlass’s Sigelman. “Gone are the days where you can be a lone wolf and knock out a program on your own.”
While ineffective software developers may not be team players, they still depend on other team members. “Always remember that there are potential dependencies on what it is that you’re coding—and that what you’re coding has dependencies on other things that are changing,” says D.J. Charles, CTO of Invaluable.
He adds that pride can contribute to an ineffective software developer’s ability to be a team player. “It’s okay to get stuck now and then. Knowing when and how to get on track is a fundamental key to success. Don’t let pride get in the way.”
Poor communication skills can also be responsible for the ineffectiveness of a software developer in a team setting. That’s especially true when the ineffective developer has to communicate with people outside the team. “Developers who are poor communicators with non-technical team members are usually less successful,” observes Eggleston.
Not being able to work with others in a team may be more of a personality trait and less of a conscious decision. “Getting developers into circles with other business units and getting their communications skills polished—even though it’s not something they want to do—is a good way to combat that.” according to D.J. Charles, CTO of Invaluable.
7. Doesn’t care about security
Effective and ineffective software developers can be guilty of this bad habit. In many development companies, security is just added on to a finished product which is not the ideal way to do it. “Developers need to put security first when they’re coding,” says Stephen Newman, CTO of Damballa, a cyber threat detection company.
This can pose a problem because software developers aren’t getting the right training required to become more efficient in this area.
Stephen Newman adds “When we’re dealing with the world that we’re dealing with right now, where there are so many attacks going on, you have to put security first. A really good coder considers that in their design and their architecture and everything they do in their code.”
Bad habits produce ineffective employees in all occupations. In software development circles, bad habits such as lack of passion, refusing to be a team player and showing no interest in projects can disrupt entire teams. Many software developers who find themselves currently ineffective didn’t start out that way, nor should they remain that way. Periodic self-assessments can help identify bad habits so an ineffective software developer can become effective once more.
What would you add to the list?