Ask HN: How do you handle being assigned Ops tasks knowing you joined to do Dev?

26 points by ahil95 ↗ HN
Title is pretty much it. I joined Oracle a few months ago after applying to a dev position. As soon I joined, I was assigned Operations work which to be honest is not what I was hoping for. I was wondering if anyone else in the HN community experienced something like this before? Is this common in bigger companies where it's more "Closing Jira Tickets" than actual coding work? Is this gonna paint me as an Ops person from now on? I started seriously thinking about quitting and looking elsewhere. Thanks in advance for any feedback.

24 comments

[ 5.5 ms ] story [ 64.6 ms ] thread
Yes, virtually every job I've had to at least do some Ops. I also had to do some management quite often.

I don't know what it is about the software industry, that simultaneously not many people can code well yet companies seem to not want programmers to just program. I feel every manager I have come across has somehow expressed a view that I needed to do much more than just code... at one place they even said it was "the bare minimum" to contribute to the codebase, but when I ask if the manager should expand their own horizons and do some coding, of course that idea never gets attention of any kind.

It does feel like unionizing might be overdue for software engineers across the industry.

I'm going to first answer this question ignoring the fact that you joined Oracle. I'll address my feelings about Oracle later.

I would posit that in high functioning engineering organizations ever dev should get experience and in fact target a minumum of 1/3rd of their time be spent on operations work. Ignoring the way your application get's deployed, the environment it has to run in, the systems it needs to integrate with is a great way to build terrible software. Knowing all of that detail makes you a better developer and helps you develop better software. So I don't find it necessarily bad for your career if you end up doing some operations work as a developer. That said you do still want some level of actual development work present so if you don't have any of that then it's a sign of an unhealthy engineering organization.

Now to address the elephant in your comment. Since you mentioned you joined Oracle my advice is to get out as soon as you can. That company is toxic. It's a toxic presence in the database marketplace regardless of how good the database itself is. I've heard it's also a toxic place to work. No idea how much of the workplace stuff is true as opposed to just rumor but it's enough to convince me never to work there.

Bait and switch on employee roles is an obvious indication that Oracle is untrustworthy. GTFO.

On the other hand, as an engineer, expecting to do no Ops work is usually naive, regardless of what you are promised.

An organization may have a teams full of wonderful developers and operations alike - yet... when things break, it often takes expertise from both groups to wrestle back control.

As a former operations person, I learned more about the code I deployed than I ever wanted; it all could've been avoided if development also learned a little about the operations side.

It just makes us all better. Developers that actively show no interest in operating it tell me they don't want to support their work, honestly.

The OP has months of experience working for oracle and you have apparently none but you feel compelled to tell them to leave based on rumors of what working there is like.

Don't you think they might have a little more insight, or, at the very least, have already heard the rumors? What information do you think you're giving them that they wouldn't already have?

This is fair. However, the question itself suggests OP is already questioning his employment there. I think it's fair to read between the lines a little bit and let him know that Oracle has a reputation that fit's what sounds like his current experience.
As a former Operations (now architecture) person - completely agree.

The developers that are surprised at every turn of deployment (or really the lifetime of the code/service) got there by focusing purely on the code and none [or to be fair, very little] on the environment in which it operates.

This is how the "works on my machine" meme was started. We don't run the product or maintain SLAs on 'your machine', so it doesn't matter.

It gives us an idea for what it should look like under normal operations, but that's as far as it goes.

So many developers have told me crazy things like chmod 777, 'replace python2 with 3 for everything, not just me', and so on. The epitome of cutting off your nose to spite your face.

I don't mind ops if I can use Docker, it isn't a hassle to login to the AWS console and hit deploy, but I have to play around on some box IT set up I'm going to be annoyed. Mainly because we wouldn't be managing individual servers like that if I was in IT.
While I agree that it is important as a developer to understand operations side of things, but I disagree that developers should be doing operations. Not only developers accessing production environments is against various security principles but also it increases employees' cognitive load and reduces quality of work.

There is a reason why in other fields, people tend to specialize instead of generalize.

I think there is some misguided marketing/MBA ideas that developers can learn and do any and all technical work. I have seen in my current company quality of work and work satisfaction destroyed after higher-up decided that we don't need operations and developers should do DevOps now.

If your developer actually has to touch prod to do operations work then there is a whole lot more that needs to be fixed than just developers not understanding operations.
Is Oracle really that great a database nowadays though? I’ve had the impression they really have the market share they do because of the stickiness of enterprise db’s and the difficulties of switching, especially for large enterprises.

I’ve found working on oracle much more challenging than MySQL/SqlServer, which I imagine have much better enterprise orientation than say Postgres.

Saying you looked into it but don’t know what to do works wonders.
If you want a change, leave. I wouldn't expect them to change just for you honestly.

I think most places will have you do a bit of operations work.

(comment deleted)
A good team player would do them without complaint, with thorough communication, and a healthy positive attitude, but work with the stakeholders towards: first, documentation, then automation.
I'm not sure how someone would get a well-rounded understanding of IT without doing some ops work. I've seen a lot of obvious security issues because the developer had no experience with security.
(comment deleted)
(comment deleted)
One thing you didn't mention is that you talked your manager or tech lead about your concerns. Before you write it off, I would definitely talk to them about your concerns. I would approach it as a "Hey, I'm OK doing this to get experience and help the team out, but I was expecting a bit more dev work." I think this is a good first step to make sure that you and your manager are on the same page for what you should be doing for your job. Like some of the other commenters said, it's OK to do some ops, but definitely talk to your manager and set your expectations for the job you signed on for.
"everyone has a plan until they get punched in the mouth" -mike tyson

If you're not doing some work to understand how your software works in real life, you're just a theoretician, and you're going to get punched in the (virtual) mouth when your naive assumptions fail to materialize in the random world of production.

Do the ops work, just like Ops/SRE cleans up the shit-stew you call your software when it breaks in prod. Or stop writing bugs. You pick.

I don't think OP has even gotten the chance to write any bugs - hence the post.
I'm in the same boat. I'm handling it by looking for a new job.

You are absolutely damaging your growth potential as a developer.

Operations might give you some useful perspectives just like QA might give you some interesting insights but it won't be as helpful as actually writing code.

It sucks but we're in an industry that actively preys on the naivete of those with less experience.

Don't fall for it. Start looking now.

You will never be a developer at Oracle. If you are okay with that stay and if not leave.

It happens all of the time. You applied for one role and interviewed you and hired you a different role. Your job title and responsibilities made within your offer should mention this change. Were you hired as a developer with title or ops?

Nothing wrong with ops work, it's good to know how apps are run and deployed, as a backend dev I do both and I'm glad I do as it enriched my skillset and understanding of production software a lot more. Embrace it.