Why I am starting over again(ish)... Again

Okay, maybe not "completely" over again

I started coding full-time in 2021, when I started coding, I did some tutorials on Flutter development, but not understand a lot about anything, and did not do something with the knowledge I got from the tutorial.

I then looked into Web Development and learned HTML, CSS, and JavaScript. I got good at JavaScript, it was a language I came to ‘like’. I did a bunch of web development projects and pushed them to my GitHub repository. But I did not learn any JavaScript frameworks, and as a result, I didn’t grasp a lot of standard knowledge.

Then at the beginning of this year, I decided to learn mobile development, I learned Flutter, and I learned it well, and I'm still learning, and it is something I have come to enjoy a lot. But being a mobile developer comes with its pros and cons. Now I am quite new in the field, and I'm still growing, but here are the pros and cons that come with mobile development with flutter

Pros

  • You gain access to a field that is growing rapidly
  • Not so many developers in the space mean that there are more job opportunities
  • Being a cross-platform developer means that you can build mobile applications for both android and iOS devices.
  • Great user community for growing and learning.

Cons

  • Not a vastly recognized field in software engineering
  • Does not have a lot of vacancies, and as a result, is not needed by some companies
  • Internships and large job opportunities do not come by so easily.
  • Working for large corporations will mostly require knowledge of native app development.

Now it is important to note that this is a subjective conclusion based on my thoughts, I am fairly new in the field of flutter mobile development. So this should not be used as a reference for learning flutter or not.

Why am I even writing this article in the first place, well it's mostly because I was recently not accepted into a software engineering open-source internship program, and I'm sure you'll start thinking, "But this is just one thing that happened, I'm sure you'll get another one", But the truth is... This isn't the first time. I have been rejected from numerous internship programs, and I have seen a lot of job opportunities that I was not able to apply for because I didn't have the necessary skills.

So what am I doing, why am I taking so long to write about my inconsistencies and setbacks here? Well, because I think it's about time I restructure my plan to venture into tech. So what exactly am I going to do?

Become a Software Engineer

That's it. Oh, you expected 75 bullet points, each one articulating the precise set of steps I am going to take to change my career path. But in actuality, that's just about it.

Okay, I know the term being a software engineer is too vague, I am already a mobile software engineer. But in this context, when I say software engineer, I am referring to mostly Full Stack development, this will include me learning and mastering a bunch of programming languages. But in actuality, I will be focusing on just one programming language

JavaScript.

JavaScript and I have a somewhat love-hate relationship, It loves me, but I do not love it, it's not because it murdered my pet or anything :) But simply because I didn't take enough time to sit down and learn and understand it. It is going to be crucial for me in this choice I'm taking. Some of the few reasons are.

  • It's CORN :). The most popular programming language
  • Suitable for creating powerful web applications
  • Can be used for both frontend and backend development
  • Can also be used for mobile development with React Native

There are a lot of other reasons why I am picking JavaScript as my main programming language, but these are the few that align with my interests. There are other programming languages I will also learn along the way, such as Python. But for now, it's mainly JavaScript.

Learning Path

I do not have a specified path of learning to become a software engineer, but one off the top of my head is FreeCodeCamp Learning Curriculum. I love the way that they teach all the core concepts that have to do with Software Development. I have started using the website to learn and not only is it great for refreshing my knowledge of concepts I know, but it also creates a seamless environment for me to learn new and exciting concepts.

Outlook

What is my outlook for the next 2 - 3 years? I want to be a 'competent' front-end engineer, transitioning into back-end development. This timeline is subjective to a lot of factors, such as dedication and time management. So the outlook could look completely different from the one shown here.

Conclusion

Honestly, I didn't even plan to write this article, but somehow managed to churn out 800+ words... Crazy. This article is simply about me trying to restructure my path in technology. It is important to note that I am in no way leaving mobile development, I'm married to flutter at this point. I'm just trying to expand my skillset so that I can be a better software engineer. Follow me if you want to see more about me and my journey