Two Moments That Made Me A Great Software Engineer

Поделиться
HTML-код
  • Опубликовано: 31 май 2023
  • These two things were truly the biggest impacts on my career i have ever had. I wanted to share them with you because i find them very important
    Links
    Free Algorithms Course: frontendmasters.com/trial
    (you don't have to)
    Link if you want me to get paid: frontendmasters.com/join/indi...
    THE INTERPRETER / COMPILER BOOKS!
    Code THEPRIMEAGEN
    interpreterbook.com/
    compilerbook.com/
    / theprimeagen
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
  • НаукаНаука

Комментарии • 160

  • @ThePrimeTimeagen
    @ThePrimeTimeagen  Год назад +142

    I hope you know that this is not meant to be an ad. I truly have worked an incredible amount to make the things that were most beneficial to me available to you for free or at a low cost and i even said no to $$ for the interpreter book. I am TRULY trying to give you all the opportunities i have had.

    • @ashkiin8493
      @ashkiin8493 Год назад +1

      Appreciate this so much. relearning programming as a 30y old w cs50 and recursion is indeed the one thing that suddenly makes me question if I have a natural inclination to this or not

    • @grigorqnkov3928
      @grigorqnkov3928 Год назад

      I my country we say the gypsy that give you compliments for some coins die and now you must do it by yourself :D

    • @bshelling8922
      @bshelling8922 Год назад

      I appreciate your vim series. This all the VSCode plugins eating up my resources I found my way back to vim and I'm way more productive.

    • @pieflies
      @pieflies Год назад

      I watched this recently as a brush up and the content and your teaching style are really great.
      Definitely one of the best resources I’ve seen on this topic.
      The time you have put into it really paid off.

    • @jimboxx7
      @jimboxx7 Год назад

      Bruh, this is exactly what I need. I never took the time to learn the computer science part of coding. This is going to help me land a job in Elixir, ty.

  • @sidlais
    @sidlais Год назад +164

    Tom never had this moment coz he was born a gueneuos

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Год назад +55

      see.. i was born dumb like
      i see smart things and it makes me feel tingly

    • @rafaelbordoni516
      @rafaelbordoni516 Год назад +1

      That's the tragedy of being Tom, you can't have these epiphanies 😢

    • @DaviAreias
      @DaviAreias Год назад +3

      Ah you think JSON is your ally? You merely adopted the JSON. I was born in it, molded by it

    • @dickheadrecs
      @dickheadrecs Год назад

      @@DaviAreias i do all my shopping at the JSML

  • @VACatholic
    @VACatholic Год назад +123

    You should interview Andreas Kling, who's working on his own OS, including his own browser. Think that'd be a fascinating convo.

    • @DrIngo1980
      @DrIngo1980 Год назад +8

      ABSO-FREAKING-LUTELY! DO! IT! .... Andreas is great. His content is awesome. And what he and his team of volunteers have achieved in the last few years is just sooooo amazing. Get him on your show! Now!

    • @spicynoodle7419
      @spicynoodle7419 Год назад +1

      +1 to that, i've watched hundreds of hours of his streams/videos
      dude is awesome

    • @m1kr0kosmos
      @m1kr0kosmos Год назад +1

      Agreed 👍

  • @atalhlla
    @atalhlla Год назад +47

    For me, the 2 biggest moments were: 1, writing out my thoughts before even trying to write any code; and 2, realizing just what kind of maintenance nightmares early-me created. (No, early-me, 7 layers of inheritance is not abstraction, it’s a matryoshka doll of misery)

    • @MrLowbob
      @MrLowbob Год назад +5

      the matryoshka of misery... thats a perfect analogy. if I ever have a junior under me, loving inheritence to an unhealthy level I'll take that expression with me :D

    • @mrsquiggles1379
      @mrsquiggles1379 10 месяцев назад +1

      I am recently working on refactoring and finally finishing my very first like big program (a console rpg game with interactive combat maps) and dear god im so frustrated with how i did everything

    • @Haise-san
      @Haise-san 6 месяцев назад +1

      Only 7? Lol

  • @olafbaeyens8955
    @olafbaeyens8955 Год назад +10

    The first thing that made me a great developer is the moment I discovered that my code was good but the Windows API call had a bug. I went to my boss and said that it is not the companies fault that there was an issue with the program.
    His advice was golden: "The client does not care where the fault is, fix it"
    Since then I never used an excuse anymore that it was someone else fault, I would find a good workaround to make it work even on faulty configured PC's. Software that does not require the client to do patches, update firmware to fix some problem is better in demand.

  • @MrLewy192
    @MrLewy192 Год назад +2

    Stoked to watching this, starting next week!
    Thanks Prime, been feeling like there is a missing piece of my career and this video highlighted it perfectly.

  • @widnyj5561
    @widnyj5561 Год назад +14

    For me it was not a single moment, but whole course about electronics and basic logics leading to simple CPU implementation in VHDL, putting the last revision into FPGA, coding the micro instructions via dip-switches and see the result of addition on a few diodes.
    Second best was implementing a bootloader for Z80 in pure assembly, working this close to the architecture you can fully understand is quite striking and helped me a lot in learning in and outs of modern CPUs operation (and advanced mechanisms like branch preditor, paralel execution, cache handling) and using those during development.

    • @olafbaeyens8955
      @olafbaeyens8955 Год назад +3

      VHDL also leveled me up big. Creating you own CPU bit by bit is epic. And you do not need to have a 8 bit CPU could also be 4 bits, 2 bits, 13 bits, 22 bits,...

  • @lucccar
    @lucccar Год назад +1

    I've identified myself so much with your career examples of important moments! It's nice that the path I've chosen for my career so far have already been taken. Your channel is the only dev channel I think is really interesting.

  • @hld3738
    @hld3738 Год назад +3

    You make me excited to program again, thanks for that. I bought the book combo and am looking forward to starting this weekend.

  • @EusebioResende
    @EusebioResende Год назад +1

    I experienced exactly the same. Those Eureka! moments are priceless. Love your content. Cheers!

  • @jonathan.watson
    @jonathan.watson Год назад

    Thanks for the recommending of your course, going to check it out. Appreciate all the work you put in.

  • @Gahlfe123
    @Gahlfe123 Год назад +25

    one of my final project in college was making a new programming language using ocaml and the micro C compiler. only many years later am i finally understanding everything that seemed worse than rocket science to me at the time lol

    • @monad_tcp
      @monad_tcp Год назад +2

      OCaml is one of the best programming languages. Not too much "mathy", not too much "C low level" giberish. Perfect combination, oh. chef kiss !

    • @Alcani3ca
      @Alcani3ca Год назад +2

      Interesting. That was also one of my last projects in college also using Ocaml and C. I had a blast and learned a lot because I had basic knowledge of functional languages and strong knowledge of assembly.

  • @Goobermanguy
    @Goobermanguy Год назад +7

    For me was when I finally got an intuition for the "full stack": logic gates -> HDL -> asm -> C & the OS -> build systems, higher-level langs, abstractions like OO/ECS, libraries/frameworks -> philosophy, project organization. Big picture made me appreciate how amazing this all is!
    Also, Google-fu and coding experience to skim docs quickly for what I need.
    Also learning OCaml in college (first taste of a new coding philosophy).

    • @themichaelw
      @themichaelw Год назад +2

      Hardware is underrated. Nand2tetris is a fantastic resource for the hardware to software stack.

  • @riebeck1986
    @riebeck1986 Год назад +1

    There's also another book about programming language implementation called craftinginterpreters. Its a great read and is also freely available online.

  • @ale-lp
    @ale-lp Год назад

    I've been hearing a bunch of different people about the experience of writing compilers and interpreters and how much they learned in the process, can't wait to try it on my own! Thanks for the discount code!

  • @josemonge4604
    @josemonge4604 Год назад +4

    I'm down to take the course. I always wanted to build a compiler and I liked your maze recursive algo epiphany. That sold it to me

  • @JacksHQ
    @JacksHQ Год назад +1

    Dude, I've been subbed to you for a few weeks now, watching all your content, and I just noticed that your sub count is 80k which is crazy because your content deserves at least a mill

    • @lasfito
      @lasfito Год назад

      this is his second account, the main one is 200k

  • @elhaambasheerch7058
    @elhaambasheerch7058 10 месяцев назад

    I am so grateful that I discovered this channel, OG!

  • @pigeonnnn
    @pigeonnnn 8 месяцев назад

    Absolutely incredible course! You are a really passionate and humble teacher

  • @zsytssk5176
    @zsytssk5176 Год назад

    Think you for that course, I just have watched it, It's amazing.

  • @madlep
    @madlep Год назад +2

    My data structures moment was hash maps as I was flipping through the data structures and algorithms text book at the start of the semester in 1st year CS. There was a whole discussion on the trade offs of choosing a hash size and balancing memory usage vs performance. Realising it’s not just reciting wrote steps, but there is design and creativity and nuance and that you had a bunch of levers at your command that you need some experience to drive properly was 🤯

  • @tehArgento
    @tehArgento Год назад +2

    Thanks for the free course, I really appreciate it

  • @jonnymorgue
    @jonnymorgue 9 месяцев назад

    I've watched a number of your videos and I've found them informative and amusing, but this is the one that got me to subscribe to the channel. I spent my formative years programming in the Visual C++ IDE in the late '90s. so when I finally grew out of Windows and needed to compile stuff for other OSes I had zero clue how to use a compiler that wasn't baked into the IDE. And so watching this and hearing how building a compiler has opened your mind to new ways of looking at things has inspired me to want to pick apart that process and see what's happening under the hood. So thank you for that!

  • @nickguerra8460
    @nickguerra8460 Год назад

    Thanks for the free course! I can't wait to get into it.

  • @joshb.9380
    @joshb.9380 Год назад

    Great stories! I’ll definitely take a closer look at the courses and books you linked.

  • @grumpylibrarian
    @grumpylibrarian Год назад +1

    Prime's two great moments: discovering JDSL and learning that html tags can't be nested.

  • @HelloThere-xs8ss
    @HelloThere-xs8ss Год назад +1

    i almost dropped out during the intro cs class at university 4 years ago. One person talked me out of it in the class. I thank that person today.

  • @lampham7874
    @lampham7874 Год назад

    I had the same experience, although in the compiler, I just finished the lexer only. start to love this guy

  • @aimentetbirt1363
    @aimentetbirt1363 Год назад

    Thank you so much, this is very much appreciated

  • @therealestsnake
    @therealestsnake Год назад +2

    self referential types are cool and all, but i don't really use them, unless im doing a custom language (aka a DSL lmao)
    the compiler one was also incredibly valuable for me as well. i took my college's compiler course and it was absolutely worth it

  • @patrickmeade8577
    @patrickmeade8577 Год назад +1

    Prime u da homie dawg

  • @tropictiger2387
    @tropictiger2387 Год назад +1

    The book that got me to really understand recursion is: The Little Schemer by Friedman and Fellleisen. It starts really simple and layer by layer builds up to to the hard stuff.

  • @sealsharp
    @sealsharp Год назад +1

    I don't remember when, but somehow along the way i understood a thing about stack, registers and memory. We work in C#, so you can go quite far without knowing it but when things go wrong and the issue seems complicated, it really helps to understand what actually happens and what can happen.

  • @oualid9486
    @oualid9486 Год назад +3

    I'm gonna start my master's degree in software engineering next semester and apparently there's a very hard class on compilation where one of the requirements to pass is to build a compiler. I already took a class on language theory and computation.(math field). It was very hard .

  • @buddy2762
    @buddy2762 Год назад +1

    I picked up Writing An Interpreter In Go a few years ago. It is a fantastic book. I had a pretty good understanding of lexers, parsers, ASTs, etc, before starting the book, but I still learned a ton by writing the code. There is no substitute for doing the actual work. There is a follow-up book, Writing A Compiler In Go. I haven't read it yet, but it's on my list.

  • @tiffles3890
    @tiffles3890 Год назад

    Thanks for the course.

  • @sameerakhatoon9508
    @sameerakhatoon9508 Год назад

    thank you for sharing resource to learn compiler design!

  • @JakobKenda
    @JakobKenda Год назад +1

    I think printing whole numbers was the problem that solved recursion for me.
    Building a compiler was the next step, yes. Or just a mathematical expression parser (better known as calculator) first.

  • @anlumo1
    @anlumo1 Год назад +1

    My moment was in QuickBasic back in the early 90s when I suddenly understood how pointers work. Basic doesn't have a pointer type, but it can hold a number that happens to be a memory address I was able to pass into interrupt handlers to do things with the data at that address.

  • @mangalegends
    @mangalegends Год назад +1

    You know, i was actually looking for a compiler course to go through. Something i always regretted not taking in college. I'll have to check it out lol

  • @flyte9844
    @flyte9844 Год назад +1

    Thanks Tom !!

  • @hamidhussainy6448
    @hamidhussainy6448 9 месяцев назад

    Awesome man!!!!

  • @Fuxy22
    @Fuxy22 Год назад

    Never had a hard time with recursion... understanding 3D and representing it in 2D took me longer than I would like though.
    I guess looking deeper would always give you a deeper understanding.

  • @TheLummen.
    @TheLummen. Год назад

    Thank you, you crazy man !

  • @samgould8567
    @samgould8567 Год назад

    For me, it was reading a systems programming textbook front-to-back, developing a Scheme DSL, and diving headfirst into the Linux CLI.

  • @frontendWizard69
    @frontendWizard69 Год назад

    you're the man. I wish we could work together one day, i learn a lot from u and im even frontend oriented

  • @jgndev
    @jgndev Год назад

    It is a great course, highly recommended

  • @AndreiTeodorPetre
    @AndreiTeodorPetre Год назад +1

    Just in time for my Google interview next week! 🙏

  • @camillaericajuliarandal332
    @camillaericajuliarandal332 Год назад +1

    @ThePrimeTime in the free preview at -14.00 you mention gc pressure. I'm not sure everyone who will take this course will know straight out the gate what garbage collection pressure is. Is there a glossary for those people ?
    Love everything you do for the community

  • @mikethemonsta15
    @mikethemonsta15 Год назад

    Thank you!

  • @TableTopFinder
    @TableTopFinder Год назад

    I love making software efficient, going through memory profilers to reduce allocations and optimizing algorithms or response times makes me so happy!
    However, I worked for several companies now, I have yet to come accross a company that cares about any of this. 😞

    • @jww0007
      @jww0007 Год назад

      check hagemeister posts

  • @engine_man
    @engine_man Год назад

    Mine was after picking up unity and having visual representations of objects. OOP just clicked and made so much sense after that

  • @julienarpin5745
    @julienarpin5745 Год назад

    That moment for me was when my first encounter with a multi threading opportunity in a major Canadian bank was successful on first try and reduced a week long process to 30 minutes

  • @redhood7105
    @redhood7105 Год назад

    Building a compiler, even the crappy one is a so, so rewarding experience. Also, it requires a lot of math, patience, and desire to be a good software engineer

  • @Griffin12536
    @Griffin12536 Год назад +2

    Been trying to self learn programming for half my life, wondering why I could never get the hang of it. Just last week I decided to ditch all the abstraction and black boxes and start learning asm. Things are making so much more sense at such a faster pace now. I thought I knew what a stack was before but... now I KNOW what a stack is. It's a shame there's so much abstraction for beginners when just a peek under the hood could illuminate so much. Definitely gonna check out the Algo course.

    • @vincentcjs
      @vincentcjs Год назад

      @@chris94kennedy everyone’s brain works differently and absorbs information / get motivated differently

    • @chris94kennedy
      @chris94kennedy Год назад

      @@vincentcjs fair enough

  • @geldan
    @geldan Год назад

    Linked lists for me too, reading Jamsa's c/c++ programmer's bible in the back of my mom's mini-van when I was 13

  • @njdarda
    @njdarda Год назад

    you're the best, dude

  • @KonradGM
    @KonradGM Год назад

    I'm curious abouw how did you approach building an interpreter / compiler when you first did it. Now adays we have books you mentioned, and a lot of different resources, but i always like to hear about the leanring approach others took to achieve something.

  • @weatherwaxusefullhints2939
    @weatherwaxusefullhints2939 Год назад +1

    I started watching your course and I'm now watching it instead of porn. If you knew me, you'd know how much of a compliment that is. You are the perfect teacher for me. If I ever get a decent job, I'll try to bribe you to make more courses

  • @awaws
    @awaws Год назад

    Take this course and be the new Tom!

  • @kilaposhi
    @kilaposhi Год назад

    Ok next step, building a compiler!

  • @karolylonich314
    @karolylonich314 Год назад

    Thanks 🎉

  • @polaris877goodman9
    @polaris877goodman9 Год назад

    thank you soo much

  • @MrLowbob
    @MrLowbob Год назад

    ah yes... i remember in uni, when we had data structures and we had to implement different types of lists ourselves. then implement arrays with our selfmade lists and then implement another kind of list based on our array, then implement stacks with our lists or arrays and queues and hashmaps... the performance was hell, because we piled bad code on bad code, but it was really interesting to do all this and learned quite a lot from all those excercises
    ..
    and then we used those shitty selfmade datastructures to implement every sorting algorithm in the book.
    i loved it.

  • @DNA912
    @DNA912 Год назад

    One of my biggest moment was easily when I used Haskell at university. Not because I use it. But it changed how I see code, it changed how I view programming, it changed how I think about a problem. (the course also was quite broad and about programming paradigms in general, so it wasn't just functional, it's also where I got introduced to rust).

    • @jww0007
      @jww0007 Год назад

      what exactly did it change

    • @SethRider
      @SethRider Год назад

      Monads mo problems

    • @DNA912
      @DNA912 Год назад

      @@jww0007 nothing crazy really, I just started to write better code, because Haskell forced me to code functions with Single Responsibility. Or at least I became a lot better at breaking up the code, readability.
      Also, at this point in my life here, all languages I've ever used were all very similar to each other, (basically just C and Java) so it really made me realise how different languages could be.
      Also it really made me understand how to think about recursion and work with it.
      Haskell in general was so different from anything I had ever seen or even could have imagined a language could be before, it really opened up my mind to what coding could be.

  • @carloscorrea260
    @carloscorrea260 Год назад

    I cant afford paying the plan right now, but I promise you I will do it when I can because you deserve it

  • @JJ-jh4cm
    @JJ-jh4cm Год назад

    @ThePrimeTime didn't you have a video where you taught recursion by solving a maze? Don't know if it was a year or two ago tho, and I can't seem to find it lmao

  • @paktric
    @paktric Год назад

    My favorite moment was learning functional programming

  • @oredaze
    @oredaze Год назад

    Where do you get your energy from anyway, you are always so excited?

    • @deniyii
      @deniyii Год назад +1

      High on life as they say. Also he has a dope community, I presume hanging out on twitch with the degens is a happy place for him

  • @tapu_
    @tapu_ Год назад +1

    Tom would've created a compiler in chatGPT

  • @philippelhaus
    @philippelhaus Год назад

    Liked simply because of great personality

  • @BPTtech
    @BPTtech Год назад

    As a devops guy the 5 year old Jenkins server under someone’s desk is more important than understanding a sorting algorithm.

  • @_curtman
    @_curtman Год назад

    Oh my god, oh my god!

  • @Xe054
    @Xe054 Год назад

    The algorithm's course is awesome. I just wish I could share some mistakes I found or ask clarifying questions in the comments. I'd pay for this.

  • @andreffrosa
    @andreffrosa Год назад

    Where can I find the videos of you building your own compiler?

  • @kamalmohamed6611
    @kamalmohamed6611 Год назад +1

    Yeah, I saw you algorithms course a little long ago, but I backed off because it's in typescript 🥺

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Год назад +2

      I wanted it to be peeling to as many people as possible. I think C would have been the best, but it's also limiting the reach

  • @jimigrunge
    @jimigrunge Год назад

    The most prolific lesson I was ever taught as a junior dev - "In order to understand recursion, you must first understand recursion"

  • @yarrichar
    @yarrichar Год назад +1

    Yeah the first time you get the difference between a class and an object... wow

  • @DetectivePoofPoof
    @DetectivePoofPoof Год назад +1

    Was "flood fill" the stack-based recursive maze-solving algorithm that made you understand recursion by any chance?
    cuz it was for me

    • @DetectivePoofPoof
      @DetectivePoofPoof Год назад

      Though I prefer the iterative version that just uses a stack :D

    • @DetectivePoofPoof
      @DetectivePoofPoof Год назад

      I mean they both use a "stack" but the one where the stack is a declared data struct and not the call stack

  • @pixelsam123
    @pixelsam123 Год назад

    Tom is a genius

  • @nomoredarts8918
    @nomoredarts8918 Год назад +1

    Link to repo, please

  • @elemedhai
    @elemedhai Год назад

    is it bad if ive never had one of these moments?
    ive been programming for 5 years now and i have a job, im even pretty good at my job,
    but i cant seem to come up with a single moment/thing that has affected me at such a deep level

    • @lilclorox8558
      @lilclorox8558 Год назад +2

      you most likely had similiar moments you just never realized they had impact on you

  • @TheKennyWorld
    @TheKennyWorld Год назад

    Thank you dad

  • @malteesch
    @malteesch Год назад

    How much does building an interpreter differ from building a compiler?

  • @ea_naseer
    @ea_naseer Год назад +1

    University has killed programming for me. Computer science feels hopeless... I haven't coded anything cool for a long time.

  • @markzuckerbread1865
    @markzuckerbread1865 Год назад

    Never met anyone who understood tower of hanoi

  • @martiananomaly
    @martiananomaly Год назад

    So.. my college is offering a Compilers course next, I reckon you'd want me to take it?

    • @jww0007
      @jww0007 Год назад +1

      it's for chads,

  • @MithicSpirit
    @MithicSpirit Год назад

    If you like recursion so much you'll love Haskell

  • @Deemo_codes
    @Deemo_codes Год назад

    Thank you. I dont come from a cs background (I was a chemist) but now work in software. I think im pretty good at my job but hopefully this can level me up.
    For recursion, one of the things that helped me get it was using a functional language with pattern matching in the function clauses (elixir in my case) so you have 1 clause for the base case and a clause for the each of the other cases. Now i recurse as a matter of course in elixir

  • @user-tb3xn7wo7g
    @user-tb3xn7wo7g Год назад

    no don't want sadagen we want Bandana-gen!!

  • @andrewcrook6444
    @andrewcrook6444 Год назад

    HTML nested paragraphs? ;-)

  • @nick-pu4zae
    @nick-pu4zae Год назад

  • @unconv
    @unconv Год назад +1

    ChatGPT deez!!

  • @isaackoz
    @isaackoz Год назад

    $39/m is hella cheaper than college. Not sure if you'll read this Prime, but do you have a video or just some advice on college education for computer science? I have 2 more years left, but dread the thought of finishing it. I learn more from resources like youtube (and soon frontendmasters) than I ever have from my entire college experience so far. Colleges and physical education are years behind online education in terms of quality and content. I've taught myself frontend/backend, python, typescript, React, SQL & noSql databases, etc. All college has taught me is calculus, what a variable is, and how to print a triangle in python.
    On one end, I only have two more years and getting the piece of paper will help on my resume (so I'm told). I am starting upper div classes next semester, so I'm not sure if my experience will be better in those. But on the other end, I am learning more and enjoy building projects on my own terms. Right now I'm working on my own startup and do contracting for some family friends' businesses.
    I don't want college to hold me back from success, but then again, it's only two more years. I hate the idea of going "as a back up plan." What would you recommend someone in my position do?

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Год назад +2

      you know, this is a very hard question and the final two years of college were the best for me. the first couple were terrible so i get it.
      personally i stuck through college and i am happy that i did, i am unsure if i would be who i am without it.

    • @isaackoz
      @isaackoz Год назад

      @@ThePrimeTimeagen thanks prime, gonna stick with it for now and see how the last two years go. Reading online it looks like most companies won't even consider an application unless you have a bachelors

  • @amitpanthi8643
    @amitpanthi8643 Год назад +1

    ily prime no homo

  • @KroshkaMu
    @KroshkaMu Год назад

    We want theblueninjagen

  • @MrR8686
    @MrR8686 Год назад

    Top under rating data structures.

  • @emmanuellmiqueletti7029
    @emmanuellmiqueletti7029 Год назад

    where is the blue hair????

  • @empireempire3545
    @empireempire3545 Год назад

    Not sure if serious or some galaxy-brain Muratori-level troll -_^? : D

  • @handlechar568
    @handlechar568 Год назад

    Who is Tom?