Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
ultrafilter
Aug 23, 2007

It's okay if you have any questions.


DBAs don't program beyond scripts related to their databases.

Adbot
ADBOT LOVES YOU

wilderthanmild
Jun 21, 2010

Posting shit




Grimey Drawer
Everywhere I've worked DBAs are more like infrastructure people mainly concerned that the database is running, the right people have the right access, the database properly replicates, backups are taken, fail over happens properly, etc.

Hadlock
Nov 9, 2004

The two places I worked with actual DBA titles, reviewed any code going in that had schema changes, and were regularly tuning poorly performing queries, and throwing developers pushing bad code to prod under the bus

Mniot
May 22, 2003
Not the one you know
The Data Engineers who work near are in charge of all the asynchronous big-data pipelines that feed Research and Business Intelligence tasks. Their work looks to me like infrastructure engineering, but focused around delivering good-quality data rather than a service platform.

So, one week they might be tuning SQL queries (but actually SQL-ish because they’re running in a “Data Warehouse” like Redshift or BigQuery or Snowflake). Another week, they might be writing Terraform code to manage the pipeline, like having an auto scale group that spins up once a month to process some giant ball of data. Another week, they’re scrambling to do ad-hoc queries because Legal wants some specific weird thing for a case.

Hadlock
Nov 9, 2004

Yeah "data engineering" and devops live under the same group in my company. We are also infrastructure blah blah blah sme

At my previous company one person was thrown to the wolves selected at random to be the analytics' group's bitch and keep their crude pile of crap from sliding and collapsing onto something more important. The previous guy just sort of gave up and when they fired him I guess I drew the short straw because I was being useless with a newborn at home

I spent like 7 months distilling What The gently caress their analytics stack* actually did, break it apart into Like chunks and identifying all the dependencies etc because it'd been living on the same ubuntu 12.04 lts ebs volume of an increasingly beefier EC2 instance and getting it to a point where they could transition to something like Airflow, because their system was interwoven with our monolith because they didn't want to track all the migrations and decided the django ORM could be leveraged to save a lot of work, Which Was Fine Until It Wasn't, when their blender of poo poo was holding back the django 1.11 to 2.22 migration

God I'm having flashbacks. What an awful time. Anyways I guess you could say I was doing "data engineering"? Or maybe I was just doing moral support hand holding for the analytics team? Sure feels like what I did was in the realm of data engineering. And yeah I did a lot of unfucking of data streams, setting up new ones, modernizing old ones. I would hesitate to call it engineering and more "data pipeline janitor". There is a guy at my current company who also sounds like that's what he does and his title is "data engineer" so yeah

*Which ended up being about 12 python scripts, 30 bash scripts and 100 separate sql files, plus some extra crap run by kitchen/spoon/pentaho, nobody had ever done an inventory or written down what order things were supposed to run in, once we did that, drastically simplified things, and analytics team didn't feel quite so overwhelmed

Hadlock fucked around with this message at 02:56 on Aug 2, 2022

Guinness
Sep 15, 2004

Hadlock posted:

I spent like 7 months distilling What The gently caress their analytics stack* actually did

This aligns with my experience and observation of what "analytics engineering" and "data science" is. Just an unmitigated dumpster fire of poo poo with absolutely no source control, release process, schema evolution, testing, documentation, or anything resembling sanity or organization at all.

I've been on the actual software engineering team that's supposed to work with data scientists and "operationalize" their mountains of garbage, and it's so much pain, and they are so resistant to taking even baby steps to get their house in order. It's so goddamn frustrating.

Guinness fucked around with this message at 04:06 on Aug 2, 2022

Hadlock
Nov 9, 2004

:glomp: buddy. Someone understands me.

It's like seven steps down from being a front end engineer, yeah. I thought I had found the basement in this industry, but I guess I found a new low

barkbell
Apr 14, 2006

