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
ChickenWing
Jul 22, 2010

:v:

Keetron posted:

Also, I love refactoring so I am biased.

my man



my team does not understand my rabid enthusiasm for refactor/remove/revamp tech stories

Adbot
ADBOT LOVES YOU

Pollyanna
Mar 5, 2005

Milk's on them.


This team seems to want to refactor and improve, but it looks like there’s just so much tech debt and so little opportunity to focus on it that they haven’t had a chance. I hope I can help alleviate it.

Mega Comrade
Apr 22, 2004

Listen buddy, we all got problems!

Pollyanna posted:

This team seems to want to refactor and improve, but it looks like there’s just so much tech debt and so little opportunity to focus on it that they haven’t had a chance. I hope I can help alleviate it.

I love refactoring. I think it's the feeling that what you've done has made an improvement while writing new code theres always the doubt you havent done it 'optimally'.

Murrah
Mar 22, 2015

Bongo Bill posted:

You're probably not being scrutinized that closely.

This was correct

Ghost of Reagan Past
Oct 7, 2003

rock and roll fun

Pollyanna posted:

This team seems to want to refactor and improve, but it looks like there’s just so much tech debt and so little opportunity to focus on it that they haven’t had a chance. I hope I can help alleviate it.
It's okay, everyone has tech debt. Generally a lot.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Everyone has tech debt, but not everyone is trying to manage it.

CPColin
Sep 9, 2003

Big ol' smile.
I mentioned technical debt the other day and everybody acted like they'd never heard the term before. :sigh:

Che Delilas
Nov 23, 2009
FREE TIBET WEED
When I manage tech debt the product owner says, "Why didn't this new feature get done? I promised the customer it would be done by this date [That I came up with without consulting engineers]."

The good news is that he never has a leg to stand on so it all just amounts to whining on his part, but it's like clockwork and gets annoying.

Ape Fist
Feb 23, 2007

Nowadays, you can do anything that you want; anal, oral, fisting, but you need to be wearing gloves, condoms, protection.
I had a low-key panic attack today about trying to build something and it took me ages to get it done, like a solid 8 hours.

I had an array which called 2 things from an end-point. We put them in the array then we have the ability to remove them and re-add them. The call, remove, and add all obviously come from different end-points. I had 4 buttons, remove and add. So basically I had a combination of YES YES, YES NO, NO YES, NO NO and 4 buttons which modified the values which disappeared and reappeared based on constants I had assigned or whatever. It was something wild like 32 possible combinations of actions I had to build and account for and it drove me to a mental breaking point building it but by about 4pm I did it.

I'm so drained right now.

Dr. Arbitrary
Mar 15, 2006

Bleak Gremlin

Ape Fist posted:

I had a low-key panic attack today about trying to build something and it took me ages to get it done, like a solid 8 hours.

I had an array which called 2 things from an end-point. We put them in the array then we have the ability to remove them and re-add them. The call, remove, and add all obviously come from different end-points. I had 4 buttons, remove and add. So basically I had a combination of YES YES, YES NO, NO YES, NO NO and 4 buttons which modified the values which disappeared and reappeared based on constants I had assigned or whatever. It was something wild like 32 possible combinations of actions I had to build and account for and it drove me to a mental breaking point building it but by about 4pm I did it.

I'm so drained right now.

All I can picture is one of those puzzles in an RPG where when you hit the first switch, the first and fourth light toggle, the second one controls the second and third light, etc. And you just have to turn all the lights on to unlock the stupid chest with a Hi-Potion in it.

Ghost of Reagan Past
Oct 7, 2003

rock and roll fun

Ape Fist posted:

I had a low-key panic attack today about trying to build something and it took me ages to get it done, like a solid 8 hours.

I had an array which called 2 things from an end-point. We put them in the array then we have the ability to remove them and re-add them. The call, remove, and add all obviously come from different end-points. I had 4 buttons, remove and add. So basically I had a combination of YES YES, YES NO, NO YES, NO NO and 4 buttons which modified the values which disappeared and reappeared based on constants I had assigned or whatever. It was something wild like 32 possible combinations of actions I had to build and account for and it drove me to a mental breaking point building it but by about 4pm I did it.

I'm so drained right now.
Truth tables are your friend.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Just woke up from a dream where I closed a file and then clicked "Don't save" in a reflex. It was a nightmare, I tell you.

ChickenWing
Jul 22, 2010

:v:

Keetron posted:

Just woke up from a dream where I closed a file and then clicked "Don't save" in a reflex. It was a nightmare, I tell you.

the day I have to use an IDE that doesn't autosave like Intellij will be the day I lose all of my work repeatedly for about a month

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Ghost of Reagan Past posted:

Truth tables are your friend.

And K-maps (or just plugging the logical expression into Wolfram Alpha)

Iverron
May 13, 2012

My team has become almost mechanically good at delivering the agreed upon features for a release cycle, but holy poo poo I sometimes long for the chaos of a non-agile/whatever company where I could just log in and work on new things every day without needing to define spikes or some other “no QA” tasks in the last sprint of the cycle.

