Hey everyone, how's it going? My name is Mayuko. And welcome
back to my channel. So maybe you're at a point where you've decided that you want to become a software engineer for your
career. If that's the case, there's often these like three big main paths for how to get your first job and learning to
code professionally. You can one go back to school or university get a degree in like computer science or software
engineering or something related to you can go to a coding boot camp where you learn a lot of things in a short amount
of time with a community of people and just like really hit the ground running for three. And this is like a totally
normal and plausible thing that a lot of software engineers have done is that you can teach yourself how to code.
Personally, I think that self taught developers are some of the brightest, smartest, nicest, most talented and
hardworking people I've ever had the pleasure of working with. And it only makes sense because someone with like the
self motivation and the fortitude, to teach themselves an entirely new skill, like an entire new language, even is
going to have a great work ethic. And coming from a non traditional background means that you also bring a lot of
unique perspectives to the table two, maybe you're a retired Marine, or you used to be a teacher, or maybe you studied
criminal justice in college, you'd be surprised how many intangible cross functional skills those backgrounds bring
to the table. That being said, as you might know, I went about my software engineering career a little bit more
traditionally. And I went to a four year university and studied computer science. So I'm actually not like the best
person to answer what it takes to become a self taught developer. But I wanted to learn more about how actual real
self taught developers went about their journeys. How did they get to where they are today? What trials and
tribulations do they face? Are they glad they taught themselves how to code. So as you do in the 21st century, I
send out a tweet, I was lucky enough to get a bunch of responses and interviewed a bunch of these folks to find
out. And I gotta say, I was really lucky to be able to collect such fascinating stories from a diverse set of
people. They have such cool experiences and backgrounds like bio science, and criminology, and music and finance. And I
even got to talk to some military veterans who used to serve in the Air Force and the Army and the Navy. So the first
thing that I wanted to clear up with this group, and perhaps it was like, the most burning question of the mall was, is
being a self taught developer a legitimate career path. And spoiler alert, absolutely, yes. Being self taught definitely
means that you're going against the grain a little bit, because there's like this preconceived bias or notion that
like the traditional way is like the only right way to get into tech. And I imagine it would be really easy to not feel
like you're a legitimate or a real developer, because you didn't go to school for it. But this is just another classic
case of imposter syndrome. I have a lot to say on this topic. And I've made a video before about imposter syndrome
that you can check out right here. But we'll get to that later with regards to self taught developers. So if you're
thinking about becoming a self taught developer or engineer, then the first step is to really think about whether this
path is for you. And it all depends on your priorities and your goals. But especially on your situations about money
and time at this current point in your life. boot camps in schools both cost like huge amounts of money, but they do
condense a lot of information in a short amount of time. Of course, Boot Camps nowadays have things like blade tuition
agreements and income share agreements, so that you don't have to pay anything until you get a job. But it still costs
a pretty penny. And shortening the process by going through a structured program can definitely be helpful. But it's in
a way that kind of like dominates your life, it's really impossible to be a part of these programs and have a full
time job at the same time. So it just doesn't make sense for a lot of people. So resources really are the reason why you
choose one path over the other and self taught is definitely the cheapest of the three. But it doesn't necessarily mean
it's the easiest, because you have to put together all of the curriculum and structure yourself not to mention, you
have to provide all the energy and ambition and motivation behind it yourself to for better or worse. It's kind of like
the DIY version of creating your own career. It's a non trivial task to teach yourself how to become a software
engineer. And so there's a few things you should know beforehand. So yes, building your coding skills is like
definitely the main focus of teaching yourself how to code seems straightforward, right? Like that's like the core part
of it all. And I can go on and on about which tutorials and resources are good for, like every single technology out
there, but that's going to take time, so I'm just gonna leave links to the ones that I've recommended in the
description box down below. But surprisingly, I've learned that like learning how to code is actually not the hardest
part at all. teaching yourself how to code more than anything is challenging because it requires a Han of
willpower and motivation. Realistically, I think this goes for like teaching yourself anything. So whether that be
teaching yourself how cryptocurrency works, or learning how to build your own furniture, or learning how to pour a
perfect latte, when there's a lot of skills to be learned for anything, it just takes time and perseverance over
something as abstract as coding, it can be really hard to stay on that path and be motivated and focused the whole way
through, I will go so far as to say like the one main factor that separates like who becomes a software engineer and who
doesn't, it's dedication, you have to stick with it. And sometimes it's for a really long time. I think anyone can do anything if they want it badly enough,
and have enough resources. But I think the key is that you have to you have to like it. It has to be like a little bit
fun. That takes way longer than you think. If you want to self teach yourself, you have to really, really want it. Now it's really easy to get engulfed in like
completely swallowed by the coding world altogether. What is the thing you want so badly? Like you would live it, breathe
it, eat it for breakfast? Right? Well, that's where balance comes in. Because without it, it's a one way ticket to
burnout without even starting a job. I feel like time management is really important. That's what the issue was
because I never solved time management. You know, and so I didn't have time for other things, which is super important.
So how do you actually motivate yourself to code in a way that doesn't take too much away from you? That's like the
million dollar question. Well, the one thing that I heard emphasized across many of these interviews is to develop
curiosity, it makes the learning and practice just like a lot easier when you're genuinely interested in what's going
on. Having a like, very keen sense of curiosity is super
important. I think if you were going to teach yourself, you're going to need to be able to dive into stuff and like
try and rip it apart and understand how it works for you, like they soak up information in a different way to where
they're a different type of curiosity. So maybe you found that curiosity? Or maybe you're working
on developing it, once you've got it, like, Where are you supposed to direct it, especially as you start? Well,
coding, of course, everyone emphasize the importance of really knowing your coding foundations. So things like data
structures and algorithms, regardless of what technologies and frameworks you're going to work within. All of those
really do serve as the backbone to anything coding related, you're going to do so you're really going to want to work on
your coding foundations. And I know, I know, data structures and algorithms can be dry, boring and hard. But one way I've
come to think about data structures is that it's really just about like, how do you organize and efficiently store your
data, it's kind of like figuring out how to best organize your closet and learning what kinds of containers are
available. And algorithms is learning how to work with and play around with that data. There's a ton of great resources
online about data structures and algorithms to like on brilliant.org, who is the sponsor of today's video, if
you've heard me talk about brilliant before, you know that it's an app and website built around the principle of active
problem solving. Because really, like, I truly believe this, in order to learn something, you can't just like read it and
watch it, you have to actually do it and engage with it. Really, it has recently upped their interactivity level on
their platform to a whole new level. And they're constantly updating courses to make it more interactive. So yes,
really, it has a course on algorithm fundamentals, that makes it really easy to understand how algorithms work. You
don't have to dig through the weeds of coding syntax to learn algorithms. And you can just shift around these blocks
of pseudocode. And get immediate feedback on your results. It's a super good way to understand how computer algorithms
work. And then once you have that down, the coding syntax honestly becomes a little bit less intimidating. Because you
know what, when it comes to things like data structures and algorithms, you want to have a really good true
understanding of those things. You can't just, like, regurgitate or memorize them because interviewers and other
people are going to know if you don't really understand them. So I think they're brilliant course is really good to
helping develop that true understanding. If you'd like to join me and a community of 8 million learners and educators
today, click the link in description box down below or visit brilliant.org slash Hello, my you go. Thank you so much for
brilliant for sponsoring. And now let's get back to the video. So there is one big blind spot that people have when
becoming software engineers. And wow, if there's like one thing I could shout from the rooftops about like becoming a
software engineer. It's this one. Don't forget the soft skills. This is important regardless of how you learn how to
code, but especially so if you're self taught and you don't have a community of other people to work with. Like it's
just not enough to be like pumping out 1000s of lines of code by yourself every day. Of course producing results and
the technical aspect of the job is very important, but it can To be the full picture for you, being resourceful
dealing with adversity or confusion or stressors, challenging times, and then communicating your thoughts
clearly is such an important part of the job. Some people call them intangibles for interviewers or future co workers
or like anybody you're going to work with. It's an important ingredient they're going to look for to see if you're a
great problem solver, which remember, is the core part of software engineering, the skills you develop as a software
engineer is actually very valuable, not just the coding side. But the resourcefulness. I don't think that software
engineering is just about coding all the time, it's more about problem solving, you have to think about the best way
for your use cases before you start typing. So software engineering really is about
problem solving, then a lot of it is going to be about learning what you don't know, this is a really tricky place
to be in when you're self taught, because there's no one like there to guide you along the way and show you your
blind spots. Like for one thing, it can be hard to know what steps to take in the learning process. No one is there to
tell you what to try next. So on top of having to teach yourself, you also have to know what to teach yourself. And
it's just a really hard thing to navigate, you definitely have the resources and talents to teach yourself whatever
you need to learn. But knowing what you need to know is like a whole different issue entirely. So yes, at any given time,
your self education, it's hard to know where to go or like what to do next. You don't always have a way of knowing
what's important versus what's not like usually there's like professors and like teachers to tell you those kinds of
things. That's why it's really important to find a mentor or a community to help you along the right path. Not only can
they be a figure to lead you on your path as you build it right before you but it's just like another human being to
work alongside you can learn from their mistakes, because they're going to show you the path that they were on and
tell you what they had wished they had adjusted for their own journey. You can also network from this person and
expand your circle beyond theirs, which is way better than starting from scratch. I will start with the meetups. I will go around the
engineers to see how he talks he see the environment that they're in. And also to ask them the questions, you know,
because in that environment, like if you came to me, I would be able to tell you hey, are you want to start with the
basics here? So yeah, seek them out wherever you can meetups community
events like online or in person. Be nice and ask all the questions you can think of. You can observe everything they
say about starting your career path and sticking to it and what to know along the way. Prioritize mentorship early on, I think that mentorship you
have to get it by like putting yourself out there, I would recommend going to meetups definitely recommend finding
people that come from a similar background as you or who can empathize with you. One thing that really helped me overcome
imposter syndrome was getting a good mentor. He I think was was really good at letting me know, like, guiding me in like
the right direction. Like that's not the best practice. Why don't you do this instead. And so through his like guidance,
after a few months of kind of learning, like what the team style is, I was like confidently writing code that would
regularly end up in our code base. And I think that it's really built my confidence, the skills to develop a network arrange you where you can
ask people for help. It's also really valuable way of getting a community around you who have experienced, you know what it's important to remember, you can totally
teach yourself how to code through online resources and tutorials and all of that, but nothing is as valuable as
like another human being who knows what's going on there, kind of like the human cliffnotes to that massive pile of
information online. So as you learn more stuff, and you grow in your journey, and you start getting my interviews and
stuff like that, it can be hard to stop comparing yourself to others, there will be people on your journey who want to
better schools or like chose to go to school when you chose not to. There will be people lucky enough to meet
influential people and companies that they work with or at when you feel like you haven't even gotten your first chance
yet. But you can't look at these people as if they're just like you. There's like a million more factors in play. And
you know what, they're just not you. And you know what having a non traditional background does mean that you're
different from others, whether better or for worse. As a result, the people that I interviewed had some sort of
inkling of imposter syndrome because they came from non traditional backgrounds, definitely imposter syndrome. I feel like Whoa, it's so like
jumping into engineering. It is pretty daunting already but when you just went to have like a three month course online
and your peers next to you have been learning theoretical algorithms and discrete combinatorial for four years that feels intimidating if you go the self taught route and kind
of also like if you just go any route because I definitely feel this to you. You're gonna meet people who you feel like
had a better education than you. And you're also going to feel like they just know a lot more than you to first of
all, that will not always be true, if it ever is. I really think that like you learn what you need to learn at the time
that you learn it. And that's all that matters. People might be a bit of head or a bit behind you, but they might use
like different tools, like we're all just on our own journeys, it's totally normal to feel like you're not
legitimate, especially when you're looking at your resume and like you're looking at your schooling, or your
accolades, or your past experience or whatever like that. But in the real world, let me tell you, companies are
looking for people who can do the job, it matters a little bit, but it doesn't matter that much. Whether you learned
your skills at Harvard or UCSD or even tik tok, some places, it doesn't matter where you go to school, because there is
some sort of like educational bias that exists in tech in America in general and stuff. But that's also because we see
people from like Ivy League schools is like better than us. But like, that's, that's not always the case. Like, just
because you go to the school doesn't mean that you're going to make a good engineer. Also, just because you didn't go to
school doesn't mean that you'll make a bad engineer. Anyways, if you have the talent and the knowledge, you're
gonna get a job. And people at these companies know that that's why there's an entire interview process for this, I thought that I wouldn't be taken seriously, if I didn't
have a CS degree, which wasn't true. I don't even remember any job that I had that, you know, during the hiring
process, they asked about my degree, it was actually more likely that, oh, you have a criminology degree that Tell me
about that experience. That sounds interesting. Like what do you learn, it was more of a, that's interesting and novel,
and not something we see every day. And also, like you had to get a computer science degree. Some people said, I was
like, I don't think you need that. Like, cuz you need like programming is kind of different than this computer science.
Yeah, the way you do things is totally different. So if you're self taught, then your learning pace is decided
by you. So you're like the only person on this journey. So like, it just doesn't make sense to compare yourself to
other people. That's what always gets me about, like this imposter, feeling all the time, more than anything, it just
doesn't like make logical sense to belong to a group of people who were just all so different from each other. I
just think you know, our lives and careers are like too complex for comparisons like that, like we're learning about
how many other ways there are to live through the internet. And yes, you could compare yourself. But you could also
celebrate the fact that there are so many different ways to live. And there's so many different kinds of people out
there, everybody learns at their own pace. And like, as long as you understand the concepts and you understand what
you're actually learning, then that should be the only thing that matters. It's just better to go at
your own pace, to think about other people's paths, I think it makes it a lot easier to get through all these things out up to a problem of belief that can
really affect you, it sounds simple and cheesy. But you got to believe in yourself. No matter where you are in your
journey or your education. If you believe that you someday can become a software engineer, then that's the most
important thing. There's people less qualified than you doing what you want
to be doing. Because they believed in themselves. After working in the industry. For a few
years, all these people realized one by one that a CS degree really isn't necessary for a job. Nowadays, where you learn
how to code is just not as crucial anymore, like their education section, unless you're in your university or
something like that, is going to be at the very bottom of the resume. So it's just, it's just not as important as
things like skills or experience. What's crucial nowadays is simply you and your abilities no matter how you came about
them. And there's the tech world has a lot of these traditionally educated engineers like me, I will add, I
really think that people from non traditional backgrounds with different perspectives are what's going to shake up the
tech industry in a really interesting way. So as tech companies are looking to hire further teams, voices like
yours are really important for their mission, in order to make the best stuff those like unique and diverse identities
and perspectives are going to open so many doors and avenues that like people had just not previously considered, because
these products and services that are built by companies are likely aimed at a non tech audience that has a diverse set
of skills and backgrounds and perspectives and identities. So it really only makes sense that the people building the
thing represents the people who are going to use it, I just think you make a much better product that way, because
people from different backgrounds are gonna bring up concerns and ideas that are relevant to them, their identity
and their community. So I think that software engineers from non traditional backgrounds are exactly what the tech
industry is lacking and needs, especially now. So if you're watching this and thinking about becoming a self taught
developer, then please consider all of the above because Wow, we need you here. These people all did it despite their
Vaseline different backgrounds, experiences and skill sets and interests, look to them as your proof that it's
possible. It won't be easy, but if you really want it, we'll be waiting on the other side. Thank you all so much for
watching. I really hope you enjoyed this video. Thank you so much to everybody that I interviewed for this video. All of
their links are down in description box down below. So check them out. This is a video that I've always really wanted to
make and so I'm really glad that I can finally make it for you. If you're interested in more videos like these then
make sure to click subscribe. Alright, hope y'all have a great day. I'll see you in the next video. Bye!!