Which Learning Path is Right for You??

Which Learning Path is Right for You??

ยท

7 min read

Learning to code for the first time isn't as straight of a path as one might think. There are different paths to reaching the final goal of becoming a software engineer. Each has its pros and cons, and with more and more resources becoming available, you might lean toward one over the other depending on your situation.

How I Started (Self-Teaching)

My journey as a software engineer hit quite a few bumps in the road. I've always figured things out by doing tasks rather than in a traditional classroom setting, and learning to code seemed like a task better learned through practice. When starting to research the field of software engineering and how to get started, I was surprised by how many different learning resources were available online.

Resources like:

These were all very helpful as I was learning and continue to be throughout my professional development. These resources have only improved over the years, and going through these courses alone at my own pace helped solidify the basic concepts and syntax for programming in Java, the first language I learned. These courses could help someone become a self-taught developer and be able to skip the traditional university classroom, not to mention skipping out on the cost of university classes.

There is no need for prior coding exposure to start using these resources, but being self-taught can be overwhelming. After learning the basics, I wasn't sure what to learn next, so I went to the internet for answers, and most of what I found made little to no sense at my level of understanding. There is little sense of direction when taking this route, and self-teaching could take longer than learning at a university.

Ultimately, being completely self-taught isn't the path I'd recommend. Instead, use these resources to further your knowledge and get some exposure to programming. This path requires lots of discipline to keep yourself accountable, and after learning the basics of your language of choice, it can be daunting to be overloaded with new technologies and have no clue where to start. However, this path is much cheaper and best for those who can afford to take their time or learn as a hobby rather than pursuing a professional career. There are other paid resources that I didn't use until later, which could help with that lost sense of direction. You'll get more out of this path the more you invest in this path, so definitely take advantage of the paid resources.

University Path

Maybe self-teaching isn't your style, and you need some structure in your life to help keep you accountable, or you need a laid-out plan of what to study to be marketable as a software engineer. If that's the case, a university might be the route for you, I wasn't the best student in high school, so I figured university wasn't right for me, but the goal of needing to learn how to code and become a software engineer was clear. I attended a community college to complete my core classes and ease into the student lifestyle, and then I transferred to a university.

While the university structure and a clear path of what to study helped me, it also took a few years before my first relevant class in programming. Once I started taking programming courses, I thought things would be more enjoyable, which they were for a while, but there were still many issues with this learning path.

University Pros

Let's start with the pros first. This learning path provides structure to keep you accountable, and you have the opportunity to network and learn among people with similar goals to your own. You'll also meet people with different goals from yours that could influence you to learn more about another path or industry. Universities also host plenty of career fairs to help network with potential companies to intern with and get your foot through the door for future employment. You'll also have access to university resources, events, and opportunities like hackathons, labs, research centers, study abroad programs, and more. Unfortunately, I missed out on many of these opportunities as I transferred to my university at the start of the COVID pandemic and dropped out of the university shortly after.

University Cons

As for cons, I can't think of any. Just kidding, there are plenty with this learning path. First, many required core classes are irrelevant to your field of study, and you'll need to pay and complete them before getting into the courses you want to study. These core classes take a significant portion of your time in university and could make you rethink being a software engineer. Second, the university is a slow burn, meaning your classes progress very slowly, and some can get repetitive. I've taken an introductory course on C++, C, and Python twice, all of which went by generic course names that didn't give much insight. They all focused on teaching the same basic programming concepts from Hello World, control statements, loops, functions, arrays, and more. Lastly, university costs could quickly stack up, especially if your academic career isn't as smooth as you'd hoped. Many students spend more money than initially required due to academic hardships and retaking a course.

University Conclusion

A university could be a good path for those in no hurry to start working and who want to socialize and network with other like-minded individuals. Study abroad opportunities are also good selling points for a university so you could experience different cultures and enjoy your young adult years. University can be a good choice if you're not entirely sure what industry you'd like to pursue, then use the early years as a buffer period to network and see if software engineering is what you want to do.

However, if you prefer to study what's relevant to software engineering, don't have the funding for a university, or want to get employed quickly, a university might not be the best path for you.

Boot Camp Path

Ok, so let's say university life isn't for you or you don't have the funds to attend a university, then maybe a boot camp is more to your liking. Boot camps still provide structure to keep you accountable and usually offer a curriculum specific to programming technologies to make you more marketable. However, boot camps also have this name for a reason, so keep in mind this is an accelerated course to get the students into the workforce as software engineers.

Boot Camp Pros

Boot camps are great for people who want a career change or looking to get into the industry as quickly as possible. Boot camp durations are typically around 4 to 6 months and cover a lot of material. Boot camps usually teach students more than just a single programming language but also other technologies to get you started building practical web applications. Boot camps offer tons of support from alumni students to give advice and help refer new graduates to potential companies for employment. You'll also get help with mock coding interviews, resumes, and portfolios. Some boot camps even invite companies to view your final projects for potential recruitment opportunities. You'll have plenty of time to network with other like-minded students and company recruiters through a boot camp. I almost forgot to mention the price of a boot camp is significantly cheaper than a university, and some boot camps offer financial aid similar to a university.

Boot Camp Cons

While boot camps have plenty of pros, there are a few cons to mention also. As they've been gaining more popularity in recent years, some universities are trying to capitalize on this market and offering coding boot camps. Not all boot camps are the same, so you'll have to research each school and get as much information as possible to make an educated choice of which boot camp to attend. Also, keep in mind that boot camps are accelerated courses which could be difficult for some people to keep up with the coursework, especially if you have a family and don't plan appropriately. The boot camp academic structure is somewhat strict due to the accelerated nature of the course, so don't fall behind, or you'll be unable to finish the rest of the boot camp.

Boot Camp Conclusion

Boot camps are good options for those who want a career change or want to take the fast track to the software engineer role. I'd recommend a boot camp to anyone who already knows they want to pursue a role as a software engineer. I'd also argue if you don't know for sure that you want a software engineer role, then this could be the route for you as long as you put the work in to keep up with the course, and if you don't pursue software development, it'll simply be another skill to add to your toolbox. Most boot camps advertise that you don't need any prior experience to attend, but with the nature of a boot camp, you should use some of the previously mentioned resources from the self-taught route to help you before attending boot camp.

I hope this article helps you make a better decision on which path might work best for you. Thanks for reading ๐Ÿ™‚

ย