DEV Community

Cover image for 5 Mistakes I Wish I Didn't Make As A Self-Taught Developer
Abdul Basit
Abdul Basit

Posted on • Updated on • Originally published at

5 Mistakes I Wish I Didn't Make As A Self-Taught Developer

Long story short, I did my bachelor in Mechanical Engineering, during my bachelor, I got interested in programming. Now I work as a MERN Stack developer in a well-established company.

When I look at a year or two ago, I realize I could do some things even better. I don't regret my choices, because this is something that has passed, but I don't want newbies to repeat the same mistakes.

Mistake#1. Rushing, not understanding things

I, being a self-taught programmer, loved the increasing green color of the course progress bar! To me, it felt like recognition or achievement of getting things done. I was curious enough to study multiple topics in one sitting. I was in a rush to learn all, apart from the fact, was it even worth it to learn in such a hurry?

Don't rush! If you have studied a concept, practice it. Spend some time on it, solve challenges then move forward.

Mistake#2. Focus on multiple technologies at a time

In the tech industry, every day, there is something new to learn. I, being an enthusiastic person, wanted to learn all at once. So along with ReactJS, I started to learn Python too. So half of the time that could have spent learning ReactJS, I was spending on Python. And this doesn't end here! At the end of 2019, I got distracted by the fame of Flutter, and so I started to learn that too!

Now, don't get me wrong. It's okay to learn multiple front-end languages. It’s how one can survive in the tech industry. What I am trying to say is, you must focus and master one thing at a time.

For example, if you are learning Reactjs don't get distracted by React Native, angular, or some other framework. If you are into python, then just spend time on python and related things, not PHP or dart. If you focus on multiple things, you'll be just a half-cooked dish! And I'm pretty sure, nobody likes that.

Mistake#3. Leaving things in the middle

Let's say I have got the idea to build a dashboard for my portfolio, and I started to work on it. But as soon as I bumped into an issue, I'll obviously try to solve it. But just after one try, I gave up!

Resolving a bug might take just a day, week, or even months. At worst, it can take a year – if it's a complex issue.

Anything is possible in programming, just learn to think like a programmer

Mistake#4. Didn't invest enough time, although it's available!

I used to spend learning on average two hours a day. Now when I think about it, I could have spent at least five hours or even more!

My piece of advice to you (and my past-self)! Start spending more time learning. When you got fewer responsibilities, it's easier to invest time in learning. As time goes by, the responsibilities will only tend to increase. So, utilize the present moment as much as you can.

More time and fewer responsibilities are blessings. Use it properly otherwise you will regret

Mistake#5. Didn't apply earlier

I wish somebody could have told me you can never be perfect. There will always be things you don't know. I was done with the basics of HTML and CSS in the middle of 2018. My next move should have been to find an internship (doesn't matter if unpaid) and learn JavaScript parallel. Maybe I couldn't find it but I should have tried.

Our skills grow faster when we work in an office environment with a bunch of awesome people, clients, and on live projects. We have to do what he (the client) likes not us. By the way, I started applying after learning the basics of Reactjs.
Doesn't matter if you have only 5 HTML & CSS landing pages. This should be live.

Craft your resume, update your LinkedIn, create a live portfolio, and apply!

Top comments (30)

raphael_jambalos profile image
Raphael Jambalos

I agree with your points, Abdul. With our industry, it's easy to get distracted by the next big thing and it becomes too easy to abandon what you're currently studying in pursuit of that hotter fresher thing. Mastery comes with depth, and having depth means investing a good amount of time in it.

aarone4 profile image
Aaron Reese

Learn one thing at a time is hard if you are an independent Dev. To make even a basic site you need a decent level of html, CSS and native js. Anything more complex than a static site is likely to need middleware: node, python, PHP to handle requests and some sort of data store: mySql, postgres, mongo, firebase.
That is without understanding non functional requirements like Git, security, CICD deployment, testing, performance

tonyedgal profile image
Tony Edgal

I was just pondering on why I had not opened my computer to continue my js training throughout the whole of today (gmt +1 timezone) and refreshed my google feed and saw this article. As a self taught programmer (Bsc in industrial chemistry) I have to even the smallest capacity experienced most of the issues listed here.
I have designed a few landing pages with html and css and deployed them on my git page, but nothing really major. Been thinking of getting a full time internship but it's near impossible to find one.
Long story short, thank you for the advice I'll adhere to them.

