1. The user is an idiot

The user is not an expert. My doc doesn't require me to know the difference between low-density and high-density lipoproteions. 

Don't assume user should know what kind of browser they use or what is the best flow to use the app. 

But yes, no matter how much you think of it, sometimes the user demand feature that seem pointless and he can have difficulties with functions that seem to be self-explanatory.


4 Mistakes I Made as a Programmer, but I Had To Become a CTO To See Them


2. My code is an Art and has to be Perfect

Clean code, unit tests, great documentation - these are undoubtedly important things. It's good to have the desire to be the Good Programmer.

But they can affect development speed. 

"We can think about the future but forget about the present."

It is great to make code which it can be easily understand by others and which can be scaled easily. But it is even better to finish projects successfully. After all, programming is not art.


3. I'll use 'X' for this project because I know it

In many cases, your next project is more or less similar to previous ones. It would make no sense to spend a lot of time learning new tech since you already have proven solutions. But sometimes, it can be the wrong decision to make.

It can easily become your comfort zone and it can make you avoid better solutions for your current project.


4. My product manager is wrong, I would do it better

It can be challenging to plan every detail of the project. 

From a product manager view you have to think about the limitations of the technology, you have to think about users who will use your product, you cannot forget about business and marketing requirements and so on.

Sometimes, some of the requirements aren't known at the beginning; sometimes business circumstances change, and sometimes you have to build something first to figure out it can be done better.

Important note: product managers make mistakes as programmers make bugs.

Instead of trying to show how wrong they are, you should focus on finding solutions.



Isn't only about technical skills, but more about to understand what is the value you can bring to the company and how to do it. 

A senior developer isn't someone who knows every aspect of the tech. It is a person who will help the company build a great product, even if this requires to cross a border of their comfort zone. Solutions over problems.


Deepstash helps you become inspired, wiser and productive, through bite-sized ideas from the best articles, books and videos out there.