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
Achmed Jones
Oct 16, 2004



Phobeste posted:

They wouldn’t have any trouble, you know how many legs they have

But only one finger per leg. The cockroach is at a significant disadvantage

Unless the roaches of the future have hands on each leg which I simply refuse to countenance, I said good day!

Adbot
ADBOT LOVES YOU

Fellatio del Toro
Mar 21, 2009

"Do you know why <thing> isn't working?"

"What do you mean by not working?"

"I'm trying to use it and it's giving me some error"

"What are you trying to do?"

"Well I'm trying to do <process> and it's giving me an error"

"At what point are you getting an error?"

"Doing <thing>"

"Through the UI? From another service? cURL?"

"cURL"

"What's the error?

"I'm not sure, some kind of access error or something"

"What's the http code?"

"I don't know, do you need that?"

"Just send me the cURL command"

...

"You put -X instead of -H for a header"

every day with this poo poo

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

The above post but with:
<thing> has a bug.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Fellatio del Toro posted:

every day with this poo poo

I just had a coworker ask me "hey is there anything else I need to know about X?"

uhhhhhhhhhhhhhh

I guess just go ahead and tell me everything you know about X and then I can tell you what you don't know. I'm not a mind reader!

Hollow Talk
Feb 2, 2014

Fellatio del Toro posted:

"Do you know why <thing> isn't working?"

"What do you mean by not working?"

"I'm trying to use it and it's giving me some error"

"What are you trying to do?"

"Well I'm trying to do <process> and it's giving me an error"

"At what point are you getting an error?"

"Doing <thing>"

"Through the UI? From another service? cURL?"

"cURL"

"What's the error?

"I'm not sure, some kind of access error or something"

"What's the http code?"

"I don't know, do you need that?"

"Just send me the cURL command"

...

"You put -X instead of -H for a header"

every day with this poo poo

Severity: Critical
Note: This keeps me from working

Fellatio del Toro
Mar 21, 2009

Keetron posted:

The above post but with:
<thing> has a bug.

See also: The system is down

Fellatio del Toro
Mar 21, 2009

"Hey has anyone told you yet that the system is down?"

"What? Production?"

"No, R&D"

"It looks like everything is up and healthy"

"I'm looking at the UI and there aren't any jobs running"

"Are you trying to run something?"

"No"

"Is something supposed to be running?"

"I don't know"

"Are any of the data feeds turned on in R&D?"

"I don't know"

"If nobody is testing anything right now you're not going to see any jobs running in R&D"

Progressive JPEG
Feb 19, 2003

If anyone walks up to me and says “the system is down” without context I’m absolutely going to stop them there and start playing that strong bad episode

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


"The system is down."

"Down with the system!"

Hollow Talk
Feb 2, 2014

ultrafilter posted:

"The system is down."

"Down with the system!"

The system has downs.

Carbon dioxide
Oct 9, 2012

System of a Down.

Munkeymon
Aug 14, 2003

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



Make it go!

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
I just pretend I'm dealing with Pakleds from that one episode of TNG. "You make ship go?"

darthbob88
Oct 13, 2011

YOSPOS

New Yorp New Yorp posted:

I just pretend I'm dealing with Pakleds from that one episode of TNG. "You make ship go?"

If you want to go that route, "The real trick to this job," Argle wrapped up, "is to realize that the only four answers you ever need to give are 'Yo,' 'Oh,' 'So,' and 'No.'"

Volmarias
Dec 31, 2002

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

New Yorp New Yorp posted:

I just pretend I'm dealing with Pakleds from that one episode of TNG. "You make ship go?"

I still cannot believe that this was actually an episode

Carbon dioxide
Oct 9, 2012

We made new teams today because the old dev teams were growing too large to be effective.

I'm worried I ended up in the team that's gonna get all the work nobody (else) wants to do.

Macichne Leainig
Jul 26, 2012

by VG

Carbon dioxide posted:

We made new teams today because the old dev teams were growing too large to be effective.

I'm worried I ended up in the team that's gonna get all the work nobody (else) wants to do.

They chucked me on the tech debt team at my old job and they were genuinely shocked when I put in my notice. I know that probably doesn't help, but it's an anecdote, I guess.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Carbon dioxide posted:

