I've always wanted to sit down and write down my whole journey of how I transitioned into tech and landed a web developer role without a college degree or bootcamp experience. I strictly used free or low cost online resources.
My particular journey contains so many mistakes and failures along the way that I ultimately feel like was essential to my growth.
I hope you find value in this super long but necessary article and if there's any questions you may have, feel free to leave them down below.
My Background
Without diving too deep into my background, I am 23 years old and was born and raised in Southern California. I'm the first in my family to graduate high school. I dropped out of college my freshman year and ended up without direction or a sense of purpose. I started working as a cashier at places like Macys and Kohls. I felt like an embarrassment, not because I was working retail but because people around me had set expectations for me to be an overachieving college student. I didn't have a passion for years.
Falling First Before Learning How to Fly
The origins of how I discovered coding is a mystery now because I've forgotten. I do remember being inspired by the story of Aaron Swartz, a self taught engineer who co founded Reddit.
February 2017 was when I first tried learning how to code via Codecademy's free Python course. But I was put off by the simplistic syntax and instantly felt like I wasn't learning. I was thinking, "What was the purpose of arrays? Functions are hard to understand. I can't do this." It was my first exposure to computer science. I never even messed with HTML and CSS on Myspace or other social network sites when I was a kid like others. I was completely brand new. So I gave up. I quit. I didn't have the strongest support system outside of my mom and one friend. Most just assumed I was not technical enough given that math was never my strong suit and only holding positions in customer service.
What motivated me to pursue tech was the loss of my father July 18, 2017. He encouraged me to keep going with tech actually. He knew nothing about software development (neither did I at the time really), but he often encouraged me to have my own career and take charge in my life. Whenever I learned something, he would cheer me on.
I revisited coding when I discovered web development in fall of 2017. That's when I bought Colt Steele's web development course on sale for $10. That is precisely when everything clicked for me. I realized frontend development was for me. I started building landing pages and genuinely liking it.
I made a pledge (the first of several) to #100DaysOfCode challenge which is where you make a commitment to set aside time every day to learn and code. I often "failed" because I would lose track or have to take breaks due to working full time and having imposter syndrome but the key to my success was that I kept going. Even if I took a break and didn't code for a day or a week, I still resumed my studies.
Why Did I Not Go To A Bootcamp or Back To College?
I was broke lol. I was working full-time making ends meet at places like Walmart and Boston Market. I didn't have the resources to attend bootcamp or college full or part time. I was way too in debt and poor to do either of those options. I strongly advise anyone considering bootcamp to read the income sharing agreements in depth. Understand the legalities of the situation before you choose.
Self directed learning means you have to sift through tons of resources in order to build your own curriculum but it's the least costly option out of the three and that's why I chose it. Anything you learn at a bootcamp or in a CS program you can find online. There's a plethora of quality online resources, you just have to have that willingness to find what you're looking for.
You can build a network and find community support through a plethora of slack and discord communities, Twitter (follow #100DaysOfCode, #CodeNewbie, #DevDiscuss hashtags to find your people). I'm not saying that this is guaranteed but it's definitely not impossible. Also FreeCodeCamp has Facebook groups for people in different locations around the world and you can host or attend meetups there.
My advice to you is to know and explore your options. Weigh the pros and cons of each. Everyone has their own priorities and responsibilities so do you.
First Interview, First Disappointment
My first interview was for a mid-level React Native developer role in March of 2018. I can honestly tell you I was not qualified for the role in the slightest. I had built a few projects in React but my knowledge of JavaScript wasn't on par for the job.
The first interview with them was a cultural screening which usually consists of them asking about your background and goals. It is their way of assessing your personality and to see if you what you want aligns with what they want out.
The technical portion is where they see if you're what they need from a technical standpoint. Usually technical interviews are a collaborative effort between you and the interviewer where you attempt to solve a problem. They always say they don't expect you to find the answer and that they're more focused on how you communicate your thought process. I failed miserably in this portion. I was often in my own head which led to me being silent the whole time. I was essentially blocking out the interviewer.
The Unpaid Internship: The Raw Truth
Full disclaimer, I don't support unpaid internships. Unpaid labor is unethical in nature, there is no way around that. But at the same time, I needed that experience on my resume. I completely understand those of us who do take on unpaid work. It really is what it is. We're all trying to reach that final destination where we have salaried jobs complete with quality healthcare and the ability to provide for ourselves. So I'll never shame anyone for contributing to open source or working for free. Just understand that your skills have value. I see it as a stepping stone but I'll never recommend it to anyone else because technically it is unethical. To omit this part of my journey would not be transparent and true to the story.
I recommend to those looking to gain experience, build sites for those around you. You can start freelancing asap. Learning Wordpress or Shopify can increase your chances of gaining clients. It takes a certain type of mindset but the key is to start building stuff for real people. That in itself is experience that you can put down on your resume.
Back to the unpaid internship. It was located in a business building in downtown Orlando, Florida. I had a really cool friend who was also learning how to code (more backend focused on NodeJS) and he helped me get an internship along with him. I started in the summer of 2018. We were building a site for a jazz musician. The gig only lasted a month or so for me due to reasons you'll find out soon.
More Interviews, More Opportunities to Grow
Summer of 2018 was amazing. I was finally landing more interviews. There were 2 I was focused on: one for a Angular position at a tech company in downtown Orlando and then the other one was at an agency in Seattle.
The Angular role had an intense interview process but the stage I was at was to essentially build a CRUD (a simple application that allows users to create, view, update/modify and delete. Example is a todos app). They wanted me to use Angular 1.5. I only had experience using React so this forced me to learn something new and it was a challenge to say the least.
The other interview at the agency in Seattle was more straightforward. I had to meet the team on Skype, go in depth about an existing project I have and then you'll get an offer or rejection afterwards. I learned from other interviews that you're interviewing them more than they are interviewing you. I inquired the CEO about work life balance, goals and expectations of the role within 3/6/12 months, asked the lead engineer about their communication style, thoughts on mentorship and onboarding, etc.
Tools and Resources
These are the resources I actually used in my coding journey. Most of these resources are free. The main caveat of self directed learning is building your own curriculum with little to no guidance. It took me trying so many different resources for months before I found the content that sticks. I had to find my learning style and that involved messing up and trying a mixture of video tutorials, courses and written guides.
Udemy
- Web Developer BootCamp by Colt Steele- Colt set the standard on teaching for me. His instructor style and ability to condense technical topics in a way others can understand is what helped me understand the fundamentals of web development
- JavaScript: Understanding the Weird Parts- A strong recommendation for anyone who is seeking a role in web development. I can't stress this course enough. You'll learn the inner workings of Javascript and build your own library to solidify your understanding of core concepts. This course actually helps you understand frameworks and libraries like React more and will prepare you for technical questions on interviews for sure.
YouTube
- Traversy Media- The whole channel is everything. Brad Traversy has a whole free course on PHP basics. You can find tutorials on so many topics in web development and I strongly urge you to subscribe.
- FreeCodeCamp- The self taught developer's best friend. The YouTube channel is where you can find so many great courses on topics ranging from network/app pentesting (for those interested in cyber security), AI/machine learning, Python, JavaScript and more.
- Kevin Powell- If you seek to better your understanding of CSS. His channel is full of gems and a must for frontend developers.
- Coding Phase- You'll find value in both his YouTube channel and courses because he adds a refreshing, relatable feel in everything he produces. His projects are also really original and different from the rest.
- Hamza Mirza- He has really good tutorials on React. If you've already learned the basics of React or just getting started with the library and you're looking for project ideas as a way to solidify your understanding, his channel has some good direction for you.
The Big Offer
July 18, 2018 was a monumental day for so many reasons. It was the one year anniversary of my father's passing. It was also the day I knew I was going to find out if I got the job or not at this company called Mercutio. I was an abundance of nerves as you might imagine. I was curled up in a ball soaking in a deathly hot bathtub listening to music to calm down. I remember the visual vividly. I was so so committed to making this dream happen. I had become so accustomed to quitting and failing so much in my life and learning how to code was the first habit I ever stuck to. While these thoughts are running through my mind, the phone rings. Seattle area code. I took a deep breath and answered.
The CEO first started off by telling me all of the great feedback he received from the team. I wish I could remember but I can't, my heart was racing. Then he paused for a brief second and said, "I would like to offer you-". I'm pretty sure I muted the phone and screamed violently lmao I had got the offer I had been working so hard for. I was crying in silence while he told me all of the benefits without skipping a beat. Good salary, Full healthcare coverage (dental, vision, etc), a relocation package to Seattle and a new start. I thanked him profusely and I just couldn't believe it. I would be starting by the end of the month. I wasn't even worried about moving across the country on my own to a city I've never visited, that has never mattered to me. I was all about chasing that opportunity and seeing where life takes me.
My First Day
Walking into my first day as a professional front end developer was everything. Your first day will most likely consist of setting up your environment and making sure you have everything you need to start. Thorough onboarding is key for everyone but especially junior engineers.
Daily tasks as a junior engineer involved bug fixes and pair programming on more challenging tasks. I did get to maintain a huge project on my own once I showed I was capable.
Minor Setback For A Major Comeback
So unfortunately due to budget cuts, I was laid off from my first job by the winter. I was like oh no lol I'm in this whole new city away from family. But thankfully I was smart in that I saved most of my checks so I had enough to pay rent for 3 or 4 months while I prepared for the next step. Quitting the industry wasn't a viable option. I was like "You have professional experience now and you're in one of the best cities for tech, you didn't come this far to succumb to another obstacle". I sat down and thought about what I truly wanted in my next role.
What Do I Do Now?
I've learned how to code, I landed a professional job, relocated to a whole new city, and got laid off. What do I do now?
I work from home contracting for 2 companies at the moment as a frontend engineer. I currently reside in Georgia and am relocating to Atlanta. I'm also traveling as a conference speaker. I've also made the commitment to really hone my content creation skills. I'm happy
I'm starting a Patreon so I can focus my efforts on continuing to create resources for the community like #AnAlgorithmADay challenge which is a daily commitment to improving as an engineer by studying data structures and algorithms. I'll be writing and sharing videos on topics ranging from Big O Notation, recursion and stacks and queues to even dynamic programming. My biggest fear when it came to tech was technical interviews and while I still see the process as flawed and limiting, I want to always use my platform to help others improve and grow with me. I also want to host frequent Q&A sessions and online workshops via Patreon as well.
So freelancing by day and creating technical content by night is the dream I'm working towards. I'm about 3/4 of the way there haha lol.
Reflections: Things I Wish I Had Done In My Coding Journey
- Accessibility is a priority, not an afterthought: Commit to writing accessible code as early as you can in your career. Make it a habit. Bookmark resources on semantic markup.
- Take AND Finish Harvard's Free Computer Science course: This is an optional tip but I think I would've taken this course in the beginning of my journey because it introduces you to computer science concepts and the reviews are phenomenal. Plus it's free lol it's on edx.org. Enroll anytime and great for those who don't even have programming experience.
- Focused way more on vanilla JavaScript: Technical interviews most often test your knowledge of raw Javascript, without frameworks or libraries. I strongly urge to check out Sarah Drasner's Object Explorer and Array Explorer. Experiment with different object and array methods on a consistent basis. That's honestly, in my humble opinion, more beneficial for your growth as a programmer than learning all the frameworks.
- Created a GitHub Repo To Document My Daily Learnings: I recommend this for a plethora of reasons but mainly because 1) Increases GitHub activity which is looked upon favorably by employers and 2) Helps solidify your understanding of creating branches and making commits on Git which is what you'll often do on a daily basis as a developer on the job.
- Started Blogging: Write down what you've learned. You don't have to be an expert to start sharing knowledge. Just be open to feedback and always seek to improve. You can always revise and edit your posts along the way. Feel free to reference my post on learning Python. Publish your notes, write little tutorials, etc. I say it can have an exponential impact on your growth as an engineer because it helps increase both your technical and social communication skills. The better you are at explaining what you're doing, the better of an asset you'll be to any team you join.
- More Breaks, Less Burnout and Anxiety: Bad time management led to burnout. I was working long shifts by day and then coming home and coding for hours endlessly. Consuming so much knowledge at once is not recommended. Had I set more flexible goals and allowed myself more rest, I would've accomplished more.
- Never compared my journey to others: This was why I was overworking myself and burning out. I saw others landing six figure salaries and I was like why not me? If you get to that point, log off and take a break from social media. I try to remind myself that everyone has their own season. I wish I had taken time to just appreciate my own progress so please don't forget to congratulate yourself. You're taking powerful steps and creating your own lane in this world.
I hope you enjoyed this long story lol. I hope you found value.
Feel free to follow me on Twitter , read my other posts on here, and please consider contributing to my Patreon so I can produce a lot of content for everyone for 2020 and of course share this story.
My reason for telling my story is to show that anyone is capable of finding their own way in the world and that you can overcome setbacks.
Top comments (84)
What a great way to spend my break and read an awe-aspiring post. Thank you for sharing your journey as it gives me hope seeing that when you were at your lowest, you still had the drive to keep going in order to accomplish your goal. From working as a cashier to speaking in Berlin in front of a crowd is awesome!
Yesss everything in your comment is on point <3
Thanks for sharing your story! I went through a rollercoaster of emotions. At some point, I realized I was screaming - I was lucky to be alone in the room then lol - That first offer is the root of all the feels. You had quite the journey and you deserved it.
I totally agree that learning on your own, like anything else in life, is challenging. Self-discipline is not something one can develop overnight. I would say the freecodecamp certifications could have made the path more straightforward as they rely on the project based learning approach. Looking forward to reading more from you.
I was already your fan for randomly following you on twitter, but after reading this I just love you girl! You are awesome. I honestly teared when I read about you getting your first offer.
Such an inspiring and motivating post and full of great advice that I shall follow.
I just accepted an unpaid internship, and what everything you said about it is soo true. It is wrong but I need it.
Thanks for this post, it is pure gold!!!
Yessss I'm so excited you liked the post and keep making moves 🌊
Your viral tweet is 50% of what sparked my energy to actually learn to code (and stick with it this time!). Thank you for all of the content you produce. I actually bought Colt's course because of you! I'm almost six months into learning and not comparing myself is definitely the hardest part! I feel like I can barely do anything compared to folks who already are well versed in creating full stack apps, but then I realize where I was a month ago, two months ago, and six months ago, and I realize that I'm actually doing a lot, even if I'm not making crazy full fledged web apps yet. Thank you for what you contribute to the community!
Thank you for this inspirational piece of work, as a self-taught myself, I find myself in this story, you've been through a lot and you've triumphed by never giving up. courage for what lies ahead and good luck in the future.
Best wishes from France :)
Very touching piece. The path to being a developer isn't always easy, but only with determination and the help of the almighty can one get there. Good to know your finding your bearings and gaining new grounds.
From your story I gather that programming is something one has to be passionate about before going into it. Its in-born. One must be typically self motivated to start with.
Theres so many who code for a living and aren't passionate about it and it's perfectly fine! Even I fluctuate due to burnout. I think what got me through was less about passion and more about a determination to acquire this skill so I can have some type of freedom 💙
Yep, I get your point. If I may say, its rare to come out and say "I have passion for coding". Its the passion of what we desire to make, keep or achieve that drives our determination to stay with the code and stick to the plan. Thanks for clarifying...
Thank you for sharing your journey, congratulations! On striving hard and never giving up on your goals.
You've given me a sense hope.
I recently completed an intro to web dev with a tech hub.
And have been conflicted with the commitment and hours for bootcamp pursuits.I am a single parent with little to no physical help and felt like if I commited to a bootcamp I'd either have difficulty keeping up with the content and my child's learning. I've contemplated if learning from home was possible and would prepare me for a job if I dedicated time.
Thank you for sharing your difficulties and success.
A great write up...
Well, i believe i found myself in your past state.
Got to a point now where all things i picked up keeps crashing and falling down...
But reading this gives me a hot lash to Man-up..
Thanks for taking your time to share this.. Its really inspirational and it is like a slap, for me (to wake up)...
Thank you for sharing your experience Tae’lur. Your tip on preventing burnout and breaks really hit home. I have been purposely working on balance and it has been difficult but I believe pacing oneself is worth it in the end.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.