speng31b
May 8, 2010

Iverron posted:

My team has become almost mechanically good at delivering the agreed upon features for a release cycle, but holy poo poo I sometimes long for the chaos of a non-agile/whatever company where I could just log in and work on new things every day without needing to define spikes or some other “no QA” tasks in the last sprint of the cycle.

Just wait til you take a step back and realize all the features you've delivered for the past 6 months are dumb made-up-on-the-spot poo poo that your PO shoves in the backlog just to fill it out without understanding a real customer's needs or real-life use case.

also your product is a steaming pile of poo poo because you've never focused on anything that doesn't add direct user value so a stiff breeze will blow it over

speng31b fucked around with this message at 02:42 on Mar 28, 2018

redleader
Aug 18, 2005

Engage according to operational parameters

speng31b posted:

also your product is a steaming pile of poo poo because you've never focused on anything that doesn't add direct user value so a stiff breeze will blow it over

God, this is the worst. Especially when your operational monitoring is so lacking that you have no insight into the stiff breeze, any way to predict the stiff breeze, or even if a stiff breeze is indeed blowing.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
Product owner: "Okay fine, I'll give you a timebox of one day to add some alerts BUT THAT'S IT"

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Sagacity posted:

Product owner: "Okay fine, I'll give you a timebox of one day to add some alerts BUT THAT'S IT"

In one sentence what is wrong with the concept of an IP sprint in SAFE that is supposed to be used for tech debt.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
Timeboxing is good but product owners are bad

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

speng31b posted:

Just wait til you take a step back and realize all the features you've delivered for the past 6 months are dumb made-up-on-the-spot poo poo that your PO shoves in the backlog just to fill it out without understanding a real customer's needs or real-life use case.

also your product is a steaming pile of poo poo because you've never focused on anything that doesn't add direct user value so a stiff breeze will blow it over

This but describing my adult life

CPColin
Sep 9, 2003

Big ol' smile.
Customer: "Is it possible to allow admins to make edits, even when the dates they're trying to edit are locked?"
Code: if (!isDateLocked(date) || isAdmin()) { ... }
Me, to other developer: "Hey, it looks like what the customer is asking for is already possible. Any ideas?"
Other developer, direct quote: "Although the code appears to handle the admin case, the database trigger on Foo does not allow anyone (including admins) to modify reservations on locked days. The database trigger was added as a stopgap workaround for code flaws that allowed users to make changes in certain cases. I'm sorry to say that I do not have a good record of the details behind the flaws (just a many-year-old recollection that they did exist)."

He goes on to say how the trigger could be altered to account for an "admin" flag. You know, as opposed to fixing the code and getting rid of the trigger that makes a liar out of it. I honestly don't know how this guy ever got anything done, seeing as he never made any record of what he was doing or what bugs he was encountering.

Edit: The trigger is on the Production database, but is missing on the Test database. :fuckoff:

CPColin fucked around with this message at 16:39 on Mar 28, 2018

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

speng31b posted:

also your product is a steaming pile of poo poo because you've never focused on anything that doesn't add direct user value so a stiff breeze will blow it over
never skip leg day

Clanpot Shake
Aug 10, 2006
shake shake!

speng31b posted:

Just wait til you take a step back and realize all the features you've delivered for the past 6 months are dumb made-up-on-the-spot poo poo that your PO shoves in the backlog just to fill it out without understanding a real customer's needs or real-life use case.

also your product is a steaming pile of poo poo because you've never focused on anything that doesn't add direct user value so a stiff breeze will blow it over

At my previous job, the first feature I shipped to production without any errors made me really proud. Couple years later we're re-writing the application and auditing functionality and come to my thing and find out the business never actually populated the tables that drove the behavior. So my code was just sitting there for 2 years, doing nothing, after the fire drill of collecting and refining requirements and getting it through the QA process. Learned a lesson that day, I tell ya.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

CPColin posted:

Customer: "Is it possible to allow admins to make edits, even when the dates they're trying to edit are locked?"
Code: if (!isDateLocked(date) || isAdmin()) { ... }
Me, to other developer: "Hey, it looks like what the customer is asking for is already possible. Any ideas?"
Other developer, direct quote: "Although the code appears to handle the admin case, the database trigger on Foo does not allow anyone (including admins) to modify reservations on locked days. The database trigger was added as a stopgap workaround for code flaws that allowed users to make changes in certain cases. I'm sorry to say that I do not have a good record of the details behind the flaws (just a many-year-old recollection that they did exist)."

He goes on to say how the trigger could be altered to account for an "admin" flag. You know, as opposed to fixing the code and getting rid of the trigger that makes a liar out of it. I honestly don't know how this guy ever got anything done, seeing as he never made any record of what he was doing or what bugs he was encountering.

Edit: The trigger is on the Production database, but is missing on the Test database. :fuckoff:

Is this from radium.txt?

ChickenWing
Jul 22, 2010

