No-Nonsense Backend Engineering Roadmap

Поділитися
Вставка
  • Опубліковано 7 чер 2024
  • If you want to become a backend engineer, this roadmap will provide you a guide of what to learn, without wasting your time on nonsense.
    Start the FREE Software Development Introduction Course with CourseCareers Now, and get $50 off the Backend Engineering Course: coursecareers.com/a/CodeBagel...
    📘 Chapters
    0:00 - Intro
    0:30 - What is Backend Engineering?
    1:28 - Coding Fundamentals
    2:59 - API Development
    4:11 - Data & Databases
    5:48 - Debugging & Testing
    8:04 - System Design
    #coding #softwareengineer #backend
  • Наука та технологія

КОМЕНТАРІ • 218

  • @jeffreyepsteinsstepson21
    @jeffreyepsteinsstepson21 Місяць тому +71

    These videos are genuinely both entertaining and informative while being straight to the point. Looking forward to more system design in the future. Keep up the good work!

  • @dwainhanlon1988
    @dwainhanlon1988 29 днів тому +138

    This feels like more of an intro to backend engineering, rather than a roadmap.

    • @myonlylovejesus887
      @myonlylovejesus887 27 днів тому +14

      exactly, he didn't go into detail how much programming should we learn. how much deeper we should go into api. nothing.

    • @muertaqueen
      @muertaqueen 24 дні тому +5

      Ikr. Just click bait. All this info is entry level.

    • @Faun471
      @Faun471 11 днів тому +2

      ​​@@myonlylovejesus887that's an odd way of thinking about this. There's no such thing as "I've learned x amount of programming" or that "I've dived this deep into y", therefore I am now a god at this. Just like in every craft, with each project, you'll improve, but there's no end point to it. You can't "finish" it my guy xD
      You just continuously learn and continuously dive deep into the current project you're working on. What's in the video is correct, all that's left for you to do is create a bunch of them until you've become a "backend god"

  • @gadgetboyplaysmc
    @gadgetboyplaysmc Місяць тому +231

    I clicked because the title promised a lot haha. But it kinda oversimplifies the backend a bit too much. I expected more. I feel like beginners gloss over what makes backend hard. No offense tho.
    What I got from the video is all know how to code + database (store data woohoo)api (serve data woohoo) + tests + system design (I kinda wish you talked about a VPS, CDNs, SES, or even just S3 here).
    There's definitely a lot harder parts I wish I learned better back then:
    • REST and the HTTP Protocol
    • Parts of the Request-Response lifecycle (You should definitely learn how Request and Response headers work or how cookies pass through between the browser and your backend, or how you can redirect browsers using the Header)
    • Implementing your auth from scratch (JWTs vs Sessions) - This is probably super fundamental and I did not see it talked about here at all. Implementing UN/P and OAuth2.
    • Setting up a database migration system (actually enlightening as hell when you first learn it) - migrate:up, migrate:status, migrate:down, etc.
    • Backend Architecture - Actually knowing how to vertically/horizontally slice your backend codebase into layers. Appropriately of course. DDD is a must-learn for intermediate developers (a bit overkill in some projects but learning these concepts changed my life). Learn what DAOs, DOs, Repository Pattern, Entities, Aggregates, DTOs, etc. are. You don't need to apply all the concepts but just pick what makes sense.
    • And yeah, Systems Design probably. Like maybe just an explanation of why you'd probably need S3 (because you can't store blobs in the database, which is a very common usecase for saving pictures, videos, pdfs, etc), and a bunch of other cloud services.
    • A little bit of CI/CD as well. GitHub actions, making a deployment to a VPS upon pushing to the repo. There's a ton of uncomplicated examples out there (Kamal for example).
    • A bit of Linux and VPS skills as well: NGINX or Caddy, TLS, adding a domain name, PM2, etc. Deploying a node application on a VPS is a grueling, but valuable learning effort that platforms like Vercel just spoonfed to most devs nowdays.

    • @Kurauone__
      @Kurauone__ Місяць тому +14

      This is very helpful. Can you recommend sources for learning these concepts? I would like to study them on my own.

    • @Codebagel
      @Codebagel  Місяць тому +35

      I appreciate you taking the time to leave a detailed comment! Yeah you’re right about everything, but it’s very hard to fit all of these topics into a video meant to serve as an introduction. I will of course expand on these topics in later videos, but I personally feel it’s hard to understand these concepts without having the grasp of the fundamentals of backend engineering. For example, how can you understand slicing your backend codebase into layers when you don’t even know what a backend codebase looks like?
      TL;DR - Very good points, but I feel these advance concepts are more suited for a more advanced video - this roadmap is meant to highlight stuff for people looking to just get started with backend engineering.

    • @Kurauone__
      @Kurauone__ Місяць тому +2

      @@Codebagel would you mind sharing resources for understanding these topics for someone who is doing a self study?

    • @NoName-lz6bc
      @NoName-lz6bc Місяць тому +2

      Send resources my dudes

    • @kianyanglee4618
      @kianyanglee4618 Місяць тому +1

      Quite extensive, definitely agree with you

  • @firemidg3
    @firemidg3 Місяць тому +4

    I loved your content man! I learned new perspective, new insights. Thank you, keep it up! ❤😊

  • @harddiskkosong3661
    @harddiskkosong3661 Місяць тому +6

    Use debugger and breakpoints are game changer for me on testing and debugging part.

    • @Snurklll
      @Snurklll 13 днів тому

      where do i find it in notepad?

  • @cbhudd
    @cbhudd Місяць тому +1

    Thank you so much this was so informative and helpful, much much better than 99% popular youtubers who only talk about shitty AI and give nothing useful to viewers

  • @vishal-shinde
    @vishal-shinde Місяць тому +4

    Worth subscribing.
    I'm glad it was recommended to me

    • @Codebagel
      @Codebagel  Місяць тому +1

      Thanks! I’m glad it was recommended to you too!

  • @Eeeff
    @Eeeff 29 днів тому +1

    That lead up made 'cache's make perfect sense!

  • @exystenze4719
    @exystenze4719 Місяць тому +5

    Genuinely a good roadmap because it gave context around everything

    • @Codebagel
      @Codebagel  Місяць тому

      I’m glad it was helpful! I’ll be making more roadmaps for other specializations going forward so stay tuned!

    • @exystenze4719
      @exystenze4719 Місяць тому

      @@Codebagel as a frontend engineer, I'd love to see what you put in frontend roadmap! best of luck.

  • @eugenezuev7349
    @eugenezuev7349 12 днів тому +1

    Great stuff, both comprehensive and interesting, keep up

  • @egemen261
    @egemen261 26 днів тому +3

    Thank you so much! It was extremely helpful and informative.

  • @dev_ression
    @dev_ression Місяць тому +5

    earned yourself a sub buddy, good stuff!

  • @a-classzone1998
    @a-classzone1998 Місяць тому +4

    You are a good man. Wish you will continue to come up with good content.

    • @Codebagel
      @Codebagel  Місяць тому +1

      Comments like these make it easy to continue! Lots of content coming up!

  • @emalibella1228
    @emalibella1228 29 днів тому +1

    Amazing well put!

  • @danielniels22
    @danielniels22 26 днів тому +3

    looking forward for system design videos, that is beginner friendly and have study case examples

  • @MinecraftMods779
    @MinecraftMods779 Місяць тому +2

    Good video, I really like how you summarize the info

  • @elliotlassey3118
    @elliotlassey3118 23 дні тому

    such an amazing video. Straight to the point and very informative
    Thanks

  • @ShivamSharma-dq4pu
    @ShivamSharma-dq4pu Місяць тому +119

    i truly feel like if you know the database really well then rest is really easy

  • @darelbvcr687
    @darelbvcr687 Місяць тому +5

    i started with javascript, coded 1.5 years in it, then moved to python bcs i lost my job, now i find python easier then javascript/typescript. but in general my preferred way is first to learn JS/TS and then move to full stack

  • @memo.a937
    @memo.a937 Місяць тому +1

    That's really good info 👌🏻

  • @0meeee
    @0meeee Місяць тому +1

    very insightful

  • @kartikagarwal3955
    @kartikagarwal3955 22 дні тому +1

    Good introductory video. Such things are not available on youtube

  • @Redyf
    @Redyf Місяць тому +7

    Great video, the animations are on point and you also explained everything really well. I'm currently trying to improve at making APIs

    • @Codebagel
      @Codebagel  Місяць тому

      Thanks so much! It’s good that you’re improving - one day you’ll be able to write APIs in your sleep haha

  • @sumitrawat2289
    @sumitrawat2289 15 днів тому +3

    people should start from C or C++ and then after they can choose lang. according to their liked domain

    • @rex_richies
      @rex_richies 10 днів тому

      Sir please can you educate me more based on your experience, i started with C++

    • @sumitrawat2289
      @sumitrawat2289 10 днів тому

      @@rex_richies if you know C and C++ it means you know the working of pointers ,stack ,heap . Now choose any domain like web dev , mobile app dev , blockchain dev or embedded system in which you are interested . Java and javascript is the most used language in the market so it will be better to learn any of it and its framework if you want job asap

  • @MandarKarekar
    @MandarKarekar 22 дні тому

    Good video, great voice & simple explanation

  • @hs6291
    @hs6291 16 днів тому

    Really nice video, could you do one for data/cloud engineering?

  • @aninditabatra3810
    @aninditabatra3810 Місяць тому +4

    thanks for this video

    • @Codebagel
      @Codebagel  Місяць тому

      Thanks for watching!

  • @Muhammed-nani964
    @Muhammed-nani964 Місяць тому +2

    For current job market i think java go and js are best

  • @nikhiltelase
    @nikhiltelase Місяць тому

    Very nice explained ❤

  • @MysterCannabis
    @MysterCannabis Місяць тому +1

    I'm a frontend dev and I know all that stuff. I was hoping for something more in depth. Or maybe I'm ready and don't even know it

  • @jirisuster6165
    @jirisuster6165 21 день тому

    My "struggle" with backend after 2 years of working as a backend dev mainly consists of just the sheer number of technologies I have to be familiar with beyond surface level. Headers, migrations, auth, caching, redis, redis clustering, azure, docker, containers, kubernetes, logging, elastic, kibana, grafana, jaeger, Java - maven/gradle, nexus, Linux, "insane" db designs, security, microservice architecture, kafka, holy **** kafka, dealing with bad data, testing, fkin java 6 legacy systems build with ant or smth ffs, postman/curl, Prometheus, Jenkins haha more like Hudson. Sometimes even understanding the hierarchy of your own company, zero documentation beyond detail design with no understanding what the thing you're writing is even supposed to do, very busy seniors that always answer stuff after 8pm, meetings where you have exactly 0 idea what's even being discussed, outdated internal wiki... But I love it honestly because even though I'm lost most of the time, the high you get when you overcome something like this is insane

  • @shivamdohare8294
    @shivamdohare8294 26 днів тому

    great info

  • @Nautyy9
    @Nautyy9 Місяць тому +3

    i become god at backend, wait how should i write the db queries again ?!

  • @DonaldFranciszekTusk
    @DonaldFranciszekTusk 27 днів тому +3

    Being a junior developer can be very overwhelming. Which IT branch should I choose? Web, gaming, AI, science, mobile, hardware? Which path should I choose? Backend, frontend, forehand, fullstack? What technology? .NET? React? Next.JS? Django? Oh, something new has come out, I'll check it out too. What languages to practice? C, C++, C#, Java, Python, JS? Or maybe TS, maybe some Go, Rust, Carbon etc.? Any Python libraries? One roadmap? Second? UA-cam? Books? Courses? Documentation? ProjectOdin? Leetcode? AdventOfCode? Kaggle? What else? Maybe design patterns and paradigms?
    Terribly frustrating and mentally damaging. It is a scandal that neither universities nor companies want to help young people enter the market and become good, happy employees.
    (I appreciate how many opportunities the IT industry offers, how interesting it all is, but we are not robots to understand it all.)

  • @avrakadavra1552
    @avrakadavra1552 21 день тому

    Any good sources to learn system design and data structure?

  • @muertaqueen
    @muertaqueen 24 дні тому

    This is becoming a backend beginner lol. All info in here is entry level

  • @hineko_
    @hineko_ Місяць тому +1

    I think the goal is to become someone useful and not just someone versed in academic programming. Java and golang… Even google doesnt use golang that much. And I remember trying to learn Clean Coders stuff for java. its like a talmud 6000pages long. Id still take something useful like js or python over java and golang.

  • @DevPandaSuraj
    @DevPandaSuraj 23 дні тому

    great video

  • @aadarshb.k.6883
    @aadarshb.k.6883 Місяць тому

    thanx for your video.can there be any possible way to work out for youtube backend engineer in real too

  • @nimittbhargava6512
    @nimittbhargava6512 Місяць тому +3

    Awesome content ! Also please tell, how to apply for jobs as backend developer.

    • @Codebagel
      @Codebagel  Місяць тому

      I’ll make a video on this in the future!

  • @apexyu164
    @apexyu164 Місяць тому

    is cloud deploy as backend?

  • @ArqamKarim
    @ArqamKarim 15 днів тому +1

    Video Title: Backend Roadmap
    Actual Video: Buy it on Course Careers

  • @UCrjhmrVAvDXjApQo4EH
    @UCrjhmrVAvDXjApQo4EH Місяць тому

    "Golang" not "go" , right?

  • @Isaac-gz8wx
    @Isaac-gz8wx 22 дні тому

    You don't need fireship, we have fireship at home. fireship at home:

  • @aleexcif
    @aleexcif 23 дні тому +1

    Is it weird that I watched this video while being a back-end engineer, writing code and eating a bagel?

  • @youssfhazem7310
    @youssfhazem7310 26 днів тому

    i need one for data analyst plss

  • @NineInchTyrone
    @NineInchTyrone 19 днів тому

    Is JAVA modern COBOL ?

  • @crashito_x
    @crashito_x Місяць тому

    This feels similar to fireship

  • @finishedworks3250
    @finishedworks3250 27 днів тому

    The recommendation algorithm, backend!?
    Ooh men, that's from Machine Learning Engineers/Data Sciencetists.

    • @jyothishkamal7722
      @jyothishkamal7722 26 днів тому

      That's still something that happens in the backend I believe

  • @honkhonkv2236
    @honkhonkv2236 Місяць тому +1

    Not even mentionning PHP OMEGALUL

  • @amolk7184
    @amolk7184 Місяць тому +28

    “java: easy to learn“, yeah definitely 💯

  • @x-6790
    @x-6790 27 днів тому

    What about kotlin?

  • @GiyuTomiokaTheOneAndOnly
    @GiyuTomiokaTheOneAndOnly 24 дні тому

    Came here for some advices as a backend myself, ended up hearing absolutely basic shit 😂😂!! 👍 Great video for beginners though.

  • @kaizenics_
    @kaizenics_ 29 днів тому +1

    PHP left the group

  • @yassineaitphone5321
    @yassineaitphone5321 25 днів тому

    Im sorry be the laguages that you should really start with should be either C or Assambly x86 if you got much freetime.
    Then C++ and OOP in C++.
    Here you've mastered algorithms and OOP time for some DBs and .net with C#.
    And finaly ur ready to learn whatever you want.

  • @bjrshussain
    @bjrshussain 14 днів тому +2

    “Most backend engineers don’t learn how to work with SQL or databases”. 🙄 I would say learning advanced SQL and database is fundamental for backend engineers.

    • @Codebagel
      @Codebagel  14 днів тому

      I agree! Every backend engineer should know SQL and database work!

  • @Haibrayn42
    @Haibrayn42 22 дні тому

    No one mentions authentication

  • @mrthug101
    @mrthug101 25 днів тому +3

    This video is all over the place. Learn python, django, maria db for database, learn to deploy the python app, call it a day

  • @frazikram1
    @frazikram1 Місяць тому +1

    Is it worth going full stack in this day and age?

    • @Codebagel
      @Codebagel  29 днів тому

      Yes 100%. Every engineer should be full stack somewhat. Backend engineers’ work impacts the frontend, and vice versa. Also gives you more job opportunities, especially at startups where all engineers are required to work on all parts of the stack.

  • @SomethingRandomChannel
    @SomethingRandomChannel 28 днів тому

    I would think python with flask

  • @aniketbasu3865
    @aniketbasu3865 Місяць тому

    I just feel you broke up with node 😅

  • @siddhuxyz
    @siddhuxyz 28 днів тому +28

    tf is he talkin about

    • @rongitmukherjee
      @rongitmukherjee 28 днів тому +1

      sharks

    • @esmael_abd4496
      @esmael_abd4496 24 дні тому +7

      he is trying to describe how to correctly butcher a goose, but he is having trouble coming up with it

    • @Faun471
      @Faun471 11 днів тому

      He's talking about things like 'pythons' so maybe he's talking about how to deal with snakes? No clue tbh, he's just blabbering nonsense, 0/10, left a dislike smh

  • @neilohene6376
    @neilohene6376 23 дні тому

    I wonder if people are freaking over picking Java as your first language though😆

  • @mfgd-qo2yo
    @mfgd-qo2yo 11 годин тому

    engineer, this roadmap will provide you a guide of what to learn, without wasting your time on nonsense.

  • @keithprice1950
    @keithprice1950 15 днів тому

    Backend engineer does sound like a euphemism though.

  • @aristonsaizoxic1048
    @aristonsaizoxic1048 Місяць тому +1

    Unfortunately, I already started learning python and I intend to finish learning python before switching another language.

    • @Ohiostategenerationx
      @Ohiostategenerationx Місяць тому +4

      What are you talking about?? That's how you are supposed to do it. It's stupid to try to learn multiple languages at once. Focus on python first then other languages.

    • @aristonsaizoxic1048
      @aristonsaizoxic1048 Місяць тому +2

      @@Ohiostategenerationx I see. Thank you for reminding me that I'm on the right track.

    • @Codebagel
      @Codebagel  Місяць тому +3

      @@aristonsaizoxic1048 I started learning with Python too! There’s nothing wrong with Python at all, it’s one of the most used languages for a reason! I just recommend that after you feel comfortable with Python, you should take a quick look at a language like Java (or C if you’re brave) to understand a few things that Python does automatically for you. You may work with another language in the future so it’s good to know those things.
      Keep up the great work, you’ll be an excellent engineer!

    • @aristonsaizoxic1048
      @aristonsaizoxic1048 Місяць тому +1

      @@Codebagel I have misunderstood. Thank you for clarifying 😊.

    • @blackswordsman9745
      @blackswordsman9745 Місяць тому

      Just go over pointers, memory concepts in c/c++ after python and you should be good at a high level. But do go over c/c++ if you get the time as it will make transition of languages easy

  • @gabem9419
    @gabem9419 27 днів тому

    im already a backend god, if you know what i mean, if you feel me

  • @rj3654
    @rj3654 4 дні тому

    my face when i saw ad 2:31

  • @andreas_tech
    @andreas_tech Місяць тому +4

    Start with php... ;)

  • @pandaslibrary
    @pandaslibrary 8 днів тому

    I will never learn java, even if I had to learn 10 more languages to avoid it

  • @davidomar742
    @davidomar742 Місяць тому

    will this roadmap get me a lambo tho?

  • @user-ky4hc1bx7s
    @user-ky4hc1bx7s 26 днів тому +1

    Most of this data should be illegal...
    Invasion of privacy.

  • @mfgd-qo2yo
    @mfgd-qo2yo 6 годин тому

    Вудиксон святой человечище

  • @proharbiswas3056
    @proharbiswas3056 Місяць тому +2

    Start with GoLang

    • @Codebagel
      @Codebagel  Місяць тому

      I believe Go will be one of the most used languages in the world in a couple years!

  • @matthewmason7992
    @matthewmason7992 Місяць тому

    fireship 2.0

  • @newHorizon985
    @newHorizon985 21 день тому +2

    An Advice ╰(*°▽°*)╯
    Don't pick Rust as your first language Trust me
    Pick Rust when you have done coding at least a year or 2

  • @bawbee27
    @bawbee27 28 днів тому

    I don’t agree with anything here lol. You’ll never get a junior job in Go or Java

  • @codeguy7309
    @codeguy7309 28 днів тому +2

    pure balloney

  • @VirendraBG
    @VirendraBG 20 днів тому +1

    The non-sense thing about this video is distracting and annoying background music.😡
    Content was good. 😊 👍🏻

  • @federicoagustinsawadyoconn2716
    @federicoagustinsawadyoconn2716 6 днів тому

    If you want to be a backend engineer, don't be a coder, don't learn "coding principles" based on poor tutorials, be an engineer, study real principled knowledge backed by centuries of science and engineering, be smart. Otherwise, you will be a cheff saying that is doing chemistry. Choose your destinty, or destiny will choose for you.
    -- Albert Einstein

  • @Alex-hy7nx
    @Alex-hy7nx 15 днів тому +1

    Honestly, I would rather not recommend anyone start with Java if they're doing backend.
    Java backend usually means Spring and learning Spring won't teach you as much about the backend as something like Golang where you have to build a lot of stuff yourself and learn how to do things.

  • @mbnbn-ym3io
    @mbnbn-ym3io 8 годин тому

    эмекрсон

  • @monadstack
    @monadstack Місяць тому

    bruh

  • @tecassowebandwebappssoluti4337
    @tecassowebandwebappssoluti4337 Місяць тому

    I don't think java snd Ho is easy

  • @_kurohana
    @_kurohana 23 дні тому

    Ok but try not to copy too much from Fireship's visual identity

  • @donald5297
    @donald5297 29 днів тому +1

    Talking about backend and you didn't mention the most popular server side language that powers over 70% of the Web. Keep on disrespecting php

  • @mfgd-qo2yo
    @mfgd-qo2yo 10 годин тому

    asfas

  • @mfgd-qo2yo
    @mfgd-qo2yo 10 годин тому

    fafd

  • @TheBlackmanIsGod
    @TheBlackmanIsGod 25 днів тому

    Ohhhhhhhh now you guys wanna teach everyone to be a backend God, now that ai is here but when we needed it 10 years ago you guys were hoarding the knowledge like assholes

  • @upendrameena5129
    @upendrameena5129 Місяць тому

    If I were to follow the steps in this video I will at most become a backend peasant let alone a god. Please get your titles right!

    • @Codebagel
      @Codebagel  Місяць тому

      I’d love to improve my content - can you provide specifics on what you feel this video is lacking?

  • @dipanshusabharwal
    @dipanshusabharwal Місяць тому

    The title is sus

    • @eldin899
      @eldin899 Місяць тому

      𝓕𝓻𝓮𝓪𝓴𝔂 𝓮𝓷𝓰𝓲𝓷𝓮𝓮𝓻𝓲𝓷𝓰 🫦👅

  • @siddhanttripathi5224
    @siddhanttripathi5224 Місяць тому +2

    you got yourself a dislike as soon as you said java is easy and great for beginners

    • @aninditabatra3810
      @aninditabatra3810 Місяць тому +4

      java is literally considered a beginner language. maybe you should go talk to Stanford and MIT because they also believe java is the ideal language for beginners.

    • @user-iy8mi2eu7y
      @user-iy8mi2eu7y Місяць тому +1

      I think Java is easy too 😅

  • @lookin4raj
    @lookin4raj 22 дні тому

    Roadmap to mediocrity.

  • @Adunadura1
    @Adunadura1 Місяць тому +1

    I feel there's a propaganda being propagated here
    Like JavaScript was not even the first to be mentioned
    Like what..?
    Saying java is easy for beginners? That's a joke yh?
    Bruhhhh..

    • @Codebagel
      @Codebagel  Місяць тому +1

      This is a BACKEND engineering roadmap. JavaScript is frontend. It will be included in the frontend engineering roadmap.
      And yes, Java is easy for beginners. The only “simpler” language is Python, and it oversimplifies things that beginners need to learn.

    • @useryash09
      @useryash09 Місяць тому

      ​@@Codebagel Node.js( JavaScript)

    • @Codebagel
      @Codebagel  Місяць тому +1

      @@useryash09 Node.js is used by a small percentage of companies in the backend. Java, Go, and Python will make you a far more employable backend engineer.

  • @user-gb2ml3hi6r
    @user-gb2ml3hi6r Місяць тому

    dont misguide

  • @Jdbdjdbdkdbdjjd
    @Jdbdjdbdkdbdjjd 26 днів тому

    You can never become GOD

  • @reddixiecrat
    @reddixiecrat 28 днів тому +1

    Did you seriously recommend Java? Java is a dying language

  • @kirito7991
    @kirito7991 27 днів тому +1

    you just waste my time >!

  • @myonlylovejesus887
    @myonlylovejesus887 27 днів тому +1

    CLICKBAIT AS USUAL

  • @riturajthakur9547
    @riturajthakur9547 20 днів тому +1

    Complete-nonsense backend engineering roadmap