Some bad habits you should be avoided as a developer

Featured image

Before you can even think of becoming a professional developer, you need to have a good attitude, practice good habits, make lots of mistakes and learn from it. You need to know what bad habits you might have in your work and how does that affect your development.

Here are something I usually see in junior developers

Writing bad code

There is nothing wrong to have your own style of programming or writing code. But I would like to say that sometimes your code is not clean enough. Although, I already mentioned this in the other post, I want to expand more than just clean code.

  1. As long as the code is running, regarless of whether it is satifying the customer or not.
  2. Write without thinking about the readability of the code to the readers (other developers) and the maintainable of the code itself. Long function or variable names and are not well expressive.
  3. Write code without tests.
  4. Code without proper planning
  5. Copy and paste code blindly

Are you in any of these situations? If yes, then you should try to avoid it. Or you must get rid of these habits, it do not affect only you or your team but also affect your customers or users and as well as your own reputation.

No one likes the people who just code and think of themselves, potentially create more bugs and errors for other developers to fix it. As the result, you will get bored of writing code, the career and future path eventally going nowhere.

You don’t spend time learning new things.

I’m not telling you to spend all your time learning new languages, frameworks out there. Why? Because you will waste your time. Technology is constantly changing, like the speed of light. There is no winner in this race, either you catch up with the latest technologies or you fall behind, that’s it. But still it is neccessary to keep yourself up to date with new technologies, you don’t have to learn or use it, but you have to know about it. Time will let you know when you need to use it or is it worth learning them.

If you just code like what school teaches you, you will never know what design pattern is, what dependecy injection is, or what continious delivery is

Let’s take some examples

  1. Front-end is probably an area of programming that change rapidly not saying the fastest. jQuery came out more than 10 years ago and quickly became one of the most used JavaScript libraries of all time. But time went on, the powerful JavaScript runtime was born, Angular and the number of other JavaScript libraries/frameworks rapidly increased. And what about now? React is trending, who knows in the next 10 years, what would be the hottest framework?
  2. You learn Python in school and you think that is enough? No, when you build your software, have you ever needed to decide which languages or framework is the most suitable for your project. If you want to make a desktop application, python is not a good language of choice, Java or C++ might does a better job than Python. Or if you have web development skills, you can make the use of Electron. Have you ever heard of it?
  3. School, they don’t teach you everything, you either need to learn it by yourself or you fall behind.

Only use one language/framework

As mentioned earlier, I usually see this habit in developers who know a very few amount of frameworks or languages.

Let say you learn Ruby or you code it for a very long time and you might think well PHP is great, you can do everything with it. Or you only know about JavaScript because it is capable of doing everything from front-end to back-end even building mobile applications. But you do not know that probably there are other languages or tools can do the job better or much more interesting.

In higher positions such as Team Leader, Software Architecture, you will have to choose the suitable technology for the project. If you stick to this habit, you will hardly see the strengths or weaknesses of technology/language, and might be difficult to design the appropriate architecture.

When you work on multiple projects, you will understand when and why you need to use that particular language/framework.

I’m the best

IT people are often the ones who have logical minds, know how logical thinking should be. And sometimes people might think that they are smarter than others.

If you’re surrounded by ignorant people, you might think that well I’m smarter and better than everyone. Confidence is good, there is nothing wrong about it. I always say this to myself Be confident but no arrogant. I know my abilites, I know what I know and I know what I don’t know. I usually see people being arrogant just because they score higher than other people in my class but the fact that they haven’t gone to the ocean yet.

  1. You think you’re good. You don’t want to hear feedback from other people. You always think you’re right and the way how you solve your problem is correct.
  2. Thinking that you’re smarter than other people, there is no reason why you need to learn from them.
  3. You cannot improve.

The best way to get rid of this to get in a good company, or have a chat with other software engineers and you will understand you are nothing compared to others :)

Do you have any of these habits?

Everyone makes mistakes, so do you, the only different is that some people learn from their mistakes but some don’t.