:v:

Clanpot Shake posted:

At my previous job, the first feature I shipped to production without any errors made me really proud. Couple years later we're re-writing the application and auditing functionality and come to my thing and find out the business never actually populated the tables that drove the behavior. So my code was just sitting there for 2 years, doing nothing, after the fire drill of collecting and refining requirements and getting it through the QA process. Learned a lesson that day, I tell ya.

Let me tell you about the set of APIs I developed that our frontend steadfastly refuses to implement in any respectable fashion because they think having to use more than one API call for a certain behaviour is confusing

ChickenWing
Jul 22, 2010

:v:

It's very fun, and cool, to develop a solid and at least reasonably RESTful API, and then have your frontend forcibly seize the reins after falling too far behind schedule to understand things like "code quality", and then start mandating hacks to your API because otherwise your app will never release

CPColin
Sep 9, 2003

Big ol' smile.

New Yorp New Yorp posted:

Is this from radium.txt?

It's from one_guy_working_by_himself_for_a_decade.txt, so, basically. I hope to avoid having whoever comes after me think the same thing about me (but it's inevitable).

ChickenWing
Jul 22, 2010

:v:

no i'm not bitter about that steadily backfiring since release why do you ask :shepface:

ChickenWing
Jul 22, 2010

:v:

colin how could you murder my triple post combo like that you monster

Rubellavator
Aug 16, 2007

Occasionally we have app admins implement some kind of security requirement from up high so that all PUT and DELETE get blocked and we have to explain again that we use those and their list of uncommon http verbs is outdated. And every time we have to explain to a management position why we don't get remove all puts and deletes.

CPColin
Sep 9, 2003

Big ol' smile.

ChickenWing posted:

colin how could you murder my triple post combo like that you monster

It's unforgivable and I'm truly sorry.

Gounads
Mar 13, 2013

Where am I?
How did I get here?

Rubellavator posted:

Occasionally we have app admins implement some kind of security requirement from up high so that all PUT and DELETE get blocked and we have to explain again that we use those and their list of uncommon http verbs is outdated. And every time we have to explain to a management position why we don't get remove all puts and deletes.

That hit a nerve since I wrote this a couple minutes ago

const url = `${somestuff}&_method=${method}`

vonnegutt
Aug 7, 2006
Hobocamp.
one time I worked on an API that was required to return 200 for every http request. If it was an error we were required to return 200 with a body of {error_code: 500, error: foo}. We asked the client why and they acted like we were the weird ones.

CPColin
Sep 9, 2003

Big ol' smile.
There was a period in Experts Exchange's history where somebody decided that the 404 page had little customer value, so we should keep chopping stuff off the path and redirect on up the chain until the user finally found a working URL. Well, it turns out search engines really don't like it when you never return a 404 for any URL.

Right before that, somebody redesigned the 404 page to have a bunch of dynamic content on it, then wondered why the server load shot through the roof.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
I worked with a client that had an API where you could POST some JSON to a Foo/Create method to create a Foo. They wanted to automate some stuff.

I quickly discovered that the response would contain the HTML rendering of the page that normally invoked the API including the new Foo. That's it. No new Foo ID. I asked how anyone was supposed to use the API to automate anything. They seemed confused by the question.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

vonnegutt posted:

one time I worked on an API that was required to return 200 for every http request. If it was an error we were required to return 200 with a body of {error_code: 500, error: foo}. We asked the client why and they acted like we were the weird ones.

This is usually because of terribly designed "rest" libraries that treat 200 and non-200 responses completely differently. I once had to work with one which just outright didn't give you access to the body of non-200 responses.

CPColin
Sep 9, 2003

Big ol' smile.
Change request PDF: "Deadline is April 22"
Customer, just now: "Feature X is my lowest priority for getting ready for Tuesday."
Me: "TUESDAY!?"

God drat, the project management is terrible around here. Now we get at least one more round trip of emails before we figure out what's going on. And it's Spring Break, so nobody's paying attention anywhere on campus anyway.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

vonnegutt posted:

one time I worked on an API that was required to return 200 for every http request. If it was an error we were required to return 200 with a body of {error_code: 500, error: foo}. We asked the client why and they acted like we were the weird ones.

Oh, you work at my company.

(I'm sick of this and any new web services I create, starting from a few weeks ago, use HTTP status codes properly and if I need to hand back clarifying data I include it. No it's not consistent with the rest of the code base and I no longer give a gently caress if that's the only reason to not do something. The rest of the code base is more than a decade behind best practice anyway, if it ever was there in the first place.)

Adbot
ADBOT LOVES YOU

Pedestrian Xing
Jul 19, 2007

Sage Grimm posted:

There's no question I'm bailing. The question I have to figure out for myself is whether to get out as soon as possible and then spend that time I would have been working for job hunting/resume updating or keep going and do all that on my free time when I'm not feeling burnt out.

Pretty much the same. I knew I was gone when I got turned down for a very reasonable raise request, just a matter of finding a new job first.

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