HACKER Q&A
📣 lknfrnpt

Options for back end engineer sick of oncall


Hi folks,

I'm close to hitting a decade of full time experience. In that time, I have always worked in back end engineering roles requiring oncall duties. I've recently identified a few things that are my key stressors at work, and the key contributors to my burn out. The top of that list is the existence of oncall duties, and the need to be ready to respond for a week at a time. Even with a quiet oncall, I still plan my personal life around being oncall. Same goes for planning any tie off. I've reached a point where I don't need or want to self sacrifice (e.g,. for total comp, or prestige, or whatever); instead, I'm trying to tweak my path forward for the next decade or so of work.

I'm not ruling out a change of disciplines, for instance mobile or frontend development. That said, I have a strong set of skills and deep experience from the last decade. So I'm wondering, what sorts of roles might be less of a skill reset than what I generalize as "back end" engineering?

Some background on me, if it helps:

* Management is doable but not enjoyable (I dislike the context switching, miss building things, and can stomach process as an IC but don't enjoy driving process).

* Years of experience in security engineering

* Some enjoyment of using basic data science (ETLs, Jupyter notebooks analyzing warehoused data, etc) to inform eng decisions in the past

* Some low level Linux programming experience for about a year or two, but pretty surface level ("understands procfs")

* Of course, the rest is all just building CRUD apps hitting a variety of database types and generally doing so in products with millions of customers, where downtime or breaking changes are not tolerated. Pretty vanilla stuff. Distributed systems to the extent of "distributed CRUD" (lol)

When times are good, I'm very happy being an IC engineer. I can handle the demands of engineering work and the organizational challenges that come with it, when contained to a reasonable business day. I'm just worried that I can't sustain what I've been doing for so long (exacerbated by being oncall quite regularly in my current role) and don't want to sacrifice my personal well being (or family's) any more. I'd rather figure out a new role than do something drastic like quitting out of burn out, only to start again in another backend role that basically has the same problems as my current situation.

Thanks for reading!


  👤 aristofun Accepted Answer ✓
Most probably you deeply don’t care about the company’s mission in general. You just enjoy some specific activities, being a professional.

The more fellow programmers i see, the more im convinced it’s not enough for such a demanding job.

You have to personally care to some degree about your users, about the general problem you’re solving, you need to feel meaning in what you do.

Then oncalls etc also start show some meaning and value to the bigger picture.

Without it — you ll face plenty of energy sinks in any discipline.


👤 toomuchtodo
Go into infosec with a tilt towards app sec and architecture. No on call (unless you’re part of a SOC or incident response is part of the role). Do not accept on call roles.

I left DevOps/infra for infosec/risk mgmt in part due to on call rotations, and would never accept a job again that required them.


👤 gregjor
Look at what causes the support calls and fix the problems. Ideally the apps you work on shouldn't have downtime or breaking changes. I know things don't always go to plan, but you can address getting frequent calls to deal with preventable problems.

I currently support three web apps for different customers, and I will get called if something blows up. I have monitoring on the apps and cloud resources so I usually find out about problems before my customers or their users do. I have implemented deployment processes to prevent breaking changes as much as possible, and rollback/recovery processes just in case. I get two or three emergency calls a year.


👤 DarrenDev
I think you just need to find a company where devs do not do oncall. Companies that have a dedicated "production support" team or something similarly named that handle maintaining production environments.

I've worked for a dozen different companies (contractor) over the past 10 years as a backend engineer and have never been faced with oncall. Neither have my permanent employee colleagues. In many cases we had no direct access to production environments as that was managed by separate teams. In the one startup I worked at, it was so early stage that there were only ever a half dozen users, and the CTO handled any issues that popped up over the weekend.

The type of companies that had dedicated teams for maintaining live environments included big banks, government departments, insurance companies, large healthcare companies.


👤 detaro
Serious question, is on-call really that ubiquitous for devs in companies running services that not wanting to do it means "change to different role"?

👤 comprev
Stating the obvious, perhaps find a role which requires zero on-call? None of my backend (Java/Python) colleagues do any on-call, and sticking to contracted hours (09:00-17:30) is encouraged by team leads. I've done a fair amount of on-call over the years and now pivoted from Ops handling production to internal projects. System uptime simply isn't my responsibility any more :)

👤 stevenalowe
Sympathies. The way on-call is handled at most companies is a health nightmare (regular shift plus on call).

👤 aregsar
Try to transition from developer role to a system architect role.