Beware! 3 Toxic Software Engineering Habits to Avoid

Steer clear of these software engineering habits that could ruin a career or damage a company.

Jacob Beningo

December 14, 2023

4 Min Read
3 Toxic Software Engineering Habits to Avoid
Tippapatt/iStock/Getty Images Plus via Getty Images

At a Glance

  • What will you do to avoid these three toxic habits?

Working in the software engineering industry is a fun and rewarding experience. Developers often get to work on a wide range of products and within numerous industries throughout their careers. However, software engineers have several tendencies that can often lead them to either tank their careers or damage the companies that they work for. This post will explore three toxic software engineering habits to avoid.

Habit #1: If I Didn’t Write It, It’s Garbage

I often refer to this habit as “not invented here syndrome.” There is a habit among software developers, especially entry-level developers, to believe that any code they get that they didn’t write is junk. "It should be thrown out and rewritten, and, as a matter of fact, everything that I didn't develop should be started from scratch," they may believe.

There are several lessons that experience teaches about the code you inherit:

  1. Every piece of code, written by a colleague and YOU, can be improved. 

  2. There is more than one way to develop a solution that gets the same results and meets customer requirements.

  3. Don’t fall in love with a single methodology or technique. Just because something isn’t “modern” doesn’t mean it isn’t a valid solution. 

Your company code isn’t junk; it just wasn’t written by you. When you change jobs, the first step isn’t to throw away everything; it’s to open your mind, adopt new methodologies, and continuously improve what already exists. 

Related:Fast-Track Your Embedded Product: 3 Essential Time-to-Market Strategies

Habit #2: Neglecting Continuous Education

We work in a field that is constantly changing. You will need to create or follow a continuous education plan. Falling behind has several consequences that often aren’t considered, such as:

  • Career transitions are becoming more complex.

  • More time investment to get the same amount of work done.

  • Lower salaries.

On a month-to-month basis, it can feel like little is changing. However, it’s changing dramatically! I recall going heads down on a project for 12 – 18 months. I did little to no continuous education and was shocked by how rapidly the industry had changed. I had to kick it into gear and devote much time to catching up so I wouldn’t get left behind. 

Continuous education doesn’t have to be complicated or expensive. To ensure I don’t skip it, I devote about 30 minutes to it first thing in the morning every day. It doesn’t seem like much, but I can review articles blogs, watch videos, review an on-demand session, review a manual, or write some test code. Sometimes, it’s highly focused on a research topic, and other times, it’s just reading code. Thirty minutes doesn’t seem like a lot of time, but it adds up to about 182 hours over a year! That’s 4.5 work weeks dedicated to education. Minor incremental improvements over a year can add up and make sure you stay relevant and guide your career where you want to go!

Related:Supercharge Embedded Development with 3 AI/ML Techniques

Habit #3: Looking at the Little Picture

On numerous occasions, I’ve seen developers and teams get hung up on the little picture and the short term. This type of thinking tends to limit what teams can do and often leads to poor decision-making, resulting in project delays and ballooning costs. For example, our industry has become obsessed with free software and tools. There’s nothing wrong with getting something for free; it’s just that nothing is free! There’s always some overhead or time cost that you must pay. 

Have you ever watched one of those shows where dark magic is involved? They often say things like “magic always comes with a price.” Free software comes with an overhead cost that we never calculate and may save a few dollars in the short term but then cost the company dearly in the long term. 

Another example is when developers cave to the pressure to go fast. They cut corners and lose their discipline to meet a short-term deadline that really means nothing. They use language like, “Once we deliver this, we’ll go back and do it the right way.” Guess what? It’s never done correctly because the next short-term deadline or fire is next! The cycle repeats, and eventually, the team can’t progress because they have junk software! 

Don’t let short-term, short-sighted, little-picture thinking get in your way. Be in the habit of always looking at the big picture. Then, remind your colleagues and question them how that short-term fire or priority fits into the large picture. If you can do that, you’ll be a rock star!   

Conclusions

It’s often easy to slip into toxic habits that can significantly impact your career or company without even realizing it. We work in such a frantic industry that it’s often a blur. However, these three toxic habits we just explored are essential to avoid. If you can do that, you’ll find that you’ll not only have a successful career, but the companies you work for will grow and have a positive impact on their customers. 

That leaves just one question: what will you do to avoid these three toxic habits?

About the Author(s)

Jacob Beningo

Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.

Sign up for the Design News Daily newsletter.

You May Also Like