I’ve Changed My Thinking On Self-Taught Development (...a bit)

Поділитися
Вставка
  • Опубліковано 29 лис 2024

КОМЕНТАРІ • 316

  •  9 місяців тому +6

    I am self-taught since I was 9y. BASIC on C64 sister computer (plus4) then ASM (BASIC was sooo slow :), then C on Amiga and DOS, Stroustrup v1 C++, Eiffel, Erlang, Obj-C in NeXTSTEP, C#,JS,TS,Rust etc.. it is an awesome ride , so many projects :)

  • @FightFestAnime
    @FightFestAnime 11 місяців тому +28

    I'm self-taught as well. 15 years professionally now. No clue if I'm doing it right though, but I guess I am, clients are happy.

  • @codecaine
    @codecaine 11 місяців тому +12

    I once had a friend who constantly hopped between different programming languages, never really mastering any. He often shared grand plans about undertaking a major project, but within a week, he'd shift his focus to learning a new language. I pointed out to him that, despite the years that have passed, he hadn't really created anything substantial. I suggested that if he had dedicated himself to excelling in just one language, he would have made far more progress than he did learning the varied syntaxes of multiple languages.

    • @SianaGearz
      @SianaGearz 9 місяців тому +1

      Progress as you see it is overrated. I'm sure your friend learned a lot. Honestly when do you ever need to do everything start to finish? Most work is in filling out the gaps left by others and fixing bugs left by others :P

  • @ivandardi
    @ivandardi 11 місяців тому +39

    I did the opposite. I started with C, C++, then learned Python, did a whole bunch of Python while I was learning Rust, and now I use Python and Rust interchangeably depending on what I'm doing. Still, data structures and computer architecture are the absolute basis of knowledge when it comes to programming.

  • @tigana
    @tigana 5 місяців тому +1

    I’m at this exact point in my career. Glad to know I’m on the right path. I’ve learning C right now to learn more about pointers etc. I’m fine with switching to Rust to get the same result. Want to learn more about computer hardware as well

  • @archermorgan
    @archermorgan 10 місяців тому +5

    I'm now retired after 44 years of software development. I was lucky in that it was never a job for me, but a hobby that paid me a salary. I discovered your UA-cam channel on Rust/Slint and my inspiration gear kicked in again, so thank you! Your lesson here to self taught developers is a great one. Of course, even if we learned something in college to be able to get that job, this career is always self-taught, and I'm wagering it will be that way forever. The languages I have learned were made much easier because I learned much lower level languages first. Assembler taught me how Cobol worked, C taught me how VB worked, etc., etc. Another lesson I learned in college and found very valuable throughout my career is knowledge of the data you are processing. Poor data structure design will be reflected in your code, even if your code is pristine. For example, writing software to process an over-normalized database is a nightmare. Thank you again for the inspiration, I'm now a fan!

    • @TravisMedia
      @TravisMedia  10 місяців тому +1

      Thank YOU for sharing this!

    • @sanjaypoonaisingh4835
      @sanjaypoonaisingh4835 9 місяців тому

      Your comment about understanding your data just clicked for me. I'm just starting to learn software development/engineering and I wrote a simple script which operated correctly but because the input data file was structured oddly it caused the output to act weird.

  • @jonesherbert
    @jonesherbert 11 місяців тому +19

    I'm self taught. I started with the big blue C Primer book. I was working nights so during the day when I couldn't sleep I worked my way through the exercises. I think that's the key, just do programming exercises in a low level language till you internalize how it all works.

  • @ziebplew
    @ziebplew 11 місяців тому +8

    As a Junior Dev with a CS degree, one thing I've begun to appreciate is tutorials. I think structured tutorials are actually pretty underrated. I spend a lot of my time reading documentation on the job and applying what I read but, ultimately, I learn things haphazardly in the process. Having someone start from square one and walk you through a framework, or what have you, is so valuable in being able to piece together a bunch of half digested ideas you might have gained from just reading the docs and doing trial and error in an IDE.

  • @tauraik
    @tauraik 11 місяців тому +8

    thank you Travis, this is really valuable. I've been debating weather or not to learn a lower level language and now I think its the only way to really grow as a self taught developer its going to be tough but I'm sure so worth it at the end.

  • @kevinle9953
    @kevinle9953 11 місяців тому +14

    i highly advocate going lower. i started my journey by coding in python and js, and after learning some java fundamentals (which helped me learn typescript/es6 classes), i feel life my base is so much stronger.

    • @yogeshhhhhh
      @yogeshhhhhh 11 місяців тому

      I second this

    • @majahanson311
      @majahanson311 11 місяців тому

      I agree, but I also suggest trying to go higher-level too. So many Java programmers would benefit from learning Scala, and same for C# devs learning F#. You end up bringing more concisely expressive approaches back with you to your primary languages

    • @SirusStarTV
      @SirusStarTV 11 місяців тому

      When getting lower than *c/c++* e.g choosing *assembly* you would understand *c* even better. When the compiler constructs the function for yourself you don't really understand what those "calling conventions" like "__stdcall" really mean.

    • @platin2148
      @platin2148 11 місяців тому

      I started with js on ie 8 i think, i never liked it to be honest, i then wanted todo game programming so i learned how to use im opengl. That i did in conjunction with learning C style C++ (handemade hero), i then moved for some months up several layers doung web development with back then raw javascript, then i wanted to see how other frameworks in that field are so looked into angular and preact/react and then i moved back to C++ developing a software for a ofen/heating circuit and now i moved one level deeper to develop systems with a custom RTOS fully in C, and even that wasn’t enough to statisfy my curiosity i learned app development for ios platforms on the side, and in the mid of this path when working with js i also learned Verilog to program Fpga‘s that was a lot of fun. My current goal is getting into PCB and hardware development on the side of my main job working on automotive rtos systems.
      Today’s code is still very much hmh style code and that is really nice to work with.

    • @platin2148
      @platin2148 11 місяців тому

      Learning how code looks and works on the processor level is really amazing today. Compiler Explorer is one the tools people should take a look at.

  • @spaaaaace8952
    @spaaaaace8952 11 місяців тому +1

    Thank you for affirming my thoughts. I recently graduated from a front-end BootCamp after getting into data analysis. What I realized is that I feel lost and stupid not knowing what's going on under the hood. Whenever I tell someone -- veteran or beginner -- that I want to learn a low-level language, they say that I don't, and that learning about data structures and algorithms is enough. While I plan to do that, I still can't be convinced that learning the basics from the ground up aren't essential, in every discipline, not just coding.
    After this video, I made up my mind to learn Rust instead of C++ or GoLang, for now. Not sure if I should learn Typescript first, though.

    • @benjiro1858
      @benjiro1858 11 місяців тому +2

      you should learn whatever gets you where you want to be in 1-5 years. And be comfortable with the level of abstraction that you enjoy the most. Engineers are writing code everyday knowing only just enough above and below their chosen level of abstraction. It depends on what you're satisfied with. You don't necessarily need to know how V8 works to shipping fully functioning web products, but you could learn C++ and read their source code. Wants, needs, and curiosity are better drivers than fear.

  • @shawn14isme
    @shawn14isme 11 місяців тому +8

    Im starting my programming journey with CS50 and raw C programming. Im on week 4. I feel like i couldn't imagine a language that abstracts away simple thinfs like strings and pointers. I cant wait to start messing with JS and python later in the class.

    • @TravisMedia
      @TravisMedia  11 місяців тому +7

      I think you'll find the route you've chosen rewarding when you get to JS/Python.

    • @shawn14isme
      @shawn14isme 11 місяців тому +1

      @TravisMedia hopefully! Im having some trouble deciding what direction i want to go after CS50. I really love game development. But web dev sounds way more viable and lucrative

    • @jesustarsia6994
      @jesustarsia6994 11 місяців тому +1

      ​@@shawn14isme i told myself that a few years ago and here i am... not learning web because i dont want to(i know basic html and css + js) and neither making my games in unity because i'm stucked in my desicion...

    • @SirusStarTV
      @SirusStarTV 11 місяців тому

      @@shawn14isme many programmers don't really know what to do with their knowledge. There's not much ideas to implement, even if you have the idea there could be no motivation to progress the project. Getting money is more motivating for people to continue programming, sometimes you can't rely on yourself for getting motivation.

    • @TheExtremeCube
      @TheExtremeCube 11 місяців тому

      In Java for an example, everything except primitives is a pointer. Which if you think about it is kinda stupid and unnecessary. It is nice to explicitly know if your type is passed by value or by reference (pointer). Abstracting this away makes things in some way simpler but in some ways also more complicated, because now in Java you can accidentally modify an object passed to a function without thinking. And this concept of passing by value vs by reference is obscured to new developers starting from java for an example. As far as memory management goes I feel like C++ RAII is also better than garbage collection. I feel like some language that allows the low level control, manual memory management and wide set of features of C++ but with a more modern build system, package manager and with reflection, maybe even extention functions, and something like Kotlins scope changing functions, and less verbose syntax would probably be my ideal.

  • @ChrisPirillo147
    @ChrisPirillo147 11 місяців тому +1

    Thank you so very much for the invaluable insights. Exactly what I needed to hear at the perfect time. I was thinking I should get myself familiar with the low level concepts. Started with a high level, abstract programming language and now I need to pick up C++ or Java to dive into lower level implementation details.

  • @hannahd79
    @hannahd79 10 місяців тому

    I’m just beginning my self taught journey and have been learning C as my first language to understand the fundamentals - this is the motivation I needed to continue doing what I’m doing!

    • @TravisMedia
      @TravisMedia  10 місяців тому

      You can't go wrong with that...

  • @vagneralves3892
    @vagneralves3892 11 місяців тому +11

    I really enjoyed your DevOps content, It would be nice to see more concepts about operations / infrastructure ( cloud) and system administration.

    • @TravisMedia
      @TravisMedia  11 місяців тому +6

      Thank you for the suggestions. I'm planning more DevOps videos for 2024.

    • @vagneralves3892
      @vagneralves3892 11 місяців тому

      @@TravisMedia I'll be waiting for it! thanks

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

    I've been learning bits and pieces about comptuer sciecne concepts when I can for about ~7 years now, not that I'm a programmer, I just like to know how things work, it's just amazing how it shows you new ways of thinking and structure your thought process. now that I'm seriously considering software development as a carear, I'm just learning the details of how to apply those concepts to write code (and I'm only fluent in C, lol)
    I couldn't agree more.

  • @dameanvil
    @dameanvil 9 місяців тому +3

    00:00 🛠 Learning Rust introduces the concept of ownership, fundamental for memory management.
    02:41 💡 Starting with abstracted languages like JavaScript or Python is common but may lead to knowledge gaps later.
    04:18 📚 Supplement learning with computer science concepts like memory management and data structures.
    05:27 🖥 Consider learning a lower-level language like C or Rust to understand deeper concepts and improve problem-solving skills.
    06:34 📆 Plan for 2024 includes regular videos covering essential concepts for self-taught developers.

  • @Strawberry_Htet
    @Strawberry_Htet 11 місяців тому +2

    As a learner that started with cs50, I'm pretty proud of this. This makes me pretty easy to understand things.

    • @TravisMedia
      @TravisMedia  11 місяців тому +2

      How was cs50? Was it beneficial for you? Do you recommend it?

    • @Viral757_
      @Viral757_ 11 місяців тому

      @@TravisMedia
      Absolutely ☘☘
      ua-cam.com/video/8mAITcNt710/v-deo.html

  • @letstalkdev
    @letstalkdev 11 місяців тому +2

    I heard someone say this at some point: Software engineers should understand at least two levels of abstraction above and below them.
    I keep repeating it because it is so true!

    • @TravisMedia
      @TravisMedia  11 місяців тому +1

      I like it!

    • @platin2148
      @platin2148 11 місяців тому

      I‘d probably say go by what leads you down the tree. There are things that seem to be rock bottom but there are layers benefit just harder to break in. Like if you work already at instruction level (asm from whatever platform) the step beneath is hardware design while i would probably start with discrete logic and then move to software based hardware design fpga‘s..
      I did the mistake of doing the opposite and that left me blank on the analog side.

  • @grimjim8463
    @grimjim8463 11 місяців тому

    Taught myself web dev and changed careers (JS/React), this year I'll be attempting to move into data analysis and focusing on Python. I'll also be picking up Rust, no rush, I'll be doing it slowly on the side just for fun to help expand my knowledge.

  • @davidbolu2404
    @davidbolu2404 11 місяців тому +6

    I had similar thoughts when I started learning programming. Surely it's not as easy as watching tutorials? If it was, devs won't be paid so much. So I felt I should challenge myself. After python I went to C#. I was a blast. I still use it today and it has made me learn a lot about concepts I won't have touched if i stayed with python only. Now when I write python, I even use type hints lol. I also got to know that there was ALOT i didn't know, there still is. But I'm glad, sort of. Thank you. I think going even lower with a language like rust will be helpful as well. I use C# more than python these days for backend stuff.

    • @TravisMedia
      @TravisMedia  11 місяців тому

      Thats awesome. I think we have a very similar story. I landed a job a few years ago at a C#/.NET shop. That was my first exposure to a "lower" language and it's one of my favorites to this day.

    • @lee4547
      @lee4547 11 місяців тому +1

      C# sharp is a high level language. Garbage collection is abstracted out. You rarely work with pointers unless you're working with unmanaged C++ code. I think I coded a bit mask a handful of times using C#. You have to go lower. Another thing is you need to learn math. All of these programming concepts are math. Functional programming is really functional math. Graph theory is used often when dealing with hierarchy's N levels deep.

    • @TravisMedia
      @TravisMedia  11 місяців тому +1

      @lee4547 It is, but it's much lower than where many self-taught devs start and stay at. A JavaScript developer will gain much insight by taking a short course and building a few things with C# ("a list and array isnt the same?")

    • @lee4547
      @lee4547 11 місяців тому +2

      I think with today's hardware you don't have to worry too much about the overhead of a generic list in C#. Why even use an array and deal with the resizing? You don't have that choice if you go with C. You need to learn how to resize dynamically, so the array is reusable after it's declared. Then they can learn how convenient a generic list is or even just a Generic in general for that matter and why a framework is necessary. I think understanding the math first and working your way up is probably the best way to learn IMO. It's not sexy but a formula is succulent and expresses clearly how it works. Code is verbose. You have great content btw! good job! @@TravisMedia

    • @TravisMedia
      @TravisMedia  11 місяців тому

      Thats good stuff. Love these convos that help people move forward!

  • @techlifejournal
    @techlifejournal 11 місяців тому +2

    4:54 What you said is 100% right but unfortunately, I come from a tier 3 college (India) and I learned most of the stuff from UA-cam and the internet. I recently watched a Netflix show called The Playlist (a web series based on Spotify like how they tackle their problems and are well-established as a music streaming company) where the core dev modified the network protocol to make Spotify fast. After seeing this I have realized I know nothing, though we studied the OSI model at college I think learning things by doing is the most appropriate way, we don't find the time when we do a job but on weekends I do want to learn stuff, and scale up. Can you please provide me a road map to improve?

  • @ChaosArtist
    @ChaosArtist 11 місяців тому

    I started coing in Python, then I started using JavaScript more for my job. I'm a self-directed learner also. Thanks for this this video. Learning a lower level langauge like Rust makes sense and I have found myself dabbling in it the past few months. I plan on dedicating more time to it.

  • @TheExtremeCube
    @TheExtremeCube 11 місяців тому

    I am self thought and for the last year I have been working on a game engine + game in C++ and it is the best decision I have ever made in my programming journey. I have found practical applications for that stuff that interviewers like to ask that I considered unimportant before like time complexity and data structures. I have actually come to enjoy CS fundamentals now.

  • @hellshulk
    @hellshulk 11 місяців тому +1

    I knew it when I was just 19 years old. But still I walked away from pointers towards Java. It the best language being platform independent.

  • @shafialanower3820
    @shafialanower3820 11 місяців тому +1

    I am learning c# right and I have had a way more pleasant experience in learning and understanding stuff than when I started python during my college days

  • @brianm6965
    @brianm6965 11 місяців тому +4

    If you can learn C++ everything else in every other language makes a lot more sense. Writing asynchronous code in C++ means I have a deeper understanding of async/await in C# or JavaScript.

    • @theintjengineer
      @theintjengineer 11 місяців тому

      Precisely. I started and stuck with C++ and every other language was just a matter of syntax. I was able to pick up TypeScript, Rust, Python, and C# quite easily. It would have been the same with Java, if I had wanted to.
      Had I come from any other languages, I would have had a harder time, especially with Rust. Had I started with Rust, it would have been almost as complex as C++. But after you spend your fair amount struggling with C++😂, then you're good, bro. You can pick up everything else.

    • @devon9374
      @devon9374 11 місяців тому

      ❤❤❤​@@theintjengineer

    • @TheMrblaster2012
      @TheMrblaster2012 10 місяців тому

      I am learning javascript, should I switch then'

    • @jsonkody
      @jsonkody 9 місяців тому +1

      ​@@TheMrblaster2012 No! Keep learning, stay focused and stop finding ways to totaly destroy your progress (like jumping to new thing every week without learning anything). Its not so much important what the first language is AS it is important to make it from start to end.

    • @TheMrblaster2012
      @TheMrblaster2012 9 місяців тому

      @@jsonkody thanks I'll keep it in mind

  • @Fifciuu
    @Fifciuu 11 місяців тому +1

    Very valuable video. I am somewhere in place you described. I've already grasped some more low level concepts, playing with Golang, sometimes with algorithms and data structs (e.g. recently I had week with binary trees). It doesn't necessarily have direct impact on my frontend developer carrier. However, I think it has implicit impact, I have feeling like I grew as a developer, generally.

  • @harleyspeedthrust4013
    @harleyspeedthrust4013 5 місяців тому +1

    Very good advice, but it's still important to learn C and even some C++ IMO, but probably after Rust. Rust is not quite as low level as these two, so you'll learn some more about how computers work under the hood. You'll also learn WHY Rust is the way it is, and it's important here to learn Rust first because you'll translate good memory managements habits from Rust into good habits in C and C++. You'll also see how easy it is to mess up with C and even with C++ which will give you a better appreciation for Rust

  • @vitalyl1327
    @vitalyl1327 11 місяців тому +1

    Even C# developers must understand in depth the difference between the stack and the heap. Less so with JVM, but still important.

  • @aloSolo
    @aloSolo 10 місяців тому

    Thank you this definitely helps, bc even though i see how javascript makes things work, and i see why people say it works, i wanted the why’s. Thanks looking forward for your videos.

  • @ldandco
    @ldandco 11 місяців тому

    Excellent video.
    The value of a Software Engineering degree is untangible
    My first language was Logo (the turtle) during the 80s.
    Then I continued with Basic, Turbo Pascal, then C and Borland C++.

  • @WinstonCodesOn
    @WinstonCodesOn 9 місяців тому

    Yes, to some degree understanding all the mechanics of what the computer is doing in memory management helps - but you don't need a CS degree to learn that. You can pick up any of these topics yourself. I did it by picking up the right books (well... we don't use books now - use websites and UA-cam).

  • @Nerdy_Aomeba
    @Nerdy_Aomeba 11 місяців тому +1

    Wow amazing video! This is a great video idea to release and super helpful for people too.

  • @PhrontDoor
    @PhrontDoor 11 місяців тому +1

    They are great first languages. I, too, advocate for the possibility of python being a first language.
    But something like C/C++, even Pascal are gonna be one eventual (soon, near the beginning) necessity. And that's for no other reason than it exposes you to precisely those kinds of things as memory handling/management, semaphores, messages, interrupts, and a genuine manner by which to code your own data-structures such that you can see what is going on.

    • @platin2148
      @platin2148 11 місяців тому +1

      I think the first language should be something strongly typed to not get to frustrated if you can’t figure out why something gives you wrong answers.

  • @CruciformCoding
    @CruciformCoding 11 місяців тому +23

    Excellent and relatable video. I had been mostly self-taught when I got my first real web dev job. After a couple of years I began learning Go. It made me a better dev in all the other languages I was using. I did end up getting a bachelor’s degree a few years later, but I really appreciate lower-level languages now… like you said, TS > JS. 😂

    • @TravisMedia
      @TravisMedia  11 місяців тому +5

      Go is another good one!

    • @fern-cx3bf
      @fern-cx3bf 11 місяців тому +1

      Hello friend, i noticed that your comment is pretty recent, so i’d like your perspective on my situation. I’m in HS right now and in 8 months i plan on going to a community college for a SWE degree. The course is 40 months and overall it costs of 40’000 pesos ( around 2000 dollars ). It’s very very cheap to get and i get 8 months cut off than the average 4 year course. Do you think it’s worth it? I know it’s not necessary to have a degree in my field but would the degree be a good rate of investment?

    • @maxfrischdev
      @maxfrischdev 11 місяців тому

      @fern-cx3bf
      In my humble opinion, if it does not put you into BIG debt, like it does in the US.. Yes.
      We have to keep in mind that "you don't need a degree to get a job anymore!🎉🕺🏼💃🏼" ..gets views..
      Many companies, big and small, still prefer people who went through a structured university curriculum, learned CompSci basics AND(!) showed that they can learn and finish something! Don't take that fact too lightly!
      If you can afford it without going into detrimental debt, I would recommend to still get a degree in either Computer Science, or Software Engineering!
      It does much more for you than "..It doesn't hurt"
      Make friends(maybe rather learning-friends, nerdy-friends, "lets make some computer business-friends", than just the party-friends 😂), nurture those contacts(they might be very useful long-term friends and even maybe one day work somewhere and can recommend you for a job, if you are looking!)
      And.. try to really learn and use what you study in class, don't just panic- prepare for the exams 2 days before 😅
      Try to do internships in what ever company in what ever at least somewhat IT/Programming related role, it will help you A TON later when applying for jobs!
      Thank me in 3 years and 4 months! 😊
      (Yes, I wish I could tell younger Me some of those things... 😅)

    • @maxfrischdev
      @maxfrischdev 11 місяців тому

      ​@@fern-cx3bf.

  • @utubes720
    @utubes720 11 місяців тому

    I learned C, C++, and Assembly language in college, and fell in love with programming - No "web page" interactive widget feedback needed. I am so glad I did it that way. It's crazy to me how so many self-taught developers only know JavaScript or Python and have no idea how anything really works under the hood. And knowing other languages gives you an appreciation for why so many consider JS web development ecosystem a hot mess.

  • @thisbridgehascables
    @thisbridgehascables 11 місяців тому

    I’m self taught and can basically look at something and kinda dissect it down to its parts , then build off of it to learn. Yet, there’s concepts on the lower levels I bet would just allow me to see what I’m not seeing, or understand why things are the way they are.

  • @kirara2249
    @kirara2249 11 місяців тому

    my first programming language is Python, after learning this programming language, I just feel like I'm typing some english word, not programming. So I switch to C, and it like a new world, everything now have sense, I know the meaning of what am I doing, it's great experience. Even though everyone said that you don't need to learn much language, but I want to try other language some day.

  • @jamesbell8148
    @jamesbell8148 11 місяців тому

    10/10 content you really are helping on a massive scale thanks so much

  • @donjindra
    @donjindra 11 місяців тому +23

    I've been programming for 45 years. I've always been most interested in the nuts and bolts of these systems. For my first 20 years 90% of my programming was in assembler. So I came at this in the opposite direction that you did. I took computer science classes in college but anyone in this business should know that if you're in it for the long-haul you are always mostly self-taught. Almost everything I learned in a formal setting in college is now obsolete. I'm glad to see that you realize that understanding what goes on under the hood is very important. Btw, I hate Rust. I see no advantage to it. I predict it will quietly disappear.

    • @electrictrojan6719
      @electrictrojan6719 11 місяців тому +1

      I'm curious to know more? Please tell :)

    • @conradmbugua9098
      @conradmbugua9098 11 місяців тому +6

      That's what they said (quietly disappear)about js and php but they're still going strong

    • @johndoe-uo8nn
      @johndoe-uo8nn 11 місяців тому +1

      but Russinovich (sic!) says the opposite. what is your contrarguments?

    • @donjindra
      @donjindra 11 місяців тому

      @@johndoe-uo8nn I'll list a few. 1) Rust is almost unreadable. This is a problem especially today when most programmers seem to believe code documents itself. 2a) Hidden garbage collection in an embedded system is almost never needed and 2b) is not even appropriate for most limited resource machines. It's best to know exactly how much RAM is in use. This may not be as big a factor in a virtually unlimited resource machine, but I'd rather use Python there than Rust any day. 3) Rust is designed for idiot programmers who are prone to making amateurish mistakes. It's basically the nanny state in the computer language environment. 4) Rust tries to keep a good programmer from doing what he wants to do. He wastes time trying to work around that. Time is better spent elsewhere. 5) The way Rust allows (practically forces) you to use and reuse the same variable name is insane. It's easily abused. It adds to #1 above. (I'm not a fan of c++ polymorphism either.)

    • @steveoc64
      @steveoc64 11 місяців тому +1

      I’m only 42 years in programming now, and 100% agree about rust fading away to irrelevance.
      It’s all been tried before and failed miserably, for similar reasons.
      It will join a long list of “seemed like a great idea at the time” concepts that died out from an overdose of wishful thinking, whilst ignoring its obvious downsides.
      Good riddance

  • @korg47237
    @korg47237 11 місяців тому +4

    Interesting, I've self-taught Python the past few years and I haven't realized you allocated memory in lower languages still, I thought that was a thing of the past. Maybe it's time for me to finally pick up Rust

    • @TravisMedia
      @TravisMedia  11 місяців тому +2

      In Rust you don't have to manually allocate/deallocate memory, it has a unique approach that still will require you to get your hands dirty and know the concepts.

    • @korg47237
      @korg47237 11 місяців тому

      @@TravisMedia Right poorly worded from me haha, exactly for those points I want to get into that. Thanks!

    • @platin2148
      @platin2148 11 місяців тому

      Probably better to get into C++ to really get the gist..

  • @LG-bb5zq
    @LG-bb5zq 11 місяців тому

    C is very fun to learn imo. I learnt it as a first language and it has served as a very good basis for learning other languages. It forces you to understand the way memory works, and how a program is really running under the hood.
    The issue with C is that memory leaks and bugs are very easy to write, because of the manual nature of C's memory management system.
    Looking forward to trying Rust!

    • @etherweb6796
      @etherweb6796 11 місяців тому +1

      C is better. (Imo, ofc) - Rust is a syntactic nightmare that can be avoided by following proper programming practices in C. The only thing Rust has that I wish C did is slightly better metaprogramming - but even so, it is worth not having it to not having to deal with Rust's attempt to make c++ style coding "safe"

    • @platin2148
      @platin2148 11 місяців тому

      It seems like a lot of people don’t think beyond std today so they write stuff that still uses arrays without length, pointers instead of slices and didn’t get that most people have a set of different life time memory allocators. I suggest taking a look at handmade hero it shows and teaches a lot of things.

  • @tnetroP
    @tnetroP 11 місяців тому

    I picked up 6502 Assembler at 12 years old (Commodore 64) and C at 18 years old (Amiga 500). If I hadn't done that then I wouldn't have built a career in IT. I look around me and I'm amazed at how most of my colleagues don't understand how computers work at a very basic level.

  • @extremrams
    @extremrams 11 місяців тому

    Fantastic video - looks like we took similar paths. it was exactly the heap/stack part in the rust book that inspired me to start my journey to fill the holes i always avoided :)

  • @johannes.sbw-media
    @johannes.sbw-media 2 місяці тому

    At uni I build my own language parser and compiler. That is where I learned so much. There is one downside though. As one kind of knows on an inimate level what goes on underneath makes very tempting to do optimizing where it doesn't make sense. The number of SO questions asking whether foreach() is faster than for() are a result of just this.

  • @L8rCloud
    @L8rCloud 11 місяців тому

    My first self taught language was C++ and that was accompanied with heaps and stacks. It was very frustrating
    Then I did a course in program design and algorithms (using Basic)
    Then Lingo Scripting for CD ROM
    Then Java
    JavaScript, HTML, CSS (When JavaScript was horrible)
    ActionScript 2 (when Flash finally became useful)
    ActionScript 3, asynchronous (Flex)
    JavaScript (When flash died)
    C# (Xamarin for hybrid mobile)
    Now I’m doing embedded Systems (IoT)
    …..understanding how computers actually functioned (stacks and heaps) and then algorithms and design forced me to become a better programmer
    Being self taught (and being abstract in my thinking) allowed me to get ahead of programmers with diplomas who had drilled into them what was ‘possible’ and what ‘wasn’t’

  • @psygirl0111
    @psygirl0111 10 місяців тому

    I am trying to be a self taught programmer, but I am failing. I have been trying to learn Java (at my friend's suggestion since Java is still pretty much used in IT) without any success. I was looking to get a job as a QA Engineer, so I thought I should step up my game.
    The main reason I keep failing over and over is because there are so many tutorials and videos on YT and everybody has a different style of explaining. Before you know it I am going down this infinite rabbit hole of youtube tutorials and learning platforms. At some poing I even dropped Java and started learning Python, because some tutorial told me that it's going to help me be a better QA Engineer one day... I've mastered neither of these two languages. After a year and a half I lost all motivation to learn anything at all.

  • @ocxigin9220
    @ocxigin9220 9 місяців тому

    This is what am currently doing.
    Thanks for sharing ❤

  • @alexaneals8194
    @alexaneals8194 11 місяців тому +8

    I started as a hobby programmer with BASIC then C and then Assembly. Learning the lower level languages like Assembly can help you, but I would also recommend that you learn the basic data structures and algorithms. For example knowing about Binary Search Trees can help you understand why database indexes can be expensive (the trees need to be re-balanced for the inserts and updates and that can be costly).

  • @MaxTheFireCat
    @MaxTheFireCat 11 місяців тому

    To add to your point, it was only when I learnt about tcp/ip, the osi model, networking and HTTP more in depth that many javascript concepts clicked for me

  • @imflyingoverclouds
    @imflyingoverclouds 11 місяців тому +1

    Waiting your concept videos!

  • @krailamohammedislam6822
    @krailamohammedislam6822 11 місяців тому

    Amazing video, looking forward to see your future concept videos

  • @professorfoozle
    @professorfoozle 11 місяців тому +1

    No one ever talks about learning another low-level very fast language (as fast as C++): D. D (lang.) is super fast. But, not as fast as the forgotten language: Common Lisp. Common Lisp has been tested to be much faster than C++. As a matter of fact, Common Lisp has been tested to be the fastest language out of 88 tested languages for performance-1st place: Common Lisp; 2nd place: C++; and third place: D. Common Lisp can be used efficiently for AI development. And, Common Lisp is the only customizable language that I know of. But, it's never taught in schools. The same thing with D. D is more user-friendly, and quicker to learn than C++ and C. But I don't know why D is not replacing C++ in the large-scale software world. And D lang. is much faster than Rust, according to these benchmarks.

    • @big-anvil
      @big-anvil 11 місяців тому

      Benchmarks are misleading. It’s difficult to test what language performs better in every situation. A 2ms difference is not significant at all.
      Also Lisp is a functional language. In my view functional languages are fun to learn for a bit, but they can’t seriously replace C++. That’s a funny joke lol.

  • @ttrev007
    @ttrev007 11 місяців тому

    I am just starting out, my plan so far is to first take CS50P Python then CS50x. The idea of taking CS50x first seemed to much with it introducing multiple languages so i though learning python first would be an easier start. I think i was right. just learning python is plenty enough to start with. I look forward to your videos.

    • @TravisMedia
      @TravisMedia  11 місяців тому +1

      Sounds like a great plan.

  • @Shogoeu
    @Shogoeu 11 місяців тому

    A lot of people bad-talk University Computer Science education, but you learn things there that help you if you want to be more than a code monkey.

  • @fabricehategekimana5350
    @fabricehategekimana5350 11 місяців тому

    Thank you for this informative video ! I have to admit that I struggle with design patterns in general

  • @wombozombo
    @wombozombo 11 місяців тому

    I got a course off of udemy on data structures and I've been enjoying it. Not at all boring to me 🤓

  • @roz1
    @roz1 11 місяців тому +1

    You have to know the base of CS to understand what's going on.... C ,C++ will make u so much better that u will start understanding more abstracted languages like python

    • @TheMrblaster2012
      @TheMrblaster2012 10 місяців тому

      I am doomed then because I have been learning JS for a while so I'd have to switch to one those languages to get a better understanding of CS :c?

  • @hdjfjd8
    @hdjfjd8 11 місяців тому

    One suggestion would be to make a roadmap style video covering the concepts that one should be aware of . Also I have a question , will learning Java help in covering the same concepts as C,C#,C++ or Rust ?

    • @TravisMedia
      @TravisMedia  11 місяців тому

      Wish I could comment on Java but its a language I really have not used much. But it would be similar to C# and would be beneficial for sure.

    • @SirusStarTV
      @SirusStarTV 11 місяців тому

      It's object oriented language so it would cover same concepts, of course there could be differences.

    • @platin2148
      @platin2148 11 місяців тому

      Probably C++ as an option if you want a lot more mixed bag that gives a lot in both directions. Getting into java would remove some steps to the eve higher level languages like JS. I dunno how useful it is downwards to be honest as there using not just objects as typical.

  • @lwa.dev74
    @lwa.dev74 11 місяців тому

    I found d this rief talk/discussion very informative... do you have e a bootcamp course Travis? I hope one day that this exists on your platform your content is always too the point and I appreciate your realistic incites and views as it keeps me grounded as as a self taught learner and enthusiast

  • @0xglitchbyte
    @0xglitchbyte 11 місяців тому +3

    Fantastic video Travis!
    The problem many self-taught devs face when we start learning what we don't know while not knowing what we don't know.
    It's a difficult paradox to trudge through, but going learning compsci fundamentals and going lower in abstraction layers will get us there.

    • @conradmbugua9098
      @conradmbugua9098 11 місяців тому +2

      I think hackathons and tech meetups are great places to meet mentors or learn how the industries work

    • @TravisMedia
      @TravisMedia  11 місяців тому +2

      Thanks for the Tweet inspiration and talking point. Looking forward to the content you're current planning...

  • @carloseduard317
    @carloseduard317 11 місяців тому

    Amazing Travis. I'm self-taught...I like to learn from books and videos. But in the futureI intend to pursue a degree.

  • @ricoblake
    @ricoblake 11 місяців тому

    Your videos are fantastic. You explain things very well. I've just become interested in development and I'm looking to go in the direction of Udemy courses. Your videos I believe will be helpful because they're preparing me for a journey that I have no idea about currently. The information you're providing is advising of how to go about it while ensuring that potential gaps are filled throughout the process which I think is soooo valuable. Thank You for taking the time to provide this info. Great quality as well.

  • @burigolucas
    @burigolucas 11 місяців тому +7

    Good content. I am a self-taught myself and noticed these holes long ago. Definitely recommend taking the time to learn the concepts. I would suggest you creating a curated list of must-read books for people in this situation. You have big reach with your followers, why not use that to create such a list for everyone? Videos are great, but books are the best to get deep in the concepts.

    • @TravisMedia
      @TravisMedia  11 місяців тому +5

      I think that's a good idea.

    • @omercakmak3099
      @omercakmak3099 11 місяців тому

      that would be great actually

    • @platin2148
      @platin2148 11 місяців тому

      Sadly there are a lot of books out there that will teach stuff that is better to put in the trash bin. Especially a lot of graphics books leave a lot out to then let people create trash systems that are very bad designed.

  • @Imbalancement
    @Imbalancement 11 місяців тому

    Great content! How do you suggest going about filling the wholes with concepts? Videos or books? Also which concepts do you believe are the best to learn to improve one’s coding skills?

  • @TrusePkay
    @TrusePkay 11 місяців тому

    I learned C/C++, but C# and F# remains my favourite languages. They are very sophisticated and really introduced me to the world of coding.
    But I found a future in data science, and so I had to settle for the boring language we call Python

  • @EfosaMichael
    @EfosaMichael 11 місяців тому

    This here is the holy grail... thank you for sharing.

  • @darasvlogs
    @darasvlogs 8 місяців тому

    Hi Travis - I am 38yrs plus now & planning to switch career to IT. I checked your earlier video where you explained your life journey & it really inspiring & motivates me alot. I have 11 years on non IT job. But now decided to enter into IT field. I have been watching lots of similar content video. I don't know what to start and where to head to. I am thinking to learn python basics then do a course in data science & AI. Could you recommend me a roadmap please. Thanks in Advance! I am from India

  • @HarshColby
    @HarshColby 11 місяців тому

    I don't know if learning C first would have turned you away from programming. I learned FORTRAN first, then a multitude of assembler languages. I loved the low level stuff.

    • @platin2148
      @platin2148 11 місяців тому

      It’s amazing what is possible if you know memory layout and how instructions work and what a abi is. Recently found a amazing way todo better formating by implementing a va_arg with size instead of type.

  • @Bhavishya_est
    @Bhavishya_est 11 місяців тому

    The thing which you said in the video which is supplement with concepts this thing is being taught in Indian colleges where from we are 2nd year we are forced to learn Data Structures and Algorithm heavily

  • @xybersurfer
    @xybersurfer 11 місяців тому

    learning Rust to get a deeper understanding seems like good advice. only problem is that the Rust compiler is much more pedantic than C and C++, so next to learning about things like pointers, you would also have to learn other concepts at the same time like the borrow checker. it doesn't have to be a problem though, but it's something to consider. also, i don't agree calling languages "higher", for lacking static typing. this is usually a bad thing

    • @platin2148
      @platin2148 11 місяців тому

      They are considered highe in the level of how abstract they are. Using types and pointers makes it lower not in the sense of understanding but in the ability todo stuff.

    • @xybersurfer
      @xybersurfer 11 місяців тому

      @@platin2148 if you look at TypeScript or C#, then those have static type checking and lack pointers. but that doesn't mean that JavaScript is higher level, than those just because it lacks static type checking. static type checking is a separate issue

    • @platin2148
      @platin2148 11 місяців тому

      @@xybersurfer "A programming language is considered high-level if it is closer to a human language like English and low-level if it is closer to binary"

    • @xybersurfer
      @xybersurfer 11 місяців тому

      @@platin2148 ok. but, what does that have to do with static type checking?

  • @shneor.e
    @shneor.e 11 місяців тому

    Yes, do videos on lower level stuff, really excited for that

  • @davidhelman3045
    @davidhelman3045 11 місяців тому

    Newer developers need to know various data-structures and when/why to use them. I have seen many newer coders use a list/vector ect for everything when really the better thing would be to use a hasmap, or a b-tree. Even things like a linked list vs a queue vs a stack are really important to understand and the tradeoffs between them.

    • @conradmbugua9098
      @conradmbugua9098 11 місяців тому

      Aren't queues and stacks implemented using linked lists?

  • @Sheblah1
    @Sheblah1 11 місяців тому

    I like to take the knowledge gained from learning machine learning principles in python and then creating small applications in visual basic 6 to test my knowledge and to prove to myself that I truly know what I think I know. If that makes sense.

  • @aminjafarlou8919
    @aminjafarlou8919 11 місяців тому

    Thanks for this amazing video. Where can we find these videos about concepts for self-thought developers?

  • @OlaftheSavage
    @OlaftheSavage 11 місяців тому +13

    I started off self-taught then got an AS and BS. What I will say about college is that it forces you to learn boring things that you wouldn't otherwise and may be necessary (although they do it as slowly and expensively as possible). That's why I recommend self-paced schools like WGU, as it's the best of both worlds.

    • @le.secchic
      @le.secchic 11 місяців тому +1

      WGU Baby!!!!!

  • @Eric-le8on
    @Eric-le8on 11 місяців тому +1

    That little blurb, right there, that got a 👍, thank you for being a creator!

  • @cattelia
    @cattelia 10 місяців тому

    I really appreciate this video. Thank you.

  • @ukaszferenc5249
    @ukaszferenc5249 11 місяців тому

    Funny enough I have similar story. Started with Python and I felt like monkey re-keying what i see on the screen. Couldn't get why I am doing it. After doing CS50 + computer science crash course (10 min videos on YT) it all clicked on fundamental level. And now I am tinkering with Rust just for fun.

  • @PrimoTX
    @PrimoTX 11 місяців тому

    I've started the self taught route and I'm doing CS50x and really taking the time to fully learn C programming, before moving on I am cross referencing and doing the free courses on Codeacademy for the topics CS50x is covering. My plan is to do that through and continue with CS50W and then CS50P. I plan on cross referencing the JS from CS50W with codeacademy/Udemy. Would this be a pretty good approach or should I take the time to learn C++ or C# maybe even RUST before JS?

  • @gavincoulson3900
    @gavincoulson3900 11 місяців тому

    Looking forward to the 2024 videos!

  • @bayercs2k
    @bayercs2k 4 місяці тому

    self taught, and I started in Z-80 assembly and C. I learned data structures and algorithms before I started. not all self taught start at high level.

  • @vagneralves3892
    @vagneralves3892 11 місяців тому +3

    C# seems to be a fantastic language!

    • @henrik3098
      @henrik3098 11 місяців тому +1

      it is bro

    • @mylotundinho
      @mylotundinho 11 місяців тому +1

      Its one of the very best. It's popular yet underrated.

    • @platin2148
      @platin2148 11 місяців тому

      Yeah lots of concepts to a kitchen sink level. Extremely abstract.

  • @blackaccel
    @blackaccel 11 місяців тому +3

    Hey Travis, you helped me land my first job in tech with your advice "If it's not now then when... Be bold" I'm 33 years old and I'm doing good now after five years of struggle. Today I celebrate a month since I got in. From the bottom of my heart, thank you.

    • @TravisMedia
      @TravisMedia  11 місяців тому +1

      That’s awesome, congrats!!

    • @jamestoney24
      @jamestoney24 11 місяців тому

      Good job🎉 I'm trying to learn by myself but it's hard as I have adhd , what language did you start first and how did you learn

  • @CLeovison
    @CLeovison 6 місяців тому

    Hi Travis, what do you think about go lang? Even though it was not really a low level language since it was a garbage collected do you think it was worth to learn? I was really interested with it

  • @pluderr3947
    @pluderr3947 11 місяців тому +2

    Hey Travis, I am going through this exactly! I went from first learning SQL to Python to HTML and CSS. Then when I got to Java this week, nothing clicked! Especially Spring and Spring boot. I felt like before I was a sponge, being able to soak all of this knowledge and thought programming wasn't THAT hard but now since facing Java and it's frameworks, I now feel like a sponge with holes all over. Definitely demoralizing but at the same time, I have to remind myself that it's only been a week since learning Java and I need to slow down. I guess learning all of those markup languages and high level languages like Python in less than a month really made me think I can learn everything else the same way. A good reality check for sure!

    • @benjiro1858
      @benjiro1858 11 місяців тому

      Based on your learning track so far, these are low barrier-to-entry items but likely you've only skimmed the surface. Focusing on common concepts can help tie things together. Web frameworks tend to have similarities, it'll help lower the barrier for spring if you've spent time with flask or django. You're right about slowing down, or more-so slow down in order to speed up. You're probably trying to learn too much in parallel (syntax, logic, web framework concepts, spring-specific nuances, etc). If you're comfortable with Python, it may help to learn the concepts there first before going back to Java. By then your questions would be more like "how does springboot do XYZ? What does spring do better or worst than django/flask?".

  • @etherweb6796
    @etherweb6796 11 місяців тому +2

    I think it is different for different people. I tried C++ early on and didn't click, but JS did - now I don't really feel uncomfortable reading any programming language. I would have liked to learn C a bit earlier - there is a lot of FUD put out about C, but it is really a great language. I also find that some of the data structures etc are things you already will know intuitively after programming for awhile - for example Arrays in JS, despite being wrapped in a bunch of syntactic sugar, work much the same way as in C (you can even solve problems the same way as you do in C in JS )

  • @lee4547
    @lee4547 11 місяців тому

    You need real life experience with reference pointers and values in a large scale systems to understand from a practical perspective why it's important to know these things. Programming without a garbage collector is completely different then these high level languages that abstract everything out and lower the bar for entry level devs. I guess that's the point though.

  • @maxfrischdev
    @maxfrischdev 11 місяців тому

    THIS! Great and very important Video Travis! Well packed and hopefully not too scary but rather motivating to "go deeper" for the newbies of us, who start(ed) out with a loosely dynamically typed high level language! 🤘🏻🤘🏻💪🏻🤓

  • @pietro5856
    @pietro5856 11 місяців тому

    For self taught I think cs50 is a must , because you learn C and how memory works!!

    • @TravisMedia
      @TravisMedia  11 місяців тому

      Yes! Just watching those lectures alone I think would be of benefit.

  • @SquaredIndex
    @SquaredIndex 10 місяців тому

    I started with JS and have just started learning Go. Does that fit would you’re talking about here? It uses structs and pointers etc

  • @andreas_tech
    @andreas_tech 11 місяців тому

    Hi, looking forward!

  • @rbharath89
    @rbharath89 11 місяців тому +1

    Is it still impactful if the abstracted language like python is used for data related work ? I mean data related work like wrangling, Etl, analytics typically does not go to low level memory tuning right…I could be wrong…just trying to understand…

    • @TravisMedia
      @TravisMedia  11 місяців тому

      Right. No problem here, continue with Python its a great language. But every now and then, learn some lower concepts or gradually take a lower level language course to get familiar with what's going on underneath. It's to supplement when those lower concepts surface and potentially leave you confused. TLDR: Its to make you more well-rounded, not really to point you away from where you are at now. Hope that helps. 🙂

    • @rbharath89
      @rbharath89 11 місяців тому

      @@TravisMedia thank you so much for your response. I totally agree with you. For example, in Spark where almost everything is abstracted, understanding lower level stuff would make for a reliable and optimised code...But the depth does look like the abyss rather than just a rabbit hole at least for me...but a goal we can strive for and worth the effort...

  • @NowOrNever523
    @NowOrNever523 10 місяців тому

    Self taught programmer since 2021, still continueing to grill on JS and react.. 😮. What long journey?

  • @connorskudlarek8598
    @connorskudlarek8598 11 місяців тому

    I do not understand UA-cam comments at all. Tried to give some advice for where to go to learn more and my comment is gone.
    There is a place that I think maybe caused a flag called teach yourself cs. It is something that will show you a lot of stuff for computer science after you get the job. And there is a algo course that has no expense on front end masters which will help get the first one.

    • @TravisMedia
      @TravisMedia  11 місяців тому +1

      I think YT flags it if there are links, etc. This comment made it through though. For anyone reading this go and google "teach yourself cs" to reference the resource that @connorskudlarek8598 mentioned here. Just checked it out and looks really helpful. Thanks for sharing it.

    • @connorskudlarek8598
      @connorskudlarek8598 11 місяців тому

      @@TravisMedia sounds good!
      For those interested, the resource is meant for people who already have experience and are looking to level up.
      Doesn't mean you can't look at it while still learning, but a lot of the benefit comes from already doing things and finding out the "why" and "how to do it better now."

  • @sehmusakbas
    @sehmusakbas 11 місяців тому

    hey man this video earned you a new subscriber!

  • @Sub0x-x40
    @Sub0x-x40 11 місяців тому

    after self taught learning web dev (still a noob) im learning linux and using bash terminal as my primary driver now

  • @bhaskarkulkarni8100
    @bhaskarkulkarni8100 11 місяців тому

    Can you prepare and upload the content for must know networking for developers.

  • @xila8861
    @xila8861 11 місяців тому

    I am a noob ,and It makes me feel stupid to keep failing at something basic like loops in python =*(. Imagine what is going to happened if I went to a low programming language!