How to ACTUALLY learn to code... 7 Roadmaps for 2023

แชร์
ฝัง

ความคิดเห็น • 3K

  • @davidshanahan6081
    @davidshanahan6081 ปีที่แล้ว +12092

    Another key thing - All coders, no matter how experienced, end up googling for answers. Don't fall for the illusion that coders retain all the knowledge in their heads.

    • @LukasLiesis
      @LukasLiesis ปีที่แล้ว +887

      asking correct questions is much harder than finding the answer once you know the question.

    • @I_hu85ghjo
      @I_hu85ghjo ปีที่แล้ว +365

      Another thing .I once was looking for about 4 hours or so for a solution to my problem. I found the solution by switching the position of two words in my sentence. I was like "da fuck?". So rephrasing is definitely something you should consider when looking something up

    • @-karter-4556
      @-karter-4556 ปีที่แล้ว +44

      retaining information is a lot easier than repeating a google search every time.

    • @Kenionatus
      @Kenionatus ปีที่แล้ว +126

      @@-karter-4556 Only if you need that information frequently. (The amount of data also plays a role. The less you need to memorise the more advantageous remembering becomes.)

    • @Fernando-ry5qt
      @Fernando-ry5qt ปีที่แล้ว +47

      I keep a Notion dictionary with google-able questions for multiple topics..... Yes, I meta-google

  • @besthobbit
    @besthobbit ปีที่แล้ว +2290

    "you don't have to be smart"
    oh thank god. There is hope for me.

    • @Guys_Love_Each_Other
      @Guys_Love_Each_Other 8 หลายเดือนก่อน +32

      i also able to see a hope

    • @ogcosmo
      @ogcosmo 8 หลายเดือนก่อน +5

      Have you learned code yet?

    • @neffvltn
      @neffvltn 8 หลายเดือนก่อน +9

      Me asf starting out my journey. Thank god theres hope

    • @corpingtons
      @corpingtons 8 หลายเดือนก่อน +1

      Do you need to be smart

    • @Guys_Love_Each_Other
      @Guys_Love_Each_Other 8 หลายเดือนก่อน +24

      @@corpingtons no just need strong willpower why to start coding, also need curiosity for different exploration in that thing

  • @mannykhan7752
    @mannykhan7752 ปีที่แล้ว +419

    "Whenever I learn something new, something else falls out on the other end".....
    So true. You and me both bro.

    • @jonathanbaker4361
      @jonathanbaker4361 4 หลายเดือนก่อน +1

      Bud Bundy from Married With Children, made the best anology.
      "When you pour a pitcher of knowledge into a shot glass of s brain. "

    • @zealousideal0
      @zealousideal0 22 วันที่ผ่านมา

      include me bruh

    • @abgvedr
      @abgvedr 21 วันที่ผ่านมา

      Im like you as well, but only second part.

  • @gbegbe1815
    @gbegbe1815 ปีที่แล้ว +4690

    I'm in my final year of university studying computer science and getting ready to take on my final year project, and I feel like this would be a good time to start learning how to code.
    Update: I got an A on the project.

  • @nad2040
    @nad2040 ปีที่แล้ว +2991

    1:08 Web Dev
    2:51 Mobile Apps
    4:25 Hardware
    5:13 Gave Dev (Game*)
    6:05 ML
    7:04 Low-Level Systems

    • @mandelaaa
      @mandelaaa ปีที่แล้ว +9

      W

    • @brucewayne243
      @brucewayne243 ปีที่แล้ว +3

      W

    • @ZlectroTMTeamAzerty
      @ZlectroTMTeamAzerty ปีที่แล้ว +1

      W

    • @Always.Smarter
      @Always.Smarter ปีที่แล้ว +53

      Gave Dev (Gave*)((Game**))

    • @gideonunger7284
      @gideonunger7284 ปีที่แล้ว +45

      And not 1 minute of the video is about how to learn to code. its exclusively about frameworks. Thats like learning how fast all the cars can go without ever learning traffic rules.
      Honestly just write code without all those gigantic nonsense frameworks attached.
      the amount of horrible practices you have to unteach junior game devs that only lerned c# through unity is immense. they only learn how to press the unity buttons and unitys bastardization of c# without ever learning how to write actual free standing c# code.

  • @austinsilva7025
    @austinsilva7025 ปีที่แล้ว +78

    man in all seriousness this channel is super underated. ive been watching coding advice vids for years and these are the most straightforword answers ive ever seen.

  • @_MrTV
    @_MrTV ปีที่แล้ว +3434

    As a fellow “coder” I can confirm everything but the back issues. Working out definitely helps to resolve that.

    • @digestedvalue3369
      @digestedvalue3369 ปีที่แล้ว +207

      @unidentified Key word "competitive" you may of been pushing your body too far.

    • @dagoberttrump9290
      @dagoberttrump9290 ปีที่แล้ว

      @unidentified you can't expect to push your body for an hour each day when all else you do is sit on your ass

    • @sleekism
      @sleekism ปีที่แล้ว +40

      What if you're 6'2+? Nothing can stop you from getting that back pain asap lol

    • @thelaitas
      @thelaitas ปีที่แล้ว +6

      Show-off

    • @guilherme5094
      @guilherme5094 ปีที่แล้ว

      Yes!

  • @tabsc3489
    @tabsc3489 ปีที่แล้ว +2019

    Remember: give yourself permission to write ugly code. It's just a first draft. It can always be refactored and improved upon later. Also this helps over-engineering your code / aiming for 'perfection' on first try, which usually just slows the development down. Edit: better advice in the replies

    • @mcsquidinc.4648
      @mcsquidinc.4648 ปีที่แล้ว +269

      i think it can be more useful to break a problem into high-level steps first and organize top-down to keep things cohesive. getting used to writing messy code makes it harder to debug, which ends up being more painful that initial organization.

    • @tabsc3489
      @tabsc3489 ปีที่แล้ว +199

      @@mcsquidinc.4648 Great point and great advice. Perhaps allowing oneself to write messy and ugly code is not so much a good idea, but it's rather the point of not holding oneself to perfection in the first go. I tend to freeze up when thinking of the "BEST" way to implement something and worrying more about if there's a better way to approach what I'm aiming for. "write ugly code" doesnt really fit that point concisely looking back at that comment

    • @turboHaunt
      @turboHaunt ปีที่แล้ว +60

      I agree, start early, start ugly! There will be many, many drafts. (Use Git, Use TDD) Most important is to start. Take pride in your first steps, no matter how unsteady they may be. It's an iterative process, and you'll be painting over, and revitalizing your past work. Make a small step towards better, rinse and repeat.

    • @256k_
      @256k_ ปีที่แล้ว +24

      it's been 6 years and 3 jobs later, i'm still waiting for that "later"

    • @SmallSpoonBrigade
      @SmallSpoonBrigade ปีที่แล้ว +30

      @@256k_ That's the issue. Obviously, trying for perfect is probably going to result in the program not being completed ever, but assuming that you'll come back to it is a big assumption. Especially if you're being paid to develop the code, chances are that once you've got something good enough, that you won't be paid to go back unless there's a problem that arises later on that's bad enough to require a fix.

  • @iiwi758
    @iiwi758 ปีที่แล้ว +559

    For those who want to go the C route, I recommend two books:
    "C: from Theory to Practice" by Tselikis and Tselikas. It's fast paced and contains tons of solved and unsolved problems.
    "C Primer Plus" by Stephen Prata. Has fewer exercises but more through explanations.

    • @Poussyeater-w5e
      @Poussyeater-w5e ปีที่แล้ว +7

      Thanks a bunch. God bless

    • @Poussyeater-w5e
      @Poussyeater-w5e ปีที่แล้ว +3

      Thanks a bunch. God bless

    • @shinsha_
      @shinsha_ ปีที่แล้ว +2

      THANK YOU!!!

    • @fishingblackwatersound
      @fishingblackwatersound ปีที่แล้ว +2

      These are real books right ?

    • @CrouTonG
      @CrouTonG 11 หลายเดือนก่อน +10

      Also "C: A modern Approach" by K.N. King is worth it with good explanations and many exercises and projects

  • @elcaciquedev
    @elcaciquedev ปีที่แล้ว +1077

    My advise on programming is learning what does it (whatever tech/tool you're leaning) do, and why is it important/needed. Programming is building with digital legos. Once you really understand what you're building and why you are building something, the questions on "how" will naturally come to your mind, thus google will become your best friend.

    • @akashpurushotham7668
      @akashpurushotham7668 ปีที่แล้ว +2

      So True ✔️

    • @sweJEverywhere
      @sweJEverywhere ปีที่แล้ว +44

      * ChatGPT

    • @elg281
      @elg281 ปีที่แล้ว +3

      I like that analogy

    • @turolretar
      @turolretar ปีที่แล้ว +27

      Up until recently this was great advice, now the best way to start programming is to just learn effective communication with ChatGpt

    • @Einygmar
      @Einygmar ปีที่แล้ว +21

      ​@@turolretar Good luck debugging its code if you're gonna ask it to write anything more complex than a small snippet. It is still a work in progress software and the legality of its use is uncertain.

  • @paulwhiterabbit
    @paulwhiterabbit ปีที่แล้ว +824

    Fun fact: If you chose the masochist route, the EXP gained will have bonus multipliers which allows you to apply for jobs that requires more years of experience than your age or the age of the framework they specified.

    • @couch2flag
      @couch2flag ปีที่แล้ว +4

      lol what do you mean by this ?

    • @chester.eucrine
      @chester.eucrine ปีที่แล้ว +151

      @@couch2flag learn assembly and code your own coding language

    • @catharperfect7036
      @catharperfect7036 ปีที่แล้ว +29

      Or you could choose something like Security, and learn everything.

    • @irok1
      @irok1 ปีที่แล้ว +3

      Finally, I thought this was a glitch

    • @danialqaranjig8261
      @danialqaranjig8261 11 หลายเดือนก่อน

      my man spittin facts

  • @Ulturism
    @Ulturism ปีที่แล้ว +411

    One of the greatest summaries of the suffering. Trying to get into it now at 32. But man, the potential I see in coding... Thank you for your hard work in this

    • @rubberduckyinc.1162
      @rubberduckyinc.1162 8 หลายเดือนก่อน +14

      I'm 33 so I can relate! 😅

    • @TheGuy0121
      @TheGuy0121 8 หลายเดือนก่อน +13

      I’m 25 and I’m wondering if I should do this as I got fired yesterday from my blue collar job lol I hope you guys are still into it.

    • @Ohiostategenerationx
      @Ohiostategenerationx 7 หลายเดือนก่อน +12

      It's ok I'm 47 and getting into it myself as well. Since my son is grown and active duty in the Marines it's time to learn how to code and start making the big money. For me I am not worried one bit because even if I don't get to work for a big company I know I can still do freelance work and also build automation bots to promote affiliate links and make money in multiple ways. So I will be set either way once I get it down on how to do python and javascript. Of course I will apply for the big companies but if it doesn't work out I won't be worried one bit.

    • @jmrabinez9254
      @jmrabinez9254 5 หลายเดือนก่อน

      Why are you trying to get into coding at that age? I don't understand. I would really like to understand, please. Thank you.

    • @Ohiostategenerationx
      @Ohiostategenerationx 5 หลายเดือนก่อน +1

      Are you asking me or somebody else?

  • @_.gray._
    @_.gray._ ปีที่แล้ว +943

    It's great to see well-respected developers recommending prison. I thought I was the only one.

    • @mihairadulescu5541
      @mihairadulescu5541 ปีที่แล้ว

      :)))

    • @MrWeebable
      @MrWeebable ปีที่แล้ว +25

      As a beginner programmer I hope I'm just missing some jargon here

    • @Code_Machine
      @Code_Machine ปีที่แล้ว +26

      @@MrWeebable you are not

    • @commentarytalk1446
      @commentarytalk1446 ปีที่แล้ว +14

      @@MrWeebable 'Doin Time = More Focused Time To Code/Learn! (in a cosy, distraction free safe, free environment)

    • @geobot9k
      @geobot9k ปีที่แล้ว +1

      @@commentarytalk1446 Prisoners don't get that kind of free time. Slavery is still alive and well in the prison system and was expanded thanks to Jim Crow Joe Biden's '94 crime bill. We aren't 4% of the world's population and 20% of the world's prisoners by accident. If you don't work you get put in solitary. US prisons are the largest forced labor camps in the world, not exactly conducive to learning programing.

  • @sumitkhatri8210
    @sumitkhatri8210 ปีที่แล้ว +798

    This is why C# and JavaScript are great languages to pick up just for the sheer amount of stuff you can do with each of these languages and their ecosystems

    • @sava-lakicevic
      @sava-lakicevic ปีที่แล้ว +21

      I hate to admit it, but Python also.

    • @adibrahman9297
      @adibrahman9297 ปีที่แล้ว +26

      I hate C# and the JavaScript ecosystem is a hell

    • @bity-bite
      @bity-bite ปีที่แล้ว +63

      @@adibrahman9297 why do you hate C#?

    • @josephpasquence6459
      @josephpasquence6459 ปีที่แล้ว +5

      I think the best advise comes at the end where you need to pick one thing and get really good at it. Find your niche and practice picking up new things.

    • @prathmeshbankar8059
      @prathmeshbankar8059 ปีที่แล้ว +29

      c# for desktop and mobile apps
      c++ for DSA
      javascript for backed web dev
      python for FUN

  • @workethicrecords5901
    @workethicrecords5901 ปีที่แล้ว +12

    The embedded road map that will get you hired:
    1- start with arduino. Arduino IDE, some small project there.
    2 - after you feel comfortable with it, drop the Ide, find the PDF for your chips data sheet, and use atmel studio and a Jtag Debugger. Code in raw C. Your project will run way faster without the arduino overhead, and you'll learn a lot more about how MCUs actually work.
    3- learn KiCad. Make a PCB for your project.
    4 - grab an STM32 board. They all run off of the same basic Arm architecture, and have way faster speeds than your average atmel chip. They are a little more complex, but If you're used to reading atmel datasheets, you'll be good.
    4.5 - learn arm ASM, and how hex files work. If you're good with C, it'll help you depend your understanding.
    5 - build a project around a GHz+ NXP chip, or bare metal programming on a Raspberry pi. You'll learn all the considerations you have to take into account working at very high clock speeds.
    After this, with all the extra stuff you'll learn along the way (serial protocols, external chips, HIDs, ect) you will be unstoppable.

  • @Virtualiz
    @Virtualiz ปีที่แล้ว +375

    This is pure gold. It took me 2 years of research to get to the same conclusions that you summed up in this vid. Now I just need to finally go and learn something...

    • @Sovereign589
      @Sovereign589 ปีที่แล้ว +49

      Making plans is easy and calming, working is hard. I know this from experience :)

    • @fs3120ch
      @fs3120ch ปีที่แล้ว +24

      @@Sovereign589 My friend told me that if you want to make a plan, make it short and simple and make sure it's something you'll do soon. Otherwise you're most likely not gonna do it.

    • @PatrickJD
      @PatrickJD ปีที่แล้ว +8

      Stop talking sh't and show me the code. Just kidding, it's better if you plan less and finally start what u want

    • @serszei
      @serszei ปีที่แล้ว

      2 years 💀💀💀

    • @unknownguywholovespizza
      @unknownguywholovespizza ปีที่แล้ว

      ​@Caston Emma agree. It's a pain in the ass 😩

  • @KenW418
    @KenW418 ปีที่แล้ว +356

    Step 0 is the most important advice I think anybody can have when first starting out. It's always what I tell people when they first get into coding. Create your own backlog of reasonable projects (emphasis on reasonable) that you can create as you build your new skills. Going through endless tutorials is boring. Building a project you're passionate about is fun, which will make it more memorable and help you retain all of the information you're taking in. I recommend staying away from the numerous frameworks and libraries until you have a strong foundation in the languages you choose for your projects (if they are actually "reasonable" for your skill level, you wont need them anyway). Dig in to that stuff on subsequent projects where the goal isn't to "learn to program" or to "learn JavaScript" but instead the goal is to "learn React" or whatever framework is the objective.
    Everyone is different though. Know thyself when it comes to learning. If you like a chaotic approach too, then open up all of those boxes at once. I like a structured, 1-by-1 approach, personally. Most importantly, have fun!

    • @_moonmoth
      @_moonmoth ปีที่แล้ว +22

      This is true, I gave up learning to code many times by getting stuck in overly long and boring tutorials and courses. Most I learned was when I just attempted to build something of my own and googling stuff along the way.

    • @KatyVLOGS12
      @KatyVLOGS12 ปีที่แล้ว +3

      @@_moonmoth how do you come up with a project idea?

    • @Poussyeater-w5e
      @Poussyeater-w5e ปีที่แล้ว

      This is the trap I've fallen into now. I'm studying for an IT diploma, and my course is theory based, so I'm figuring out the coding bit on my own. The thought of building my own projects is pretty intimidating tbh, so I've just been following along tutorials

    • @Haise-san
      @Haise-san ปีที่แล้ว +4

      ​@@KatyVLOGS12"Hmmm, I wonder how hard but cool would be if I make... err... a restaurant management app, that... facilitates the work of managers and give the ceo all the helpful tools that he might need"
      It goes somewhat like that, you just think about something random that could be considered useful and do it

  • @AnotherMFwithstudy
    @AnotherMFwithstudy 8 หลายเดือนก่อน +20

    5:55 me who started game dev with unreal engine 5 its been 3 months its going great

    • @arvinjayparin1710
      @arvinjayparin1710 7 หลายเดือนก่อน +3

      Keep going, pal

    • @zrashad
      @zrashad 2 หลายเดือนก่อน +4

      well its been another 5 and i have a question lol, 1. how did it go and 2. if it went well what do you recommend i start with for someone that wants to start learning unreal engine aswell! i have experience with Java and Python, im in my second year of Uni, would very much appreciate your reply and reccomendations.

    • @AnotherMFwithstudy
      @AnotherMFwithstudy 2 หลายเดือนก่อน

      @@zrashad you cannot learn unreal engine 5 by your own you have to a buy a course i learned that hard way its been a 8 months its a hell for a new developer like me to get it all to together use Udemy you will be succeed

    • @AnotherMFwithstudy
      @AnotherMFwithstudy 2 หลายเดือนก่อน

      @@zrashad just Buy some udemy or any other course it will help a lot trust me

  • @aboveeverything
    @aboveeverything ปีที่แล้ว +18

    Perfect timing
    I'm feeling so burnout rn and this banger drops.
    Thankyou Fireship.

  • @7heMech
    @7heMech ปีที่แล้ว +234

    Finally, I can get a career in programming... And now I just have to suffer!

    • @sweJEverywhere
      @sweJEverywhere ปีที่แล้ว

      your suffering will end as soon as Klaus Schwab will replace you with AI and you will be a mindless consoomer drone with 100+ genetherapy shots.

    • @Soulis98
      @Soulis98 ปีที่แล้ว +23

      Maybe the true developers are the friends we made a long the way.

    • @ethisfreedom
      @ethisfreedom ปีที่แล้ว +5

      @@Soulis98 true

    • @Guys_Love_Each_Other
      @Guys_Love_Each_Other 8 หลายเดือนก่อน

      🤣🤣🤣🤣🤣🤣🤣

  • @yellowboat8773
    @yellowboat8773 ปีที่แล้ว +7

    Here’s something for you. I cannot code, never learnt. I picked up chatgpt messinga round with it asking thousands of questions about coding, what does this do, how does this work, what is this error, and after 2 months I have built a (very crude) web app that is a job management scheduling system for my services business I do IRL. Authentication, flask backend, react front end, hosted remotely. Chatgpt is a game changer. It will either completely replace coding eventually or drastically bridge the gap between senior and junior devs

  • @maksimblya192
    @maksimblya192 ปีที่แล้ว +175

    I have so much respect for programmers of all languages. I started going down the web design path in late September/early October and the amount of knowledge required is absurd. I am currently struggling with JS and It feels like I’ll never be able to learn it but I don’t plan on giving up. I encourage anyone who wants to give coding a try to do so.

    • @yoramswiers
      @yoramswiers ปีที่แล้ว +21

      The key is definitly to give your self some time, you need to go through so much information, you need to give your brain time to connect the dots. Today you're learning the basics of js in a month or two you're learning about api's, databases, servers and all the frameworks and platforms that come with it. You will soon be able to have a grasp of what's out there and what it's for and then you can focus down on frameworks and technologies that interest you.

    • @philiprea8540
      @philiprea8540 ปีที่แล้ว +33

      yes definitely go easy on yourself (and dont be afraid to ask "stupid" questions). i found that learning how programming and computers work was what i call a "nonlinear" process. if you want to learn history, read history. sure there are a whole lot of other things to consider in the process of understanding history but, compared to learning how to program the basic process is to step through the events and gather as much relevant information as possible. you cant read, "the Pinkerton gun thugs and strike breakers opened fire on the striking laborers in Ludlow, Colorado at the behest of the US gov't and capitalist tycoons before walking through their makeshift encampment and setting each of their tents and shanties ablaze - many times with women and children still alive inside." and be terribly confused by the actual events that took place. this particular event is incredible and raises a million other questions, certainly. but as far as actually understanding the event, what took place, there is nothing to do but step through the historical record... contrast this with programming... (oh and yes, enjoy my planted historical plug about a very, very important event in US history)
      programming is "nonlinear" in the sense that, when you are first starting out, completely naive to what the hell a computer does or why and how programming languages do anything at all, you can go through long periods where it seems like you have accomplished absolutely nothing and have made zero progress. then, one day, out of nowhere, when you are absolutely convinced of your failings, something clicks. from the abyss comes a flood of understanding. you thought you were nowhere and then all of a sudden you are everywhere.
      this is what i mean by "nonlinear". there was no incremental steps along the way to help assure you of progress. there was nothing and then everything. this is why you remain steadfast in your efforts so long as your goals of learning how to program remain your interest. i promise you. you can learn the dark arts and once you do youll realize you can learn anything!
      oh yeah and dont be to impressed or intimidated by the amount of knowledge other programmers seem to possess. i can assure you that they do possess quite a bit of knowledge but once you clear a few learning humps you'll find learning new things to not only be enjoyable but that as you learn more and more the process gets easier and easier. that is you "learn how to learn" and given that the subject matter of computer science and programming has a whole lot of overlapping parts learning one thing leads to (or "sheds light on") other things.
      the trick is to get over those initial "learning humps", keep at it and you will, i am 100% certain of this!

    • @TheKd8lvt
      @TheKd8lvt ปีที่แล้ว +23

      Been programming since I was 12 or so, if you can count what I was doing at 12 programming. I'm in my fourth year of college for it now - here's my advice:
      Never be afraid to google something you don't quite understand and look for a different source. Sometimes it just takes the information or example code being written in a different way for it to make sense. If you're REALLY stuck - taking a quick 30-minute break to simply just go on a walk or grab a snack does wonders for letting information sink into your brain. Sometimes it takes a minute for the neurons to connect together in the right way. Taking a walk, even only a short one in the pouring rain/snow, really makes things click into place. It gives your brain a break and time to (importantly) _not think about the problem_ and is a fantastic tool for learning anything, not just programming.
      Another bit of advice - if you're having a horrible time debugging something, you can't find an answer online as to why it's doing what it's doing, and you're truly stuck - explain, out loud, your code to some sort of inanimate object. (People work too, if you're embarassed to talk to an inanimate object. They don't have to understand programming... just willing to hear you spout computer wizardry at them)
      It's called "The Rubber Duck Method", but it doesn't really matter what you use. Explain line-by-line what the code is doing, and what the problem you're having is. Eventually, you'll say something so profoundly "captain obvious" that a cartoon lightbulb will appear over your head with a sign that says "I'm with stupid". If it doesn't happen, you probably either didn't explain the part of code that's causing the problem, or you just need a longer break.

    • @maksimblya192
      @maksimblya192 ปีที่แล้ว

      @@TheKd8lvt Thanks for the reply, dude. I'll give your suggestions a try the next time I'm frustrated/stuck. I'm definitely not too embarrassed to talk to myself or an inanimate object hahaha. Thanks again and good luck with your schooling.

    • @philiprea8540
      @philiprea8540 ปีที่แล้ว

      @Females are the extention of Jews "Communism is a disease that is genetic and is cured by a bullet" is EXACTLY true. the evidence of it being true has been displayed and demonstrated everywhere throughout the history of the 20th century. The Nazis cured it. The Stallinists cured it. the Spaniards cured it. and the US cured it all by just murdering all of those opposed to capitalism... (see. Stalin's take over of the workers revolution, the exile of Trosky and the great terror which targeted for genocide political opponents. see. Nazis who in the shadows of a failed workers revolution in Germany joined forces with the Business class to put down, violently those decent citizens of the working class looking to improve their society a livelihoods. Spain? Franco. Italy? Mussolini. the US??? Vietnam, Central & South America, Libia, Cuba, Haiti, Europe (post-WWII)... actually come to think of it, basically everywhere!)

  • @MadGodsBand
    @MadGodsBand ปีที่แล้ว +7

    22 years ago I started with VB4 from a game programming book and made a couple games, years later I made custom MySpace profiles for a while, then I built a guitar app in C#, at some point I made a really crappy skateboarding game in darkbasic, I rebuilt my guitar app with js and learned to host it online. Then, while working 7 years in a customer service call center, I wrote several apps for my employer and used that portfolio to shoe onto a web dev team. After hire, I learned SQL, React, Angular, and AWS really fast because it turns out 7 years of business knowledge makes you more valuable to the team than even the senior devs.

  • @nouhabc194
    @nouhabc194 ปีที่แล้ว +11

    It’s a very good guiding video for an interested person who haven’t start yet , in my opinion this is the best video i have seen in this context ,it becomes rare to see a content creator who take care of the quality at this point , continue ❤

  • @arkhamknight3335
    @arkhamknight3335 ปีที่แล้ว +76

    Thank you so much for this. I was completely blank when I wanted to construct a road map for myself for machine learning but never had any idea about it. I was completely stuck and wasted my entire day being depressed and being hopeless. You've given me a path to follow. Tysm

    • @MrFoodMan66
      @MrFoodMan66 ปีที่แล้ว +14

      I would say that his video has had a completely opposite effect on me. Seems like it was made more to jerk senior programmers off by showing them how many things they know rather than actually helping newcomers. I started coding a few months ago and if this was one of the first videos I was shown about coding I would have given up on the spot.

    • @martinfigares
      @martinfigares ปีที่แล้ว +4

      I feel I can give some encouragement words to both of you. I started programming something like 2 years ago, I got a job 1 year and a half ago...
      Just wanted to say, times where you feel discouraged are gonna come sooner or later, but believe in yourselves, tell yourself you can do it, and you'll eventually will
      Fun fact, I started programming in C, and eventually got to a point where pointers (if you don't know what they are, don't worry you'll probably won't need it) didn't annoy me too much
      Btw, I know work mostly with typescript and javascript

    • @sublic3101
      @sublic3101 ปีที่แล้ว +4

      @@MrFoodMan66 you can't just tell someone exactly what they need to know, there are so many options that you just have to figure out why/what you want to code and then pick the appropriate tools, there's obviously a huge learning curve when it actually comes to learning those tools but to be a programmer you will need to learn them, nobody can expect to watch a video called learn how to be a programmer and walk away from it knowing exactly what to do. It's a legitimate profession that requires high skill and a fair bit of knowledge, this video gives someone a laundry list of jumping off points that can be easily researched/studied on their own, because at the end of the day programmers will have to constantly learn/study throughout their entire career, if you can't do that then just give up now :) happy new year

    • @thehomiesrule123
      @thehomiesrule123 ปีที่แล้ว

      @@MrFoodMan66 mentality diff tbh

  • @Niksorus
    @Niksorus ปีที่แล้ว +208

    You're absolutely right that learning C as a first language is amazing to get strong basics. You're never surprise by the weirdness of passing by value/reference when you know pointers well. After you learn such a low level language, anything else seems like a walk in the park.

    • @MrCmon113
      @MrCmon113 ปีที่แล้ว +26

      Doesn't help you understand an uncommentated, confusing python codebase where any variable can be anything and defined anywhere.
      Literally spend a week of my thesis with trying to figure out what's what.

    • @MohaDou
      @MohaDou ปีที่แล้ว +4

      @@MrCmon113 the best part in python and somehow bad, bc when you get used to it other languages will look hard or complex

    • @_somerandomguyontheinternet_
      @_somerandomguyontheinternet_ ปีที่แล้ว +4

      My father teaches intro to computer science classes at his college, and that’s basically his philosophy when teaching students C++. There’s less abstraction and you have to do more manually. Once you know that, everything else seems easier by comparison.

    • @otherself7400
      @otherself7400 7 หลายเดือนก่อน

      The beginning of my journey starts here i guess

  •  ปีที่แล้ว +5

    I watched this video 6 months ago when I was starting to get back on coding... I took the Data road myself and just landed a job... I agree with everything you say! and now I feel much less anxious watching it

    • @menghao4576
      @menghao4576 ปีที่แล้ว

      Can you elaborate on it?

  • @ExpensivePizza
    @ExpensivePizza ปีที่แล้ว +629

    Learning C can really set you apart from other coders. The foundational knowledge you get from understanding how memory and pointers works under the hood as well as how to implement data structures from scratch really helps to understand the different trade-offs in other programming languages.
    Learning C++ on the other hand is generally not worth it unless you need it day to day. I eventually did loop back into C++ after 25 years coding in many other languages only because I wanted to go deep on Unreal Engine.

    • @shu3684
      @shu3684 ปีที่แล้ว +38

      well in unreal u dont really write c++, u write Unreal's c++

    • @ExpensivePizza
      @ExpensivePizza ปีที่แล้ว +26

      @@shu3684 Yeah that's somewhat true. In some ways it's harder because you're kinda learning both at the same time. A few years back I did some projects in C++ using Ogre3D, that was fun. My general approach is to learn whatever I need to learn to do whatever I need to do at the time. After many different projects using all sorts of languages and frameworks adding another one to the toolbelt isn't particularly scary anymore.

    • @waltch5711
      @waltch5711 ปีที่แล้ว +8

      I want to learn C++ for unreal but I find it quite difficult for a beginer to programing. Should I start with something easier like python?

    • @peacemaker7188
      @peacemaker7188 ปีที่แล้ว +7

      If I learn C, do I need to need to learn C++ afterwards in order to see the benefits of learning C?

    • @ExpensivePizza
      @ExpensivePizza ปีที่แล้ว +13

      @@peacemaker7188 Depends what benefits you're looking for. For me, the benefits of learning C are about understanding the principles of memory allocation, pointers, data structures and how programs can be written without classes and other object oriented design semantics. Almost all modern languages hide these things away but really, they are still there under the hood. When you have a good understanding of the foundational layers that modern programming languages are built upon it makes a lot more sense when you run into strange cryptic errors.
      Learning C++ on the other hand will probably only be beneficial for writing more C++. If you're not actually going to be doing that day to day you'd be better off focusing on higher level languages and building real world applications.

  • @burningmilk7820
    @burningmilk7820 ปีที่แล้ว +156

    0:00 purple tunnel

  • @abdulsamad.abd007
    @abdulsamad.abd007 ปีที่แล้ว +5

    Your humour is a nice touch to your information. To make Ur viewers learn and laugh us a great skill. You are successful in many areas, TH-cam, coding, business.
    Which combines a lot more skills.
    Inspiring.
    You must b quite a personality.

  • @PasqualeIrritante
    @PasqualeIrritante ปีที่แล้ว +118

    I love how all clips showing a game engine shows Godot only, probably to not download gigabytes of other engines and login to their accounts just to capture seconds of footage.

    • @4.0.4
      @4.0.4 ปีที่แล้ว +21

      That's also a good reason to use Godot in general. Don't underestimate the joy of lightweight and its effect on productivity.

    • @themore-you-know
      @themore-you-know ปีที่แล้ว +12

      Me, blissfully ignorant from enjoying Godot for 2 years:
      "Amma install Unity, see what its about..."
      4 hours of waiting later...
      "any day now..."

    • @guilhermealveslopes
      @guilhermealveslopes ปีที่แล้ว +4

      @@themore-you-know 4 days later "Uhm... where do I click to do something x again? hmmm"

    • @mutazil9359
      @mutazil9359 ปีที่แล้ว

      He forgot Defold

    • @Qwerty-ns9yk
      @Qwerty-ns9yk ปีที่แล้ว

      oh? as a unity beginner i thought downloading 15 gbs of data all day and setting up unity another day is normal in gamedev

  • @_sevelin
    @_sevelin ปีที่แล้ว +12

    Yeah I am gonna go for "Gave Dev", Sounds fun!

    • @MeonisRP
      @MeonisRP ปีที่แล้ว +2

      Gae dev

    • @leomarques5218
      @leomarques5218 ปีที่แล้ว

      It's hell, I like it 🤠🤠

    • @leomarques5218
      @leomarques5218 ปีที่แล้ว +1

      One thing that he said but I think it's important to have fixed in your mind is the 3d modeling part, is VERY good to know at least the blender(a 3D modelling program free and VERY good, even better to me than some paid, with an enormous community) basics to create a model (even if the end result is bad) because 3d is not like an PNG that you simply put in your screen, and is done, it has a lot of areas that are important for you to understand to communicate with the artist, the raycast part is not that important because the engine make the work for you

  • @mydogsocute
    @mydogsocute ปีที่แล้ว +10

    Thanks, this has been more useful than I thought. I was the one that went straight to the biggest guy in the prison, which in my case, was C++. I just kept studying the language without any solid goal, and this video gave me some broad image of my options. It's like u brainstormed all the keywords in my head. Thanks.

  • @noormohamed8005
    @noormohamed8005 ปีที่แล้ว +86

    From today, Gave dev is my career path

    • @-BarathKumarS
      @-BarathKumarS ปีที่แล้ว

      Prepare to be worked like a dog for minimum wage, that's all I'm gonna say.

    • @Adomas_B
      @Adomas_B ปีที่แล้ว +9

      Your wallet might say something else

    • @NaNa-cq8ck
      @NaNa-cq8ck ปีที่แล้ว +10

      I regret the days I've spent not learning Gave dev.. I shall join you as well..

    • @NaNa-cq8ck
      @NaNa-cq8ck ปีที่แล้ว +7

      @@Adomas_B r/woosh

    • @rihhard1072
      @rihhard1072 ปีที่แล้ว +4

      and so he Gave his soul to satan..

  • @cristhopersanchez2449
    @cristhopersanchez2449 ปีที่แล้ว +10

    I'm honestly so thankful for this channel, I'm currently invested in becoming a programmer, and the humor that is put into these videos gets a good laugh out of me and makes me excited to continue.

  • @LunaMoon303
    @LunaMoon303 ปีที่แล้ว +2

    im already learning html and css but this entire video sounds like straight simlish, so i know im headed in the right direction

    • @tauqeerkayvids
      @tauqeerkayvids 15 ชั่วโมงที่ผ่านมา

      howdy?

  • @grandmonkey7455
    @grandmonkey7455 ปีที่แล้ว +13

    I have started learning how to code a year and a half ago. I started on JS, but i really found it frustrating since i wasn't not really interested in working on websites and if you wanted to anything more complex it would be too frustrating without a framework, but i did learn the basics. Then i took a break, tried making some games with the Godot engine. It's really fun and i still dabble from time to time. Then i tried to learn some C++. I learned the main basics and it was fun, but again making an actual project is a whole different beast. It is so hard to go from making some mundane program to making something that is actually something you would use. And i am still alienated by the job market. I am not sure is there any chance of me getting even a entry job position. Most companies want you to be an expert. It really makes feel everyone gets their job through nepotism, but that could be not true.

    • @rihhard1072
      @rihhard1072 ปีที่แล้ว +8

      I think being specialized and having a portfolio built around that specialization is the way to go if you want to get employed. If you have a bit of everything but a whole lot of nothing in particular then youre less valuable for any one specific position.

    • @grandmonkey7455
      @grandmonkey7455 ปีที่แล้ว +1

      ​@@lazerhawk2192 The "you have to network part" doesn't give me confidence at all. It just comes down to complete luck if you ever even meet the right people. Nepotism and networking seem to be closely linked together. There are already so many stories of people who have barely even touched code and they are working as a junior dev.
      And in the future the job market for entry level positions will be even more rough. Think of chatGPT and other AI. Sure everyone laughs at them now, but in a couple years it could easily replace junior devs. I honestly think average programmers will be replaced faster than people working manual labour.

    • @andrews8733
      @andrews8733 ปีที่แล้ว +1

      @GrandMonkey I don't believe average/entry level devs will be replaced by AI for a while, but the number will look like it's decreasing due to the bar being raised across the board. Today, everyone wants a staff/senior level person. It's all about risk and velocity. For the most part, nobody wants to take a chance on someone who's yet to prove themself in the job market. Though modern tech is in 'some' ways easier than tech of old, the sheer breadth of knowledge you need to be competent, and produce quickly, are higher than ever.

  • @croaxer2390
    @croaxer2390 ปีที่แล้ว +5

    Thank you for making a video on this subject. I feel often it’s harder for newer programmers to dig in and find good places to learn to code. But sometimes, it’s the person. Not the guide.

  • @j.w.k
    @j.w.k ปีที่แล้ว +24

    Great video - another fun thing I think worth mentioning with systems engineering and programming in C/C++ is performance programming (writing parallel and concurrent programs). Pretty fun and challenging to optimize old algos like kmeans and functions like fast Fourier transforms.

  • @denemehesap1982
    @denemehesap1982 ปีที่แล้ว +22

    I love fireship. Really.

  • @CaulkOnMyWaffles
    @CaulkOnMyWaffles ปีที่แล้ว +18

    As someone who was (still is I guess) a Mechanical Engineer who kept finding myself learning/writing code (shitty code I bet) to automate things and ended up quitting ME to pursue not only something I find fun/interesting but something with a lot more potential due to remote-work and salary, this video pretty much sums up my first 4 months of "official" learning. The Dunning-Kruger effect was strong since I've always done some form of coding for the last 15 years, but then diving into the real world of it I found that "holy crap I know nothing" and the stress of it hit. I've just been plugging away and have found machine learning to tickle my fancy because I like math.

    • @Maconhaepaz
      @Maconhaepaz ปีที่แล้ว

      Same here

    • @AJ-kv4ui
      @AJ-kv4ui หลายเดือนก่อน

      how you getting on? Graduated as mechanical engineer too but man, this is much more fascinating

  • @sunnysanjo
    @sunnysanjo ปีที่แล้ว +3

    In my senior year of college as a fine arts major. Now realizing my mistake and am going to learn front end dev along with graphic design. I have a tech background so I should be fine. Wish me luck!

  • @doublet3n672
    @doublet3n672 ปีที่แล้ว +5

    I learned a shit ton of JS and React and my first job ended up using Python and Django for web development, luckily i already knew a lot of web concepts and python, so learning Django was a piece of cake, i still use it for personal projects, and its a fantastic tool to learn web development too.

  • @jebinho10
    @jebinho10 ปีที่แล้ว +81

    Even if the tools/languages change in the coming years, I really appreciate videos like this. Especially for folks starting down the CS path. The most important message, however, is to continue learning. As a kernel developer for many years, I've been extremely lucky that C is still relevant. Not sure how many years it has left, but I could definitely be in a risky spot if C fell out of favor and I wasn't trying to learn other languages on the side.

    • @themore-you-know
      @themore-you-know ปีที่แล้ว +4

      How would it fall out of favor?
      Being replaced by Rust kernels or something ?
      (genuine question: I'm a complete moron/ignorant)

    • @jebinho10
      @jebinho10 ปีที่แล้ว +11

      @@themore-you-know The "how" is simply when somebody designs a better [thing] and people adopt it. But for this example, if you research something like "shortcomings of C", one could argue that a new language with C's pros combined with fixes to its shortcomings, you'd have a better [thing]. Then people may massively adopt it. Does Rust fill that spot? :shrug:

    • @themore-you-know
      @themore-you-know ปีที่แล้ว +5

      @@jebinho10, your reasoning... touché. Bravo. I'll go do that.

    • @andrews8733
      @andrews8733 ปีที่แล้ว +8

      I am concerned with the lack of new C devs. There's so much written in C that needs to be maintained, but I dont know a single person who's trying to be a maintainer of some of these critical projects (kernels included). It might take a true successor lang to break through to get a sizeable pct of the masses into systems development. Maybe, but I dont golang is really it, and rust is simply too complicated for alot of the embedded stuff C is used for. No idea what the future holds w.r.t C library maintainers.

    • @Orangaria
      @Orangaria ปีที่แล้ว +1

      @@andrews8733 I'm learning CS and really like C for the way it's kind of intertwined with the computer's hardware on a deep level. Maybe it'd be worth to pursue the way of C lol

  • @docbrown2045
    @docbrown2045 ปีที่แล้ว

    I've been playing this MMORPG for several years now. Still got lots of quests to do and I love it!

  • @parthdeshmukh63
    @parthdeshmukh63 ปีที่แล้ว +228

    started with C then learnt C++ followed by a bit of web dev and now currently learning python(too easy tbh). Learning C made it a cake walk to learn every other stuff out there. I should recommend this pathway to every one new out there as it helped me out a ton. Hope this helps :)

    • @TheVirtualArena24
      @TheVirtualArena24 ปีที่แล้ว +1

      I'm doing data science in cse. Should I also learn like this? And also I'm doing worst in the theory subjects also currently in 3rd year. Thinking of dropping out.

    • @parthdeshmukh63
      @parthdeshmukh63 ปีที่แล้ว +2

      python should help for data sci. I cant guide u much cus im not familiar with that field😅

    • @eduardob4107
      @eduardob4107 ปีที่แล้ว +14

      @@TheVirtualArena24 I would recommend you to look up the job market, if you don't like all the statistics you can go for something like a data analyst job. It's more about the data visualization and less math focus.
      You don't need to learn C first. It's something will help to understand how a program language works, but the hardest part of data science normally is not the programming

    • @TheVirtualArena24
      @TheVirtualArena24 ปีที่แล้ว +1

      @@eduardob4107 oh thanks. I was thinking data analyst and scientist are the same. I will try to do what looks good to me.

    • @phonyhealthinspector
      @phonyhealthinspector ปีที่แล้ว

      Should I start with SQL then Python? I'm a graphic design major. Finished HTML and CSS. Copied and pasted Javascript. The famous designers use Python to make fonts. But I like data driven marketing.

  • @vaisakh_km
    @vaisakh_km ปีที่แล้ว +8

    Most difficult things in progaming:
    1. Naming variables
    2. Picking a technology and sticking with it

    • @justinc2633
      @justinc2633 ปีที่แล้ว

      nothing pisses me off more than seeing someone name a variable with the first letters of what it represents, i have no clue what avd_samp means and now i have to go find out, waste of time, and any IDE worth its weight has auto complete so make a variable name as long as reasonably possible if you need to

    • @TheNewton
      @TheNewton ปีที่แล้ว

      FTFY 2. Picking a technology and being stuck with it.

    • @MrCmon113
      @MrCmon113 ปีที่แล้ว

      Aye, the variable names are half of the program.

  • @Kaseus-lq7cj
    @Kaseus-lq7cj 2 หลายเดือนก่อน

    Thank you so much! As a complete and absolute noob with 0 coding knowledge, I'm trying to learn computational chemistry and it's been super overwhelming. The road maps have been so helpful! Need to see if you make more videos on the machine learning/ AI aspect haha

  • @mentaal.4066
    @mentaal.4066 ปีที่แล้ว +7

    I am missing a few things in this video.
    1. where is the basic idea that you should make fun while programming? Don't try and make a new os, but start with something easy that gives you a good feeling.
    2. I would say that is important to try different things and dont be afraid to quit something if you dont like it.
    Furthermore, great video, I am a great fan!

    • @bellshoe2894
      @bellshoe2894 ปีที่แล้ว +1

      Number 2 is really good advice, knowing when to drop something is really important because sometimes you really just need to take a break and start fresh again. Even though you may think you just wasted time, what you're really doing is priming yourself for round 2.

    • @BomberLT
      @BomberLT ปีที่แล้ว

      Also it misses the point that you don't need to create COMPLETE thing to learn. For example in web dev - you can connect to existing online backend and use something like Bootstrap instead of writing css and do not care at all about those things and learn them later.

  • @benonardo
    @benonardo ปีที่แล้ว +15

    I started with Swift Playgrounds on an iPad, which really helped me get the concepts of programming (nowadays I know most major languages). I am not a huge Apple fan but this app really needs a shoutout!

    • @biglexica7339
      @biglexica7339 ปีที่แล้ว +2

      what languages do you know?

    • @benonardo
      @benonardo ปีที่แล้ว

      @@biglexica7339 It‘s hard to define “knowing“, but I could write pretty decent programs in C(++), Java & JavaScript, given internet access I could figure out Kotlin, Rust and PHP after a while

    • @biglexica7339
      @biglexica7339 ปีที่แล้ว

      @@benonardo I mean given internet access you technically know all of them
      by knowing I'd say googling ~50% of a language's features when working on something

  • @newsybluesy
    @newsybluesy หลายเดือนก่อน

    i've always been fascinated by coding but never had the drive/discipline to learn hopefully with a bit of guidance this will be my year :)

  • @winken2666
    @winken2666 ปีที่แล้ว +25

    I think starting with the frontend and and then progressively involving backend when you need data or authentication in your frontend is a good approach. And then finally when you get it working locally on your pc, you need to start thinking of how it could be deployed in the cloud. It takes years if you are new to programming.

  • @_somerandomguyontheinternet_
    @_somerandomguyontheinternet_ ปีที่แล้ว +6

    I’m a CompSci student, and a friend of mine has a saying: “You can’t throw a stone on campus without hitting a CompSci student, but 90% of them are freshmen.”
    The hardest part is keeping going. I’m heading into my Junior year this semester, and I feel so lost. But I ain’t giving up. Let’s get this crap done, fellow learners. We’ve got this. Never cruel nor cowardly. Never give up. Never give in.

    • @shinsha_
      @shinsha_ ปีที่แล้ว +1

      bro same...

    • @qorso
      @qorso ปีที่แล้ว +1

      The doctor who reference ✊️

  • @luismatabrito
    @luismatabrito 11 หลายเดือนก่อน

    This guy is absolutely fantastic! His video is not only incredibly honest but also hilariously entertaining.

  • @upierczileonheart7020
    @upierczileonheart7020 ปีที่แล้ว +57

    Man, if I actually make it in this coding world, I'm gonna comeback to this comment to thank you for all the guidance and inspiration you gave me

    • @veljko1267
      @veljko1267 ปีที่แล้ว +2

      when*

    • @rassta35
      @rassta35 ปีที่แล้ว +1

      what happened i need to know

    • @bigochinchin2565
      @bigochinchin2565 11 หลายเดือนก่อน +1

      @@rassta35 They died

    • @Nobody-xp6ip
      @Nobody-xp6ip 10 หลายเดือนก่อน +1

      Hey update? How you doing?

    • @upierczileonheart7020
      @upierczileonheart7020 10 หลายเดือนก่อน +5

      Not going as good as I thought, but still there. Finally finished school and currently looking for a job, but it is kind of hard to find a job with only an internship experience, not giving up, wish me luck

  • @HONjramiroz98
    @HONjramiroz98 ปีที่แล้ว +8

    Also, deploying on the web is another interesting step. Just deployed my first web app and it wasn’t as smooth but it’s another piece of great valuable knowledge

    • @duztv5370
      @duztv5370 ปีที่แล้ว

      Please how did you deploy it? Could you please recommend any video that covers it.

    • @HONjramiroz98
      @HONjramiroz98 ปีที่แล้ว

      @@duztv5370 I would recommend what I’ve used
      Railway app
      It also has plenty of demos to deploy in seconds, and I’m not exaggerating.
      From his videos I would recommend one about building your own svelte chat with pocket base
      He used Linode to deploy it
      I tried it, just wasn’t as easy as Railway from my experience (mind you I’m a noob)

  • @XyleCoco
    @XyleCoco ปีที่แล้ว +2

    Exactly the video I needed. Awesome road maps!!

  • @Jack_______oh
    @Jack_______oh ปีที่แล้ว +12

    I knew there was a good reason Harvard's CS50 starts with C lol. It kinda feels weird using high level languages when you learn to code at the lower level first though.

  • @BruceNJeffAreMyFlies
    @BruceNJeffAreMyFlies ปีที่แล้ว +8

    I focused primarily on c and within a matter of months, of writing my first line of code, I got shortlisted past 70% of candidates for a job interview based entirely on my explanation of how I would have answered the coding question that every candidate got sent.
    I didn't even write the code - the best way to do what they wanted was to use a hash table and, as gptchat just explained, it can take a moment to build one - we only had half an hour to answer the question so I tried it in java, after wasting a few minutes trying in C, and only got about half way through due to my unfamiliarity with the language.
    Starting with c seems to be fantastic advice; I'm getting my ass kicked but I'm also learning A LOT! It makes a lot of high level programming seem quite easy.

  • @hamzahimite4710
    @hamzahimite4710 8 หลายเดือนก่อน +2

    Thanks a lot fireship
    As a beginner programmer you motivated me to stop programming and sell all my electronic and go to the east and start a farm thanks a lot 👍

  • @foley2k2
    @foley2k2 4 หลายเดือนก่อน +8

    Missed one for the C route. SDL gets you access to user input, 2d graphics, and sound on MANY platforms. This is great for gamedev.

  • @ewerybody
    @ewerybody ปีที่แล้ว +14

    I found it depends a lot on what a type of person you are! Some learn stuff by reading books about it. I never enjoyed that and always wanted to get some immediate feedback.
    Open up the webbrowser console and get cracking is one way to do it, Another (my initial way) is coding in a 3D app like Blender, Maya, 3DS Max.
    There is also ProcessingJS playgrounds on the web that are nice and interactive 👍

  • @ptd3v
    @ptd3v ปีที่แล้ว +1

    The content you make is the only content I can stand to listen to for more than 10 minutes in this field, thank you :D

  • @prvashisht
    @prvashisht ปีที่แล้ว +66

    For hardware roadmap, Pi isn't available now a days so I'd suggest using Arduino, and then moving to ESP32 chips.

    • @ristekostadinov2820
      @ristekostadinov2820 ปีที่แล้ว +1

      The Compute Module 4 and the Pi 4 board are the most desired, the Pico/Zero 2W are fairly easy to find. If you need lot of power get something with the RK 3588 SoC.

    • @prvashisht
      @prvashisht ปีที่แล้ว +1

      @@ristekostadinov2820 True, Zero W (or 2W) could work for beginners, but I'd still go for an Arduino instead of Pico. More support, plus I haven't seen many Picos that come with soldered headers.

    • @cosMYs891
      @cosMYs891 ปีที่แล้ว

      Hey I'm an electronics and communication student. What should I do?

    • @ristekostadinov2820
      @ristekostadinov2820 ปีที่แล้ว +1

      @@prvashisht You are right the Zero 2W havea lot of power for micro controller lol (512mb ram and quad core processor). Picking up Arduino will force you to find ways to write more memory efficient code since you play with KBs of ram and storage.

    • @ristekostadinov2820
      @ristekostadinov2820 ปีที่แล้ว

      @@cosMYs891 what do you want to do ?

  • @loloolk8402
    @loloolk8402 ปีที่แล้ว +16

    This is a perfect summation of literally everything I've learnt in the 4 years since I started coding. This is very well made, and new programmers should absolutely watch and understand this!!!

    • @zombiezoo1384
      @zombiezoo1384 ปีที่แล้ว

      Aware august 12 2036 TrollDespair 19 jan 2038

  • @Wilqu_
    @Wilqu_ ปีที่แล้ว

    Dude, you litferaly increased my intrest in programming by 1000%

  • @greentea_
    @greentea_ ปีที่แล้ว +11

    Always good to have a project in mind and find the tools you breed to get there. It keeps you motivated and feels more fulfilling when you achieve what you set out to do!

    • @e_j_
      @e_j_ ปีที่แล้ว +1

      i love breeding tools

    • @KatyVLOGS12
      @KatyVLOGS12 ปีที่แล้ว

      How to come up with a project idea

  • @_HappyHippo
    @_HappyHippo ปีที่แล้ว +8

    Yeah Gave Dev (5:14) is awesome!
    Great video tho

  • @liamglam6534
    @liamglam6534 ปีที่แล้ว +1

    Thank you for this video. I'm interested in Hardware, machine learning and low level systems. I didn't know where to start but now it's a little clearer.

  • @amirgamil
    @amirgamil ปีที่แล้ว +6

    Great video man! I worked as a software tutor for three years and this would have been a great video to show my students! Very well thought with lots of truth. I especially liked the bit at the end about how it's okay to feel overwhelmed and not being an expert in any one thing. Keep making the great content! 👍

  • @schneefackel7053
    @schneefackel7053 ปีที่แล้ว +90

    Tip from someone who went the prison route: The only potential way in which C isn't self-torture and a complete waste of your time is if you learn it together with ASM, and regularly read your compiler's ASM output. Makes it much easier to grasp the underlying CS concepts and you get to know the whole compile/link/debug toolchain, which definitely will transfer to the higher-level languages you'll invariably end up using.

    • @wadecodez
      @wadecodez ปีที่แล้ว +10

      I really want to like C but web dev has ruined my attention span. Can’t stand how long it takes to configure build tools.

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 ปีที่แล้ว +4

      "and you get to know the whole compile/link/debug toolchain, which definitely will transfer to the higher-level languages" - can't sound more false. Don't justify wasting your time. If you use high level languages(Javascript, Python...), you certainly 100% don't need to know or understand a single thing about complile/link/debug toolchain or any asm low level stuff. Not a single thing will help you, just a waste of time(for high level languages).
      I see that people lately think it sounds cool or something. I feel the "Yeah I learned C, Assembly and reverse engineering, I am now better than you at Javascript" energy here lol.

    • @evil_witch
      @evil_witch ปีที่แล้ว +10

      @@twothreeoneoneseventwoonefour5 try it first maybe, learning C will force you to learn how data structures and algorithms work, plus, in languages like JavaScipt, knowing how memory works is very beneficial considering how shitty its GC is (unless you don't care about perf/etc enough to care, but point is, that learning C does help a ton in various fields)
      * as someone who mainly did JavaScript TypeScript for 2-3 years and is now writing toy programming languages in C

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 ปีที่แล้ว +4

      ​@@evil_witch I already learned c and c++ in the past, but not that much(around 50 hours total on my own(self-learning), got well into theoritical advanced stuff). I understand what you are *trying* to say, but I am still completely sure that it is all a waste of time for a high level language dev.
      If you want/need to learn how the memory works, how different data structure work, learn it, but there is no merit in learning low level languages JUST for that.
      That is comparable to *professionally* learning design as a mere frontend programmer. 95% of the time you will implement what you are told to by the actual dedicated design team, and the other 5% you can just learn yourself, without having a design degree or extensive 3 year UI design training.
      In short, you guys are just messing up the priorities. If, for example, it took you 10 hours to learn something in low level, and for example it give you 20 points in that specific skill, you will have only 1(!) point carried over to high level. Now learn something in high level in the first place using those 10 hours, it will CERTAINLY give you AT LEAST 10 points, if not the same 20. It simply doesn't make sense to compare that and say that "it will help you!!", when you were just better spending 10 times less time learning it more efficiently in the language/environment you need it the most.
      Of course if you want to learn low level, I am not stopping anyone, but I am just saying that "learning low level will help you in high level" is just a straight lie.

    • @mhcbon4606
      @mhcbon4606 ปีที่แล้ว

      @@richiekho8938 this is not really 2020, you should have built it in js, transpiiled it to c, then used clang to compile, finally, read the assembly output to optimize it. This is the way : D

  • @Quino2
    @Quino2 ปีที่แล้ว +1

    This is the video I have been looking for for some months, thank you, really helpful!

  • @zegollygosh
    @zegollygosh ปีที่แล้ว +8

    Honestly, this is just a great video for perspective. I have a CS bachelor's degree plus a full stack web dev job, yet I still feel lost some days. My tasks are often pretty easy to do, like adding a new function with mostly JavaScript or fixing an error that usually amounts to something silly like "the specific variable wasn't nullable so my backend would fail if it was null". The issue is that I'm great at understanding what a handful of components do, but I flounder with how to implement some big level change or, especially, a new project from the ground up. I know I need more practice with my foundations to have a more long-term career, because while I'm a good worker bee that can knock out menial tasks, I'd probably be the first to go if there were cuts (which I'm thankfully not super worried about rn since it's a pretty comfortable company with government contracts but still, it's not nice to know I have the least impressive skills on my team, though I'm also only a year into the actual work force)

  • @DeviRuto
    @DeviRuto ปีที่แล้ว +14

    Correction: Godot isn't "based on" C# - It's written in C++. It (optionally) supports C# for scripting, but it isn't the main focus.

    • @vedadtr3509
      @vedadtr3509 ปีที่แล้ว

      GD script, the default language is based on C#, if my memory serves me well

    • @DeviRuto
      @DeviRuto ปีที่แล้ว +1

      It is not.

    • @vedadtr3509
      @vedadtr3509 ปีที่แล้ว +2

      @@DeviRuto youre right, my bad. I was too tired to function last night. Cheers

  • @Aanaartu
    @Aanaartu 7 หลายเดือนก่อน

    I don't know if I am right, but this seemed like exactly the video I was looking for. Thanks for the no-nonsense and straightforward approach

  • @moragz97
    @moragz97 ปีที่แล้ว +20

    Hello Fireship. Your videos are amazing. Could you make a vidoe on non-coding skills that are required in the actual day to day life of a programmer?

    • @Yas-gs8cm
      @Yas-gs8cm ปีที่แล้ว

      It's called "exercise", there are great health channels on it... also socializing videos... (joking aside, as a programmer I think the day to day life is always the same with everything right? maybe just... programmers are usually passionate and spend some times on side projects in their d2d life too? idk man... the question seems wrong to me, elaborate further.)

  • @lordcrasty
    @lordcrasty ปีที่แล้ว +7

    I should say, I am quite enamored with Al Gore Rhythms. They have a certain elegance and precision that I find deeply appealing. I could spend hours lost in the intricacies of a well-designed Al Gore Rhythm. It's almost like a puzzle to be solved, except the possibilities are endless. I find them endlessly fascinating, and I am constantly striving to improve my understanding and skills in this area.

    • @TheNewton
      @TheNewton ปีที่แล้ว

      And they are a good way to prevent commit change requests.

    • @LesterFernandezIO
      @LesterFernandezIO ปีที่แล้ว

      You should try the Algorithms 1 and 2 courses on Coursera by Princeton. They’re free, rigorous, and super interesting.

  • @jamesburnett4443
    @jamesburnett4443 6 หลายเดือนก่อน +4

    I have no interest in coding, but TH-cam keeps recommending your video. To be fair, I do keep watching them.

  • @muha0644
    @muha0644 ปีที่แล้ว +7

    3:55 just a heads up, Qt is basically better than anything else and is also cross-platform.

    • @axitc
      @axitc ปีที่แล้ว

      No. GTK better

    • @muha0644
      @muha0644 ปีที่แล้ว

      @@axitc GTK is only graphics, Qt is so much more...

  • @roguemc-j3p
    @roguemc-j3p 4 หลายเดือนก่อน +1

    Thinking about changing my career, 29 and just starting to learn to code and I'm thinking about becoming web developer. Wish me luck 🙏

  • @OwnnOfficial
    @OwnnOfficial ปีที่แล้ว +9

    Flutter + Firebase = Best Full Stack ✨

    • @Wolfo70
      @Wolfo70 ปีที่แล้ว +2

      flutter code gives me an aneurism ngl

  • @victorcomposes
    @victorcomposes ปีที่แล้ว +10

    As soon as he said back problems I fixed my posture 🤣🤣🤣

  • @marchern8526
    @marchern8526 ปีที่แล้ว

    every time i feel lost in life, I always come back to this video. You are an inspiration and my guiding light in the dark. Thank you Sseth

  • @AegirAexx
    @AegirAexx ปีที่แล้ว +9

    Great video!
    I like the C / C++ route to start off. After that almost everything builds ontop of that knowledge and comes to you naturally... Unless you want to to do some Haskell or Prolog... 😵‍💫

    • @eufrozinak9461
      @eufrozinak9461 ปีที่แล้ว +1

      My university is making me go that route while studying electrical engineering. I'll have to learn Rust on my own though because they haven't caught up to it yet.
      I'll have to learn some others down the line as well, like Matlab and Labview, but they're not nearly as exciting for me as Rust.

    • @theintjengineer
      @theintjengineer ปีที่แล้ว +2

      Starting with C/C++ is the best thing one could do. But people don't get that, because of the Python, JS Buzz...
      EDIT: ... and now, Rust

  • @headlights-go-up
    @headlights-go-up ปีที่แล้ว +6

    Gave Dev is my go-to field.

    • @rihhard1072
      @rihhard1072 ปีที่แล้ว +2

      what Gave you that idea ?

  • @AYON-jp6um
    @AYON-jp6um ปีที่แล้ว +1

    Best video I have ever seen. It has given me an insight of the madness am about to release onto myself hence it was HILARIOUS!
    Thanks, and for this, am following ya!

  • @Tomaskom
    @Tomaskom ปีที่แล้ว +8

    I loved the C shoutout!
    It's a language that can give people good lower level perspective, which I feel is often badly needed for many high-level lang oriented developers, producing overly bloaty software.

  • @nosferatunoir2740
    @nosferatunoir2740 ปีที่แล้ว +28

    Choosing to major in CS years ago was the best decision of my life, honestly. There comes a point where all that knowledge sludge takes shape and suddenly everything clicks. It felt like that scene in the Matrix when Neo finally sees the Matrix for what it truly is, but maybe that was just a hallucination from years of sleepless nights lol

    • @kcnl2522
      @kcnl2522 ปีที่แล้ว +1

      Lol just started my CS degree, and do you really need the shit ton of math?

    • @Merthalophor
      @Merthalophor ปีที่แล้ว +8

      @@kcnl2522 the more awesome the project, the more math is involded. programming is math, and doing math in a mathy way is nothing but abstracting away the programming language to more efficiently think about and solving problems. So if your algorithm is really awesome, it needs math to be able to think about it. But ofc some ppl apparently also have a good time solving the latest puzzle posed by web standards of how to draw a button despite the many artifical road blocks set in your way by the design constraints given to the web api developers.

    • @themore-you-know
      @themore-you-know ปีที่แล้ว +1

      When you decoded the Matrix, did you see Andrew Tate stuck in there somewhere ?

    • @nosferatunoir2740
      @nosferatunoir2740 ปีที่แล้ว +5

      ​@@kcnl2522 I'd say it depends on the field you'd like to get into. Web development generally doesn't require math, except on some niche cases.
      What type or level of math you need varies from field to field as well. For example, in hardware you might need to know about some physics like electric currents, maybe pressure for moving pistons, etc. I'm in the data science/machine learning/AI field, so I know some linear algebra and calculus. Some people get into advanced database engineering, and they know relational algebra, whilst other people in the advanced functional language sphere learn lambda calculus.
      My advice would be for you to take it easy, see what you'd like to explore deeper, and to remember that the most overlooked skills that a computer scientist needs are creativity and patience. In CS you never really stop learning, so it's okay to mess up, feel like you don't know all the answers, etc. That's what the internet is for. Eventually you'll be so good at coding, it'll feel like the lines of code are just lego pieces that you're using to build anything you want, you'll see.
      Good luck on your CS journey, and when in doubt, use stack overflow!

    • @arbaran01
      @arbaran01 ปีที่แล้ว +1

      @@nosferatunoir2740 I’m actually gonna *major* in data sci, haha, thanks for sharing about your own journey because it looks like I’ve got quite the challenging/rewarding one ahead too

  • @dollarbr
    @dollarbr ปีที่แล้ว

    this is actually.... a very good roadmap video... kudos for the time spent on it

  • @vhaangol4785
    @vhaangol4785 ปีที่แล้ว +4

    "There's no guaranteed step by step program." Agreed on this one.
    I started out with C++ as my first programming language in college then moved to Java as part of my mobile dev course. Then, PHP and JS (with jQuery) in my 3rd year all the way to my first 3 years of professional experience. During my first work experience, I learned python by myself for basic scripting then started learning Django and Vue in early 2021. In 2022, I got another job where I used React and Ruby with RoR for our internal app. By 2023, I've already learned TypeScript, some basic Lua for NeoVim, Nuxt (for personal projects) and Next (made contributions on open source Next projects), a handful of other technologies, and I've started learning Rust.
    It's been a wild ride so far and I feel like things will get wilder this year.

  • @uaesbriosheje
    @uaesbriosheje ปีที่แล้ว +6

    Side note not mentioned: flutter does not only target mobile, but also can target dekstop (MacOS, Windows and Linux) and web, might be worth to mention that in the desktop section in particular, since it's exactly the same target as electron and Tauri

  • @codingbru
    @codingbru 11 หลายเดือนก่อน

    Sometimes I think that coding is easy and anyone can learn it. This video really brings into perspective how much i actually know and how much i have actually suffered hahah. Its easy to forget all you have achieved.

  • @mr.anderson5077
    @mr.anderson5077 ปีที่แล้ว +85

    Huge shoutout to folks who use C++ to earn some sufferings like me.
    All the C++ devs leave a like below
    Btw: there are legends who slay deep learning using C++ , geniuses like compiler creators.
    Awesome video Jeff keep up. This created a vortex in my head like a toilet flush. Thanks

    • @Soulis98
      @Soulis98 ปีที่แล้ว

      As a fellow UE5 dev I can confirm this statement is 100% true.

    • @PedroMoreira2001
      @PedroMoreira2001 ปีที่แล้ว +1

      Me who started learning with C, moved to C++ and decided to go to college for Systems Engineering... Yes I am insane but I like insanity

    • @Soulis98
      @Soulis98 ปีที่แล้ว

      @@PedroMoreira2001 Dear god.

    • @PedroMoreira2001
      @PedroMoreira2001 ปีที่แล้ว +1

      @@Soulis98 nah men, it's pretty awesome. Learning python for a Data Science class? Easy. Learning Java for programming classes? Yep. Learning some Javascript? Give me that. It became so easy because all the HUGE apps I had built for some home stuff gave me sooo much knowledge on complex systems that I became incredibly fast at consuming documentation and developing clean code because of having very little server capacity to deal with

    • @theintjengineer
      @theintjengineer ปีที่แล้ว +2

      I too haven't met a great engineer that hasn't come from the Fortran/Assembly/C/C++ Pack.
      These people understand what computer programming really means.
      Start with Python, JS and Co. and fool yourself into believing you are a Software Engineer.
      A coder only, at most

  • @mks-h
    @mks-h ปีที่แล้ว +4

    There's also C++/Qt option for application development, and it's a popular choice on Linux if you also use KDE Frameworks. And QML(kinda JS)/QtQuick + Kirigami, if you're a youngster.

  • @luis-kw4qy
    @luis-kw4qy ปีที่แล้ว +2

    I myself would REALLY love to get into video game development! This video honestly helped out a bit with what programming language I need to learn and what engines are best. Thank you!

  • @Miss0Demon
    @Miss0Demon 6 หลายเดือนก่อน +4

    No matter how hard I try, I can never escape fucking javascript.

  • @Rataldo20
    @Rataldo20 ปีที่แล้ว +17

    I started learning python because i wanted to participate on a project that my dad has with IA. I always hated maths and then I found out this area is full of it. At least now its been a little easier to understand since now is math applied to real situations and not just some equations that I will never understand what they are for

  • @izaiahperez5059
    @izaiahperez5059 6 หลายเดือนก่อน

    Bro im not gonna lie, that was the most informational video that i could not understand in my entire life, and by the way im not a coder or a programmer, wanting to get in to it cuz i got alot of free time

  • @bountoj
    @bountoj ปีที่แล้ว +9

    See yall in 2024, when we finally start to learn to code. 👍

  • @Mursaat100
    @Mursaat100 ปีที่แล้ว +1

    Recommended backend at 1:45 - check out!
    Good advice in the end: to get a good career in coding: Specialize on one thing (most likely a great advice, which I've heard from many different sources); don't forget this.