My developer journey: learn from my mistakes
Tags: webdev, firstyearincode, productivity
Published: 2020-07-26 09:15:00

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.