0:00
And perhaps one of the most important things that you can do to actually succeed
0:06
it's unfortunate but most self-taught programmers are going to fail. They are going to give up and quit trying before they've actually found some success
0:12
And in this video I'm going to be talking about the ways and some of the reasons why
0:16
people fail to become a software engineer and some of the things you can do about it to succeed
0:22
One of the reasons that people give up is because they give into their doubts
0:26
There's this phase when you're first learning to code where it's really exciting and you're really learning a lot of things and you just get a lot of momentum going
0:33
But then as you start to advance it starts getting more difficult and more difficult quickly and you
0:37
start to realize how much there is to learn and you start to feel like you're never going to make
0:42
it and you can start losing motivation and you start to doubt yourself. You doubt your ability to actually succeed and if you let your doubts build
0:50
then there's a good chance that you're going to end up just giving up before you've actually
0:54
found success. There also comes a point that as you've been working through like all these tutorials and
0:59
following along and you have that excitement of feeling what I would call is fake successes
1:05
You've completed a tutorial you've maybe done the assignment that comes with that and so you're
1:09
thinking yay I'm a success I know what I'm doing things are great and everything and then you
1:13
actually get out on your own and you try to build something yourself and you're like a deer in the headlights
1:19
You're just like oh my gosh I don't even know what to do here where do I even go like where
1:24
do I even start. It can be kind of pivotal because you can either jump in and say okay well I'm going to figure
1:29
this out and start really focusing on learning how to figure things out yourself and sometimes
1:33
people just can't make that transition and they just freeze and they're like I can't do this at
1:37
that point and they quit and learning to program is something that you build little by little and
1:42
you set a strong foundation of basic stuff so that you can get into more advanced stuff and
1:47
sometimes those initial steps can feel really really trivial and like you aren't learning
1:51
much and you aren't doing much and you have to be careful because it's going to be tempting to
1:54
say okay well this is kind of boring I'm going to skip ahead and I'm going to go you know jump into things and cut some corners to try and like speed up and when you do that what ends up
2:03
happening is you end up getting into some of these complex problems that you can't solve and the
2:07
reason you can't solve it is because you don't know those basics and so now you're wandering
2:11
around looking for you know solutions to the problem that you're at and seeing a bunch of like
2:16
things on stack overflow that don't make sense to you or that are misleading and stuff because you don't have the basics and cutting those corners can actually completely kill your
2:24
confidence in yourself and it's not because you couldn't do it it's because you cut the corners
2:29
and you didn't learn the foundational stuff if you learn the foundational stuff first it'll make it
2:34
so much easier to work through the more complicated scenarios or worse than cutting corners is you
2:40
aren't actually learning things at all you're talking the talk like yeah I'm gonna be a
2:44
programmer and I'm like starting to be a programmer and you aren't actually dedicating any time to
2:48
learn if you don't spend time learning you will not become a programmer you cannot talk yourself
2:53
into being an actual software developer it just doesn't happen you actually have to put in the
2:58
work it's something you have to learn you have to practice you have to develop the skills you just
3:02
got to get your hands dirty this initial phase of learning how to code can feel like a grind and so
3:07
once you're getting you know a couple months down the road and you're working at the same pace and
3:11
stuff it can be really easy to lose sight of how much you actually are learning and just kind of
3:17
constantly feel like I'm just constantly not getting this and constantly struggling and it wears
3:21
down on you and I know that for me that's something I experienced was it took quite a while
3:26
before I've actually realized whoa I actually can do stuff I'm actually accomplishing things and
3:33
before we go on if you've ever thought about giving up but you're sticking with it smash the
3:37
like button because you are awesome and you will make it one day and some people give up because
3:41
they just have this expectation that at a certain point in time they will have just made it and when
3:47
you become a program you really are signing up to be learning a lot of things because as you get
3:52
better you will naturally have the opportunity to go work on harder things more complex things
3:57
things that are going to test you in new and different ways and as that happens it's really
4:01
easy to feel like oh I just I'm not that good it you know what I'm doing you know and and that's
4:07
actually a good thing that's a sign that you're pushing up against hard things and you're coming
4:12
out of your comfort zone which is what is enabling you to actually grow and to develop your skills
4:17
now one of the things that was kind of challenging for me when I was starting out was learning to
4:21
deal with the feedback that you get as a software engineer and it's really hard at first to you know
4:26
kind of grapple with accepting the feedback and learning and growing from it and accepting that
4:31
most of these people are not trying to hurt your feelings when you're already dealing with imposter
4:35
syndrome and you're like afraid of looking like a fraud and afraid of looking bad and feeling like
4:39
you should have to know all this stuff to justify like the pain that you're doing and there's so
4:43
much stuff going on in your head that it could just be like overwhelming and your ego can get in
4:47
the way and you just have to learn to work through that there's a lot of people who can't handle that
4:53
and part of this comes down to that when you put yourself out there it's scary because it's like
4:56
there's this really ambiguous bar that you're supposed to like rise above and if you're to be
5:02
a good programmer you got to meet this level but what is that bar like nobody knows like what this
5:07
is for any given person and stuff but we placed this expectation upon ourselves like these
5:12
expectations that how are you ever going to meet it how are you going to know when you've actually
5:17
achieved that you don't accept that you are in fact good enough which is unfortunate because a
5:24
lot of people quit when they have developed the skills to where they could be successful
5:29
they just can't accept themselves and early on in your journey it's really easy to get lost if you
5:34
don't have a really clear learning path you can just start to wander in areas that you're wasting
5:40
your time in the thick of thin things instead of focusing on what really matters you're learning a
5:44
bunch of stuff that's not going to actually be super practical so when you do hit a situation
5:48
where you need to do something practical you can't when you're in the interview you freeze up because
5:52
you might know some of these obscure weird things and stuff but you can't do like any of the basics
5:58
and stuff and so really defining like your goals of like what is it you're going to do what kind
6:03
of software engineer is that you want to be are you going to go towards the back end are you going
6:08
to go towards the front end maybe hybrid mobile applications for the front end or you want to
6:12
become specialist in a particular framework and and really drill down onto that and once you have
6:16
some expertise there you can then start to backfill the other areas that you need to learn until you
6:22
eventually do develop the full stack skills but if you're all over the place and you're just learning
6:26
a bunch of different things and and trying out a hundred different languages and frameworks and
6:31
everything like that you really are going to get a overview of the industry but you're not going to
6:36
hit that level where you feel confident going into an interview and being able to sell yourself
6:41
for a particular position when you're on your own you have to figure that out yourself and it can be
6:46
really difficult which is why it is just really important that you look to someone else to you
6:51
know give you that guidance and that's where having a mentor really comes in and that's actually what
6:55
helped me is I have a couple brother-in-laws who are software engineers as well and so when I would
7:01
start learning things and once I started deciding that yeah I want to do front-end development
7:05
I could bounce ideas off of them and say hey you know what do you think about this framework and
7:09
this framework and this framework which ones do you think would be good to learn right now and
7:14
which ones are demand and and they would give me their opinions and sometimes they disagreed on
7:18
things but it helped me narrow down what I should focus on learning and then even within those
7:23
frameworks I was like hey I'm looking and there's all this different stuff I mean do I really need
7:26
to worry about this topic right now and they'll be like oh no don't worry about that right now like
7:30
you don't even hardly use that okay well I'm going to focus my time learning then this other stuff and
7:34
some people give up because they get caught in the situation where they're working on building
7:38
their portfolio and there's those first projects and instead of taking small bite-sized chunk
7:44
projects ones that you can complete feel good about feel like you had a success and then do
7:48
another one and another one and build up right out the gate it's like cool I want to build this like
7:54
mansion style application that does all this cool stuff and they start working on it and it takes a
8:00
ton of work and and it's an application that would maybe take you know tens or hundreds of
8:05
software engineers in the real world to build it and and so they just struggle through it and they
8:09
just never can actually finish it and they never feel that success of completing something and then
8:14
they don't have something good to put into their portfolio compared to someone who actually starts
8:19
small it's like you know what I'm gonna build a cat house first and then I'm gonna build a dog
8:23
house and then I might build a shed and and work their way up those people will feel success that
8:28
they'll have things for their resume and they're going to constantly be learning the next things
8:33
that they need to learn to grow into a bigger and bigger application I was at work one day when a
8:38
bunch of scouts came in on kind of a tour of the company I was working at and I remember hearing
8:43
one of them say dude this is totally the career I want because look everybody is like playing like
8:48
nobody is working now they came in at like you know six o'clock at night and stuff and most people
8:53
are gone and everything but unfortunately that is the perception that some people have of software
8:57
that you can just do nothing and get paid a lot of money but in reality we work hard so if you're
9:03
just in it for the money you're gonna find out real quick that this requires dedication this
9:08
requires work and you probably aren't gonna last now assuming you've made it this far and you're
9:13
actually ready to start applying to other companies you might send out 50 or 100 applications and you
9:19
just don't get called back for an interview and you just start getting discouraged and think that
9:24
you know what I'm not cut out for this you have to remember getting your first job can be very
9:28
difficult your resume isn't as great as you think it is and maybe you need to spend more time on your
9:33
resume and not just making one version of the resume when I'm applying for jobs I will look at
9:38
the actual job description and I will tailor my resume to what they're looking for if they are
9:44
you know talking about and focusing on certain areas that you have skills in emphasize those
9:49
specific areas on your resume and if another company is more interested in a different set
9:55
of your skills then focus and emphasize those skills but if you just do kind of a generalist
9:59
resume you're gonna have a lot harder time getting a call back especially when you're first starting
10:04
out I was very fortunate in my situation and the first job that I got that I got it as quickly as
10:10
I did but for most people who come to self-taught route they're gonna have to put in you know a lot
10:14
more effort towards getting that a lot of jobs come from actually talking to people and getting
10:18
tips about a position that's happening where someone you know can hand your resume directly
10:23
to a hiring manager and just getting that extra little bump of attention can make all the difference
10:29
in the world when compared to going the other way where you're applying directly through a company's
10:34
website and you might not even be making it through their filters but what if you are actually getting
10:39
called in for interviews and you just aren't getting an offer and maybe you've been applying
10:44
to every junior position that's available out there there's a lot of people who are applying
10:48
for those junior level positions because most other people in your situation are also feeling
10:53
like I'm not qualified for anything but a junior position so yes you should still apply to those
10:58
because you don't know what's going to happen there but if there's a position that doesn't
11:02
list it as a junior position but that maybe once a year or two years or three years of experience
11:07
it can still be worth it to apply and to send your application to them a lot of them might just
11:11
you know be like no you aren't quite what we're looking for we want some more experience but there
11:15
are other companies who are going to you know look at that and still might actually pull you in for an
11:20
interview just to see you know if you could be a fit that said applying to a job that you know
11:26
is asking for 10-15 years experience is just kind of setting yourself up for failure because most
11:31
likely they won't be coming back to you but at least you're actually applying there are a lot
11:36
of people who just don't actually apply it's constantly a you know what I'll apply when I
11:41
feel ready and I'll feel ready when I have finished this application or I'll feel ready and you know
11:46
a couple months from now and then a couple months from now they still don't feel ready and so they
11:50
bump the timeline back in our careers you're never ready even when you're more experienced and
11:55
everything and you go to apply to a bigger company that is going to be working a lot more complex
11:59
stuff you are never going to be 100% ready for those positions but people who perpetually put
12:04
off applying just get farther down the road farther down the road and there's some people
12:09
who just never get around to actually getting a job which is unfortunate when they've spent all
12:15
this effort learning like it's a huge shame if you don't even actually get a job and put yourself
12:20
out there everyone has to go through the pain of your first software engineering interview it's
12:26
just something you have to do and don't think that this just applies just to people who are self-taught
12:31
you know I worked with a guy who came in who's a fresh grad with a computer science degree
12:36
and he would talk to me all the time about how he was aspiring to become a programmer I just love
12:41
you're watching programmers work because someday I'm going to become a programmer and I just
12:44
remember thinking dude what's your problem you have a computer science degree why not become
12:51
a programmer why be content with just being a QA if you want to be doing programming go get a job
12:57
and apply for jobs that are for programmers it's like I don't even have a computer science degree
13:01
and I got a job as a programmer I'm not like some person who's like super special and better than
13:07
you you're just scared that you aren't ready to become a programmer so just make the leap if you
13:13
don't want to be one of those people who gives up because you don't get a job something you can do
13:18
is you can focus on becoming a specialist now a lot of companies will be out there be like we're
13:23
looking for full-stack engineers who can do all this stuff but really any given team that is hiring
13:28
is going to have some very specific needs that they are looking to fill and if you really meet
13:33
those needs well you are going to be the one who likely gets that job not a generalist who only
13:40
sort of like fills those needs so ignoring what a lot of those job listings say specializing in
13:46
something that is in demand will help you get more interviews and will help you get a job faster
13:53
and a lot of times will help you get more pay when you do get that job than being a generalist
13:58
and that was my experience as well I focused on the front end I focused on learning a framework
14:04
that was in high demand at the time and trying to become really proficient at that framework
14:09
they put out a position where they want someone who has angular experience well I have angular
14:14
experience but if I was just dabbling just in vanilla javascript then they aren't going to
14:19
know that I'm going to be able to do anything with angular or what the ramp up time would be
14:24
and then even being a specialist over time as you work at different companies and on different
14:28
projects you will naturally have the opportunity to kind of broaden your experience because you'll
14:33
end up having to work on a bunch of different things but just stay focused for your first job
14:37
and something to be cautious of is to have realistic expectations about your first job
14:42
we all like hear those stories of people who manage to get into like google for their first
14:46
job or into other big companies or you know really sweet gigs and everything or making a lot
14:51
of money and oftentimes there's more to the story either it's like the school that they came from
14:55
or do they have connections that you don't know about do they just have a brilliant way of
14:59
presenting themselves most people aren't going to fit in that category and most people are going to
15:04
have to take kind of like an average mediocre job for their first job so just have realistic
15:09
expectations if you're expecting a massive salary you're probably like gonna pass up jobs that would
15:14
be a good job to get your foot in the industry and once you get your foot in the industry then you
15:19
can like work there for like a year and you can go somewhere else or work there for two years and
15:23
just use it as like a stepping stone that doesn't mean you have to take a really bad job or one where
15:27
they're going to treat you poorly or severely underpay you just accept that maybe average pay
15:32
is an okay place to start for your first job and perhaps one of the most important things that you
15:38
can do to actually succeed is being patient with yourself people who give up usually aren't being
15:46
patient with themselves and allowing themselves to make mistakes and to have like small failures
15:51
and to learn from those failures and to grow and it's better to pace yourself so that you're
15:55
steadily learning in the time that you have than to put arbitrary deadlines on i have to you know
16:02
become a software engineer in three months otherwise like i'm a failure don't do that to
16:07
yourself be patient and give yourself the time to learn and you will succeed eventually you will
16:12
get there and really try to avoid comparing yourself to other people because you are smarter
16:17
than you think and when you're looking as an outsider at someone else and seeing the things
16:21
that they know it's easy to think that oh they just know so much how can i even compete with them
16:27
but they know a lot about the things that you don't right now but you may know things that they
16:33
don't know there's just no point in really trying to like compare yourself to other people because
16:38
you are you and you will learn at the pace that you learn and you just stick with it you will do
16:44
it and you will succeed so if you found this video helpful don't forget to smash that like
16:48
button and i'll see you in the next one lates