As a self-taught developer who managed to land a job in the field without taking the traditional route for learning the trade, I'm often asked by friends who have shared the interest how I managed to pull it off. The short answer is I learned the trade, built a portfolio, then started applying. Now, I can already hear you. "But I don't live in a big city that has a bunch of tech companies!"
Well guess what. Neither do I.
When I decided to learn how to build websites and applications, I was living in a town of about 5,000 people. Granted, it's close to Greenville, which is a college city and a population closer to 100,000, but that's still a far cry from a software-heavy city like Raleigh or Charlotte. While I may be a bit of a unicorn as a developer in a city this small, jobs for developers seem almost equally rare. So that being said, let's go into the details of how to find your first job as a software developer.
So there's a butt load of programming languages to choose from, and a lot can go into making that decision. The best thing is to decide what kind of coding you want to do. I decided to go with Web Development for a number of reasons: easy and cheap to deploy projects, there's a lot of jobs, and it's one of the easiest ways to get your foot in the door. Once you have that down, look into what languages are most prevalent in that market, and specifically in your area.
In Greenville, NC, most web development jobs are going to be either C# or PHP for the back-end, and of course JavaScript on the front end. With that in mind, I went with the front-end side of things. I learned HTML and CSS, got comfortable enough with those to be able to build responsive, mobile-friendly websites that didn't look like complete garbage, then finally started my programming journey with JavaScript.
While I was learning all of this, I decided to go with PHP/MySQL for the back-end side of web development. There were a few deciding factors that lead me to this decision. First, Linux is a free, open source operating system that runs most of the websites in the world, so knowing Linux would give me an edge while trying to enter the market since I would also have some dev-ops knowledge to supplement my coding skills. And while yes, C# runs on Linux these days, it's nowhere near as easy to set up as the LAMP stack, where the P is for PHP (or python... or perl).
Also, most C# jobs are for more enterprise-level companies, and are more likely to want a traditionally educated developer working for them. PHP is extremely popular for start-ups, which is what we would have considered ourselves a little more than 3 years ago when I started working here.
After a little more than a year of learning the trade, I got my first job as a Web Developer in Greenville, NC. And without getting into too much detail, I didn't get the chance to do a whole lot of developing. But after about 8 or 9 months on the job, I still managed to learn a lot from the more active developers with the company. And it also helped to prepare me for my next, "real" programming job that I still have today. Right here, in Greenville, NC, with Red Shark Digital.