Hackernoon logoOverview of the Top Available Career Paths for Software Engineers With Advice on How to Navigate it by@techlead

Overview of the Top Available Career Paths for Software Engineers With Advice on How to Navigate it

image
Patrick Shyu Hacker Noon profile picture

@techleadPatrick Shyu

YouTuber (500k subs), Ex-Google/ex-Facebook Tech Lead.

Ex-Google Tech Lead walks you through the career paths for software engineers and computer science majors.

πŸŽ‰ Party up:

Disclosure: Some links are affiliate links to products. I may receive a small commission for purchases made through these links. #techlead

Video Transcript:

Note: This transcript is auto-generated by YouTube and may not be completely accurate.

00:00

hey Tech later and welcome back to

00:01

another episode of the tech lead it is

00:03

tea time with your host the tech lead

00:05

the tech lead now as an ex-googler at

00:09

lead I wanted to talk to you about the

00:11

potential career paths that you can be

00:13

taking as a software engineer you know

00:15

I've seen some people going around

00:16

learning machine learning and JavaScript

00:19

and just so you know that's just a

00:20

combination that is unheard of in tech

00:22

there is no role for something like that

00:24

you generally aren't running machine

00:26

learning in JavaScript on client-side

00:28

web browsers so I would encourage you

00:31

that if you really want to fast track

00:33

your career that you sign up for my

00:34

program daily interview procom so then

00:37

the interview Pro is a website in which

00:40

I will send you a free whiteboard an

00:42

interview question every day check it

00:43

out daily interview procom so what we're

00:46

going to do here today is we're going to

00:47

cover some of the top career paths and

00:50

also go over why some of these may not

00:52

actually be good choices for you some of

00:54

these are really only for senior people

00:56

and you need to start building your base

00:57

off of something simpler for entry-level

00:59

people there are certain career paths

01:02

that are far simpler to get into than

01:04

others you know if we take a look at the

01:06

beginning when you start off most

01:08

computer science students and even if

01:10

you didn't go through a computer science

01:11

school a lot of people start off

01:12

learning say Java or C C++ and this gets

01:16

you a standard role as a back-end web

01:18

engineer say another problem is if all

01:20

you know is Java or C then that really

01:22

limits the scope of work that you can do

01:24

and you'll be competing with everybody

01:26

for a few Java based on webpack and

01:29

engineer roles the fact is that most

01:31

companies are not running their backends

01:33

in Java these days a lot of companies

01:35

may be running Python or PHP on their

01:37

backends you know we're talking about

01:38

YouTube Instagram Pinterest uber and

01:41

more so that's our first role here web

01:43

back in engineer and this one of the

01:45

most common types and there's a pretty

01:47

good decent road to get started in it's

01:49

very traditional and so what you really

01:51

want to do here is pick up some common

01:52

languages like say Python or PHP maybe

01:55

pick up node.js and if you know Java or

01:58

C than all the better that's just going

01:59

to make you a stronger candidate and

02:01

more fleshed out and what you want to be

02:03

focusing in on here are web projects the

02:05

REST API contract between client and

02:08

server and what that API looks like what

02:10

the inputs and outputs are are you using

02:13

protocol buffers if you're looking to be

02:15

a an engineer and then you

02:17

certainly start mixing in a little bit

02:18

of graphics development game development

02:21

that's just going to end up kind of

02:22

wasting your time you know all learning

02:24

is good is great but it's not really as

02:26

focused and going to land your job as

02:29

quickly as if you had just really

02:31

focused in on that in

02:32

engineering role now the other type of

02:34

role we have here the second one is web

02:37

front-end engineer and this is an

02:39

especially easy entry point I think if

02:42

you're just looking to land a job in

02:44

tech you pick up a web front-end

02:46

technologies we're talking about

02:48

JavaScript CSS HTML learn some new

02:51

frameworks like say angular react view

02:54

Jas and these are going to get you set

02:56

up to be a web front-end engineer and