woof
my po is incompetent

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
Working with data science code sounds the same as scientific application code, which is the same as electrical engineering code. There's a real Dunning-Kruger effect going on there. They did, like, a semester's worth of coding in some formalized training, and anything they've managed to pull off beyond that course they consider to be extremely profound and revolutionary. So you wind up pissing them off trying to fix it; half the time it isn't even doing what they think it's doing, and they probably already got credit from their claims.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


When I write code as a software engineer, the code is the product and I need it to be high quality. Most of the posters here live in this world and we generally have a pretty good understanding of what that means and a rough consensus on how to achieve it.

When I write code as a quant, I'm looking for the answer to a question, and the code is a byproduct of the process that I use to get that answer. It still needs to be high quality, but the things that matter for quality are different from what counts in the applications/infrastructure world. Just blindly importing standards from a different field isn't the right answer.

There's a very active conversation about the quality of scientific code right now. We know a lot of it's bad, and we're looking at how to improve what we produce. But what comes out of that isn't going to meet the standards that your production code has to meet because we're just not solving the same problem.

SporkOfTruth
Sep 1, 2006

this kid walked up to me and was like man schmitty your stache is ghetto and I was like whatever man your 3b look like a dishrag.

he was like damn.

ultrafilter posted:

When I write code as a software engineer, the code is the product and I need it to be high quality. Most of the posters here live in this world and we generally have a pretty good understanding of what that means and a rough consensus on how to achieve it.

When I write code as a quant, I'm looking for the answer to a question, and the code is a byproduct of the process that I use to get that answer. It still needs to be high quality, but the things that matter for quality are different from what counts in the applications/infrastructure world. Just blindly importing standards from a different field isn't the right answer.

There's a very active conversation about the quality of scientific code right now. We know a lot of it's bad, and we're looking at how to improve what we produce. But what comes out of that isn't going to meet the standards that your production code has to meet because we're just not solving the same problem.

The other problem is that code standards just aren't taught in huge swathes of disciplines that do scientific computing. Those that are, it's really only in the last 10 years or so -- I didn't enforce code standards in embedded signal processing classes I TAed back then, because it was hard enough to get students to understand the concepts & I was/am still very EE-brained. Hell, at my current job, I have to fight to convince people that using git is a good, standard practice.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Yeah, I don't want to give the impression that I'm defending everything these groups do. There are a lot of terrible practices out there.

I'm looking at potentially spinning up an analytics/science organization over the next couple years so this has been on my mind a lot lately. More thoughts as I have them.

asur
Dec 28, 2012
If your code is running in production then it should be held to the same quality standards regardless of if it's written by a swe, a quant, analytics etc. Everyone is writing code as a byproduct. That's not a reason to write garbage code.

Also SWEs don't magically write better code. It's taught and then reenforced through reviews and process that high quality code matters and there's a standard. If quants, etc followed the same path then they'd output high quality code as well. The inverse applies as well, when SWEs aren't held to high quality code because the company doesn't value it then code quality drops.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

asur posted:

If your code is running in production

"Running in production" means different things in different situations, though. The code that runs my indie game studio's website doesn't need to be as robust as the code that runs, say, the website for my hospital. And of course, a lot of "running in production" code is more like "someone threw together a script to automate a process that we used to do by hand/with a spreadsheet", so the fallback if the script breaks is to go back to doing things the old way. Or as a third example, one of my past jobs was rehabilitating the codebase for a custom microscope, which postdocs and grad students used to do research. It had been written by a long sequence of those same grad students and postdocs, all of whom were hacking on it with the primary goal of producing evidence of their research, i.e. publishable papers. But again, the consequence of that code not working (as it often did not) was that they'd use a different, more reliable microscope, or try again later, or hack on the program a bit until it seemed to work better.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

TooMuchAbstraction posted:

"Running in production" means different things in different situations, though. The code that runs my indie game studio's website doesn't need to be as robust as the code that runs, say, the website for my hospital. And of course, a lot of "running in production" code is more like "someone threw together a script to automate a process that we used to do by hand/with a spreadsheet", so the fallback if the script breaks is to go back to doing things the old way. Or as a third example, one of my past jobs was rehabilitating the codebase for a custom microscope, which postdocs and grad students used to do research. It had been written by a long sequence of those same grad students and postdocs, all of whom were hacking on it with the primary goal of producing evidence of their research, i.e. publishable papers. But again, the consequence of that code not working (as it often did not) was that they'd use a different, more reliable microscope, or try again later, or hack on the program a bit until it seemed to work better.

