Challenges of a Self-Taught Developer

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hey there my name is zach goldwitzer and i come from a much smaller youtube channel than the one you're watching right now and because of that i want to give a huge thanks to brad for having me on the channel today and just think it's awesome what he's doing allowing smaller creators like myself to come on and speak to a larger audience like this since the title of this video is the challenges that you might face as a self-taught developer i thought it would be probably appropriate to share just a little bit of my story so i started programming about four years ago i think at this point and back four years ago i started out with the cs50 course from harvard and it was an awesome introduction to computer science for me and then after that i went down the road of you know a bunch of online tutorials and that's actually where i found this channel right here and i ended up taking several courses from brad on this channel and it was what got me started ultimately i still remember there's a video series way back if you if you scroll past probably 100 plus videos since then but um there was a mean stack series done on this channel right here that had actually watched to uh to write my first web app at the time i was having a little bit of a difficulty making any forward progress i felt pretty stuck in my my journey it had been about i don't know four or five months at that point and i'd gone through all sorts of online courses and assisted tutorials you know building web apps out and building projects but i hadn't actually done it on my own for once and so what i did was i watched the mean stack series on this very channel and then for the next five days i told myself i gotta create a brand new web app every single day for the next five days and that's what i did and i really considered it kind of a turning point in my journey as a self-taught developer because it was the first time that i had you know pretty much gone unassisted and created a full web app with user authentication and all sorts of those things you know nothing fancy those five days but it really got me started and i i have to give a lot of credit to this channel uh specifically for helping me you know make that jump and get started and that's actually what i want to talk about today is three of the most challenging things about being a self-taught developer where you don't have any sort of formal education and in my case i kind of consider a self-taught developer someone who you know simply doesn't have a degree in you know a computer related field now before we get started uh going through some of these challenges that i faced i want to kind of flesh out this term self taught developer because i think it's it's a term that we use a lot here on the internet um makes sense considering that most self-taught developers learn everything that they know on the internet but i want to talk about you know a self-taught developer is is not the most descriptive term because if you think about it almost every developer that you meet is going to be considered self-taught and the reason is you know by nature a programmer is someone who is good at problem solving and good at going out and finding solutions to things and learning new things and so it doesn't matter if you're someone who has no college education and who you know learns everything that they know using online courses or someone you know a tech lead at a large company like google no matter who you are you have to be able to learn you have to be able to you know push yourself to learn those new technologies as they come out that being said there is a difference in the path that someone might take you know going the formal route of a college education straight into a programming job versus you know maybe a non-technical degree and then eventually learning programming the path is going to be a little bit different and that is what i want to talk about in this video today all right so let's jump into this i think the first thing that i have to talk about that's so common amongst people who have taught themselves to code without any sort of formal education and especially someone who hasn't worked you know full-time at a company yet is that imposter syndrome now in my situation i write a lot of smaller scale web apps and i actually have a golf website that i've written a few web apps for and it's by no means a super small website but it is nothing compared to some of these large corporations that have to create these massive application systems so when i'm writing these applications every once in a while you know i get to the point where i'm kind of questioning like hey how would someone at google do this how would a lead developer at google write this am i solving this in the most straightforward way is this the right programming language for the job or the right framework or you know there's a bunch of questions a laundry list of questions that can go through your head as a self-taught developer when you don't know you know how someone else would operate in your same situation but here's the most important part when you're self-taught developer you can ask all those questions you can endlessly try to decide between what you know language or framework that you're going to use but in the end you have to make a decision and you have to write the code and you have to ship the product and that's what it comes down to in the end it doesn't really matter what's behind the scenes unless of course it's so sloppy that you yourself cannot even you know go back and maintain it but the reality of the matter is if you create a useful software product then it does not matter how you created that now as we're talking about this imposter syndrome that most self-taught developers are going to experience at some point it's not all doom and gloom in my experience there's a lot of positives to being a self-taught developer and there's some skills that you actually pick up along the way that someone else may not have and one of those things that i feel is something that i've become very good at is debugging things and the reason is you know when something breaks in my applications um the only thing that i have is google and stack overflow you know if if i can't figure it out with you know stack overflow then i've got to actually dig through the code myself i can't just get up and walk over to a co-worker or my boss or superior and say like hey can you help me out with this i have to do everything on my own and it's it's quite a challenge sometimes and i'm sure a lot of people who have done self-taught development for some time can really resonate with this and and consider themselves pretty good at debugging code furthermore there's actually a few strategies that i want to share with you things that i've done for myself that have really helped me get over this um you know i'm sure everyone has their own way with with dealing with this but hopefully a few of these things help as a self-taught developer it's really tough unless you have you know a ton of connections to have someone as a mentor someone who is really good at writing code that can just help you with a lot of the questions that you have and teach you some of these best practices so for me what i had to do and what i still do is read through open source code and usually i'm looking for things that are you know open source projects that are written in the stack that i'm trying to write but honestly reading any sort of open source code is educational can really help you understand the best way to write code because in many cases you know the top tier developers are actually writing that open source code so it's an awesome way to kind of pick up on some patterns and some practices that some of the better developers are actually using very similar to that first strategy there's actually several repositories on github that you can search for that have best practices kind of laid out and there's several contributors to those repositories all kind of weighing in their opinion on what is those best practices as you'll see sometimes it's it's tough to agree on those but in general i love these repositories and one of them that i can think of off the top of my head since i write a lot of javascript code and i'm assuming a lot of people that are watching you know this channel do as well is if you type into github node.js best practices there's an awesome repository that just lays out a big you know big list of best practices that you should be using by no means do i cover all of these best practices when i'm writing apps it's completely impractical to to try to do that and get something done at the same time but it is a good reference guide i scroll through it every once in a while to to see if there's something that i can pick up on and maybe implement in my next project another repository that i really like i'm not sure if i'm going to say this name right but go thinkster real world applications and they actually have several different frameworks kind of demonstrating how you might write different types of applications i find those really helpful to just read through and and kind of model my uh full stack applications off of and then the final thing that i've done that that kind of came later in my journey probably around year two and a half or three out of the four years i've been doing this is is actually sitting down and reading books and when i say reading books you know there's a lot of software books out there but one to mention that i learned a ton from is code complete and you'll see a lot of people recommending this book and for very good reason because it really lays out some of the decisions that you make when you write software and not only that but it also kind of goes into some of the best practices that you might be using regardless of what language you're writing in now the second challenge that i've faced as a self-taught developer is overload of not only information but also decisions and what i mean by that is just all of the possibilities that you have you know at your fingertips as a self-taught developer now unlike working for a large company or you know applying for your first job where you have to have specific types of qualifications that kind of match up with the tech stack that that company or subsidiary of the company is using as a self-taught developer you know before you're applying to jobs and stuff you have ultimate freedom to choose not only the language that you're using but also the frameworks that you're using in all of the tools and it can get very overwhelming and not only that but you also have endless tutorials i think it would be really nice really easy on our minds if there was just one tutorial in the entire world on how to learn to code because it would kind of remove those options it's the same reason why a lot of people like chipotle there's only two or three options on the menu it kind of removes that choice from from the playing field and so with programming with self-taught programming you have all these different options and you have a ton of different information and so it's often very difficult to actually choose your path it's almost like that parable or something like that where you have like a donkey who's sitting between a bucket of food and a bucket of water and this donkey is equally hungry and thirsty and so the donkey stands there and can't decide between each of them and ends up dying of starvation and thirst and it's kind of the same thing for a self-taught developer you can literally be standing right between python and javascript and it's so hard to make that decision that you end up getting discouraged and not learning either of them and that is not what we want to do but it is a huge challenge that i faced myself and i know a lot of other developers have as well but in the end just like you know facing imposter syndrome and writing your app anyway you have to commit to things as a self-taught developer you can go through a lot of tutorials and explore a lot of different things but ultimately you kind of have to commit to specific languages and frameworks otherwise you're going to get stuck in the middle and you're never going to learn any one language or framework very well so as a self-taught programmer you kind of have to accept the fact that your journey might take a little bit longer and be a little bit less straightforward than someone who maybe you know does a computer science degree in college and gets a job directly out of college that ultimately dictates kind of the stack that they're programming in so as a self-taught dev you kind of go in a lot of different directions but it can be a silver lining in many cases you know in my path i wanted to try a lot of different things and so i have been exposed to several different languages and frameworks because of that just don't get into that you know that endless cycle of just a bunch of tutorials and never committing to something and the final thing that i have struggled with a little bit as a self-taught developer is definitely finding community and i know there's a ton of online communities and and this is not the case for uh someone who is a self-taught developer and in a couple years later is in a job with you know people around them and stuff i'm mainly talking about those first couple months or even years of your self-taught journey because in most cases you're probably not going to have uh the skills to actually go out and get a job within the first couple months and you probably don't have the financial freedom in a lot of cases to just quit your job and and do it all full-time so for a lot of people there's going to be an extended period of time where you are completely alone in your journey and you're not you know connected in with different communities now like i said there are online communities you know you've got youtube which we're on right here and there are awesome communities just on youtube alone when i read through all the comments section on you know even my own videos and definitely this channel there's just a lot of awesome people that are watching these videos and kind of helping each other out on their journey and that's a really cool thing but there is a very big difference between you know watching a video watching someone on camera and you know actually going out for a happy hour and having some drinks with them and i especially think during this time in 2020 a lot of people have realized how important that community aspect is for you know job satisfaction and just having motivation to wake up and do the things that you do every day so as with all the other challenges i've faced there's a couple things that i've done to help out with this one of those things is going to a coding bootcamp and i know that not everyone's going to be able to do this not everyone's going to be able to just drop what they're doing and go to a coding bootcamp and in my case i didn't really get to like i only went to a 30-day boot camp it's it's called the 42 boot camp and they do like a 30-day trial period to kind of test out your skills and then you go back for like a couple years let me tell you being there with all those people was just an incredible experience you know i was you know with a hundred plus people in the same room all coding uh on the same thing and it was just an awesome experience so if you can you know coding boot camps are obviously meant to get jobs but one of the lesser known aspects of them is just taking a self-taught developer and putting them with a ton of other people and you're gonna make friends that you know you stay connected with for a long time another good option is hackathons i've been to four or five hackathons at this point and every single one of them that i've gone to i've i've been a little bit nervous to to kind of jump into a random group because that's usually what i've had to do but you end up meeting some pretty cool people and it's really fun to you know stay up late into the night working on some sort of software problem with other people it's a great way to kind of connect in with the community and experience what it's like to work with others in this profession so i've been talking this entire video about all the challenges that i faced as a self-taught dev but uh in the end the rewards are well worth it like there's nothing that would have stopped me from doing this over again and you know obviously i have a ton to learn and there's many years in my future that i'll be writing code but just going down this path and learning how to you know speak that language of computers has been immensely rewarding and it's well worth struggling through some of these things that that you'll go through as a self-taught dev so i wouldn't let any of these discourage you and and maybe try out some of the things that i recommended if you're struggling with them but the moral of this story is that you know yes there are challenges but there are also silver linings to being a self-taught developer and in the end it's all about what you're creating i think the reason why a lot of people program is just the creativity that it allows you to have and the fact that you can literally take something like out of your brain and create a completely new thing it's just the coolest thing in my opinion and it's well worth all of the challenges that come along with it so i'll leave you with that and i just want to say if you are just starting your journey as a programmer um stick with it and don't take this video as oh it's it's so hard and not worth it i really wanted to make this video to kind of highlight some of the challenges that you might face but just to be aware of them that's all you just have to be aware that these are challenges that you might face but like i said the rewards are well worth it and it's just such a cool thing to be able to you know write code and build the things that you want to build and finally as i said earlier big thanks brad for having me on this channel and guys be sure to give a huge thumbs up for this video and subscribe to his channel he's doing a lot of awesome things has been for for a long long time and if you're not subscribed to this channel you absolutely need to be alright i think that's a wrap have a great day and keep building cool things you
Info
Channel: Traversy Media
Views: 56,603
Rating: 4.9488158 out of 5
Keywords: self-taught developer, web developer, developer, software developer, self-help, Becoming a developer
Id: RAIYz1E_FUA
Channel Id: undefined
Length: 19min 15sec (1155 seconds)
Published: Mon Feb 08 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.