We made new teams today because the old dev teams were growing too large to be effective.

I'm worried I ended up in the team that's gonna get all the work nobody (else) wants to do.

Go talk to whoever made the teams and tell them how excited you are about [technology used on the team you want to be on] and how that will enhance company revenue, and try to get on a different team. Now is the time, before things become solid.

Carbon dioxide
Oct 9, 2012

taqueso posted:

Go talk to whoever made the teams and tell them how excited you are about [technology used on the team you want to be on] and how that will enhance company revenue, and try to get on a different team. Now is the time, before things become solid.

That's the thing, we made the teams ourselves. It worked out fantastically the first time we did that, a year ago. Put people in random groups, have them rate themselves on some axes such as pragmatical/theoretical, starter/finisher and so on, and keep shuffling people until each team is balanced.

This time we did a similar thing except we split up the teams we already had randomly and then did the axes balance thing again. Partially because of me saying that it worked so well last time. After the random split up, things were balanced along those axes quite well and we discussed some other things like expertise knowledge too and at this point, no amount of shuffling would've improved the overall distribution of the new teams so I decided to accept it for now.

My manager is a decent guy, knowing him if it turns out I really am not happy in this position after trying it for a couple months, I can talk to him about switching teams. Especially if the plan to hire more people works out, because then we'll have more shuffle room. We'll see.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

I love refactoring, being in a team that is dedicated to clean up and actually gets time and budget to do so sounds pretty good to me.
Much better than having management breathing down your neck for features that cannot be delivered because of said tech debt.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

Protocol7 posted:

They chucked me on the tech debt team at my old job and they were genuinely shocked when I put in my notice. I know that probably doesn't help, but it's an anecdote, I guess.

Some people like working on tech debt. I do because I don't generally give a poo poo about the latest whizzbang feature that a random customer or prospective customer wants (usually because it breaks the laws of space and time as we understand them and also the requirements are always vague at best and the opposite of what they actually want at worst).

At my last job I updated our dependency management from "check versioned .dlls into source control, manually manage the files and version numbers in 50 places if you ever want to update (so we never update)" to "update from Nuget on build, if necessary)." It was a huge project and I learned more about WiX than I ever wanted to know, but it let us do crazy things like add libraries to our solution or update a library that was 10 years out of date and had a million security flaws, without wanting to kill ourselves. It was great and I'm pretty proud of it.

I've also heard this described as "v1 developer" vs "v2 developer" which I kind of like.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
I would love to be on a tech debt team. That’s just getting paid to be judgy about other people’s code.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
I've spent the last couple years doing maintenance or supporting other people's codebases.

It loving blows and I'm sick of it.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

lifg posted:

I would love to be on a tech debt team. That’s just getting paid to be judgy about other people’s code.

No, it's taking ownership of lovely code and being responsible for unshitting it without breaking it. Been there, done that. Awful.

Less Fat Luke
May 23, 2003

Exciting Lemon
Nothing encourages a team to write bad code like knowing another team is responsible for cleaning up the mess.

Volguus
Mar 3, 2009

Less Fat Luke posted:

Nothing encourages a team to write bad code like knowing another team is responsible for cleaning up the mess.

Which is why they should be reminded at every opportunity:

Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live

Macichne Leainig
Jul 26, 2012

by VG

New Yorp New Yorp posted:

No, it's taking ownership of lovely code and being responsible for unshitting it without breaking it. Been there, done that. Awful.

Our team got roped into all sorts of stupid discussions and PRs because we “touched that code” and “might know something about it.” Blamed for build errors when the log indicated an error from a file I know for a fact our team did not touch (we shared dev environments for our teams on some projects!) So on and so forth.

Plus the whole judgmental part does not give you a healthy viewpoint of your peers. We know the ones who suck, but you don’t need a constant reminder.

Vulture Culture
Jul 14, 2003

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

Less Fat Luke posted:

Nothing encourages a team to write bad code like knowing another team is responsible for cleaning up the mess.
Counterpoint: knowing that literally nobody will ever be responsible for cleaning up the mess

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

Protocol7 posted:

Our team got roped into all sorts of stupid discussions and PRs because we “touched that code” and “might know something about it.” Blamed for build errors when the log indicated an error from a file I know for a fact our team did not touch (we shared dev environments for our teams on some projects!) So on and so forth.

Plus the whole judgmental part does not give you a healthy viewpoint of your peers. We know the ones who suck, but you don’t need a constant reminder.

Taking this in a different direction: Getting stonewalled from fixing the code because the original developer takes it as a personal affront.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Opinion for a newbie developer - I need to add a new feature that is adjacent to functions in my application.

Is your preference to:
A) loop the adjacent feature into your current functions and invent clever ways to use the code that exists, though it may not fit perfectly?
B) add the new feature to the side, growing the code base but allowing independent support for both?
C) refactor the code a bunch to find a balance right between the two?

Bongo Bill
Jan 17, 2012

Judge Schnoopy posted:

Opinion for a newbie developer - I need to add a new feature that is adjacent to functions in my application.

Is your preference to:
A) loop the adjacent feature into your current functions and invent clever ways to use the code that exists, though it may not fit perfectly?
B) add the new feature to the side, growing the code base but allowing independent support for both?
C) refactor the code a bunch to find a balance right between the two?

That question has a lot more baggage that you may realize. You will probably learn more by picking an approach and learning from what specifically becomes easy or hard when you follow through on it than by fretting over whether you're doing it right.

"Functions" and "features" in an application are concepts that exist on wildly different scales, and thinking about them at the same time strikes me as an indication of a more deep-seated confusion.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I might just be trying to oversimplify the explanation. There exist functions that pull info A. I need to pull info B in a similar but different way. I could probably try to use functions that get A to get B too, but would conflate the primary use case and lead to complications if I try to refactor later. I could also duplicate code from functions getting A, change the bits that need to be changed, write new tests, and support both use cases separately. This would add a lot to the code base but sounds easier to maintain.

Or I undergo a lot of refactoring now to take the duplicated parts from A and B into separate functions to be the most reusable. Which really sounds like the 'right' choice but is the most amount of work.

So I'm asking for opinions from people who have done this a lot longer than I. Where would you tend to land?

Bongo Bill
Jan 17, 2012

If you're not sure, start by duplicating it, and look for opportunities to deduplicate once you can see clearly what they have in common. Think about what's essentially identical and what's just coincidentally identical.

Truman Peyote
Oct 11, 2006



It's hard to say without specifics but at the broadest, most general level, my experience is that it is easier to write new code and tests that do one specific thing than it is to cram new functionality into code that was never intended for it.

Xarn
Jun 26, 2015
Probation
Can't post for 51 minutes!

Bongo Bill posted:

If you're not sure, start by duplicating it, and look for opportunities to deduplicate once you can see clearly what they have in common. Think about what's essentially identical and what's just coincidentally identical.

This. We love to emphasize DRY, and most student code I see could use more of it, but you should avoid factoring out code that is identical only accidentally.

Less Fat Luke
May 23, 2003

Exciting Lemon

Vulture Culture posted:

Counterpoint: knowing that literally nobody will ever be responsible for cleaning up the mess
I guess, but the places I've worked have decent ownership of code and services (I'm very lucky) so I'd rather each team maintain and deal with their mess than ignoring it or throwing it over the wall.

Obviously it comes down to the culture of where you work and how much engineering time is valued versus maximized.

Achmed Jones
Oct 16, 2004



If you're a newbie a good rule of thumb is to not make abstractions until you have three concrete examples to abstract.

Also a decent rule for non-newbies

prom candy
Dec 16, 2005

Only I may dance
Good post on the subject: https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction

downout
Jul 6, 2009

Judge Schnoopy posted:

Opinion for a newbie developer - I need to add a new feature that is adjacent to functions in my application.

Is your preference to:
A) loop the adjacent feature into your current functions and invent clever ways to use the code that exists, though it may not fit perfectly?
B) add the new feature to the side, growing the code base but allowing independent support for both?
C) refactor the code a bunch to find a balance right between the two?

Which answer sounds like the least likely to be a nightmare when you have to modify that code in three years?

Adbot
ADBOT LOVES YOU

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Bongo Bill posted:

If you're not sure, start by duplicating it, and look for opportunities to deduplicate once you can see clearly what they have in common. Think about what's essentially identical and what's just coincidentally identical.

This is a good insight, thank you for it.

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