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

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone Travis here from travis. media so I started learning rust recently and it's been great and for anyone learning rust you know that pretty quickly you're forced to understand ownership which are rules that govern how a rust program manages memory you don't need to manage it manually to allocate it and deallocate it like you do with C or C++ but it takes a unique approach in how it handles it again through a system of ownership so I was digging into this further and if you go the route of the rust programming language docs you'll see a section on the stack in the Heap which is something you need to know and consider when you're writing rust code and it says this many programming languages don't require you to think about the stack in the Heap very often but in a systems programming language like rust whether a value is on the stack or the Heap affects how the language behaves and why you have to make certain decisions then it goes on to explain the stack and the Heap and how it relates to rust so I read this and then it led me down this Rabbit Hole of things related to this to memory management and to C C++ and all that and though I know this stuff on a surface level after this deep dive I felt like if I would have known this stuff what I just read and learned earlier I probably wouldn't have struggled so much early on in my self-taught journey now I taught myself to code I did freelancing corporate full stack development devops SRE work even developer relations work all without a degree all without traditional computer science training and all the while mainly using abstracted languages like JavaScript and Python and the great thing about these languages is you don't really ever need to know what's going on under the hood that's the point but it's also a Bad Thing long term because the engine is still running under there and let me step in here for a minute before the people who only watch 30 seconds and comment do their thing I still think that these are great first languages I've advocated in the past for anyone looking to get into the industry to learn JavaScript or Learn Python and I still do my past Blueprints and recommendations they haven't changed these languages will get you in the door but as all self-taught people know once you get in the door that's when the impostor syndrome kicks in and a bunch of real life technology and terms and situations get thrown your way and you're constantly in that defensive mode for the next few years so my concern here is not starting out my concern here is what you do at this point what should your second language be then and this is where I'm realizing the importance of going deeper in this stage you've landed the job now you need to dive deeper to be able to exist alongside of all these other experienced devs for me I had a bunch of holes in my learning that I didn't know existed these holes manifested themselves in the form of impostor syndrome and struggle I always got the job done but it was tough I thought it was just part of being a new developer and it was a little bit but it was largely just holes in my learning that I needed to fill so I was thinking about this a couple of days ago and I came across this tweet it's by a guy that I actually used to work with very smart guy great content on Twitter go follow him but here's what it states why do you hate python so much I guess this was posed at him I started programming with python tutorials were always siloed and out of context I learned what a list was but not why it was important and certainly not how to use it in any context I didn't know the difference between code and data python was far too abstracted to clearly understand what my code was doing and why it worked it wasn't until I learned C and programmed with it that everything clicked and it continues on but I'm going to stop right there now I'm not here to debate that tweet at all I'm here to say that it's some wise thinking here and it popped up on my feed at the same time that I was kind of wrestling with this as well for me though I don't dislike python in fact if I picked up c as my first language at 34 years old I would have quit I would have never been here today I picked up JavaScript instead and it was fun it led me into creating my first interactive websites in apps in fun projects it's what ignited my love of programming C wouldn't have done that this is why I still like Python and JavaScript and these are good places for self-taught developers to start and develop and build and land that first job with but this tweet has some real truth in it as well truth that I'm realizing is very important to me looking back the these languages they abstract away all of the science in reasoning you can literally code whatever without any thought as to why or what's going on underneath so what I'm finding out now is that next language or that next Pursuit after learning an abstracted language and Landing a job is to go lower and this truth comes in two forms first you should supplement your time with computer science Concepts like the stack in the Heap how are rays and lists differ in memory pointers or just data structures in general just take 30 minutes a week and learn some of this boring stuff and also this applies to a broader scale as well supplement this learning with networking and the OSI model or security or authentication protocols things like this will take you a long way in your career in fact instead of just jumping around to a bunch of different programming languages which I've done in the past like hey wow I should learn flutter or Mojo or cotlin or something like that spend time on the concepts that make jumping languages easier get conceptual and then the documentation will take you the rest of the way go watch a cs50 lecture here you can learn about arrays or data structures or memory or how to look silly in a mask when you're nowhere near anyone else and these lectures are like 4 hours long a piece and here's a 3-hour long lecture on C now you will not pick up C in 3 hours but you'll probably learn a bunch of new things by watching it and I bet when you watch any of these you'll have a lot of aha moments and those holes in your learning will slowly get filled things will start to make more sense as you move forward with your JavaScript or python or whatever you're in second learn a lower language or at least take a course in one now I'm a practical guy I don't really like learning something that's highly beneficial if it isn't also practical and given that us cyber Security Experts as I mentioned in one of these last videos are advising organizations to move away from C and C++ due to memory vulnerabilities and while C may give you the best grasp of what's actually going on I would recommend just learning rust why because that's the language that these cyber Security Experts are recommending instead it's what Microsoft is going all in on and most importantly it will frustrate you so much that you can't just write stuff and at work like you can with JavaScript and python you'll have to learn what's going on under the hood and it'll probably be your first exposure to things like enums or structs and pointers and vectors and types and if you learn these things and then go back to these abstracted languages you'll be much better for it and you'll also find yourself having to use typescript because you just can't fathom using Java Script without types again or just take one small step down and learn C it's a language that I really like in a language that will teach you so many things that just don't exist in higher languages so what I'm going to do in 2024 every now and then but regularly is I'm going to upload a video covering a concept that I think self-taught developers need to know to fill those holes that create such trouble in the first few years so be sure you're subscribed and look out for these videos in 2024 if you have any requests or concepts that you're struggling with let me know down in the comments and I'll get it added to the list if you found this video helpful give it a thumbs up if you haven't subscribed to the channel consider doing so and I'll see you in the next [Music] video
Info
Channel: Travis Media
Views: 50,194
Rating: undefined out of 5
Keywords: self taught programmer, first programming language to learn for beginners, learn c++, learn rust 2024, rustlang, self taught software engineer, self-taught software developer, python vs javascript, rust, learn computer science basics, low level programming vs high level, self-taught development, changed my thinking
Id: mWWsg2eKxRY
Channel Id: undefined
Length: 7min 19sec (439 seconds)
Published: Wed Dec 20 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.