02:58

that's really all you need you don't

02:59

really need to touch the backend code

03:00

which generally requires a little bit

03:02

more Theory on the computer science side

03:04

if you take a look at many boot camps

03:06

out there that are aimed at people who

03:08

have no programming experience you may

03:10

notice that a lot of them they kind of

03:11

train you towards being a front-end

03:13

engineer and maybe they give you a

03:15

little bit a full-stack experience as

03:16

well so you can get prepared for that

03:17

but I've seen plenty of roles and

03:19

companies startups where people really

03:22

want is somebody working on the front

03:24

end building up those user experiences

03:26

buttons UI color fonts graphics

03:28

positioning layout hooking up api's onto

03:31

the back end but the front end usually

03:33

does not do much more than simple

03:35

rendering and if all you did was know

03:37

JavaScript very well then I think that

03:40

this could be an excellent entry point

03:41

for you to start getting your foot into

03:43

the door in tech now if you were to

03:46

actually combine say some of the

03:47

back-end and front-end and learn both of

03:49

these then you would be considered a web

03:51

full stack engineer which is excellent

03:53

for a long time I have been a web full

03:55

stack engineer and then the way I still

03:57

amp

03:57

the reason full stack engineer is so

04:00

good is because web is here to stay and

04:02

especially as mobile phones have been

04:04

getting more powerful a lot of companies

04:06

they don't really see the need to create

04:08

native applications they just create a

04:09

very good responsive website and that's

04:12

really all they need and it is also

04:14

perhaps the most entrepreneurial form

04:16

right if you are able to develop an

04:18

entire website back-end through front

04:20

end that you're able to pretty much

04:21

launch your own companies so this is one

04:24

big appeal for me

04:25

I didn't really want to be just a pure

04:27

back an engineer writing a bunch of

04:29

Python scripts because that would not be

04:31

sufficient for me to be entrepreneurial

04:33

in that sense so I think that the web

04:35

full-stack engineer is an excellent goal

04:37

for many people and it's a road that is

04:40

in high demand by many startups people

04:42

who just want you to do kind of a little

04:44

of everything put a whole feature

04:45

together front end through back ends

04:47

start to finish and for this sort of

04:49

role you're going to want some of that

04:51

front-end experience like JavaScript CSS

04:53

HTML maybe angular or react and that on

04:56

the back end you're going to want to

04:57

know maybe like Python PHP Ruby on Rails

05:00

Django Java nodejs golang some backhand

05:04

language like that and if you know some

05:06

databases like my sequel and then some

05:08

Linux to just glue everything together

05:10

then that's really going to get you all

05:12

set up there and so that brings us to

05:14

our fourth category here which is mobile

05:16

engineering it turns out that mobile

05:19

engineers are one of the biggest

05:21

categories of Engineers which may come

05:23

as a surprise to some people Mobile is

05:25

big and it has surpassed desktop usage

05:28

many software engineers including myself

05:30

have built their entire careers on being

05:32

a mobile engineer iOS or Android those

05:35

are the two big ones and you can pick

05:36

one to specialize in this is also an

05:38

excellent entry point by the way if

05:40

you're trying to get into tech if all

05:43

you knew was iOS engineering and you

05:46

decided to get good at that or Android

05:48

engineering then that's pretty much all

05:50

you need for a roll you don't need

05:52

JavaScript you don't need databases or

05:54

Python all you need is to know how to

05:55

build an Android app using say

05:57

Coughlin's or Java or for iOS it would

05:59

be swift or objective-c

06:01

so this is a very clean and easy path

06:03

right because all you have to do is just

06:05

learn one single language and you're set

06:08

and the other great thing about this is

06:10

that it can actually help you be

06:12

somewhat entrepreneurial as well right

06:14

it's pretty fun to be able to put

06:15

together an entire app front through

06:17

back launch it and you can have some

06:20

results there too you could put together

06:21

a game and try your luck at the App

06:24