never pull up hospitals and nuclear power plant scada and poo poo for robustness examples, they're way too depressing

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

bob dobbs is dead posted:

never pull up hospitals and nuclear power plant scada and poo poo for robustness examples, they're way too depressing

I said "needs to be", not "is" :negative:

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

TooMuchAbstraction posted:

I said "needs to be", not "is" :negative:

i'm not sure there has been a study comparing revenue and software quality but medical has to have some of the crappiest software per dollar paid by the customer.

Xarn
Jun 26, 2015
The actual consequence of the microscope code not working is that the data in published papers will be wrong, and nobody will truly give a gently caress. At worst you get an extra citation for your paper when someone writes in their own paper "lol, we did the measurements correctly, unlike those guys, and these are the real results".

Xarn
Jun 26, 2015

Bruegels Fuckbooks posted:

i'm not sure there has been a study comparing revenue and software quality but medical has to have some of the crappiest software per dollar paid by the customer.

I did short stint doing pacemaker stuff. The optimization goal wasn't "good software", or "stable software", or anything like that. It was "can we show enough paper trail for our testing that we won't lose being sued". The process produced perfect software for that :shrug:

Gahmah
Nov 4, 2009
Just signed the offer letter for new job going from Software Developer to Senior Software Developer - Full Stack, going from 85 to 115, thanks goons.

Hadlock
Nov 9, 2004

Congrats

With that raise you can afford to just buy a new car and throw the old one away every year now

prom candy
Dec 16, 2005

Only I may dance
Nice, that's a spicy raise

Steely Dad
Jul 29, 2006



Gahmah posted:

Just signed the offer letter for new job going from Software Developer to Senior Software Developer - Full Stack, going from 85 to 115, thanks goons.

You get away from webforms?

barkbell
Apr 14, 2006

woof
Can someone explain to me what a product owner does?

My po claims to “own the backlog” which means theres a tax on every piece of work to get it created and prioritized because they are non-technical and actively hostile to hearing about technical details. It doesn’t make sense to me for someone to simultaneously own the backlog and also be incapable of understanding, defining and breaking down the work needed.

I’ve had a po in the past, but they just came to me with business needs and requests and I would tell them what it would take. This po, however, sees it as their job to micromanage every ticket and also present preformed solutions instead of business requirements.

barkbell fucked around with this message at 02:33 on Aug 25, 2022

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I don't know that this is super-strongly defined, but I would think of the product owner as being the person who takes responsibility for the product. This is usually only needed for stuff that isn't really staffed, e.g. if there's a legacy tool that's still kinda used but has no team supporting it, then the product owner is responsible for knowing how the tool works, fielding bug reports, and making sure that resources get allocated to fix issues (usually that resource is themselves). Things that actually are staffed will generally have a product manager who does the same thing but has more authority to tell other people what to do.

In other words, it's a poo poo job that carries responsibility but no power, so I'm really not sure what your PO is doing or thinks they should be doing.

Hadlock
Nov 9, 2004

Product owner is the neck to choke if that part of the business fails, begins to lose money, or costs spin out of control

Sometimes that person is a business lay person, VP of real time trading, sometimes a more technical person, VP of real time trading systems

If the market opens at 9:30am and their platform cannot trade stocks, his phone blows up immediately. He's allowed to be an rear end in a top hat and micromanage his part of the business 24/7, ideally they delegate this to managers but sometimes you end up with a po who has been at the company a million years and is successful and knows everything so they're not afraid to get into the weeds and minutae and pressure you into using their solution because they've seen it all before

I had the latter and he was a genius, knew everything about the technical side of a Bloomberg terminal, but also an rear end in a top hat, my boss was able to shield me from him for the most part but still butted heads periodically