aboutandre profile image

Why the switch from Industrial Chemistry to Web Dev?

tonyedgal profile image
Tony Edgal

While I'm really good at chemistry, I have always loved tech, since I could remember, from smartphones to pc to softwares etc. As early as freshman year, my coursemates used to think I was a computer science undergrad, because all my friends were there. Had a chance to learn programming as early as 2017 but never acted, that was a terrible decision on my part, now I'm doing what I should've done years ago.

Thread Thread
aboutandre profile image

But why Web Dev?

I ask, because one of my best friend is a geologist and he started programming to solve problems of geologists. He mentioned that there are so much stuff that could be automated and improved in his field.

If you really love web development, than go for it. But if programming is your thing, then I would look into problems that chemists have to solve that could be made better with software.

Just my 2 cents.


Thread Thread
tonyedgal profile image
Tony Edgal

Thanks, I appreciate your inputs whole heartedly.

I don't think I want to get into that tho, I like front-end web development, I want to work in as a web developer, maybe over time switch into app development with react native, or backend with node.js.

Right now I'm just searching for remote internships to help further my progress.

mosbat profile image

You are unfortunately correct about the con of focusing on multiple technologies or stack in parallel. Everything takes time and unfortunately, companies expect much more than knowing how to print "Hello world". We need first to understand the scope of our role (e.g. Front-end vs. Back-end). Check most popular and widely used technology that companies looking for and then set yourself a target to learn as much as you can from it and never stop.

It is always a plus to be willing to learn something new as you did and companies do appreciate that but at the same time need to make set real goals for each that makes it worth time investment.

baltawat profile image
Diego | BaltaZa

I agree with the points, and I'll recommend start applying once you get some JavaScript basics with some computer science thoughts starting to settle in your mind. Then you can learn a framework on the job or internship and grow from there. Great post

saulvg1 profile image

As a up and coming dev, this applies so many things to my own experience. I finished my bootcamp about a year ago at this point and have been derailed off track by multiple distractions but applying the principles you are talking about will definitely help me get to my goal, getting my first dev job!

avrahm profile image
Avrahm Kleinholz

Thanks that was a great read. I to have falling to some of those mistakes.

I would add one more to that list: Remind yourself to recognize the first five and be ok if you make any mistakes along the journey. You’re still moving forward and to remember to re-adjust and follow the first five.

sebbdk profile image
Sebastian Vargr • Edited

I love Game jams, they forces us to learn how to prioritize, keeping our eye on the birdie by limiting our resources.

The same goes for any project, sometimes we can postpone things, turn them into their own project (a new goal for later), or just skip them outright because they do not matter in terms of the goal.

I think the same can apply to learning.

Makes me wonder what the if there is a such a thing as learning jams, outside of desperate students cramming last minute for exams. :D

nano1709 profile image
Ignacio Vargas

I liked Mistake#4. Also, one thing that I personally didn't knew and I think it is one of those things that I wish someone told me before is that you need to learn and have the ability to learn fast. In some way it goes along with the idea behind of Mistake#4 since learning fast + having time to learn =👩‍💻🧠💥

taufiqtab profile image
Taufiq Abdullah

"More time and fewer responsibilities are blessings. Use it properly otherwise you will regret"

Best !!!

zippytyro profile image
Shashwat Verma

Mistake #2 is what I made, now I'm much more focused on one thing only. Thanks for sharing dude.

lestrae profile image

same here. I jumped from JS to Python, from Python to PHP, from PHP to C++, again to Python, to React... countless circle. Trying to learn everything I learned nothing. I understanded my mistake, and now I only focused on JS.

tanzimibthesam profile image
Tanzim Ibthesam

Awesome to me what was biggest hurdle was tutorial hell

abdelrahmanelmasry profile image

Mistake#2 it's a little bit true and false it's depends on the level of your knowledge cause I think that you can focus parallelely on related topics or semi-related cause rate of gaining knowledge increasing after your first steps

monfernape profile image
Usman Khalil

Hi there Basit Co-indecently, I am also a mechanical engineer and web dev. :P

lestrae profile image

Mistake #6 - watching youtube videos how to learn programming in 1 hour.