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
Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

brand engager posted:

Are estimates supposed to be the entire time spent including time due to other people reviewing the code and QA testing? It's kinda hard to estimate the parts that I'm not going to be doing

You do a "dev work" estimate and then you add an "organizational capacity [to allow for that dev work]" estimate, which is always bigger because of exactly that stuff you said.

Adbot
ADBOT LOVES YOU

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Why can't your team deliver, Charlie Brown?

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Is there anything more fun than asking a team to do something that only they have the power to do, listening to them ask you to make a ticket, watching that ticket go 1 month out of 2-week SLA despite reminding them weekly about it, only for them to say it's out of their scope, re-assign it to yet another team, listen to them say we must now wait for their SLA, and then assign it to a person on their team who's on vacation this week¿ Also the other team's SLA is 3 weeks.

Sometimes I feel like I'm surrounded by scam artists.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Great post + av combo

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

prom candy posted:

Anyone know of a good generic data dashboard service that I can send whatever events or other data I want to? For example I want to write code like
pre:
Dashboard.log_event('orderCreated', { ...someMetadata })
and then later be able to go to the dashboard and tell you how many orders were created last week. We don't actually create orders so I'm not looking for an e-commerce dashboard, I actually am more interested in logging the occurrence of smaller transaction type things that our system does so we can kinda see when one of our little sub systems might be processing more or less data than usual, that kind of thing.

I looked at Sentry's performance monitoring but I don't think it's quite what I'm after since it seems more based around how long things take rather than how often or how many times they happen. Also looked at Tableau but it looks really powerful and I don't want to have a second job managing this thing. Not looking to self-host either, i just need a low friction way to get better insights into the stuff my app is doing. Anyone have any suggestions?

SignalFX is cool and good https://dev.splunk.com/observability/reference/api/ingest_data/latest

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
The buzz word right now is https://en.wikipedia.org/wiki/Scrumban afaik

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Love Stole the Day posted:

Is there anything more fun than asking a team to do something that only they have the power to do, listening to them ask you to make a ticket, watching that ticket go 1 month out of 2-week SLA despite reminding them weekly about it, only for them to say it's out of their scope, re-assign it to yet another team, listen to them say we must now wait for their SLA, and then assign it to a person on their team who's on vacation this week¿ Also the other team's SLA is 3 weeks.

Sometimes I feel like I'm surrounded by scam artists.

Update: Eng Director escalated not just to their VP but to the SVP above them and also an adjacent VP... and 10 minutes later not only does the original team start responding to us, but they: conveniently forgot that punted the ticket after 3 weeks of silence, suddenly want to own the task, and immediately schedule a meeting to discuss it with us!

Clearly I have a lot to learn about navigating bureaucracies.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

brand engager posted:

Anyone have a good template for doing a "post-mortem" on a issue/ticket?

Make a Confluence article timeline of everything that happened, and then highlight stuff to add your commentary on things.

Do a 1 hr meeting where everybody reads the article together for the first 10-20 minutes, adding their own comments on stuff as they go, and keep notes on the stuff everyone agrees about. After the meeting, copy-paste those notes at the top of the article in a new section and call it "Takeaways" or "Outcomes" or "Learnings" or something like that.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
This would be a great April Fool's post in QCS: all moderator and admin actions are now machine learning-based and irreversible

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Quote of the day:

quote:

We did all the work, but nobody knew what the requirements were.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Each of these bullet points is a great writing prompt for a tech blog, and great "case study" interview question prompts

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Harriet Carker posted:

At a first glance, the best comment you could post is “where are the unit tests?”

This back and forth would be easily solved if this was a named, tested function.

This is the best way to say it imo. Argue about the unit test cases it needs to cover. Best case scenario, the person's team had already discussed it or wrote about the important test cases in the Jira ticket or whatever.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Hey thanks for agreeing to help me with the coding work for this project. I just finished the HLD and LLD. Just let me know when it's done thanks!

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Never inner source for another team. Ever.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

New Yorp New Yorp posted:

as if it's impossible to be working on multiple objectives simultaneously.
"At a large organization" the big problem is that when you depend on another team but their priorities are not aligned with yours, and if you're not allowed to go fix it for them (edit: and if the managers are afraid to escalate to leadership about it, to secure that alignment)... then it actually is impossible to work on multiple objectives simultaneously. Entangling dependencies are everywhere.

Love Stole the Day fucked around with this message at 20:43 on Jan 11, 2023

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Vulture Culture posted:

In truth, 95% of game dev is managing piles of extremely burnt out people, where you want them to have enough camaraderie that they stop literally abusing each other, but not so much that they all quit at the same time or unionize. Out of the engineering team, there are four people who know everything about the engine but never talk to each other, and dozens or hundreds of other people who are constantly in meetings but still work with little or no intentionality at all

Please stop doxxing me

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
You gotta document it and remind the managers about it every time you update it, so that they remember what to discuss in their meetings with the other teams' managers.

Make an article with a table that has these columns: created (date), updated (date), blocked by (team), severity (low or high), what you think should happen to mitigate the risk, and finally a description of the risk. Delete the row (or gray out its text and move it to the bottom) whenever an issue is resolved.

That way, next time you're in this situation, you can say that managers knew the risks from the start. Look at all the unresolved stuff in this article and your suggested mitigation steps that everyone ignored!

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Rocko Bonaparte posted:

The one that's gotten me recently is just claiming they need "more information" until they're just a human shell window being told each key to press for everything.

We own this domain and all of its components, so only we can decide and approve the solution design for your use case. ... As for implementing the design we just approved, though, we will use the inner sourcing model for that because we don't have capacity. Of course, only we can review and approve your code changes. Also by the way there is no documentation for the design we just approved. We only talked about it in some meetings, so you will also have to write that document as well. You can't start the coding until we approve it.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Pollyanna posted:

they found it too worrisome or dangerous to change our code in any non-minimal way. “Why is this change included”, “do we absolutely need this”, the codebase is too fragile to handle changes like these”, etc. (The obvious response is “then let’s add more tests and be more rigorous in its design” but as much as I’d like that, management has different priorities.)

If the team you work with doesn’t value that kind of gradual improvement and investment, then you’ll internalize that behavior and bring it to other teams and projects. :shrug:

:same:

Most recent example here is being told by the owners of a domain that using a design pattern to save hundreds of lines of code (edit: to support new use cases) and be more DRY is "adding contextual complexity to the project". Of course, none of these imaginary coding standards are documented anywhere at all but that won't stop them from trying to influence others with their opinions because that's what Staff levels are supposed to do.

Love Stole the Day fucked around with this message at 16:27 on Jan 19, 2023

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Vulture Culture posted:

to be able to draw a line in the sand at implementation time about what is and isn't your/your team's job in making those happen
Hello yes our team owns this component, but we don't have capacity at this time and would like to leverage the inner sourcing model.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Vulture Culture posted:

My unironic favorite thing about shared ownership is that sometimes people will really surprise you with what they're able to do. On one project alone, I watched a data scientist submit a feature to an AWS SDK to get something working in a low-lift way, and another data-centered software engineer with very little Linux domain experience investigate and fix an SSSD configuration embedded into a Kubernetes sidecar through several layers of config management glue.

Hey thanks for your PR implementation of this feature but our team was not properly consulted, did not approve this design, your implementation breaks our component's undocumented design principles, and we're not even sure how you were able to get the component to run locally on your machine and execute its functional/integration/acceptance tests, since they all depend on secret magic system property string values which we don't ever share outside of our team. We don't have capacity to review your PR at this time, so please talk with our engineering manager to prioritize a consultation session so that we can align on a better path forward. We might be able to squeeze you in next year.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Vulture Culture posted:

I don't really understand what the play is that you're trying to make here by involving Company Y's offer. Are you trying to somehow convince recruiting at Company X that they made a mistake by passing on you?

I think he's actually asking for advice about his X girlfriend but is disguising it to fit in with the thread theme

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Vulture Culture posted:

If by "sleazy" you really meant "desperate and hopeless", then you're getting closer
Please stop doxxing me

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

smackfu posted:

Apparently one side effect of all the tech layoffs is that attrition is way down this year at our company. Like low single digits of people leaving.

I'd imagine that that's more because of hiring freezes than because of layoffs

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Cat Machine posted:

mention at your performance review that you'd like to know what you could do to get a payrise in future. Try and get your employer to agree to some measurable performance indicators and then use that as as your goal for the next 6 months/1 year.
Here's an uncalled for, pessimistic take: In reality, those indicators will change in the next quarter, or your boss will get swapped out for another one a couple months before the performance rewards are decided. Then, when you try to assert that you delivered on what was agreed upon at the time, long after the decisions have been made, they will just blow smoke and say that the leadership doesn't see the value anymore and and and

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Bongo Bill posted:

  • Don't attempt feature parity with the old version. You are building a new product for the same market, so you still want to just target "minimum viable"
Sorry mate, Product won't agree to retire the old features because it'd be too much revenue loss, and so now we're stuck 10 years later with an old component that nobody understands or knows how to maintain. Customer won't upgrade their integrations to the new APIs.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

prom candy posted:

A thing I heard was something along the lines of if you have a poo poo codebase and it's preventing you from iterating and adding new features and you don't rewrite, eventually a competitor will rewrite it themselves and steal your customers.
My favorite part is when the rewrite and the legacy EOL migrations get deprioritized, in favor of reinventing the wheel once again with even more integrations and knowledge silos.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Xarn posted:

why the gently caress would you do that?

Because in a Large Organization, the expectations of upstream/downstream teams will have many small adjustments as the overall Product feature is being developed, the managers want to save money on the development environment, decades of tech debt and painful Major Incidents prevent you from having any CICD at all, and deployment as a process takes an entire day because of knowledge silos even for the components that your team owns due to lack of documentation and knowledge transfer as people leave the company and go elsewhere.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Jabor posted:

Once you are feature-complete, you make another PR to flip the flag on in internal testing environments. Once it's been QA'd and approved for release, another PR flips it on everywhere.
How does this scale, though, when you have 100 feature flags that overlap on the same code? Even a remote, distributed config to manage things doesn't change the code issues: because removing those feature flags also means that the overlapping code needs to be checked, and the unit tests need to be updated because everyone wants to have unit coverage at the class and method-level rather than at the use case-level.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
This is one of the things I've been interested in seeing with Golang and Rust: because they don't do classes, I see people using OOP patterns in there... but since classes and inheritance work so differently, it feels like a round peg in a square hole. I wonder what patterns will be evangelized as those things become more ubiquitous. Then again, we should separate concerns and organize things in a way other engineers can understand... and OOP patterns are what they understand, so it's not wrong, but culture changes faster than language specs.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
I made this argument to my team last year and they were like "yeah but... naaaaaahh". I failed to influence them.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

brand engager posted:

How do you write unit tests without them? Or were you only meaning integration tests?

Pretend your component has a Controller - Service - Delegate way of separating concerns. The Controller takes in the request DTO and returns the response DTO... and the Delegate actually talks to the remote downstream stuff you need.

  • Create a new class that implements your MyDelegate interface by swapping out its dependency injection. Call it MyTestDelegateImpl (as opposed to the real one, MyDelegateImpl).
  • In your unit test, call your Controller's doTheThing() API operation, passing in some fake request (either give it a JSON file that you deserialize into the request DTO or just create it on the fly in the test's setup "// Given" section)
  • ((As the Controller does its normal thing, it'll use MyTestDelegateImpl's fake responses from the downstream service you're calling instead of actually trying to talk to the real thing, which is what an integration test does))
  • Do your assertions on whatever the Controller's doTheThing() API operation gives you in its response DTO output.
  • Check the line coverage and observe that you just covered a bunch of lines throughout your entire component with just a single unit test, and that now instead of testing based on each class' individual methods you are now testing based on what your component's actual use cases are supposed to be in reality... without having to wait anywhere near as long!
  • Notice that you are now able to cover more lines with fewer tests (with much fewer lines), which means you now know which actual use cases you're breaking when something breaks.
  • Notice that you can now delete a bunch of code because if you can't reach it from the Controller by passing in whatever special request DTOs you need, then your component's customers don't need it anymore. ((What a great way to discover whether code is actually dead or not!))

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Instead of mocking literally every dependency of literally every class, you're mocking only the stuff that talks to external things... and so you're actually running the end-to-end code of the component itself, in the same way that it's actually used in reality. So, you're covering more lines with fewer tests, you're writing your unit tests in the almost the same way you write your integration tests, and you don't have to worry about fixing your broken unit tests every time you want to make a code change.

And since you're spending less time writing and fixing tests, you're also getting stuff done faster.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

The Fool posted:

definitely second this recommendation

I got the replacement book by Tanya Reilly and it's really good. One really good recommendation from the book is that we all should create 3 maps of the organization we work in:
  • a treasure map (a list of the goals toward which the leadership currently wants to move),
  • a topographical map (all the teams in your org, with extra contour lines around the teams that have priorities which differ greatly from ours or have really long SLAs),
  • and an organizational map (the stereotypical org chart for your area of the company)

We use the treasure map to brainstorm ideas for new projects.

We use the topographical map to make our timeline estimates for our design documents, since it will remind us which teams are slower to work with.

We use the organizational map to figure out whose specific buy-in we need for our project proposals and on which teams specifically will we be dependent to deliver our projects.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Steve French posted:

I’ve never understood the idea of standups being for sharing blockers. If I’m blocked on something I’m sure as hell not waiting for a meeting to communicate that

This is how the conversations typically go for me at $org:

Me: Hey I'm blocked on this thing
Boss: Wow that's a lot of words and I'm stuck in meetings all day so let's just talk about it at standup

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
"Where is that documented?" is how we insult each other, in Large Organizations

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Macichne Leainig posted:

Try to delete it, see that even though the service is unused, it's still load bearing, and then shelve it and not touch it for 10 years in my experience

Hey I know this component is deprecated, but we have a new feature on the replacement platform, but the Product leadership decided that the legacy components must support it so can you deploy a build 2 Sprints from now to align with our deadlines for which you weren't involved in the timeline estimate meetings or do I have to escalate this up to your VP and make her think you're not a team player ?

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Every time you guys throw out these 250 numbers or whatever, I wish you could clarify whether it's base+bonus+(new_rsus/years_until_fully_vested), if it's just the straight up base, if it's based on the stock price when it was granted, or if it was based on the stock price when it last vested. Because if you ignore the stock price going down and don't bother annualizing the new grant's vesting period, you'd think I'm doing way better than I actually am.

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Hey guys I remember there was a conversation a few weeks ago about whether we should calling downstream to component X, because it's supposed to be deprecated soon and replaced by component Y, and I don't remember what the decision was.

Oh wow, so we're going to talk to component X anyway? That's pretty weird, was that decision or conversation documented anywhere?

... hello?

Adbot
ADBOT LOVES YOU

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you
Manager: "can we get contractors to write our unit tests for us?"
Teammate who the manager trusts most: "Yes"
Everyone else: "wtf no lol"
Teammate who the manager trusts most: "Please I am feeling so much guilt that it's becoming difficult to code with so many things flying around. Our contractors are good at it!"

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