Non-Computing Software Engineering Jobs

A conversational dive into non-computing tech roles, frustrations, and career advice.

Non-Computing Software Engineering Jobs
Generated by Firefly

“Not even a single instance of a nested for loops”. A frustrated fresh graduate (referred to as young engineer YE afterward) described his first software engineering job at a big tech company. “I thought I will be working on cutting-edge stuff with complex algorithms and all, but all I am doing is just moving data from one place to another and fixing bugs here and there.”

Me: “Ha ha. Takes me back to my very first software engineering experience. My very first team had precisely those types of projects: refactoring old code and moving data from one place to another.” 

YE: “They hired the best students from our campus. One of them was an ICPC finalist. We were so excited when we joined this company. The interviews had hard Data structures and Algorithms puzzles, before that there was a hard programming test. I felt so good while solving those. And after joining it seems like none of my computer science knowledge will be used.”

Me: “Precisely, those interview questions have nearly no relation to the day-to-day tasks they ask us to do.” 

YE: “I thought I would be solving real problems, doing something computationally challenging. I didn’t sign up for this.”

Me: “Welcome to the club! Here’s the thing: most software engineering jobs aren’t really about computation. They fall into a few broad categories, and computation is the rarest of them all.”

YE: “Oh? What are the other categories?”

Me: “First, there’s refactoring. Cleaning up messy codebases, improving maintainability, and optimizing performance—but not in the algorithmic sense you’re hoping for. It’s useful, sure, but not exactly thrilling.”

YE: “That’s... most of what I’ve been doing. What else?”

Me: “Then there’s what you just described—moving data. This includes things like integrating APIs, managing pipelines, and syncing databases. It can get complex, but at its core, it’s still about shuffling information around. Nothing new is computed. In my opinion, DevOps and UI/UX development often fall into this bucket, though UI/UX has the added reward of being creative and user-facing.”

YE: “So that’s two.”

Me: “Third is tooling and automation. Think of building internal frameworks, creating CI/CD pipelines, or scripting repetitive tasks. This doesn’t fit neatly into refactoring or moving data, but it’s also not computational in the sense we’re talking about.”

YE: “Are there more?”

Me: “There is something that all engineers must learn: Testing. Writing unit tests, integration tests, etc. Essential work, but not exactly what dreams are made of, right?”

YE: “Well, I don’t hate testing or automation in general. Maybe I would even love it if that is related to some computational project. But sure, I get your point of that not being the dream work either.”

Me: “And then, finally, there’s computation—the stuff you imagined you’d be doing. Machine learning, optimization algorithms, cryptography. Real problem-solving with deep math or creative thinking.”

YE: “I think that’s what I would love doing.”

Me: “They capture my interest as well. The problems are intellectually challenging. I learned skills that are more transferable compared to the other non-computing tasks. There is a bigger scope for creativity. And unlike a refactoring task, the rewards are more immediate.”

YE: “Yeah! Also, I think that not being good at these other non-computing tasks might be a reason for me not liking it.”

Me: “Plausible. I learned most of the skills required to perform these non-computing tasks directly on my job. These were not taught at university. At university, I learned computer science which explains why I was so drawn towards computational tasks. Such roles can feel quite attractive. But those roles are like unicorns in the industry. So there is a supply-demand problem.”

YE: “Why is that?”

Me: “For one, they’re not needed as often. Most companies make money by moving data efficiently or maintaining reliable systems, not by inventing new algorithms. And two, these roles usually go to people with specialized experience—PhDs, or folks who’ve spent years building expertise in those fields.”

YE: “That’s depressing. So you’re saying I’m stuck doing this boring stuff?”

Me: “Not necessarily. I was in your shoes once. I got bored of non-computational work pretty quickly and started exploring discrete optimization on the side. I was one of the lucky ones who managed to find such a role without a PhD. That eventually led me to pursue a PhD in operations research.”

YE: “A PhD? Isn’t that overkill?”

Me: “Well, to my horror, it seems like a PhD is also not enough at times. I couldn’t find my dream work after my PhD. I ended up joining Arista hoping to do some computational tasks related to computer networks. But to my disappointment, most of such tasks are already taken care of, and I find myself doing those boring non-computation tasks. At least, with my PhD, it makes it easier to get interviews for the jobs I am actually interested in. Given my financial status and my education, I am even considering starting something of my own.” 

YE: “So, getting a PhD is the only way to find such jobs?”

Me: “I guess not always. It’s one way to specialize and make yourself eligible for those computational roles. But it’s not the only way. You can start by working on side projects, contributing to open-source computational libraries, or even taking online courses in areas like ML or optimization. Participating in computational competitions related to them can also be quite helpful.”

YE: “But won’t that take forever?”

Me: “It takes time, sure. But think of it this way: the sooner you start, the sooner you’ll get there. And if you’re truly passionate about computation, the journey itself will be rewarding.”

YE: “That makes sense. Any other advice?”

Me: “Network with people in the field. Attend conferences or join forums where you can connect with others who share your interests. And don’t be afraid to switch roles or companies if it gets you closer to the kind of work you want to do.”

YE: “Thanks. This actually makes me feel a bit more hopeful. Maybe I’ll start by picking up a side project.”

Me: “That’s the spirit! Just remember, the industry might not always align with your expectations, but you can carve your own path if you’re persistent. Good luck!”

Disclaimer: This was not an actual conversation. I am just experimenting with a new format. Although, many of my friends have actually said these things in different conversations. Hope you find it entertaining and useful.


My Favorites

Quote: “What is the ultimate quantification of success? For me, it’s not how much time you spend doing what you love. It’s how little time you spend doing what you hate.” —Casey Neistat

Video: Science vs pseudoscience (TedED)