By Colin Smith
Dev Ops, Mobile Engineer, Data Scientist, Project Manager, and Front End — what’s best for you?
_Get more info before you blindly choose your future career path. Photo by [Unsplash](https://unsplash.com/photos/ZFYg5jTvB4A?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="_blank" title="">Robert Anasch on <a href="https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="blank" title=").
I’ve worked in tech for four years, and I still come across roles that I don’t understand very well. There are so many ways to build a career in tech. I know that when I started looking for my first job, I was clueless about the differences between career paths. If you asked me what a site reliability engineer did, I wouldn’t have been able to tell you.
I get a lot of questions about career paths in tech. I thought I would write an article about it so I could point people to it. I’ll be using Business Insider’s article listing the 20 best tech jobs in America in 2018 as a reference. This is a good list of relevant tech paths with good upward mobility. They are highly in demand and will allow you to get a job at a good company with good pay. Hopefully, this will help you decide the path you will take. So let's start:
_Mobile devices have deeply integrated into our lives. For better or for worse. Photo by [Unsplash](https://unsplash.com/photos/5AYP1yeaE3I?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="_blank" title="">rawpixel on <a href="https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="blank" title=")
Mobile Developer
What do they do?
Mobile developers are the people that build apps for companies. If you’ve ever used an Android or iOS device, then you’ve directly interacted with a mobile developer’s work. There are other development platforms for mobile such as Windows phone. But for the most part, when people say “Mobile Developer”, they’re most likely talking about an Android or iOS developer.
Why should I choose this career path?
You should become a mobile developer if you want to use your eye for design and attention to visual detail alongside your technical prowess. Mobile developers work heavily with designers to put out beautiful, easy to use and performant mobile apps.
You should also choose this path if you are interested in mobile devices and how they work. Mobile developers that focus on infrastructure have to consider limited device resources. They also must have in-depth knowledge of how a mobile device works to make the apps they work on performant.
How do I get started?
This depends on if you want to focus on iOS or Android. I’d personally recommend learning Android for two reasons. Java is probably a more useful language to learn over Swift or Objective-C and the fact that 75% of the world uses Android compared to 21% using iOS. This is according to statcounter.com. That being said, if you have a particular passion for one platform over the other, go with your passion.
For Android, read this article. This goes over the nitty-gritty of how to get started. For iOS, watch this video on raywenderlich.com. Ray Wenderlich’s website is an excellent resource for iOS in general.
_Insights derived from data tend to deliver better results than gut feelings from founders. Photo by [Unsplash](https://unsplash.com/photos/1K6IQsQbizI?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="_blank" title="">Franki Chamaki on <a href="https://unsplash.com/search/photos/data?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="blank" title=")
Data Scientist
What do they do?
Data scientists help businesses solve problems through the processing of data. So what does that mean? A software engineer will implement some logging somewhere on a website or mobile app. This gets processed and eventually gets to the data scientists. The data scientists will then gather all these data points and derive insights from them.
We can use an e-commerce website as an example. After looking at a few different data points, a data scientist notices that only 0.5% of people that add an item to the cart end up making a purchase. The data scientist then hypothesizes that this could be the reason for the decline in revenue last month. They check the rate three months ago and see that it was at 5%.
It looks like that is probably the reason for the drop in revenue. They surface this to the right stakeholders. These stakeholders find out that there was a crash occurring during purchasing that caused the problem. This may not have been found if a data scientist didn’t work at the company.
Data scientists can also work to spot new paths to growth and ways to improve current products based off of data. The sky is the limit on how a data scientist can be leveraged at a company.
Why should I choose this career path?
Become a data scientist if you love looking at data and trying to see patterns. Data scientists provide value by looking over data and trying to discover insights that will help their company grow. You have to love trying to come up with reasons for why specific patterns are occurring. You also have to have a deep understanding of the products you are working with, so you can vet hypotheses around your data insights.
How do I get started?
I would start with this course on Coursera which first gives you a better understanding of how data drives business decisions. If that course deepens your interest, start with this article that recommends some great ways to start learning.
_Being a project manager requires maintaining a perfect balance between delivery date and quality. Photo by [Unsplash](https://unsplash.com/photos/flEStjHTY14?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="_blank" title="">Leio McLaren (@leiomclaren) on <a href="https://unsplash.com/search/photos/balance?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="blank" title=")
Project Manager
What do they do?
Project managers do exactly what their title implies, they manage products. But what exactly does that mean? Well, as a project manager, you need to have a high level view of the product you are working on.
You need to make sure everyone is executing and working on the most relevant tasks so you can ship your product on time. You need to understand what every person on the team is doing, how they’re doing it and when they’ll be done. You line up all the pieces so that the final product has everything it needs in the timeline you provided to the higher-ups.
This also means you need to help unblock people when they’re stuck. You need to organize meetings with other teams if you are dependent on them for finishing your product. You need to run sync up meetings for your team to ensure everyone is on track and not having issues.
The hardest part about being a project manager is ensuring that everything gets done on time and with quality. You also need to make sure the people on your team aren’t overwhelmed. This is always a delicate balance.
Why should I choose this career path?
You are organized and love collaborating with others. You are able to balance the needs of many in order to deliver on a high quality product. You understand the trade off between time and quality and know when to push back for either.
Lets say the people waiting for your product demand that you finish it in 2 months when you know it will take 4 months to deliver a quality product. You must have the ability to provide convincing evidence for why you need the extra time. You also have to ensure that you don’t bow to pressure.
Being a project manager requires maintaining a perfect balance between delivery date and quality.
The opposite can be true also. Sometimes developers say that something will take 1 month when you’ve seen it done in 3 days before. You ask questions and find out that the developer wants to over-engineer this certain piece of work even though you know the product doesn’t need it. You have to figure out a way to get the developer to only build what is needed.
Like I said before, being able to work effectively with others while being organized and keeping a product on track is what it is all about. This is incredibly difficult. You need to have high level knowledge of a product but deep enough knowledge about every piece that you can keep people accountable for their work.
How do I get started?
A lot of project managers in tech use Agile and Scrum methodologies to organize their work. I would get started by looking into obtaining Scrum certifications. Take a look at the Scrum website for more details.
Project manager’s tend to have a business administration degree or a project management degree. If you are already working on a computer science degree, you can consider getting a minor in one of these subject areas.
Another great way to get into project management is to manage a small project with your friends or an open source project. Practice makes perfect and real life application of project management skills will make you stand out as a candidate.
You can also start getting familiar with project management tools such as Trello, Jira, Quip, Excel and many more. Being familiar with the software a project manager uses will help you build your skills in project management.
_Having a sleek front end is key in creating popular websites. Photo by [Unsplash](https://unsplash.com/photos/V09Io5ln-Qo?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="_blank" title="">Aaron Huber on <a href="https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="blank" title=")
Front end engineer
What do they do?
Front end engineers use HTML, CSS and JavaScript to build UI for websites. They focus on aspects that are important to the website such as accessibility, security, usability and performance. If you’ve ever logged into a website or bought something from an e-commerce store on your web browser, then you’ve interacted with a front end engineer’s code. Check out this awesome article for even more details.
Why should I choose this career path?
In a lot of ways, this job is similar to a mobile engineer’s job. They both build UI and should have a certain attention to detail when it comes to visual elements. They both work with designers to implement UI that is both performant and a delight to use. The main difference would be the languages and tools used and the fact that mobile developers are creating applications instead of websites.
You should be a front end engineer if you are the kind of person that likes learning and using new languages and tech stacks. Being a front end engineer requires the use of HTML, CSS, JavaScript and SQL. On top of that, you will most likely need to know some back end server-side framework like Django, Ruby on Rails, or .Net.
Another reason to consider this path is if you are interested in problems around scaling. A mobile application will only ever serve one user at a time. This is due to the fact that only one person can use a mobile device at a time. A website has to serve potentially millions of people at the same time. This requires a different mindset and approach to prevent bottlenecks from occurring.
How do I get started?
This one is easy :) Just checkout freeCodeCamp’s course. This will give you all the skills you need to become a proficient front end engineer.
_From committed code to delivery to production, a DevOps engineer has got you covered. Photo by [Unsplash](https://unsplash.com/photos/0wsnJWonXFs?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="_blank" title="">Drew Beamer on <a href="https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener" target="blank" title=")
DevOps Engineer
What do they do?
This is by far the hardest role to explain. Because there is a lot of debate about whether this is really a role or actually just a mindset. The idea can be broken down into the fact that a DevOps engineer takes on both a developer and an operations job. Hence the term “DevOps”. Let’s look at each of these roles.
In general, software engineers want to build as many features as possible so they will look good to the higher ups. One of those new fancy features is bound to help the company grow which makes the software engineer look good.
An operations engineer wants stability. Which means they don’t want software engineers to release too many new features. Because with new features comes unpredictability. And with unpredictability, comes instability. The operations engineer just wants every new release to be stable. They want the release process to go smoothly. But releasing too many features or features of high risk threatens this goal, which is exactly what most software engineers are aiming to do.
These two roles obviously seem at odds but that is why a DevOps engineer can be so useful. A DevOps engineer can bridge the gap between development and operations. By doing this, they create meaningful communication routes between these sometimes silo-ed areas. A DevOps engineer creates a feature and sees it safely to production where it makes users satisfied. Being able to do this is highly valued at any company.
Why should I choose this career path?
You should choose this career path if you are not only interested in coding features, but want to learn about how to release your code to a production environment. You should have the drive to learn about every aspect of software engineering and release engineering.
You will most likely need years of experience to be termed as a “DevOps” engineer due to the vast amount of knowledge and tools you will need to learn. You should love learning new things. The idea of knowing every aspect of your tech stack should excite you. If you want to become the person that everyone goes to when something unexpected happens, then you should look into becoming a DevOps engineer.
How do I get started?
I’d get started by learning about how code gets released into a production environment for starters. This can be done by building your own website, and deploying it yourself. The best way is to work for a company for a while and work on every part of the deployment process. Volunteer to fix problems that others don’t want to deal with. That is a great way to learn.
Other than that, I’d recommend reading this article on how to get into DevOps. It is very well written gives even more actionable ways to become a DevOps engineer.
Didn’t see the role you were looking for?
If you enjoyed my summaries of these roles but didn’t see the role that you wanted, leave a comment! I will do another round of these career path overviews for the most clapped comments. Hopefully you enjoyed these summaries of these tech career paths. My hope is that you at least have a better understanding of the breadth of skills and knowledge it takes to release good tech to the world.
I will do another round of these career path overviews for the most clapped comments.
Liked what you read?
Do you need a computer science degree to get a job in tech?