Achmed Jones
Oct 16, 2004



product manager is a position in an organization, and figure out priorities with cost/benefits, development time, etc influenced by dev, customers, etc

product owner is a position in scrum methodology and is just the key stakeholder. they generally are responsible for prioritization, are the person that understands the customers, competition, market, use of product, etc

product owners are very often product managers

RC Cola
Aug 1, 2011

Dovie'andi se tovya sagain
We just had a model get deleted out of prod's DB so I got to write a fun script to query the model and objects and then add it to a copy of prod and then got to swap prod with the backup. That was fun.

It took 3 days to write the query because there are so so so many relationships

RC Cola
Aug 1, 2011

Dovie'andi se tovya sagain

Achmed Jones posted:

product manager is a position in an organization, and figure out priorities with cost/benefits, development time, etc influenced by dev, customers, etc

product owner is a position in scrum methodology and is just the key stakeholder. they generally are responsible for prioritization, are the person that understands the customers, competition, market, use of product, etc

product owners are very often product managers

our PM and PO is the same person.

barkbell
Apr 14, 2006

woof
We have a product owner in the scrum sense. We do safe. This po started at the company in jan. Every team has a po and a scrummaster.

biceps crimes
Apr 12, 2008


po is supposed to be accountable for a product. They work on the "what" to do with the product and the "why" to do that with the product, and how to measure it. Engineering determines how it's built, when it ships, its reliability and quality, etc. Where this model fails is when you need to do some sufficiently in the technical weeds that the product owner doesn't understand, and they'd rather just do things that are easy to attach financial figures to and want some concise elevator pitch that their name is assigned to every quarter. The scrum team fails when something difficult needs to be done that's engineer driven and the po scrutinizes and knifes every idea because they own the backlog. A bad PO is poison to an engineering team and wider engineering culture. I'm interesting in how others have worked around this, I've seen it done that where was this negotiation for 50% engineering driven/50% product feature work split, but that gets into constant weird horse trading depending on how aggro the po is and doesn't account for the ebb and flow of how work comes through vs important higher value initiatives that need substantial upfront discovery and planning to be done by engineering

biceps crimes fucked around with this message at 03:26 on Aug 25, 2022

barkbell
Apr 14, 2006

woof

biceps crimes posted:

The scrum team fails when something difficult needs to be done that's engineer driven and the po scrutinizes and knifes every idea because they own the backlog. A bad PO is poison to an engineering team and wider engineering culture. I'm interesting in how others have worked around this, I've seen it done that where was this negotiation for 50% engineering driven/50% product feature work split, but that gets into constant weird horse trading depending on how aggro the po is and doesn't account for the ebb and flow of how work comes through vs important higher value initiatives that need substantial upfront discovery and planning to be done by engineering

Yes. This is what I'm experiencing. We have an old application that we support but in the last few months the scope of work for our team has shifted to creating services for other teams, creating libraries, etc and she is basically deprioritizing that work constantly because she doesn't understand the value of it.

We've been working around it by creating Trello boards on a per project basis that we control so we can track the "real" work that we are doing and she can own the Jira board. I'm sure this is not ideal

biceps crimes
Apr 12, 2008


barkbell posted:

Yes. This is what I'm experiencing. We have an old application that we support but in the last few months the scope of work for our team has shifted to creating services for other teams, creating libraries, etc and she is basically deprioritizing that work constantly because she doesn't understand the value of it.

We've been working around it by creating Trello boards on a per project basis that we control so we can track the "real" work that we are doing and she can own the Jira board. I'm sure this is not ideal

in the near term, this requires engineering leadership. i would raise this as a risk to the management chain above you if you haven't already. You need support from your manager and the technical directors. The outcome is probably going to be determined based on the politics of the organization and the strength of the engineering leadership

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
If you just didn't do any of the work the PO is deprioritizing, what would the consequences be and who would bear the brunt of them? It definitely sounds like there's a disconnect between what the PO wants and what engineering wants, but there's a huge difference between "the PO is deprioritizing work that's actually really important to the team's objectives" and "the PO is deprioritizing work that's entirely outside of our team's scope but looks really fun to work on, and other teams have mentioned that they'd kind of like it but can't work on it themselves so we can sort of justify it".

