paint-brush
Overview of the Top Available Career Paths for Software Engineers With Advice on How to Navigate it by@techlead
599 reads
599 reads

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

by Patrick ShyuFebruary 15th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Ex-Google Tech Lead walks you through the career paths for software engineers and computer science majors. Join ex-Google/ex-Facebook engineers for my coding interview training with Live sessions. Join me at http://dailyinterviewpro.com for daily coding interview practice. Get 2 FREE stocks on WeBull (valued up to $1,400): https://act.webull.com/k/K/S4oOH2yGOtHk... The TechLead "ultra-thin" wallet: https://amzn.to/2WNhqEPEP.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Overview of the Top Available Career Paths for Software Engineers With Advice on How to Navigate it
Patrick Shyu HackerNoon profile picture
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