From 0 to Back-End Developer in 12 Months: The Complete Roadmap

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
to become a backend developer there are five essential skills let's go over them one by one the first step to learning backend development is to pick up a programming language here we have a few options like JavaScript python Ruby Java C and go just to name a few now which one is the best well it's almost impossible to pick one language as the best or the ultimate language because the choice of language depends on various factors like project requirements team expertise and performance needs for example JavaScript is used for full stack development because we can use it on both the front end and the back end in contrast Python and Ruby are often used for rapid prototyping and fast development Cycles Java and C are often used in building large scale Enterprise grade applications they're heavily used in large organizations and government systems and go is used for performance critical and concurrent applications now a common mistake I see among my students is that they try to learn learn many of these languages hoping that this would increase their job opportunities but it doesn't work that way because learning a language is only the first step you also need to learn the ecosystem of tools and libraries for that language to land a job so if you're starting out just stick to one language whichever you like but also do a bit of research and see how many job opportunities are available for that language where you live generally speaking there are often more job opportunities for python Java and JavaScript but again I want want you to do your own research now assuming that there are more job opportunities for these three languages in your town and you're not sure what language to start with I would recommend python because it's the easiest and has a simple readable syntax that's great for beginners my second choice is Java because it's a solid language and is often taught to computer science and software engineering students JavaScript has a ton of weird parts and baggage from the past because it wasn't originally built for building backends we can certainly use it to build great backends and I've done that many times but I still prefer Java or C to JavaScript for building backends so don't overthink this pick a language and dedicate 2 months to learning it if you spend 3 to 5 hours every day studying and coding you can learn any of these languages in about 2 months now to help you on this journey I've created a free supplementary PDF that breaks down the specific Concepts you need to learn for each skill it also includes several project ideas to help you practice and apply what you have learned it's a great resource to review your progress find gaps in your knowledge and prepare for interviews you can find the link in the description Box by the way I have a bunch of tutorials on this channel and complete courses on my website if you're looking for structured learning again links are in the description box the next thing you need to learn is a version control system like git git is not a programming language it's a tool that we use to track changes to our code and collaborate with others git and GitHub which is a platform that hosts git repositories are essential for every developer git has a ton of features but you don't need to know them all for everyday use think of it like the 8020 rule 80% of the time you use 20% of gits features so 1 to two weeks of practice is enough to get up and running now building backends often involves working with data structures and implementing complex algorithms this is where a lot of self-taught programmers struggle because they try to skip ahead and learn more and more languages and tools without learning the fun alss of computer science data structures and algorithms are critical subjects taught to computer science students and they're often covered in Tech interviews especially at Big tech companies like apple Google and Microsoft while you can skip this step and go to the next as someone who has had the privilege of teaching millions of people I highly recommend you not overlook this step otherwise you're going to feel the pain later in your career so spend 1 to 2 months studying classic computer science data structures and algorithms this will give you a strong foundation in programming and problem solving the next thing I would recommend to learn which a lot of self-taught people Miss is design patterns design patterns are proven solutions to Common software design problems there are 23 classic design patterns that were documented in this classic book design patterns by the gang of four many of these patterns are used in web Frameworks particularly springing Django and as.net core which we'll talk about in a few minutes so learning these design patterns will give you a deeper understanding of objectoriented design principles and how these Frameworks work under the hood now I got to tell you this book is pretty old and it's written in C++ honestly it's a difficult read because many of the examples in the book are dry and not quite relevant to Modern software that's why I've created a very Hands-On and pragmatic course on this topic where I use Java and modern examples that you find in applications we use every day so you can see how these design patterns are used to solve problem problems in modern applications whether you want to take my course or a different resource I believe if you dedicate a few hours every day you can have a pretty solid understanding of design patterns in about 2 months the next thing you need to learn is understanding and designing databases there are two classes of database engines relational and non-relational also called nosql databases in relational databases data is stored in tables with rows and columns that are related that's why we call them relational databases these databases are best for applications that require complex queries and transactions like banking systems and e-commerce applications especially any application that needs complex reporting examples of relational database engines are MySQL postgress SQL server and Oracle these are different products that despite some differences work more or less the same way with all these products you retrieve or store data using a language called SQL some people call it SQL which is short for structured query language it's a simple language that looks like plain English now you don't need to learn all these database engines because different projects and teams use different database engines when you're starting out you just need to learn one of them and you can easily pick up others on the job out of these I would recommend MySQL because it's the most popular database engine but you can pick any other database engine that you like one month is enough to learn the essence of SQL and working with a relational database now in no SQL databases data is stored without a predefined table structure so these databases are more flexible they're best for applications that require flexible data models and real-time analytics examples include mongodb couch DB and Cassandra again these are several products out there and you don't have to learn all of them out of these I would recommend mongodb because it's the most popular and you can learn it in about a month you're not going to be an expert but you're going to have a decent practical knowledge the next thing you need to learn is a web framework which depends on your programming language for python you should learn D Jango for Java you should learn spring boot for JavaScript you should learn express.js for C you should learn as.net core for Ruby you should learn Ruby on Rails and for go you should learn gen all these Frameworks more or less do the same thing they provide a bunch of tools for building backends handling tasks like routing request and response handling database interaction and Security in a nutshell with these Frameworks we can build and publish application programming interfaces or apis these apis are essentially communication points between front-ends and backends allowing frontends to retrieve or post data to backends if you have a solid background in a programming language and databases you can learn any of these Frameworks in about 2 months so if you dedicate a few hours every day and follow this road map you'll have the necessary knowledge to apply for entry level backend Developer jobs in about 12 months now if you want to take your skills to the next level there are of course additional things you should learn I've included them in the PDF I mentioned earlier again the link is in the description if you have any questions please let me know in the comments below and I'll do my best to answer you right here or in my future videos If you enjoyed this video please give it a like And subscribe for more useful content
Info
Channel: Programming with Mosh
Views: 90,097
Rating: undefined out of 5
Keywords: backend developer roadmap, how to become backend developer, web development roadmap, coding, programming, backend web development, web development, backend, learn to code, code with mosh, programming with mosh, mosh hamedani, backend developer, backend roadmap, software engineering, roadmap
Id: OeEHJgzqS1k
Channel Id: undefined
Length: 8min 24sec (504 seconds)
Published: Tue Jun 11 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.