How to Successfully Become a Self-Taught Software Engineer:
Have you been weighing the pros and cons of a Bootcamp versus teaching yourself? If you are anything like me, you might be leaning towards a Bootcamp as they offer a guided curriculum, hands-on help from instructors/tutors, a built-in community of fellow students, and most importantly, accountability. Unfortunately, all of those perks also come with a hefty price tag and no guarantee. What if you choose a crappy course that tries to teach too much too soon, or you end up hating code or you experience an unexpected life circumstance that requires you to drop out, or even worse, you finish the course, STILL don't know enough, and can't find a job.
How can you be a self-taught coder, and be successful? In this blog, I will break down the steps to saving 15K+ and still making your dreams come true.
Create a Timeline/Goal:
From my own experience and from the testimonials I have heard from others, it takes about 1500+ hours of studying before you are ready to start applying. Of course, everyone is different but this is a general idea to get started.
Answer the following questions:
- When do you need/want a job?
- How many days a week can you realistically study? If you think you can learn how to code by only studying on the weekends, you are in for a rude awakening. Coding is a lot of work and ideally should be practiced daily.
- How much time during the day do you have to study and learn?
- Do the numbers of study days + the hours per day = ~1500 hours. If not, where can you make concessions? Do you need to push back your timeline? Study more hours per day?
By being concise and realistic with your answers and you will ensure you reach your desired goal.
PRO TIP:
Treat your studies like a job by creating a weekly schedule (that you stick to) and use a program to track your hours. Below you will see the Excel files I created to track my own progress. I clocked in and out throughout the day, set daily/weekly/monthly goals, and assessed my progress along the way.
Find a curriculum:
There are several free programs online but first, you need to decide which language you want to learn. The sites below mainly focus on HTML, CSS, and JavaScript which are great languages to start with if you are trying to break into tech.
- Freecode Camp
This course is great for beginners as it really holds your hand throughout the process and allows you to test you knowledge along the way. Downside: the class doesn't challenge users to build sites/apps on their. Responsive Wed Design (300 hours) and JavaScript Algorithms and Data structures (300 hours)is a great place to learn the fundamentals.
- The Odin Project
This course is comprehensive but can be mildly challenging for beginners. They have a huge online community that will help those who get stuck along the way.
- Full Stack Open
This course is good for those who already have a firm grip on coding and feel like they are at the Intermediate level.
- 100Devs
This course includes live weekly classes, weekend office hours, assigned homework, study guides, and a discord community. This is as close to the real thing as you are going to get.
- Twitch Channel for live classes
- YouTube for past classes
PRO TIP:
1) Before you begin your journey, take the free course on Coursera called "Learning How to Learn". This course teaches you how to maximize how to learn so you retain your newfound knowledge.
2) Regardless of which path you take, make sure you are actually building and not just getting stuck in tutorial hell.
Join or Create a Cohort:
This journey isn't going to be easy, make sure you aren't doing it alone. Finding a community of peers to work with to key to your success.
How:
- Post on Reddit: A simple posting letting people know what free course you are going to start and asking others to join you is an easy way to find an online community.
- Discord: Almost all free courses have a discord community filled with people who are currently enrolled in the course. These communities can be large and semi overwhelming. In one of the community channels post that you are looking to create a study group
- Meet-ups and Other Networking Groups: Attend local or virtual tech meet-ups. This is an easy way to find people who are on the same path as you.
- Virtual Coffee is a wonderful community on Slack that does a lot of pair programming.
Maximize your Community:
- Get to know your community by name. The more you interface with them like friends, the more invested you will be in each other's success.
- Working with others, makes the process a lot easier, by scheduling study sessions online you can help hold each other accountable.
PRO TIP:
During your journey, be prepared to add more members to your cohort as any cohort runs the risk of turning into a revolving door. A group of 6 to 15 people is recommended.
Final Thoughts:
Lastly, try to remember not to compare yourself to others or how well they are doing compared to yourself. If you are going to compare yourself to anyone, compare yourself to who you were yesterday, last week, or last month.
Additional Resources:
Below is a list of free resources that I found to be very helpful during my self-taught journey.
- Kevin Powell - Responsive Design