From Beginner to IT Professional: A Practical Guide to Starting Your Career

Do you want to change your career and join the rapidly growing IT field as a software engineer? If you have little to no experience, don’t worry, this article will give you a step by step guidance. By identifying the various career paths you can take, you'll be well on your way to joining this expanding industry.

Monitor screen with Java code on it

Understanding the field of IT

Software engineering, while a broad term, can range from being a game developer in a small studio to a data scientist in a multinational corporation. Key paths within the field include game development, data science, backend and frontend development, cloud engineering, and mobile development.

Each field requires knowledge in different programming languages, libraries, and frameworks. Learning Python, for instance, doesn't automatically equip you to work efficiently in both data science and backend development. This is because these fields employ vastly different libraries and frameworks.

A word of caution here! Resist the urge to blindly learn a language based on its popularity. It can lead you astray. For instance, Python is quite popular, but knowing its basics doesn't necessarily match you with the right career path. Once you start applying Python to real-world tasks, you might find that the specific applications (like data science or web development) aren't what you were interested in after all.

To better navigate the landscape, here's a list of the most commonly used languages across different areas in IT:

CategoryMost Commonly Used Languages
Game DevelopmentC++, C#, Java, Python, JavaScript, Unity (Scripting Language)
Data SciencePython, R, SQL, Julia, Scala, Java
Backend DevelopmentPython, Java, Ruby, C#, Node.js (JavaScript), Go, PHP, Rust
Frontend DevelopmentHTML/CSS, JavaScript, TypeScript, React.js, Vue.js, Angular.js
Cloud EngineeringPython, Java, Go, JavaScript, Ruby, .NET (C#)
Mobile Development

Swift (iOS), Kotlin (Android), Java (Android), JavaScript (React Native), Dart (Flutter)

Choosing your path

As a novice in the field, your immediate goals might be securing a job quickly and earning a competitive salary. Given these objectives, it's crucial to select a career path that's in high demand in your local area, as this will make entry easier. With some experience under your belt, transitioning into other roles becomes more straightforward.

Note that without experience, your job search should focus on junior roles. Being a junior implies you have a sound understanding of your chosen field and the required programming languages but lack practical experience in deploying applications in production or working within a software development team.

To help you choose your path:

  1. Conduct comprehensive research on online job sites, including LinkedIn, to find out the availability of jobs in each field and programming language in your area.
  2. Prepare a chart documenting the number of job openings for each field and programming language. Be sure to include a column that indicates how many of these openings are for junior developers.
  3. Analyse your chart and identify the three most in-demand fields based on the number of job openings and the availability of junior developer positions.
  4. To gain a thorough understanding of the skills required, read multiple job descriptions in the fields that interest you.
  5. Once you've selected a field that aligns closely with your interests, compile a list of the necessary skills for these roles.
  6. Look for courses that teach the required skills. Udemy can be an excellent starting point. However, it's worth noting that courses there may not always be up-to-date or teach best practices. Despite these caveats, Udemy can still provide valuable insights and knowledge for beginners.

Personal insights into each direction

As a professional who has navigated this journey, I've gained some valuable insights about each path. Here's a brief overview of my observations:

  1. Game Development - I didn't venture into this field as my interest lay with real-world applications. However, I believe that working on projects in Unity and Unreal Engine and taking relevant Udemy courses can significantly improve your chances of landing an entry-level job in this field. Note that transitioning out of this field might be challenging due to its unique skillset requirements.
  2. Data Science - This field primarily involves data analysis. While it's a lucrative area, becoming proficient is challenging. To get started in this field, Python is a crucial language to learn due to its widespread use in data science. Despite its potential, I eventually decided it wasn't for me.
  3. Backend Development - A high-demand field since every web or mobile application needs a backend service. However, landing a junior role can be challenging due to the critical nature of backend services. If this path intrigues you, I recommend learning TypeScript and how to use the Nest framework for writing backend services with a REST interface.
  4. Frontend Development - Arguably the easiest path to embark on and secure a job in. Frontend developers are responsible for a web application's visual elements and user interaction. I recommend learning TypeScript, React, NextJS, HTML, and CSS.
  5. Cloud Engineering - The role revolves around deploying applications to servers on Amazon, Azure, etc., and managing running costs, among other things. I wouldn't advise starting your IT career here. Gaining some developer experience first will be beneficial if you decide to transition to this field.
  6. Mobile Development - This field focuses on developing applications for mobile devices. The initial decision to learn multi-platform development (Flutter) or specialise in native development for Android (Kotlin) or iOS (Swift) can shape your career path. Consider the job openings in your location before making your choice.

The authors journey

I made this guide from the lessons I learned through my personal trials and errors. It's important to note that I didn't initially follow these steps, and as a result, it took me a year to secure a position. My journey towards transitioning my career to software engineering began on a misguided decision. I chose to learn Python solely based on its popularity. I begun with courses teaching backend development, spending months of learning, only to realise that it may not be that easy to land an entry level job in this field. Besides, the courses were advanced, making it difficult for me to figure out how to apply my new skills in real-world situations.

Deciding to stick with backend development, I chose a more structured approach. I enrolled in a course that aimed to teach full-stack application development. While taking this course, I discovered frontend development. It seemed less complex than backend development, so I decided to research job opportunities in this area. I found there were 4 times more job openings in frontend development, many of which were suited for juniors. This discovery led me to switch my focus to become a frontend developer.

The final step of my learning journey involved a detailed course in frontend development. This course equipped me with the skills needed to create small and medium-sized frontend applications. With these skills in hand, I was finally able to secure a job and kickstart my new career.

Final words

Congratulations! Reading all the way here, you now have a more detailed picture of the IT landscape. This knowledge should assist you in choosing a career path in IT that aligns with your interests and goals, and set you on a fulfilling journey in the industry.

As a reminder, this is only the first step. Continuous learning and adaptation will be key in your new career path in the world of IT.