So you’ve decided that backend development is the career for you - congratulations! Many self-taught coders have a hard time deciding between all the various options, but it’s to learn effectively if you have a clear goal, like backend work, in mind. so much easier What is a backend developer? Backend developers are just one of many kinds of “programmers”. Back-end developers build and maintain the systems that store, process, and secure the data used by websites and apps. This is in contrast to front-end developers, who control everything you in your browser or on a mobile app. Backend developers concern themselves with , while front-end developers work on clients. see and interact with directly servers Some of the most common job titles for programmers include: Front-end developer Back-end developer Mobile developer Game developer DevOps specialist Data Scientist According to Stack Overflow’s last , backend developers in the US tie for the highest median salary of this group: . If you enjoy working on problems that involve algorithms, data structures, natural language processing, databases, or distributed systems, then backend development might be for you. developer survey $150,000 Can I really learn backend developing by myself? Many people assume that because backend developers typically need to have a better understanding of computer science fundamentals, that’s it’s harder to get an entry-level backend position, and as a result, they start educating themselves on front-end technologies. I think this is a mistake. Just because CS are often a requirement for backend positions, it’s almost never the case that a CS is required. If you take the learning path I outline below, there’s no need to go back to university. skills degree How do I become a backend developer? Follow these steps in order - there are plenty of places you can learn backend online effectively, some of the resources are paid, and some are free. 1. Learn basic coding skills Learning simple coding syntax is actually super fun and you can get up and running immediately. Your goal should be to understand the basic syntax of programming languages. JavaScript and Python are great choices. You should be learning simple concepts like: one or two Variables and data Comparison operators Loops Functions Arrays Resources to learn basic coding skills Boot.dev’s Basic Intro to JavaScript Edabit JavaScript Challenges A Byte of Python The Python Tutorial Python for Everybody FreeCodeCamp’s Learn JS 2. Learn how apps use backend servers Your goal here is to understand we need backend developers at all! I’d recommend actually doing a couple small, simple front-end projects so that you can understand the role a backend server plays in an application. why Resources HTML5 Canvas Graphics Learn HTTP FreeCodeCamp’s Learn HTTP HTML and CSS 3. Master data structures & algorithms This step might take a bit longer - your goal here should be to . Go deep into some of the most common algorithms and data structure concepts. Backend interviews are often full of questions on this topic. As a backend developer, it will be your job to make sure that the company’s servers are running code that’s fast and performant. learn computer science fundamentals Resources for data structures and algorithms Learn Algorithms on Boot.dev Learn Data Structures on Boot.dev Udemy 4. Learn database fundamentals Almost every backend server in the world uses one or more databases to store information. The architecture of most web backends looks something like this. I would recommend becoming familiar with a SQL database first, probably PostgresQL. After that, get familiar with some of the NoSQL options, but I don’t think you need to be an expert on them. Resources StrataScratch DB practice Codecademy Collection of resources on Momer’s Github 5. Practice building projects in your language of choice Next, you need to pick a language or two that you want to specialize in. For example, I’m primarily a backend Go engineer - but I dabble in Python and JavaScript. By specializing, you will make your job search for yourself. Companies want experts in the areas they’re hiring for - not a jack-of-all-trades. Here are some projects you can take a look at: easier A social media backend in Go Personal Projects on Boot.dev Python Projects DevdevShow’s project ideas 6. Deploy some projects to your professional portfolio Finally, you’re going to want to actually deploy some projects! This is how you show employers as a self-taught dev that you know what you’re doing. Unlike a front-end developer, as a back-end developer, it’s less about a pretty personal website and more about the code itself. In order of importance you should work on the following things: A Beautiful Github Profile Great files on your top 3 public repos README.md At least one project that’s deployed to the internet. This should either have a front-end that contacts it, or documentation that can get users using it with a Postman client, cURL, etc. List the projects on your resume Not only will deploying your projects make your online presence appear more attractive to potential employers, but it will give you practice that will be necessary for your jobs moving forward. What’s the use of a backend developer if they don’t know how to deploy their code to a live environment? How long does it take to learn backend development? If you’re starting from zero, it will probably take you anywhere from 9 months to 2 years to learn backend development thoroughly enough that you can land an entry-level position. Of course, it will be different for everyone, but if you can put in a good 10 hours each week, I think that’s a solid estimate. The good news is, that’s than going back to university for 4 years. The hardest part is just sticking with it. faster and cheaper How do I get a backend job? The big secret to landing a backend job as a self-taught developer is to build an amazing online presence that flaunts your work. As we mentioned above: Put some work into your public Github profile Build some open-source projects Contribute to existing open source projects Build a great LinkedIn landing page and do some networking Make friends in online coding communities Once you’ve done that ! Use every job board you can find, and try to apply only to jobs that are specific to your area of expertise - e.g. “backend go developers”. Try to find niche job boards if they exist, I really like the , for example. start applying to jobs Golang cafe Most importantly, !!! I’ve seen so many developers think that they’ve successfully “learned to code”, and they shift gears entirely to their job search. Look, it only takes an hour or so each day to submit a bunch of job applications. You should be spending the rest of your free time continuing to build. The more you learn and build, the easier the job search gets. do not stop learning and building Good luck! Learn computer science by building real projects Write modern code in JavaScript, Python, and Go Build and deploy real projects to your personal developer portfolio Compete in the job market by mastering computer science fundamentals Also Published here