In this blog article I want to give you kind of a roadmap of how to get into the IT world.
This is the written version of my new youtube video ✍️
The tech industry is currently one of the hottest industries for the job market, so it's completely logical that so many people are thinking about changing careers to tech or getting into tech just after graduating from school or college.
Entry into tech can be overwhelming 🤯
And it's true that tech industry offers lots of career opportunities, but when you are at the very beginning of your journey it can be very overwhelming too. 🤯 It is a broad industry with so many options, so many IT fields and professions. There is so much to learn and often you don't even know where to start. It's also hard to know which IT field you will be interested in and will eventually choose, before actually trying things out and seeing for yourself what you enjoy doing the most. You may even have self-doubt thinking that it's too late to switch careers or there's so much to learn you can never catch up with the people, who have been in tech since early age.
And I understand all these concerns, the self-doubt, the time pressure, insecure not knowing where and how to start etc. And that's why with this blog article, I want to kind of show you various career path in tech and give you some general guidance for how to get started. 😇
And for every IT field, we will see:
- whether it's an entry-level profession
- what they actually do and what are some of their job responsibilities
- as well as what skills you need to have to get into that specific field
- and some of the technologies you need to learn for it
My Background 👩🏻💻
First of all, I want to start by saying that it's never too late to get into IT. 👏
I myself transitioned from my marketing and business studies and had nothing to do with IT before, not even an IT subject at school or college 👀 and switching my career to tech was probably one of the best decisions of my life! 🤠 This field is becoming more popular every year and it comes with so many benefits and opportunities for people working in this field. Plus it's an interesting, exciting and fulfilling field to be in no matter which specialization you choose.
So let's see what are actually some of the most popular IT professions today, that will be even more demanded in the future, so what options you have for IT jobs that you may want to specialize in.
Most popular IT career paths 💎
Of course there are many different statistics and rankings out there and many names for the similar jobs, but there are several professions that definitely stand out, which have become the most popular. The popular and demanded jobs in IT are usually paid very high 💸, so many of those rankings are also based on salary and career growth statistics.
Based on several rankings, the most demanded and popular IT fields that have been growing in popularity even more over the years are 👏:
- Software Engineering
- DevOps Engineering
- Cloud Engineering
- Cybersecurity or Security Engineering
- Data engineering or generally data related professions
- and Machine Learning Engineering
And these top fields will actually be even more demanded in the future. So there is a lot of growth and future potential in each one of those fields. 👍
So most of you will probably want to get into one of those fields, but many of you may not know right now what you want to choose exactly, maybe because they all sound equally exciting for you or equally overwhelming so you have no idea which one will be a better choice or which one will be the most interesting one for you, which is absolutely okay, because that's exactly what I want to help you with in this overview. 😊 ✅ So let's get into it!
General Learning Approach 🧠
First of all, it's absolutely fine to try out multiple things to see what you like the most. In fact, it's a really good idea, because you have so many opportunities, so many options, so you want to take advantage of that and find the one that fits you the best.
However, you need to approach this with some structure, just randomly learning things here and there in the hope to make sense of many things at once or even worse trying to learn multiple of those fields at once is not a good strategy. It will make your learning journey difficult and it will surely make it longer as well and you won't properly find out what field you like the most.
So let me help you structure your learning process by laying out the map that shows you all these professions individually and the learning path to those as well as any overlaps and common knowledge between them. ✅
1 - Become a Software Engineer 👨🏼💻
Let's start with the broadest and the most widely least spread IT field, which is "software engineering". I believe it's also the easiest entry point into IT and where most people actually start their IT careers and that's how I started as well.
A software developer or software engineer is someone, who develops any kind of software applications.
What is software? 🤔
This can be a web application a mobile or a desktop application. Whenever you think of any software, whether it's on your computer the mobile phone in your smart TV. So for example, Amazon, Netflix and all these applications you use on your smart TV. These are all software. Or think about smart cars, again these are applications for navigation and some other controls of the car. You have smart homes, software in production machines and robots.
So these are all software developed by software engineers.
Different subfields of software engineering
But software engineer is a very broad term itself and covers many subfields and you can actually specialize in any of those subfields, since they are each their own separate professions.
Frontend, Backend or Full-Stack
For example, you can become a "frontend developer", which is basically developing the front of the application, the part that the users see in their browser or their phone screen or TV screen.
You can become a "backend developer" and develop the backend part of the application, the part that connects to the database, saves and updates user data, processes data and so on.
Or you can become a "full stack developer". They're basically people, who can develop both frontend and backend parts of the application.
Web, Mobile or IoT
Then you also have categorizations like "web developer", which is basically developing web applications that you see in a computer or laptop browser. You have mobile app developers, which are developing applications for Android or iOS. You may be an "IoT developer", which is "Internet of Things", like software in your car for your TV the smart home, the smart lock systems for hotels etc.
Specialize on programming language
So these are all separate career paths, because each of these is already such a big area and field on its own.
Generalist or Specialist
So you can go deeper into a chosen technology or area or you can go broader and become a full stack engineer as I mentioned. And both have their values. You need experts in one specific area, but you also need people, who have a good overview and knowledge of many things on a higher level and that's really a personal preference, whether you are a generalist or a specialist, so you can decide what you like more. I am personally a generalist. I like knowing many things and how they fit together and integrate together and knowing things on a high level, rather than deepening my knowledge in one specific area, but as I said that's a really personal preference.
Roadmap to become a Software Engineer ☡
However, no matter which of these professions or subfields you choose, you have a pretty similar entry point for all of those.
1 - Learn basics of Software Development and Programming
You have to first understand basics of software development and programming. For example you take any programming language and learn the basics of programming with that language.
Things like variables, functions, data types and so on, because these concepts are actually the same for every programming language, no matter whether it's mobile, web, frontend or backend development.
2 - Develop simple example projects
Once you get the basics right, the second step will be to actually start developing simple example projects to really understand how software is written from scratch. 🚀
The complete setup of frontend and backend, whether it's a web or mobile application, because that's how you really learn the concepts behind software development. I'm a big fan of learning anything with an example project, rather than by book or watching some tutorials passively.
This way you're not learning just a specific language and what features they have, you are learning how to develop an actual application that is usable.
If you want to go into mobile development you can choose one of the languages for mobile development and practice using that language.
How to choose a programming language?
Every language has its advantages and disadvantages. Some of them are cooler, some of them are more widely used, but the important thing is that you learn the concepts first, because you can always learn the syntax or you can even Google the syntax, if you need to.
If you're not sure, which language you want to choose, always go for the most popular one, because it increases your chances to get a job with that language and it has a large community behind it and it has to be popular for a reason.
Concepts over Features and Syntax 💡
So as I said, instead of learning features and syntax of a language just one by one, take an example project either from web or think of your own project and develop that. You will learn way more in that process of doing it, but it has to be simple so you don't get stuck and overwhelmed in the process.
No knowledge is wasted, you can always switch
And here's the thing, if you are thinking: "what if I make the wrong choice and start with the wrong thing and find out that I don't like it at all?"
Well, if you start with backend web development for example and after months of learning that, you realize it's not really for you and you like mobile app development better, that knowledge is not wasted. You aren't starting from scratch. That knowledge that you gained will help you switch to another area, plus you had a chance to find out what you like and what you didn't like. In fact, that isn't wasted even if you decide you want to go into a completely different area like data engineering or cloud engineering or DevOps.
And I want to say that, the fields in software engineering are usually the entry-level tech professions. So it's relatively easy to get started in IT this way and later you can always transition to another tech area.
And as I said your knowledge will never be wasted, because lots of concepts are related and interconnected in different areas of IT:
Your programming skills will be useful even if you go to machine learning or DevOps engineering.
Tips on how to learn 🧑🏼🏫
Important thing here is not to do everything at once, as long as you build your knowledge in tech step by step, like one area at a time, one programming language and technology at a time and stick to that for at least six months or so and then move on to the next thing you should be fine. Just don't rush from one thing to another, trying to absorb everything at once, which I know many of you are probably thinking to do.
And if you do want to start with this path, I actually have a mini bootcamp for learning everything you need to know for web development specifically, full stack development with frontend, backend, database connection plus even more the complete software development and release life cycle:
And my goal was exactly to make people's entry in IT easier and remove that fear of tackling this scary thing of getting into tech, by making things simpler and easier. Plus with actual real projects to make it fun and engaging.
Just a shameless plug here for our IT beginners course. 😊 So if you want to know more about that you can see the video, where I explain exactly what you learn there in detail: Complete Overview of the course
2 - Become a DevOps Engineer ♾
Now as I said, you can use knowledge in software development in other IT fields and software development is actually the best stepping stone to transition to our next most popular IT role called "DevOps engineering".
So DevOps field is rising in popularity year by year, it is the field that I personally found extremely exciting and some years ago from being a senior software engineer transitioned to DevOps. And if you know my videos, you also know that my whole channel, courses and educational programs are all about DevOps 😍
But very important to note here, that DevOps is not really an entry-level IT profession. It is a bit more advanced, which means you need to already have some engineering know-how in order to transition into DevOps, but what is DevOps anyway?
DevOps is all about automating the processes in the software development and release life cycle.
Which means logically enough that you need to understand those processes and the whole life cycle first so you know what you're automating.
So DevOps is a more complex and difficult field, which I do not recommend to start in, if you have zero IT background 🤷🏻♂️, but if you build up your knowledge step by step and you find it as interesting as I do, it can be an extremely rewarding profession.
It is a highly demanded and also highly paid IT profession, because there is actually a big shortage of these professionals, probably way more than for software engineers.
If you want to know more about DevOps and what type of person it is for and what skills you need to become a DevOps engineer, I actually recommend you watch my videos from my "DevOps as a career" playlist, where I explain all of that in detail. So after watching them you will know exactly "nope DevOps is definitely not for me" 👎🏼 or "yes that's exactly what I want to do"! 👍
Transitioning to DevOps
Before we move on to the next profession though, I want to mention that lots of people transition to DevOps not only from software development background but also from systems administration or test automation or network engineering role and various other roles actually. I would say IT professions that are becoming less demanded or less interesting are moving towards DevOps engineering, because it is the new hot thing. 🔥
And if you don't already know about our famous DevOps bootcamp. Two years ago we actually created the complete educational program to teach people all the necessary tools and concepts to become a DevOps engineer:
We have educated more than 2,500 students with this bootcamp so far, but as I said the DevOps bootcamp is for people with some level of IT experience or IT pre-knowledge. And that's why we created the IT Beginners mini bootcamp to help people with the zero background learn the fundamentals first they need to, to even get started into DevOps. So I created this course actually as a prerequisite for the DevOps Bootcamp. So if after watching the "DevOps as a career" videos you decide you want to get into DevOps, then these two educational programs will be the perfectly laid out path for you to get there in the most efficient easy and fast way. 🙌
But if you decided DevOps sounds like it's definitely not for you, then you can consider one of the IT professions I'm going to talk about next.
3 - Become a Cloud Engineer ☁️
The next IT field, which is actually pretty related to DevOps is cloud engineering.
Very simply explained, a cloud engineer basically builds and maintains infrastructure in the cloud.
As many companies move from managing their own infrastructure to using cloud platforms, Cloud Engineers are becoming increasingly demanded.
Cloud engineering is also an entry-level profession. If you have some basic systems administration experience, then this will be probably the easiest IT field to transition into, but if you're a complete IT beginner, you can actually start your IT journey directly here as well.
So how do you start in cloud engineering?
Roadmap to become a Cloud Engineer ☡
Well in cloud engineering, there are actually two most popular cloud platforms out there, which are
- Amazon's AWS
- and Microsoft's Azure.
Both of them have various certifications, which you can take to help you get a job as a cloud engineer for that specific cloud platform. So if you want to get started in this, choose one of those cloud platforms and start learning for their basic entry-level certifications and basically specialize in that cloud platform.
I personally suggest choosing AWS, because it is currently the biggest and most used cloud platform. A good way to start here will be using AWS certification programs. AWS has multiple certifications from basic cloud practitioner to more advanced certifications. So obviously start with the basic AWS cloud practitioner certificate and start learning and preparing for that. This will give you knowledge in all important AWS services, but more importantly in the main concepts of cloud engineering in general.
And remember I said, when you learn one programming language, learning another programming language actually becomes way easier, because you already learned many of the common underlying concepts. The same way if you at some point decide to go for Azure after learning AWS or you find a dream job at a dream company, who uses Google Cloud platform instead, you can learn them way easier, because you already have learned one Cloud platform and the basics of cloud with that platform. In fact learning two cloud platforms will be a major asset, because you now have a good comparison between them.
So the best starting point will be getting the cloud practitioner certificate from AWS to get you the first job in this field.
Cloud vs DevOps
Now I want to mention here that DevOps and Cloud often fall into the same category and often they get mixed up. However even though they have some overlaps, they are actually two very different fields and I plan to create a video for "DevOps engineer versus Cloud engineer" describing in detail what are the common tasks and responsibilities, those overlaps as well as what actually differentiates them.
So you understand exactly the difference between these two fields. ✅ So be sure to subscribe to my Youtube channel and activate the notification bell, if you don't want to miss that. 😇
4 - Become an IT Security Engineer - Cybersecurity 🔐
Now cloud, DevOps and software engineering fields have one thing in common, they all need security.
When you build a cloud infrastructure you need to secure it, when you program an application you need to make sure it doesn't have any security loopholes that hackers may use to hack into your systems, when you build DevOps processes which actually affects your application, your cloud infrastructure and many different systems, again you have even more security responsibilities to make sure you don't expose passwords and secret keys to your systems etc.
This means software developers, cloud engineers and DevOps engineers they all have to know about security.
But security is an extremely large field and it affects every piece and step of the software development and release life cycle and you have security in other IT fields as well. So we actually have a separate dedicated profession for IT security engineers, who specialize in all things security.
Tasks and Responsibilities of a Security Engineer
As a security professional you know security tools and technologies that help you scan and identify security issues at different levels as well as help fix them and also validate that other engineers have secured their systems properly.
There are even external security companies who provide services to other companies to secure their systems. For example they try to hack into their systems and see where the systems of the company are vulnerable, because if they can hack into them, actual hackers can also do that.
So as a security engineer you identify those vulnerable points and advise the company how to secure them. Also security as I said is on multiple levels, every system, every software, that companies using or developing needs to be secured:
- the infrastructure
- the application platform
- the frontend
- the backend
- the application itself
So security engineers usually have a wider cross knowledge of security on all those levels and can plan a general strategy of securing the complete setup using various technologies for automating security checks and security testing and so on.
Huge Demand 👀
And it goes without saying that security engineers have extreme value to the companies 💎, because security breach is the worst scenario for any big known company. Cyber attacks are becoming more and more sophisticated and for applications, who have millions or hundreds of millions of users and the user data obviously the impact of the attack is huge, when data of so many users is compromised or even think about your online banking application. Obviously you don't want them to have any security issues in their system, right?
For this reason there is usually a tremendous demand for security engineers in many industries and it's definitely going to become even more important in the future.
Roadmap to become an IT Security Engineer ☡
So if you want to go on this challenging but very exciting path you need to first understand the concepts of what you are securing.
So this is also not really an entry-level IT position, you definitely need some pre-knowledge in one of the IT fields like network engineering, cloud engineering, software development etc. And on top of that you'll have to learn many security concepts and tools in order to develop this general security strategies.
5 - Become a Data Analyst, Data Engineer, Data Scientist - Big Data 📊
One of the hottest IT jobs, which are more in demand than ever are data related jobs. Now why is that?
Human generated data 👥
When we have software that millions and billions of people use daily, those users produce loads of data, right? Think about social media, the posts and media we create and upload every minute or every second. Think about search data generated when millions of people search daily, GPS data from Google Maps or other applications that track your location, when you buy groceries at the supermarket, when you buy stuff online. So basically the user behavior data.
All of this is data that we humans produce daily through our digital footprint.
Device generated data ⚙️
But apart from this human generated data there is also massive amounts of device generated data, such as cars, IoT systems through sensors, production machines, robots, logistics data, shipment tracking.
So even more data than humans generate is coming from these sources.
With all this, the data has grown dramatically in the last years.
In fact worlds 90% of the data was actually generated in the last two years.
As some sources mentioned, we generate so much data, every single day that if it were written down in form of books and we could pile those books on top of each other, we would have enough to build a bridge to the moon and back.
And because of the sheer volume of this data, we also call it "Big Data". So that's where the term comes from.
Raw vs Processed Data
Data has become a precious asset of any organization 💎, because it helps them understand things better. 💡 Like make predictions, political campaigns are driven by data, like you have polls and online searches etc. Many companies use data to optimize their processes, to save time and money in those processes.
However, just raw data has no value to the company. Imagine these are massive amounts of data in raw form, generated in different formats and from different sources. It's really difficult for humans to make sense of data in this form. It only has value once the data is processed, cleaned, analyzed and visualized.
So it's easy to consume for us humans and big data related professionals are exactly the ones, who use tools to turn these massive amounts of data into usable and extremely valuable information for companies.
And companies can then use these visualized data to make decisions, make future predictions, cost optimizations and so on.
And there are various data related professions with different tasks and responsibilities such as
- data analysts
- data scientists
- and data engineer
So let's see comparisons between them.
Data analyst is basically the entry-level profession, if you want to get into this field and is the easiest to start with.
As the name suggests, data analysts analyze and interpret data to extract meaningful information from it. So they need to basically make sense of the data, like identify any patterns.
The main skills they need to have are knowledge of math and statistics and various tools that help them in data analytics and data visualization.
But in addition to the technical skills, data analysts must actually have a good business and product understanding. So they analyze the data with the goal to make good decisions for the business and product development and then communicate those decisions to people, who actually need them like, product owners, business decision makers in the company.
However, data analysts work with already processed and prepared data. So the raw data needs to be collected from multiple sources with different formats and be processed first to be usable for the data analysts.
And this is something that data engineers do. Data engineers need knowledge of databases and programming to do their job and data engineers actually build something called "data pipelines" to collect, store and process the data:
So you can start into data engineering by learning:
- A programming language like Python and its data processing frameworks and libraries
- Learning databases and query language like SQL for example
- Big data specific frameworks like Apache Hadoop, which is a popular framework that allows you to store and work with massive amounts of data.
And the third one I mentioned is a data scientist, which is usually the highest paid profession among these three.
Now interesting to mention that companies often use data analysts and data scientists job titles interchangeably. Now they are two different professions, but there are definitely some overlaps between those two. And one of the overlaps is that you need to have advanced math and statistics knowledge here as well.
So generally contrary to the popular belief, you don't need any math or statistics knowledge for software development and definitely not for DevOps or cloud engineering, but in data science or data analytics you will be working with math and statistics a lot. 🧮
This means if you want to get started in one of those fields, the first thing you need to learn is statistics and the programming languages for statistics like R or Python.
However, in addition to statistics, data scientists usually require more advanced technical skills than data analysts and that's where the main difference between those two professions lie:
So data scientists are usually more experienced engineers, who can create advanced machine learning models for example and algorithms to make future predictions.
6 - Become a Machine Learning Engineer 🤖
Which leads us to the next and final hottest IT profession called a Machine Learning Engineer or ML Engineer, which actually is yet another big data related profession.
Data Science vs Machine Learning field
We said that data analysts and data scientists use data to analyze trends and identify patterns and make some decisions and predictions based on the data. So data can be used by humans to make data-driven decisions, but data can also be used by machines by programs.
So that clean processed data that data engineers prepare can be fed into machines, so they can learn from them and they can use them for different tasks. And that's where machine learning actually comes in.
What is Machine Learning? 🤔
Now what is machine learning exactly and why do machines need data, what do they do with it?
In software development we write programs and instruct them to do something. In machine learning, machines can perform a task without being explicitly programmed to do so. 🙅🏻♀️ How do they do that? They learn how to perform that task from large amounts of data using algorithms, which are also called machine learning algorithms:
So machine learning is about computers being able to think and act without being explicitly told or programmed to do so.
And there are two main parts of this process:
- First one is writing the machine learning algorithms so that machines can use them to learn
- And the second part is feeding large sets of processed data into those algorithms, so basically using the data to train the model.
Skills you need to have
Again there are some overlaps between data scientists and machine learning engineers that you will encounter, they both need strong math and statistics skills to work with data, however, while data scientists focus on making sense of the data, visualizing and presenting it better, machine learning focuses on using the data for machines to learn to carry out certain tasks:
So entry into machine learning engineering is actually pretty similar to data science:
You need to start by learning a programming language like Python, which has powerful machine learning frameworks and statistics, which is a very important part of machine learning engineering.
Python - General Purpose Language 🐍
Now you probably already noticed that in all those fields I actually mentioned Python programming language and that's because Python is a general purpose language.
You can use Python in every single one of those areas, however that does not mean that you need the same Python knowledge in each field.
Using Python for web development is completely different from using Python for DevOps automation or machine learning and that's an important difference.
Python Core vs Python libraries for specific field
So first you learn the Python core with its syntax and general programming concepts and then you learn the specific libraries and frameworks for each IT field on top of that Python core:
So you have completely different frameworks and libraries for web development and machine learning and DevOps automation, which you need to learn for that specific field. So you basically learn different parts of Python for each field and that's an important thing to differentiate.
Python language just happens to have popular frameworks for all those fields and their use cases, but of course the Python core is the same everywhere.
If you want to learn Python core, like syntax and programming concepts of Python, you can definitely check our free course on Python.
So we've covered a bunch of career options in IT and I tried to categorize them so you have a better overview and comparison between them. ✅ So hopefully something stood out for you where you think: "well that field sounds pretty interesting to me so I'd like to get into that field".
Where and how to learn - CS Degree, Courses, Bootcamps, Self-Learning? 📚
Now of course when you know approximately which direction you want to go and what you want to start learning, the next question becomes: "Where and how do you learn this?" Do you get a college degree in computer science? Do you take an online course? Do you join a data science bootcamp or a coding bootcamp or our DevOps bootcamp? 🤷🏻♂️
Well, I personally started my informatics studies at a technical university, but I was using mostly online resources for my studies like YouTube videos and some coding websites. And as soon as I got an internship as a software developer in my second semester, I actually quit my studies and used my work to learn by doing.
At work I was actually learning way more practical stuff that I actually needed for my job than at the university
So I usually recommend learn the relevant skills you need to get hired as fast as possible. 🚀
But learning at work wasn't always easy, so I continued learning new things from YouTube videos and blog articles and online courses. I was often all over the place trying to learn anything and everything that I stumbled upon. I didn't really have a roadmap that I could follow, but it was still useful in some way.
So I still think that online resources are one of the best ways to learn, especially in IT field, but as I said having some kind of roadmap and structure definitely makes the learning journey easier, because you don't just learn things randomly, but you learn things in a certain order without being distracted by massive amounts of information. 💡
Find a clear roadmap
So whatever field you want to choose: Go find a clear roadmap for that profession. There are various articles and videos about those roadmaps and then just try to follow that roadmap.
And of course if you decide for DevOps, as I mentioned we have a complete roadmap for that, even if you're starting off without any IT background:
So you don't need to do the research, put together a learning course and find good resources. We have done that whole work for you. You just follow along and learn by doing and if you know my videos I create the content with the goal of giving practical actual usable knowledge with easy explanations. I love helping people learn easily without getting frustrated and being overwhelmed. 💙
Start your journey into IT 👩🏻💻
So generally as you see, you have various options, choose an entry-level career based on what you want to do later and you can build on top of that.
And again no knowledge is wasted in IT, everything is still interconnected, so if you start in software development and later want to do DevOps or machine learning or cloud engineering you can still benefit from that knowledge and won't be starting from scratch in that field.
So if you don't know yet where you want to end up you can start with any one of those, maybe the easiest one and you can always progress in any other direction later. 👍
I hope I was able to help you make these important decision for your future, you definitely made the right decision by choosing IT in general. With that, all the best in your future career! 😊
Like, share and follow me 😍 for more content:
Top comments (2)
On many occasions, I was ready to give up my career in order to start doing what I love. And that's what I did when I looked for jobs in Dubai Layboard. For me, it was just the best solution and the most important thing is that now I feel like I'm where I'm supposed to be and I'm doing what I'm supposed to do. I recommend giving it a try!
Thank you for such a wonderful content! :)
I know we are a smaller community (even worldwide) but I would love to see the Embedded Software Engineer version of such information.
If anybody have something equivalent, please let me know.