Store maybe it will become popular maybe

06:26

you can build a useful service or

06:28

something like Twitter and that could be

06:30

quite useful as well if you were to mix

06:32

some of that client-side code experience

06:34

with a little bit of the backend code

06:35

back in the day

06:37

to be that iOS was the far better

06:39

platform but these days

06:40

Android is big in fact Android has

06:43

surpassed iOS a long time ago you know

06:45

the number of Android users is probably

06:47

four to one or five to one maybe more

06:50

than that by now Android has been

06:52

growing very quickly and even though iOS

06:54

is very popular in the United States

06:56

Android is by far the biggest global

06:58

market share

06:59

now another career path here that we've

07:00

talked about somewhere is game

07:02

development or graphics development and

07:04

this was something that I had been doing

07:05

straight out of college and a lot of

07:08

people I would say tried to get into

07:10

game development because that's really

07:11

the first interaction people have with

07:13

computers maybe they play a computer

07:15

game when they're a kid I played one and

07:17

then I was inspired by that and I wanted

07:19

to make my own games and really get into

07:21

graphics because it's so visual but the

07:23

funny thing is that you know Fame

07:24

companies they don't build games and the

07:27

game industry if you were to get into it

07:28

it's pretty notorious for low pay and

07:30

hard working conditions and they just

07:32

don't treat you with the same level of

07:34

respect as top tier tech companies in

07:36

Silicon Valley that's why it's a little

07:38

unfortunate that companies like Google

07:39

aren't making games they're not in that

07:41

game business if they were I think game

07:43

development would be an excellent field

07:45

to get into it's so fun you and they're

07:47

often working in C++ under type

07:49

performance limitations memory

07:51

requirements and performance

07:53

requirements they have to stay at 60

07:55

frames per second and then the graphics

07:56

programming portion as well often

07:58

requires a lot of knowledge about

07:59

physics shaders GPUs a whole set of

08:02

skills over there luckily because of

08:04

virtual reality and augmented reality

08:06

starting to gain traction graphics

08:09

engineering is actually becoming a

08:11

viable field here you know it used to be

08:13

that you could only do graphics

08:14

engineering if you were building like a

08:16

game engine and that was pretty much

08:17

about it but now you know you could be

08:20

working as a Google under VR or AR next

08:22

year and hardware or maybe simply on

08:24

some camera app or on creating YouTube

08:26

video filters now another area that we

08:29

haven't talked so much about and I don't

08:30

hear that much about but it turns out is

08:32

pretty popular is data engineering now

08:36

what I did here was I went to H and

08:38

hiring me and you can do this too this

08:40

is a list of job postings from hacker

08:42

news they just scraped the whole website

08:44

and then form

08:45

nicely for you and you can see that if I

08:47

were to look up data engineer there's at

08:50

least eighty matches for this and so

08:52

that's pretty much a lot of people are

08:54

looking for data engineers here data

08:56

engineering is really about organizing

08:58

data you may have tons of data logging

09:00

coming in and then you need to build

09:02

data pipelines in which you write

09:05

scripts and say Python or something like

09:07

that and you consume a bunch of data you

09:09

write sequel queries and then you output

09:11

that into a nice pretty table that is

09:14

fast query and then like a day the

09:16

scientists make worry that and just

09:18

present some data in a nice way so

09:20

that's data engineering and then there's

09:22

a whole bunch of other specialty fields

09:23

one of which is machine learning which

09:25

seems to be all the rage now it's very

09:27

popular I would encourage you that if

09:29

you are interested in machine learning

09:31

and it is a very popular thing that you

09:33

take a look at some of the job

09:34

requirements out there I don't think

09:36

it's the easiest thing for entry-level

09:38

people to start getting into it requires

09:40

quite a bit of math and experience in

09:42

this area to really be effective at

09:44

machine learning and oftentimes it's

09:46

funny that if I were to ask a new

09:48

college grant what they're interested in

09:49

90% of them will say machine learning

