hey Tech later and welcome back to
another episode of the tech lead it is
tea time with your host the tech lead
the tech lead now as an ex-googler at
lead I wanted to talk to you about the
potential career paths that you can be
taking as a software engineer you know
I've seen some people going around
learning machine learning and JavaScript
and just so you know that's just a
combination that is unheard of in tech
there is no role for something like that
you generally aren't running machine
learning in JavaScript on client-side
web browsers so I would encourage you
that if you really want to fast track
your career that you sign up for my
program daily interview procom so then
the interview Pro is a website in which
I will send you a free whiteboard an
interview question every day check it
out daily interview procom so what we're
going to do here today is we're going to
cover some of the top career paths and
also go over why some of these may not
actually be good choices for you some of
these are really only for senior people
and you need to start building your base
off of something simpler for entry-level
people there are certain career paths
that are far simpler to get into than
others you know if we take a look at the
beginning when you start off most
computer science students and even if
you didn't go through a computer science
school a lot of people start off
learning say Java or C C++ and this gets
you a standard role as a back-end web
engineer say another problem is if all
you know is Java or C then that really
limits the scope of work that you can do
and you'll be competing with everybody
for a few Java based on webpack and
engineer roles the fact is that most
companies are not running their backends
in Java these days a lot of companies
may be running Python or PHP on their
backends you know we're talking about
YouTube Instagram Pinterest uber and
more so that's our first role here web
back in engineer and this one of the
most common types and there's a pretty
good decent road to get started in it's
very traditional and so what you really
want to do here is pick up some common
languages like say Python or PHP maybe
pick up node.js and if you know Java or
C than all the better that's just going
to make you a stronger candidate and
more fleshed out and what you want to be
focusing in on here are web projects the
REST API contract between client and
server and what that API looks like what
the inputs and outputs are are you using
protocol buffers if you're looking to be
a an engineer and then you
certainly start mixing in a little bit
of graphics development game development
that's just going to end up kind of
wasting your time you know all learning
is good is great but it's not really as
focused and going to land your job as
quickly as if you had just really
focused in on that in
engineering role now the other type of
role we have here the second one is web
front-end engineer and this is an
especially easy entry point I think if
you're just looking to land a job in
tech you pick up a web front-end
technologies we're talking about
JavaScript CSS HTML learn some new
frameworks like say angular react view
Jas and these are going to get you set
up to be a web front-end engineer and
that's really all you need you don't
really need to touch the backend code
which generally requires a little bit
more Theory on the computer science side
if you take a look at many boot camps
out there that are aimed at people who
have no programming experience you may
notice that a lot of them they kind of
train you towards being a front-end
engineer and maybe they give you a
little bit a full-stack experience as
well so you can get prepared for that
but I've seen plenty of roles and
companies startups where people really
want is somebody working on the front
end building up those user experiences
buttons UI color fonts graphics
positioning layout hooking up api's onto
the back end but the front end usually
does not do much more than simple
rendering and if all you did was know
JavaScript very well then I think that
this could be an excellent entry point
for you to start getting your foot into
the door in tech now if you were to
actually combine say some of the
back-end and front-end and learn both of
these then you would be considered a web
full stack engineer which is excellent
for a long time I have been a web full
stack engineer and then the way I still
amp
the reason full stack engineer is so
good is because web is here to stay and
especially as mobile phones have been
getting more powerful a lot of companies
they don't really see the need to create
native applications they just create a
very good responsive website and that's
really all they need and it is also
perhaps the most entrepreneurial form
right if you are able to develop an
entire website back-end through front
end that you're able to pretty much
launch your own companies so this is one
big appeal for me
I didn't really want to be just a pure
back an engineer writing a bunch of
Python scripts because that would not be
sufficient for me to be entrepreneurial
in that sense so I think that the web
full-stack engineer is an excellent goal
for many people and it's a road that is
in high demand by many startups people
who just want you to do kind of a little
of everything put a whole feature
together front end through back ends
start to finish and for this sort of
role you're going to want some of that
front-end experience like JavaScript CSS
HTML maybe angular or react and that on
the back end you're going to want to
know maybe like Python PHP Ruby on Rails
Django Java nodejs golang some backhand
language like that and if you know some
databases like my sequel and then some
Linux to just glue everything together
then that's really going to get you all
set up there and so that brings us to
our fourth category here which is mobile
engineering it turns out that mobile
engineers are one of the biggest
categories of Engineers which may come
as a surprise to some people Mobile is
big and it has surpassed desktop usage
many software engineers including myself
have built their entire careers on being
a mobile engineer iOS or Android those
are the two big ones and you can pick
one to specialize in this is also an
excellent entry point by the way if
you're trying to get into tech if all
you knew was iOS engineering and you
decided to get good at that or Android
engineering then that's pretty much all
you need for a roll you don't need
JavaScript you don't need databases or
Python all you need is to know how to
build an Android app using say
Coughlin's or Java or for iOS it would
be swift or objective-c
so this is a very clean and easy path
right because all you have to do is just
learn one single language and you're set
and the other great thing about this is
that it can actually help you be
somewhat entrepreneurial as well right
it's pretty fun to be able to put
together an entire app front through
back launch it and you can have some
results there too you could put together
a game and try your luck at the App
Store maybe it will become popular maybe
you can build a useful service or
something like Twitter and that could be
quite useful as well if you were to mix
some of that client-side code experience
with a little bit of the backend code
back in the day
to be that iOS was the far better
platform but these days
Android is big in fact Android has
surpassed iOS a long time ago you know
the number of Android users is probably
four to one or five to one maybe more
than that by now Android has been
growing very quickly and even though iOS
is very popular in the United States
Android is by far the biggest global
market share
now another career path here that we've
talked about somewhere is game
development or graphics development and
this was something that I had been doing
straight out of college and a lot of
people I would say tried to get into
game development because that's really
the first interaction people have with
computers maybe they play a computer
game when they're a kid I played one and
then I was inspired by that and I wanted
to make my own games and really get into
graphics because it's so visual but the
funny thing is that you know Fame
companies they don't build games and the
game industry if you were to get into it
it's pretty notorious for low pay and
hard working conditions and they just
don't treat you with the same level of
respect as top tier tech companies in
Silicon Valley that's why it's a little
unfortunate that companies like Google
aren't making games they're not in that
game business if they were I think game
development would be an excellent field
to get into it's so fun you and they're
often working in C++ under type
performance limitations memory
requirements and performance
requirements they have to stay at 60
frames per second and then the graphics
programming portion as well often
requires a lot of knowledge about
physics shaders GPUs a whole set of
skills over there luckily because of
virtual reality and augmented reality
starting to gain traction graphics
engineering is actually becoming a
viable field here you know it used to be
that you could only do graphics
engineering if you were building like a
game engine and that was pretty much
about it but now you know you could be
working as a Google under VR or AR next
year and hardware or maybe simply on
some camera app or on creating YouTube
video filters now another area that we
haven't talked so much about and I don't
hear that much about but it turns out is
pretty popular is data engineering now
what I did here was I went to H and
hiring me and you can do this too this
is a list of job postings from hacker
news they just scraped the whole website
and then form
nicely for you and you can see that if I
were to look up data engineer there's at
least eighty matches for this and so
that's pretty much a lot of people are
looking for data engineers here data
engineering is really about organizing
data you may have tons of data logging
coming in and then you need to build
data pipelines in which you write
scripts and say Python or something like
that and you consume a bunch of data you
write sequel queries and then you output
that into a nice pretty table that is
fast query and then like a day the
scientists make worry that and just
present some data in a nice way so
that's data engineering and then there's
a whole bunch of other specialty fields
one of which is machine learning which
seems to be all the rage now it's very
popular I would encourage you that if
you are interested in machine learning
and it is a very popular thing that you
take a look at some of the job
requirements out there I don't think
it's the easiest thing for entry-level
people to start getting into it requires
quite a bit of math and experience in
this area to really be effective at
machine learning and oftentimes it's
funny that if I were to ask a new
college grant what they're interested in
90% of them will say machine learning
the thing is we don't need 90% of people
to be machine learning engineers right
we need like maybe say 10% to be machine
learning engineers and then for the rest
you know building like say some Android
app iOS app some back-end some front-end
and that there's really a whole host of
other interesting engineering types you
have cybersecurity DevOps
right that's like site reliability
engineering and this is one thing to
think about if you dig yourself into
Linux and Perl and scripting and bash
Unix commands that's not quite the same
thing as software engineering it's
actually closer to site reliability
engineering or DevOps so just understand
that there is a distinction between the
two they're both fine careers right any
career is actually fine you can just
pick whichever one that's exciting for
you and then there's QA engineer as well
and that really has to do with the
writing test automation software and
coming up with the test Suites to test
programs and systems front to back
integration testing unit testing
automated testing all sorts of stuff
like that if that's your interest and
other more power to you as far as that
goes I know that some people they get
into QA engineer
and then they hope that from there
they'll be able to springboard into
actual software engineering which is a
path that I've seen some people do but I
would just warn you that if you do take
this route there's a chance that number
one you could be digging yourself deeper
into QA engineering and it would
probably require you to actually be good
at that job to be able to transfer out
right like you would have to have enough
sufficient passion in test automation
engineering to really be doing that for
say six months to a year and you may not
be able to transfer out it may just dig
you deeper into that area whichever path
you choose I would recommend that you be
passionate about the work that you're
doing not just so that you can be in
there for like a show amount of time and
search out because I've heard stories
about people who get trapped in these
rows and then they realize that they
didn't really want to do this from the
first place and then that's a whole
other mess yourself so overall I would
recommend that you think about the
career path that you're taking and
position yourself correctly and navigate
that focus you're learning and yeah I
mentioned this because this seems to
happen so many intents I've been
reviewing a lot of resumes and here's a
quick plug for tech interview procom
where X Facebook engineer Joma and I
ex-google engineer we prepare you for
the technical interviews and that's part
of this we've also been reviewing
resumes so check it out Tech interview
procom work when the fast track your
career I've been reviewing resumes and I
just see some people there all over the
place they seem to be doing a little bit
of everything or they maybe have been
building up a skill in something that
just doesn't seem very useful you maybe
they've been learning some thought net
Java and then a little bit of JavaScript
and HTML and when I look at that profile
set it's just not clear what type of
person this is right what is that
profile is that a back-end engineer web
front-end engineer your Java engineer it
seems like just an engineer generalist
like just a standard coder but the thing
is I think that when people say they
want a generalist engineer what they
really mean is they're looking for a
full stack web engineer who understands
a specific tech stack check out the
roles that companies are looking for
even if you're not planning to apply now
you can take a look and just prepare
your path and think about the skills
that you may need to learn and that I
can just help you focus your learning
and land a job faster so that though for
me remember to give
video alike I really appreciate that
subscribe and I will see you next time
thanks bye