5 Mistakes Every Self-Taught Developer Makes

5 Mistakes Every Self-Taught Developer Makes

Every expert was a beginner once.

Photo by [Sebastian Herrmann](https://cdn.hashnode.com/res/hashnode/image/upload/v1630753611798/oEWIhs7Ws.html) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)Photo by Sebastian Herrmann on Unsplash

Committing mistakes is inevitable but not learning from them is a personal choice.

The field of software development takes a different shape every few years, with new languages and frameworks taking the front seat.

Most of the time developers don’t really know the clear path when they start learning a new library or language and end up harming their growth as a developer.

I have been in the field of development for over 2 years and also part of various groups. Hence, I have met many people and noticed a pattern of mistakes that they all committed.

Some of these mistakes happen due to the unrealistic requirements set by a few companies.

Below are the 5 common mistakes that every developer do:-

1. Not having a clear vision

I have committed this mistake countless times. I had little experience with JavaScript and HTML when I decided to learn the Vue.js framework.

I knew nothing about CSS and how to deploy my Vue apps and on top of this, I struggled with JavaScript as well.

What I learned is that I needed a clear plan of action when diving into a framework. There are enough resources online these days to intimidate every developer.

This applies to senior developers as well. Without a thorough understanding of what you are learning and why you have to learn, you will end up just wasting your time.

Stop learning every various things at once and instead focus on gaining expertise in one particular thing that is relevant to you.

If you are a backend developer and suddenly start learning the Unity game engine just because you saw a few job listing required it, it wouldn’t make sense unless you have a plan to launch a game or entirely switch career from web to game development.

2. Avoiding Dev Communities

Not understanding the importance of dev communities is one of the biggest mistakes that fresh developers commit.

Tech communities are vital for the success of junior developers and are a great place for senior developers to meet and provide feedback.

These communities will enable you to open new doors and get key insights. Usually, you will find active participation in an array of competitions and challenges that are hosted by these tech communities.

The primary advantage of joining these challenges is that you will meet like-minded people and it will help you grow as a developer.

For instance, there is an ongoing 100DaysOfCode challenge in which you have to produce or learn something programming-oriented every single day for 100 days straight.

Hackathons and Hackoberfest are other such challenges that are fun and educational at the same time. It also provides a great chance to showcase your skills and to network with developers all around the globe.

3. Tutorial Hell

Most junior developers, including me, have been stuck in tutorial hell for at least once knowingly or unknowingly.

When I completed my Vue.js course, I immediately started the Nuxt.js course followed by the React.js course.

I had only built a few apps that were taught during the course and had no real-world experience with either of the 3 frameworks and this came back to haunt me later as I kept getting stuck while using these frameworks and eventually had to revise the courses again.

When you complete a tutorial, build something of value based on what you learned first instead of starting a new tutorial.

Software development is a huge field with various technologies with very short life spans. Therefore, instead of learning every tech stack, focus on gaining mastery in one framework, and build apps on that.

Trying to learn everything in one go is a very poor way to manage time and efficiently understand new things.

Personally, what worked best for me is learning a framework and then spending at least a month using it before moving on. But depending on your speed and proficiency, you may need more than a month of practice.

4. Unrealistic expectations

It’s true that developers earn a lot but becoming a software engineer is not a get-rich-quick scheme.

Just because you built an app that provides value and is unique, doesn’t mean it has to sell.

Everybody wants to be the next Zuckerberg but this is a completely unrealistic vision.

I don’t mean to say that you can earn good money or have a startup but enrolling in a software course believing that you can quickly get rich and own a startup is ridiculous and I have seen many people with this notion.

Unrealistic demand is a two-edged sword in the IT industry because management too likes to push impractical and near impossible functionalities onto the developer team.

5. Asking wrong questions

Asking the right questions to the right person can save you a lot of headaches.

Formulating an apt question that isn’t too broad or vague is a skill. Whenever you get stuck programming or need help solving a problem, this skill will come incredibly handy.

Moreover, I want to stress that asking the right questions, in general, is imperative.

For instance, most developers think the interview is a chance for companies to screen and examine the candidates but it is the best chance you have to learn about the company.

Questions like “Are there any code reviews for new developers?” and “Are there dedicated test engineers to test development code?” are important to ask especially if it’s your first job.

Questions like these show that you know what you are talking about. Additionally, you can easily find if you are suited for the company or not.

Final thoughts

If you have been in the field of development for some time now, many of the points listed by me might have sound obvious and quite familiar to you.

The software development field has its own advantages and disadvantages. While we get to work with cutting-edge tech and develop unique applications, we have to also manage our expectations and think two steps ahead.

Despite all the mistakes, it is important to remember that it is perfectly okay to make mistakes as long as you learn from them.

History repeats itself for those who are unwilling to learn.

However, in this day and age, we can easily find the common developer mistakes and avoid them.

Joining tech communities such as the subreddit ‘cscareerquestions’ as well the dev community on Twitter can help you explore and grow as a developer by learning from the mistakes and experiences of developers worldwide.

Did you find this article valuable?

Support Smart Dev Blogs by becoming a sponsor. Any amount is appreciated!