09:52

the thing is we don't need 90% of people

09:54

to be machine learning engineers right

09:56

we need like maybe say 10% to be machine

09:58

learning engineers and then for the rest

10:00

you know building like say some Android

10:02

app iOS app some back-end some front-end

10:05

and that there's really a whole host of

10:07

other interesting engineering types you

10:09

have cybersecurity DevOps

10:11

right that's like site reliability

10:12

engineering and this is one thing to

10:14

think about if you dig yourself into

10:15

Linux and Perl and scripting and bash

10:18

Unix commands that's not quite the same

10:20

thing as software engineering it's

10:22

actually closer to site reliability

10:24

engineering or DevOps so just understand

10:27

that there is a distinction between the

10:28

two they're both fine careers right any

10:31

career is actually fine you can just

10:32

pick whichever one that's exciting for

10:34

you and then there's QA engineer as well

10:37

and that really has to do with the

10:38

writing test automation software and

10:40

coming up with the test Suites to test

10:42

programs and systems front to back

10:44

integration testing unit testing

10:46

automated testing all sorts of stuff

10:49

like that if that's your interest and

10:50

other more power to you as far as that

10:52

goes I know that some people they get

10:54

into QA engineer

10:56

and then they hope that from there

10:57

they'll be able to springboard into

10:59

actual software engineering which is a

11:01

path that I've seen some people do but I

11:04

would just warn you that if you do take

11:06

this route there's a chance that number

11:08

one you could be digging yourself deeper

11:10

into QA engineering and it would

11:12

probably require you to actually be good

11:14

at that job to be able to transfer out

11:16

right like you would have to have enough

11:17

sufficient passion in test automation

11:20

engineering to really be doing that for

11:22

say six months to a year and you may not

11:24

be able to transfer out it may just dig

11:26

you deeper into that area whichever path

11:29

you choose I would recommend that you be

11:31

passionate about the work that you're

11:32

doing not just so that you can be in

11:34

there for like a show amount of time and

11:36

search out because I've heard stories

11:37

about people who get trapped in these

11:39

rows and then they realize that they

11:41

didn't really want to do this from the

11:42

first place and then that's a whole

11:44

other mess yourself so overall I would

11:46

recommend that you think about the

11:47

career path that you're taking and

11:49

position yourself correctly and navigate

11:51

that focus you're learning and yeah I

11:54

mentioned this because this seems to

11:56

happen so many intents I've been

11:58

reviewing a lot of resumes and here's a

11:59

quick plug for tech interview procom

12:02

where X Facebook engineer Joma and I

12:05

ex-google engineer we prepare you for

12:08

the technical interviews and that's part

12:10

of this we've also been reviewing

12:11

resumes so check it out Tech interview

12:13

procom work when the fast track your

12:14

career I've been reviewing resumes and I

12:17

just see some people there all over the

12:19

place they seem to be doing a little bit

12:21

of everything or they maybe have been

12:23

building up a skill in something that

12:24

just doesn't seem very useful you maybe

12:26

they've been learning some thought net

12:28

Java and then a little bit of JavaScript

12:30

and HTML and when I look at that profile

12:33

set it's just not clear what type of

12:35

person this is right what is that

12:36

profile is that a back-end engineer web

12:39

front-end engineer your Java engineer it

12:41

seems like just an engineer generalist

12:43

like just a standard coder but the thing

12:45

is I think that when people say they

12:46

want a generalist engineer what they

12:48

really mean is they're looking for a

12:50

full stack web engineer who understands

12:52

a specific tech stack check out the

12:54

roles that companies are looking for

12:56

even if you're not planning to apply now

12:58

you can take a look and just prepare

13:00

your path and think about the skills

13:01

that you may need to learn and that I

13:03

can just help you focus your learning

13:05

and land a job faster so that though for

13:07

me remember to give

13:08

video alike I really appreciate that

13:10

subscribe and I will see you next time

13:12

thanks bye

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.