Career Paths for Software Engineers and how to navigate it.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
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
Info
Channel: TechLead
Views: 575,455
Rating: 4.9159245 out of 5
Keywords: software developer vs software engineer, simple programmer, software developer day in the life, software developer career, software engineer, software developer, programming jobs, software development, software engineering, software developer interview, techlead, engineer, technology, amazon, google, developer, apple, googler, tech, swe, software, facebook, computer science, cs, fb, software engineer life, software engineer intern
Id: oGy_uK6FrgE
Channel Id: undefined
Length: 13min 14sec (794 seconds)
Published: Thu Aug 15 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.