Skip to main content

How To Choose an IT Career Path

·840 words·4 mins ✨ AI-Assisted
FTC Disclosure: As an Amazon Associate, I earn from qualifying purchases. Some links on this site are affiliate links.
Ben Piper
Author
Ben Piper
Wiley bestselling author — 100k+ copies, AWS Solutions Architect Associate (SAA) & Cloud Practitioner (CLF) bestsellers, 7+ books. 45 Pluralsight courses (4.7-star, 3,003 ratings). 10+ yrs 100% remote, solo CCNP ENCOR.

When people try to break into IT, they often rattle off a list of job titles they found online: cloud engineer, DevOps engineer, site reliability engineer, security analyst, data engineer. They want to know which one to pick. That’s the wrong question, and it’s why so many people freeze up before they even start.

Almost every one of those titles is a descendant of one of two original branches: software development or systems administration. Figure out which branch fits you, and the rest of the map starts making sense.

Why do the branches matter more than the titles?
#

New IT job titles get invented constantly. Most of them are just a development or operations role wearing a different hat depending on which layer of the stack it touches and which tools happen to be fashionable that year. A “cloud engineer” is doing systems administration on infrastructure that lives in someone else’s data center. A “backend engineer” is doing software development against a database instead of a UI.

If you understand the two foundational branches, you can look at almost any modern job posting and immediately know what your day is actually going to look like, regardless of what the title says.

Software development is translation, not typing
#

Writing software is fundamentally an act of translation. Someone hands you a business requirement, usually vague, sometimes contradictory, and your job is to convert that into working code. That’s the whole craft. You have to understand what the software is supposed to do well enough to express it in a programming language a computer can execute.

But translation isn’t the end of the job. You also have to write tests, which is more code, whose entire purpose is to verify that the code you already wrote actually does what you think it does. If you enjoy this cycle (requirement, code, test, repeat) and you can sit with a single logical problem for hours without needing to touch a keyboard-driven console or a physical (or virtual) server, development is probably your lane.

Systems administration means deploying what you didn’t write
#

Systems administration asks something different of you. Instead of translating requirements into code, you have to understand software you didn’t write well enough to deploy it, keep it running, and troubleshoot it when it breaks in production at 2 a.m.

That software could be built in-house by your own developers or bought from a vendor who won’t tell you how it works internally. Either way, you’re responsible for the infrastructure it runs on, the network it depends on, and the fallout when something goes wrong. You don’t get to blame the code. You have to figure out whether the problem is the code, the configuration, the network, or the hardware, and you usually have to figure it out fast.

The line has blurred, but the mindset hasn’t
#

Here’s where most beginner guides get lazy. They’ll tell you development and operations have “merged” because of DevOps, containers, and infrastructure as code, and therefore the distinction doesn’t matter anymore. That’s only half true.

The tools have blurred together. A systems administrator today writes Python and Terraform. A developer today needs to understand containers and cloud networking to ship anything. But the core daily work and the mindset each path demands are still distinct.

Developers spend long stretches translating requirements into logic and proving that logic is correct. Administrators spend their time configuring, deploying, and diagnosing systems built by other people, often under time pressure, often with incomplete information. You can learn skills from both worlds. You still have to pick which reality you want as your default.

How do you actually decide?
#

Ask yourself two honest questions.

Do you enjoy staring at a requirement until you can express it precisely in code, then proving it works? That’s development.

Do you enjoy taking something that already exists, making it run somewhere, and figuring out why it stopped working? That’s systems administration.

Neither answer is more prestigious or better paid on average. Salary comparisons and trend charts won’t tell you which one you’ll still enjoy in five years. Your own attention span and curiosity will.

Pick a lane, then cross over later
#

You don’t need to nail this decision forever. People move between development and operations constantly once they have a foundation in either one. What you can’t do is skip the foundation. Without understanding networking and infrastructure, SDN workflows and API calls make no sense. Without understanding requirements and testing, “just learn to code” is meaningless advice.

Pick the branch that matches how you actually want to spend your working hours. Everything else, the job titles, the tool stacks, the certifications, is just decoration on top of that decision.

Recommended Reading#

Featured image by Liana S on Unsplash