Occasionally I see people asking for stories about how self taught developers got their first job. Breaking into tech is hard with out a degree, and I too sought out content like this when I first started. So, I wanted to share my story. Hopefully this will reassure some new devs that it is possible to break into tech sans degree and give you some ideas on how to do it.
From the beginning
After graduating with a BA in Political Science, I worked for a non-profit running a canvassing office. Knocking on doors was terrible. I promptly quit and took my career in the opposite direction by getting a normal 9-5 gig at a fortune 500 company. This started off ok, but I knew it wasn't something I could do forever. Most people were pencil pushers. The company wasted millions hiring too many people and creating bureaucracies. Mismanagement, office politics, and the inability for my 40hrs a week to result in anything was slowly eating away at me. On top of all that, my salary was very low.
During this time, I had a revelation. Throughout my life I had a strong interest in technical skills. In adolescence I began dabbling with HTML and CSS. As an adult, I was still dabbling. I had always known if I was a developer I would make more money and have more job options, but I never thought I was smart enough. What I realized during my first 9-5 gig, however, was that I was really passionate about technology. Damn to hell if I wasn't smart enough, all I wanted to do was code.
I signed up for an introductory online CS course at my local community college. I thought I needed some formal education to set the stage. The class only consisted of reading from a textbook and uploading projects from said textbook. So I basically paid $400 to realize I could teach myself to code. From there I decided to focus on web development, since I was already comfortable with HTML and CSS. I started doing online tutorials and building little side projects.
I intentionally moved into a role at my miserable 9-5 job where I would be in charge of my department's intranet site. The platform the site was built on (SharePoint), allowed you to tailor it with custom front-end code. Under the guise of improving "internal communication", I customized the hell out of that thing. This allowed me to practice coding during my day job, complete tutorials at work, and it gave me professional development experience I could put on my resume. My title was not "developer" but I was coding at work.
So how did I get my first dev job?
After about a year I began applying for jobs. I tried to do some free Wordpress projects to increase my job prospects (bad idea, never code for free). I made a portfolio site that included examples of my SharePoint work and applied to pretty much every job that contained the keywords "HTML", "CSS", "JavaScript", or "PHP". I was in a small town and wanted to move to a big city 2 hours north of me. The easiest way to find jobs there was through job boards. I spent every evening scouring Stack Overflow, Indeed, CyberCoders, Monster, etc.! I tried to apply for at least 3 jobs a day.
In the first few months I had a few phone interviews with various kinds of companies. At 6 months a recruiter (who found me when I applied for a different job) secured my first onsite interview to do front-end development for a SharePoint shop. They passed on me, but getting my first onsite interview was so invigorating. Each day I was getting better at coding and interviewing. I decided to speed things up by quitting my dumb day job and focus on learning and applying full time. Shortly after, a friend had an extra room available in the city. With 3 months worth of savings, I packed up some clothes and headed north.
I had a few onsite interviews in the first month. 5 weeks after moving the recruiter who got me my first onsite interview contacted me about another opportunity. I tried to pass on this opportunity because the job description she sent me was primarily ASP.NET and backend focused. She patiently reassured me that they were really looking for someone to help implement their SharePoint instance and work on the front-end of their Joomla website. Why they used such an inaccurate job description I'll never know, but she sent my resume over and I got a phone interview. Then they sent me a technical test online that I aced. By Friday I had my onsite, and the next week they sent me an offer. I accepted.
My top tip for those starting out
Getting your first dev job is 80% grind and 20% luck. As long as you don't give up, it will happen. Give yourself small goals like "apply for 3 jobs a day" or "attend one networking meetup a week". This will make it easier to follow through even when you don't feel like it. And so long as you are going through the motions, you'll be getting closer to your end goal.