The Biggest Myths Some Software Developers Believe

What are some popular myths in software development? Why are they myths, and how did they become popular? Some of these are myths because they were once true, other because they are convenient distortions in order to promote an agenda, and some because they are naive over-simplifications. Do you agree with these opinions?
May 04, 2017

The Biggest Myths Software Developers Believe

#1. I DON'T NEED TO WRITE COMMENTS, MY CODE IS SELF-DOCUMENTING

myths software developers believe

Glyn Williams, Game Developer, CTO at Binary Planets Ltd (Crewe, Cheshire, England):

"I find myself writing comments in order add more detail and improve things. I imagine my future-self looking at the code, and being puzzled.  So I mainly write comments to assist my future self. 

  • Worst. Complex, opaque code without comments.
  • Better. Complex, opaque code with comments (most real world programmers live here).
  • Better. Simple, transparent code with comments.
  • Best. Code so hygenic that comments are utterly un-necessary.

You should use comments. Because most of us live in the first three categories. The fourth is aspirational. 

  • Use comments when the intention of the code is not obvious.
  • Use comments when how the execution proceeds is not obvious.
  • Use comments when the context of when to call a method is not obvious.
  • And not just short little crappy one-line comments either.  Some of this stuff needs a paragraph of well-written English prose to describe.

#2. THIS CODE I'M INHERITING IS CRAP. I'LL HAVE TO WRITE IT FROM SCRATCH

myths software developers believe

Vladimir Ilievski, Artificial Intelligence Intern at Philip Morris International  (Lausanne Area, Switzerland):

"This is the best comment in source code that I have ever encountered".

myths software developers believe

#3. THIS IS JUST A TEMPORARY HACK - I'LL COME BACK AND FIX IT LATER

myths software developers believe

John Miller, Engineering manager at Microsoft (Greater Seattle Area, Washington):

"You’ll never ‘fix it later’ so do it right. The mistake I’ve made many times is throwing something together with the intention of fixing it before I ship. Then one fire after another springs up, and the code ships in hideous shape. Write it the right way the first time".

#4. SLOW IS BAD (PREMATURE OPTIMIZATION IS RIGHT)

myths software developers believe

Robert Zubek, Game Developer, Founder at SomaSim (Greater Chicago Area, Illinois):

"1. Optimization reduces flexibility. It's one of the classic tradeoffs of computer science: you can usually buy more speed by sacrificing space (memory, cache, etc) or generality (more task-specific system, etc). So it's a bad idea to do it too early, when you don't yet know which parts of the codebase need to remain general and extensible, and which can be hard-wired for specific use cases.

2. Optimization should be based on evidence, not speculation. In many non-trivial systems, you won't know which parts need the most speed-up, until you have a system running live in a production environment, under a real-world load. Especially when this is a novel system that you haven't built before, it's easy to make incorrect assumptions about what needs optimizing.

And this ties to the previous point - if you optimize for the wrong thing, you not only spent valuable time, but you also needlessly reduced future flexibility and extensibility".

#5. I WILL BE GREAT PROGRAMMER IF I CREATE GREAT CODE

myths software developers believe

Mike Coutermarsh, Software Engineer at Product Hunt (San Francisco, California):

"Whether you solve a problem with a thousand lines of C or five lines of Ruby doesn’t really matter. As developers, we place a lot of value in how good we are at writing code. But that’s only a small piece of the puzzle. Your programming skills are very important. But all that time you spend on becoming a good developer can be magnified if you also learn how to create business value with your skills.

A lot of developers keep to themselves or stay secluded in the “engineering cave”. This limits your perspective.

For the first couple years of my career, I spent all my time at my desk coding. If I had to talk to someone in the business, I primarily used email. I seldomly talked to them in person or even picked up the phone. I ate lunch at my desk, just so I could write more code.

I thought I was doing great work. But in reality I wasn’t. My performance reviews were average and other developers were getting put on the best projects. Even though I was writing a lot of “great” code, my work wasn’t creating much value for the business. I spent too much time on small technical details instead of the big picture.

I was lucky to learn this from a mentor super early in my career: “Learn how to solve problems that make companies a lot of money”.  Once I started spending time with Product, Marketing & Finance, my career began to take off as a developer.

So, what’s the best way to be a great programmer?

  • Get outside of the “engineering cave” and learn how business works.
  • 80–20 rule is everything! Remember, you’re aiming for the biggest impact, with the least effort
  • Leverage your technical skills to solve problems that provide huge value".

#6. AGILE IS A BULLSHIT THAT DOES NOT WORK

myths software developers believe

Brian Knapp, Senior Software Engineer at Procore Technologies (Carpinteria, CA):

"Agile is about responding quickly to change. Actually I can write that better: "Agile is about contextual change". That is to say, the purpose of agile is to change quickly to meet the current context you are working in. That can be the market you are in and the demands of your customers. It also means you must change to effectively use the resources at your disposal.

In a truly agile world, nothing is sacred. You do what makes the most sense in your context to achieve whatever the goal is. You can never get to a perfect system. You can only change and get better within your context".  

myths software developers believe

James Grenning, Software Consultant, one of the original authors of the Agile Manifesto:

"Engineers! With Agile the delivery cycle is fundamentally changed. Have you changed how you develop software? Are you a senior developer, programming the same way you did that first year out of school? Do you have 10 years experience, repeating the same Debug Later Cycle? Have you read any books on iterative development, Test-Driven Development, and Extreme Programming, Design? Have you read any books on development at all? Alas, few hands are raised. The cadence of delivery is changed, so must your practices change.

Why is there so much pressure in your two week iterations? “The stories we are told to do are so huge there is no way to get the work done with any quality. The PO says they are priority one. We have to do what the PO says, right? No documentation; no thought; just do it! That’s Agile! Right?” No, that’s not Agile, but that is a demoralizing way to work. 

FURTHER READING

The way to get startup ideas is not to try to think of startup ideas. It's to look for problems, preferably problems you have yourself. Solving the problem that frustrates you - may be one of the best ways of finding an idea for your startup. Look at these software developers who acted accordingly before they found success.

Blog writers

Subscribe to Belitsoft's Blog for Entrepreneurs

Join successful software startup founders! Get insights from growing companies like, where to get an idea, how to validate it, how to launch, and how to hire people - everything. Enter your email address below (no spam):

Email *

RECOMMENDED FOR YOU

Lead Generation Design of The Best SaaS Websites

If clothes make the man, the design makes the website. That's where potential customers start evaluating a product. The SaaS website can (and should) be an online lead-generation machine, so each component of it has to be as good as possible. As people generally remember the first and the last thing they see, having impressive header and footer can go a long way towards making your product successful. What do some of the best SaaS companies do with their websites’ headers/footers? Look at this list to get and keep in mind some ideas for custom software development while building or redesigning your SaaS website. ...

PHP 7 vs Node.js

Our team is experienced both in PHP programming and Node.js development. We have a portfolio with both PHP-based applications and Node.js-based applications as well as mixed ones. What do we take into account when considering which tool to use in custom software development? ...

The Top 10 Advantages Of Laravel for Cost-Effective Web Development

Laravel framework is very popular for custom software development. It is the Most Starred PHP Framework on Github: more than 35 000 developers from all over the world (mostly from the USA) greatly appreciate robust features of this platform. Based on data of the BuiltWith, Laravel's popular websites verticals include Business, Entertainment, Media, News, Shopping, Technology, Vehicles. Why is Laravel so popular? ...

100% Remote Million-Dollar SaaS Companies

Companies that hire remote (distributed, virtual, dispersed, or dedicated) workers and do it well seem to have a huge leg up on the competition. Let’s learn how these successful SaaS companies use global talents to increase software quality and reduce the cost of rent and office supplies: Basecamp, Buffer, Chargify, Convertkit, Ghost(pro), Groove, Hubstaff, Invision, Olark, and Zapier. As the company where you can find a remote PHP developer, we believe that you could utilize their experience and expertise to build your own full remote SaaS company. ...

SaaS Founders Who Became Rich Starting With MVP

Belitsoft has a huge experience in MVP software development for startups and prototypes for existing brands. MVP is a minimal version of the product with the minimum set of features that is enough to deploy and test the key hypothesis to solve problems of this product’ potential customers. Experts suggest that, in B2B, it’s not an MVP until you sell it. Viable means you can sell it. ...

Profitable SaaS Startup Ideas

The way to get profitable startup idea is not to try to think of startup ideas (including SaaS development). It's to look for problems, preferably problems you have yourself.  In fact, for many entrepreneurs, successful business ideas start out as solutions designed to address a challenge they face personally. Solving the problem that frustrates you may be one of the best ways of finding an idea for your startup. Look at these software developers who turned their problem into success.  ...

Get A Free Quote

Do you have a software development project to implement? We have people to work on it.
We will be glad to answer all your questions as well as estimate any project of yours.
Use the form below to describe the project and we will get in touch with you within 1 business day.

Call us:
Phone - USA
Phone - BELARUS
Skype
EMAIL US:
Contact form