We all, as human beings have our flaws and virtues. We grow our habits over time, some of them are good, and some of them are bad. In the end, our habits can be tricky and hard to change.

The same rule applies to our work. No matter which line of work you might be, your habits can either help you prosper or lock you in the comfort zone thus stopping you from growing and evolving. In this article, I will talk about habits that you should get rid of as soon as possible if you want to advance your self and your career in the software industry. Enjoy!

1. Meaningless Copy-Paste

This is an absolute winner in the bad habits world. By doing this you are harming your self in many ways:

  • You will copy and paste EVERYTHING, including bugs
  • You will not develop your style of coding
  • You will not build your identity as a software developer
  • People will critique or praise you based on other developers code
  • You don't have control
  • You will never learn and prosper

This list could go on and on. There are really a lot of bad things that this manner of coding does to you. I mean, just read the short list above and think whether is worth it or not?

All of the bugs introduced by other people are going to be in your code, and to make things worse, you are not going to be aware of them until its too late. You wanted an easy solution, now you have a hard problem. First, you need to understand what did the other guy meant while writing the code, and afterward fix the errors he made which could be avoided.

Your style and structure will not reflect your way of doing things, and the more you copy, the less you are going to build your identity and recognition. It is another person's signature. This means that if something is badly structured, you are going to be the person to blame, because, it's your code. You stand in front of it as it was your own. No one knows that you've coped it (until they find out, and they always do). Also, if you get praised for it and asked to explain it, it's going to be hard because you have blindly copied it without trying to understand what it does.

The amount of control you have is really low, especially if you copy a lot of code. Zero control means zero certainties that the functionality has been implemented correctly. If you don't know what and how something is implemented, you cannot claim that it is done the way it was requested. On the other hand, the knowledge you possess is not going to increase or improve over time. That is because you have never done anything by your self, you didn't walk barefoot across thorns to achieve something.

If you go through the struggle of coding something, you will remember 90% of the new stuff, BE SURE OF IT because you went through all the problems, and solved them during the process.

2. Do Before Thinking

You should never be hasty. You should never jump to conclusions. You should never start your work without thinking about the things you need to get done. Usually, by going too fast you are either going to figure out half way through that you are doing things the wrong way, or you will doom your self by giving a wrong estimation of the time needed to complete the given task.

So, take your time to understand WHAT you need to do and stop focusing on HOW you are going to do it. For the inexperienced developer, this is hard to grasp due to lack of overall knowledge and experience in the field. Inexperienced developers don't have enough time spent doing these things, thus they are not good at predicting things and prediction is extremely important.

This habit, if combined with the previous one, is going to kill you and you will probably do things really bad and end up being left out, not involved or at the end, being laid off of the project.

3. Give up Too Soon

This one, in my opinion, can make a difference between a success and a total failure. First of all, in order to be in this line of business, you need to be a calm person armed with patient. Sometimes the internet is slow, sometimes the product owners are not responding to your messages, sometimes you need more clarifications of the requirements...all of this requires you to be patient.

Many developers, or persons on their way of becoming one, give up too soon while solving a problem. You should never do that because the solution might be right there, in the next 10 minutes of work, but you are not aware of it and if you give up, you will never solve it.

I recommend that, in these situations when you feel frustrated or less motivated, take a break. Yes, just leave the PC alone and do something else. Go and grab a coffee or something, take a short walk...Be sure that, when you come back fresh, the solution will come out of nowhere and it will be so simple that you will be wondering how did you miss it in the first place.

If you don't believe me, ask one of your developer friends, they will confirm that taking a break can have a huge impact on your work at frustrating times.

4. I Know It All

Don't be all-knowing God who can never make a mistake. It's just not possible. Even if you are a senior, you just could not know it all. Just imagine, maybe one day a junior developer from your team reads something online that can make a huge benefit to you and the product you are working on. Be sure that's possible because there are highly motivated people starting their career that are eager to learn.

By not giving those types of people a chance, for whatever reason you have, can bring you more harm than good. First of all, you can learn something new, second of all you will motivate him by making him feel like a part of the team. If you act like you know it all without listening to the idea that a junior brings to the table, you are not suited to be a good leader. You will worsen the relations in the team, and be seen as an arrogant person that no one want's to work with.

Advice that I can give you here is that whenever you think that your idea or solution is better, be sure to have a constructive conversation with the person suggesting something else. Be sure that you back up your story with strong arguments and provide explanations of why your idea is better than the one coming from the other guy.

This is the only way to work your way up to the leader position. Share knowledge and accept that you can make a mistake. Always listen to your teammates and discuss everything. More heads are smarter than one.

5. Not Accepting Critiques

This is kind of in relation to the previous bad habit. When someone criticizes your code, don't react defensively and get irritated by the fact that someone thinks something can be done better. Just accept the fact that someone will always know more than you do. As soon as you accept it, new horizons will appear in front of you meaning that you will open your self towards progress and prosper.

The best developers out there are always ready for a constructive and open-minded conversation. After all, making the best software possible should be your primary concern. If you accomplish this type of mindset, there is no doubt that you will be constantly learning and improving yourself.


Habits define us and can make us better or worse in the things we do. Moving away from these bad habits can give you great benefits and ensure your prosperity. Don't be a prisoner of bad habits and find a way to think on your own and outside of the box.

If you liked this article, please consider supporting me by buying me a coffee. To stay tuned, follow me on twitter or subscribe here on devinduct.

Thank you for reading and see you in the next article!