barkbell
Apr 14, 2006

woof

Jabor posted:

If you just didn't do any of the work the PO is deprioritizing, what would the consequences be and who would bear the brunt of them? It definitely sounds like there's a disconnect between what the PO wants and what engineering wants, but there's a huge difference between "the PO is deprioritizing work that's actually really important to the team's objectives" and "the PO is deprioritizing work that's entirely outside of our team's scope but looks really fun to work on, and other teams have mentioned that they'd kind of like it but can't work on it themselves so we can sort of justify it".

I guess these initiatives would not achieve their stated goal and that would affect other team's work. The objectives we have are clearly stated for the quarter and are based on the feature set that the project manager (po's boss) has said they wanted. Other team's objectives directly depend on our work.

Maybe I should just say 'not my problem' and let a bunch of things fail. My fear is that it will reflect badly on the team as a whole and not just the PO.

e: regardless, thanks for everyones input

barkbell fucked around with this message at 14:40 on Aug 25, 2022

downout
Jul 6, 2009

So I just found out we are all taking a pay cut on raises this year vs inflation. These companies really think they can be tech companies while paying engineers less year over year. Good luck with that.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

barkbell posted:

I guess these initiatives would not achieve their stated goal and that would affect other team's work. The objectives we have are clearly stated for the quarter and are based on the feature set that the project manager (po's boss) has said they wanted. Other team's objectives directly depend on our work.

Maybe I should just say 'not my problem' and let a bunch of things fail. My fear is that it will reflect badly on the team as a whole and not just the PO.

e: regardless, thanks for everyones input

I think the big thing here is that the team's official goals should be aligned with your team's actual goals. If the PM is giving out objectives to other teams that depend on your team doing work, then you doing that work should be included as part of your team's objectives. If it's not, you should be pushing back on requests from other teams, and ask them to include it in your planning for the next quarter. If being responsive to other team's requests is something that the business as a whole requires from your team, then the act of "supporting other teams" should be on your objectives and taken into account when planning how much explicit objectives work your team can take on.

Doing a whole ton of heroic work to help other teams meet their objectives while not making much progress on yours is a great way to end up not being rewarded for your work at all.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
Just to add my 2¢: I worked with two POs back-to-back on different projects, who sat next to each other, but had very different specialties. The first slowly gained a technical understanding of the code, until we could talk with him about DB row locking problems. The second PO was very political, and took a lot of poo poo to shield the team. I learned a lot about POs between those two.

barkbell
Apr 14, 2006

woof

Jabor posted:

I think the big thing here is that the team's official goals should be aligned with your team's actual goals. If the PM is giving out objectives to other teams that depend on your team doing work, then you doing that work should be included as part of your team's objectives. If it's not, you should be pushing back on requests from other teams, and ask them to include it in your planning for the next quarter. If being responsive to other team's requests is something that the business as a whole requires from your team, then the act of "supporting other teams" should be on your objectives and taken into account when planning how much explicit objectives work your team can take on.

Doing a whole ton of heroic work to help other teams meet their objectives while not making much progress on yours is a great way to end up not being rewarded for your work at all.

The services and things we've committed are the actual and official goals. Maybe I just need to learn how to better communicate the value and importance of the work needed to achieve those goals.

Also I forgot to mention my PO 2 weeks into the quarter removed all the work for one of our goals from the backlog and unilaterally decided we are going to fail that one. Just bizarre.

Adbot
ADBOT LOVES YOU

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

barkbell posted:

Also I forgot to mention my PO 2 weeks into the quarter removed all the work for one of our goals from the backlog and unilaterally decided we are going to fail that one. Just bizarre.

This one actually makes sense to me. If you're going to fail, better to fail early. Don't spend a ton of effort pursuing a goal before deciding that actually you're not going to do it.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply