How I Became a Self-Taught Developer and Landed My First Job at 19

Arun profile
Arun

Programming laptop

Discovering My Passion for Computers

My fascination with computers began at a young age. I remember the excitement when my family got our first PC when I was in 2nd grade. I would spend hours tinkering with it, eager to unravel the mysteries of how it worked.

While I was captivated by computers, I assumed that programming them would be far beyond my abilities. Still, I knew I wanted to pursue a career in the tech world somehow. So when it came time for college, I enrolled in a Bachelor of Science in Computer Science program at a well-known university in my city.

The Shortcomings of College Computer Science Education in India

Lecture hall

However, my college experience was a far cry from what I had envisioned. I found myself surrounded by classmates who were there to collect a degree rather than out of genuine passion for the field. Our professors prioritized rote memorization over hands-on learning and practical problem-solving skills.

This approach to teaching computer science is all too common in India. A 2017 study by Aspiring Minds found that over 95% of engineers in India are unfit for software development jobs, largely due to the emphasis on theoretical knowledge over practical coding skills in college curricula.

We were instructed to blindly memorize C programs line-by-line, without a deeper understanding of the underlying concepts. For our practical coursework, professors would simply send us program screenshots to replicate. We would have to tediously handwrite 15-25 of these programs, along with flowcharts, in a notebook – not just once, but twice. One rough draft, and another "record copy" to submit before each exam.

It was a mind-numbing process that did little to actually build programming fundamentals. A 2019 survey by the All India Council for Technical Education found that 49% of technical graduates in India lack the programming and algorithm skills required by industry. I was starting to see why.

Finding My Own Path Through Free Online Resources

Laptop and coffee

Disillusioned with my college education, I began exploring alternative ways to truly learn software development skills. I was amazed to discover the abundant free learning resources available online, from MOOCs by Ivy League universities to budget-friendly Udemy courses.

It was during this search that I came across freeCodeCamp. I dove headfirst into the curriculum over my freshman year winter break and quickly became addicted. I would lose track of time working through the coding challenges and projects, pushing the boundaries of what I thought I was capable of.

After years of assuming programming was beyond me, I still remember the exhilaration of completing my first real project, a simple tribute page. It gave me a new confidence that with the right resources and enough perseverance, I could teach myself to code.

Making the Leap to Drop Out and Pursue Coding

As the next semester wore on, I found myself rushing through my college obligations to get back to my freeCodeCamp progress. Over time, I was skipping classes entirely to focus on coding. But with my plummeting attendance, I wasn‘t even allowed to sit for my exams.

I had arrived at a critical crossroads. I could force myself to recommit to my lackluster college program, or I could take a bold risk and drop out to learn development full-time on my own. As I reflected on how little my classes had contributed to my actual skills, the decision became clear. College hadn‘t taught me much, but it had instilled the courage to forge my own unconventional path.

Confronting Cultural Expectations and Convincing My Family

In India, dropping out of college is a radical move that goes against heavy societal expectations. I knew I was in for an uphill battle to convince my family. It took many long, challenging conversations with my parents to secure their hesitant blessing for this plan.

Even once they agreed, I knew they still harbored deep reservations. To ease their concerns, I decided to take a few months to focus on skill-building before leaping into the job search. My days revolved around freeCodeCamp, interspersed with badminton breaks with my cousins.

Badminton court
My cousin and I on our makeshift badminton court

During this period, I completed certifications in:

  • Responsive Web Design
  • JavaScript Algorithms and Data Structures
  • Front End Libraries
  • Data Visualization

I supplemented this with additional courses on Node.js, Express, and MongoDB to round out my full stack development abilities. By the end of 2018, I had built up a portfolio of over 30 projects, and was finally feeling equipped to enter the job market.

Navigating the Job Search as a Dropout

Coding interview

Having a robust portfolio of projects was immensely valuable in standing out to potential employers. I focused my search on opportunities I found through sites like AngelList, LinkedIn, and Glassdoor. The majority of applications required completing a coding assignment to advance to the interview stage.

What I hadn‘t fully anticipated was just how much of the interview process would be focused on data structures and algorithms. While freeCodeCamp equipped me with solid practical development skills, I realized I needed to complement that with more computer science fundamentals to ace the technical interviews.

To prepare, I worked through Colt Steele‘s JavaScript Algorithms and Data Structures Masterclass on Udemy, and practiced problems on Leetcode and HackerRank. Refining these skills was essential to performing well in the interview stages.

I was pleasantly surprised to find that 95% of the companies I applied to didn‘t hold my lack of a degree against me. Unlike more traditional industries in India, the tech startups I targeted were much more concerned with evaluating my actual coding capabilities than my educational pedigree.

Proving Myself and Earning the Opportunity

After countless applications and interviews, I got my big break when the co-founder of a startup called Unifize reached out for an interview. He offered me a 15-day trial period to test out my skills and see if I would be a good fit for the team. Just two days later, I was moved to tears seeing his public LinkedIn post praising my abilities:

LinkedIn post

The trial period flew by, and at the end I was thrilled to accept their offer for a full-time developer role. It‘s now been a month since I first joined the team, and I‘m still in awe of how far I‘ve come.

The Power of Community and Continuous Skill-Building

Workspace

My work setup these days

I owe so much to the incredible communities that supported me through this journey. freeCodeCamp and its curriculum was life-changing. But beyond that, the community of coders there and on Twitter, Dev.to, and Hashnode encouraged me when I doubted myself, offered guidance when I was stuck, and celebrated my successes along the way.

Especially in an unconventional path like self-taught development, surrounding yourself with a community of others on a similar journey is so important for maintaining motivation. The tech world evolves so rapidly – we need to be in a constant state of learning, so having those communities to learn with is critical.

I‘m also incredibly grateful to Ben Merton, Avinash Sultanpur and Lakshman Thatai at Unifize for betting on me and giving me a chance to prove my value on the job. I hope more employers will begin to recognize that a college degree is not the only path to acquiring skills, and that self-taught coders bring unique drive, passion, and self-discipline to the table.

Advice for Aspiring Self-Taught Developers

Laptop and notebook

To all the aspiring developers out there, especially my fellow Indians, here is my advice:

  1. Take advantage of the incredible free learning resources available online. freeCodeCamp, the Odin Project, and university MOOCs are great places to start.

  2. Build a solid foundation in data structures and algorithms. It‘s a big part of what employers test for, and lays important conceptual groundwork.

  3. Learn by doing. There‘s no substitute for building real projects to cement your skills. Focus on projects that excite you and solve real problems.

  4. Cultivate an online presence. Share your projects, write about your learning journey, and engage with others developers. This builds credibility and opens doors.

  5. Don‘t get discouraged by rejections. The most successful people often fail the most, because they take the most shots. Keep applying and honing your skills.

  6. Consider freelancing while you job hunt to gain real-world experience. Platforms like Upwork, Freelancer, and Fiverr can help you get started.

  7. Join coding communities online and locally. Networking is key to finding opportunities, and surrounding yourself with others on the same journey keeps you motivated.

The road to your first developer job may be long, and will undoubtedly have setbacks along the way. But with persistence, a growth mindset, and strategic skill-building, you can achieve what you might have previously thought impossible.

While college degrees remain highly valued by many traditional employers in India, the tides are starting to shift as skills-based hiring becomes more prevalent, especially in the tech sector. Global giants like Google and Apple have dropped degree requirements in favor of competency-based assessments, and Indian companies are following suit.

There‘s never been a better time to be a self-taught coder. Keep building, keep putting yourself out there, and know that with enough grit, you can break into the field. As the famous saying goes, "the harder you work, the luckier you get."

I‘m still just at the beginning of my developer journey with a long road of learning ahead of me. But I‘m endlessly grateful that I bet on myself and took a leap of faith into this exciting field. To all of you on a similar path, I‘m rooting for you.

Remember, your past doesn‘t define your potential. It‘s amazing what you can achieve with an open mind, a hunger to learn, and a refusal to quit. Keep hacking away and enjoying the ride!

If you‘d like to connect, I‘m always eager to chat with fellow developers and aspirants! Feel free to reach out on Instagram, LinkedIn, or Twitter.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *