DEV Community

Cover image for My developer journey: learn from my mistakes
Mouad K.
Mouad K.

Posted on

My developer journey: learn from my mistakes

Learning to become a developer can be a tricky matter with the number of options we have. Whether you're self-taught or a college graduate, whether you started as a 12-year-old or switched careers later in life, I am certain you have a very unique roadmap.

In this article, I'll show you mine and I'll point out the mistakes I've made so you can avoid them.

My first encounter

I was 14 years old when I first came in contact with software development, I found a "Visual Studio 2010" CD, and I remember being curious as to what was that, so I installed it, launched it and started playing around with Visual Basic not understanding a thing. One thing led me to another until I found myself watching youtube videos talking about alien things to me (eg. variables? functions?? events???).
So that was my first mistake, I jumped headfirst into something so new without understanding the basics.

A slightly better start

After that first confusing introduction, I decided to start from scratch and learn java, this time I followed some online courses and got the basic right and even a bit on Object-Oriented Programming.
Being 15 years old, learning the basics at a reasonable pace gets boring, so I made my second mistake and tried to make some games with the little knowledge I have.
I started learning about some java games libraries and I was successful at using some of them, and by successful I mean I copied the code from the documentation and got it to run. Other than that, I struggled to understand parts because I had skipped some very important steps, mainly OOP concepts in java.

Web development

After the failed attempt at game development, I started learning web development, I began with some HTML and CSS and didn't give much attention to Javascript (spoiler alert: big mistake), and even when I did use Javascript I relied heavily on JQuery. Then I've jumped to PHP, learning also the basics alongside MySQL.
So far the only framework I've ever heard of was AngularJS and I had no interest learning for some reason, so I kept on practicing with the technology I've known for the next couple of years, not being too serious about since I was in high school.

Getting serious

I am 18 years old, it's time to get serious with this if I wanna go anywhere, so that's what I did for the past 3 years. I started learning NodeJS and built a few projects to practice it that summer, then ReactJS, and made a weight tracking app to put everything I know into use. React and Redux for the frontend, Express/Node for the backend, and MongoDB. This was the first project I was serious about and it was a success, it gave me that sweet feeling of seeing all your work unravel before you, and it made hungry for more.
From there I went on to learn many new frameworks and languages and with time I developed a sense for clean and readable code.
During that time I was also studying Computer Science in college so I had more of an academic perspective on things, that helped have a broader view.

Conclusion

To summarize, I've made a lot of mistakes (obviously), here they are and how I would have fixed them:

  • Skipping the basic at first: This is quite obvious yet tricky, make sure to go at a slow pace and build a strong base, a good plan also makes the journey easier.
  • Switching too much between technologies: I know it can be tempting to try new things, but make sure you give everything enough time before moving on.
  • Not asking for help: Asking for help and guidance is critical, try to get outside help whenever you feel lost or stuck.
  • Being isolated: Being in as many communities as possible can help greatly, or even just reading articles/watching videos on a regular basis.

Top comments (9)

Collapse
 
petargitnik profile image
Petar Gitnik

Another one that can happen to beginners is tutorial hell. When they finish a language, instead of jumping to framework and then a personal project, or jumping to personal project right away, people think that they can watch/read XYZ more tutorials and jump like that from beginner to advanced. There are not many courses catering to "advanced" level of programming, since that is almost impossible to teach. That only comes through practice, practice, practice.

Collapse
 
krgrs profile image
kenny

This is a huge lesson for beginners to learn. It feels safe and comfortable when you jump to tutorials and you don’t realize until you try to build something that you haven’t absorbed much of what you learned. Real learning only happens through struggling through building real things.

Collapse
 
mouadkh9 profile image
Mouad K.

Very good point! Learning by doing is a solution as you've mentioned.

Collapse
 
cheahengsoon profile image
Eng Soon Cheah

This was happened to me this year, when my manager feedback to me. As a developer must build a strong foundation, No shortcut.

Collapse
 
tinazhouhui profile image
Tina

I wonder, do you think paying attention to clean code and standard code style should also be at the beginning? As in, I am now learning Python and I have a great mentor who puts a lot of emphasis on this (we use an automated code review app) so I just wonder how do other people view this, thanks!

Collapse
 
mouadkh9 profile image
Mouad K.

It is important to try to write code as clean as possible, but if you're just a beginner don't spend too much time on it. The "Perfection Trap" is when you get stuck on minor tasks trying to write flawless, optimized code when you don't have to, instead aim for being good enough, and if you have enough time try to refactor later.

Collapse
 
michthebrandofficial profile image
michTheBrandofficial

Is it bad if I don't refactor my code? Because I just don't do it. It feels too time-consuming.

Collapse
 
arisdolanan profile image
Aris Kurniawan

same with me but you are younger starting, thank you for receiving so much inspiration

Collapse
 
mouadkh9 profile image
Mouad K.

It doesn't matter when we start, keep up the good work!