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
CPColin
Sep 9, 2003

Big ol' smile.

Pollyanna posted:

tl;dr: Make sure PRs are as polished as possible before submitting.

I agree with this one, for the most part. We had issues where, near the end of a sprint, people started opening pull requests early so reviewers could get a head start. They'd then repeatedly commit single-file changes in responses to comments that came up, forcing everybody else to reload the pull request and potentially start over. I suggested that projects that were so close to their deadlines that this had to happen maybe should be bumped out of the sprint and my boss got mad at me.

On the other hand…

Pollyanna posted:

tl;dr: Code to the lowest common denominator on the team.

:rip:

Adbot
ADBOT LOVES YOU

CPColin
Sep 9, 2003

Big ol' smile.

leper khan posted:

Most of that doesn't seem entirely unreasonable, but there's a reading of it that's extremely process over people. The last point is pretty bad depending on where the line is drawn.

Yeah, it makes me think, "An ebbing tide lowers all boats." in that, if the new-to-programming developers never encounter anything advanced, the average skill will drop and drag the code down with it.

CPColin
Sep 9, 2003

Big ol' smile.
This JIRA workflow speaks to me:

Only registered members can see post attachments!

CPColin
Sep 9, 2003

Big ol' smile.
After that year of lobbying for a job title change to "Senior Java Architect" and winning the "Technology Leader" award at the company party, which I told my boss I wouldn't attend because failing to get an annual award every year makes me feel bad, the company decided they didn't need an architect after all! I did it, everybody! :waycool:

CPColin
Sep 9, 2003

Big ol' smile.
Yeah, I was looking around the office and thinking, "Man, I should have taken this week off!" but then I was glad I didn't because they laid me off on January 3 and paid out my unused VTO.

CPColin
Sep 9, 2003

Big ol' smile.

ToxicSlurpee posted:

The other guy I work with is competent and agrees that our code base is terrible and should be replaced. That's one of our ongoing things and was part of why I got the go ahead to just axe that whole system. It was bad, it was old, and it wasn't scalable.

At some point while I was working at Experts Exchange, somebody wrote copy to the effect of, "We rewrote every line of the code from scratch!" and, man oh man, that would have been so much better than what actually happened.

CPColin
Sep 9, 2003

Big ol' smile.
I think API docs "usually" end up exactly like that. Like most documentation, it's written as an afterthought and potentially by somebody other than the person who wrote the code and it's out-of-date as soon as somebody touches the code for any reason.

In the last bit of API work I did, before getting laid off, I made the function call spit out a usage message that the code generated via reflection, so nobody would have to remember to update it. I also wrote a unit test that used similar reflection to force developers to write a new unit test for every new field they added. I then told my PO that if people wanted to use the API and needed documentation, we should send them the unit test and tell them, "This is what we're guaranteeing will be available."

I have no idea if any part of this strategy worked, because, naturally, the person who had been clamoring for the new API call for months hadn't used it by the time I left.

CPColin
Sep 9, 2003

Big ol' smile.

KoRMaK posted:

Had to jump on a call tonight to make sure a major deployment went well. After explainin a bunch of poo poo I checked back in with my boss 50 minutes later. Asked him how it was going and he said "good! I'm about to run the finale migration" and I said

"WAIT - you gotta say the magic words"
then linke dhim to this
https://www.youtube.com/watch?v=HKK4KmDlj8U
and this
https://www.youtube.com/watch?v=T4kBRC2co7Y

computers can be fun

"Hold onto your butts!" and "Ah ah ah! You didn't say the magic word!" were regularly played clips at my old job. Also "Entrance of the Gladiators," when we had a process failure that blew up the production environment. In cases where the blow-up needed to be fixed by open-palm-smashing a fix into production, we'd get a remix of Bill O'Reilly's "Do it live!" rant.

On Fridays where people tried to get work done too late in the afternoon, it was "Bang the Drum All Day."

Good times. Bad speakers.

CPColin
Sep 9, 2003

Big ol' smile.
My main motivation was that, when doing a git blame, it was becoming impossible to figure out what was going on when a single function had five different commits with useless messages and one commit that actually contained the issue number. In Eclipse, there'd be a rainbow of highlight colors on the line numbers, making it less clear that a function was added in a single task. It was often a problem when I was doing lots of bug triage, because I couldn't quickly figure out where code had come from and why.

CPColin
Sep 9, 2003

Big ol' smile.
Yeah, how dare we discuss working in development in this thread, of all threads!

CPColin
Sep 9, 2003

Big ol' smile.
Meanwhile, the designer for the Ceylon language sure does like pushing straight to master:

https://gitter.im/ceylon/dev?at=58f39e8908c00c092a876976

CPColin
Sep 9, 2003

Big ol' smile.
Maybe his tact is a WIP.

CPColin
Sep 9, 2003

Big ol' smile.
My favorite was when we introduced the swimlane limits and our QA column would be over the limit, but I couldn't help move anything along, because I was the developer for everything in the QA column and our team policy was not to QA our own work. Then our QA guy quit for a job across town and we had to start borrowing a QA person from other teams. Fortunately, they laid me off a few days later.

Now I'm in my sweats, watching Price Is Right. Three months and counting!

Got a phone screen today for a job with the county, though.

CPColin
Sep 9, 2003

Big ol' smile.
Just once, I would like to see a manager just say, "All hands on deck. You are required to be here."

CPColin
Sep 9, 2003

Big ol' smile.
That's close. Interpret it as, "You may no longer come in on Saturdays."

CPColin
Sep 9, 2003

Big ol' smile.
Consume way too much sodium from all the ordered-in food and then hold a grudge for seven years.

CPColin
Sep 9, 2003

Big ol' smile.

Pollyanna posted:

If a PR for a ticket to change the wording for an element is put up and then declined because the styling is off for some other element, how does that make sense?

It doesn't.

I used to hate declining pull requests, because the interface always just slammed the door shut, compared to having a discussion and trying to work it out. I hated even more when I happened to open a pull request I wasn't added to and found a problem in it that the other reviewers didn't catch. I always felt like such a jerk for butting in and asking for a fix.

CPColin
Sep 9, 2003

Big ol' smile.

Mniot posted:

Touching someone else's feature branch without explicit permission is hosed up. Do they also snatch your keyboard and leave finger-grease smears all over it? Because that's the same goddamn thing.

Or pointing at something on your screen and touching it.

CPColin
Sep 9, 2003

Big ol' smile.

Keetron posted:

Finally there is the TAO of Test. Tests should be:
Transparant so one can see what it tests and how.
Atomic, meaning a test should only test one thing or at least have only one purpose.
Overdraagbaar but drat that is Dutch so can someone suggest a term that means transferrable starting with an O? The guy coming after you should be able to work with your tests.

You could use "Transferable, Atomic, Obvious," maybe.

CPColin
Sep 9, 2003

Big ol' smile.

Skandranon posted:

It's PROBABLY more complicated than it needs to be? Ideally, you'd get most of it static and just dynamically switch classes to change appearance.

You can see Experts Exchange doing this, where there's a site-wide stylesheet and a page-specific stylesheet on every page. The latter is generated based on the possible components that can show up on the current page. Which, of course, led to bizarre bugs where a single page somewhere had an overly broad CSS rule that overrode a site-wide style and the bug reports from the users never got specific enough to track down what was causing it.

The pendulum constantly swung between overly broad and overly specific CSS rules. Good ol' CSS!

CPColin
Sep 9, 2003

Big ol' smile.

lifg posted:

That's a weird choice, given browser caching and modern CDNs.

The extra work it took to make that stuff browser-cacheable and CDN-enabled made it pretty complicated to make any changes to that area of code!

CPColin
Sep 9, 2003

Big ol' smile.

Doom Mathematic posted:

"Steps to reproduce:

Expected behaviour:

Actual behaviour:

Tickets without all three of these things will be closed!"

And then there's the one coworker who has to use the special template that adds, "Explain why you expect this behavior."

CPColin
Sep 9, 2003

Big ol' smile.
A guy in my interview Tuesday went off-script and asked what I thought about SVN vs. Git because they were on SVN and were thinking about switching. I just talked about how much better branching and code reviewing was with Git (in that we didn't do it at all on SVN). Hopefully it made a good impression!

CPColin
Sep 9, 2003

Big ol' smile.
I was helping phone-screen a candidate once who had sent in a resume that was something like six pages long with basically everything she ever did at every place. I think I printed out the first four pages of it at 50% scale, unlike everybody else there. She talked so much during the screen that nobody challenged her knowledge or tried to relate her knowledge to the duties of the position we were trying to fill.

At the end of the phone screen, everybody on the panel went, "She seemed to know her stuff!" and I was very confused.

CPColin
Sep 9, 2003

Big ol' smile.
I made a few pull requests where I suggested that the reviewers may want to look at one commit at a time, because the change was a big refactor that touched a few hundred files. The commits broke down to something like 1) change the code generator, 2) regenerate a bunch of code, 3) remove the now-unused functionality. I don't know if anybody took the advice and only looked at commits #1 and #3, or what.

CPColin
Sep 9, 2003

Big ol' smile.

Pollyanna posted:

You shouldn't have to involve your front-end app if you're specifically testing the behavior of the API. The integration tests will be faster if you just write tests for your REST endpoints or whatever.

Ugh, so much of the automated testing of the API functionality at my last job worked by firing off carefully constructed HTTP requests. And yes, they took forever. So somebody multi-threaded them, which made people's dev machines grind to a halt on the rare occasions anybody ran the test locally because of the dozens of threads thrashing around.

When I finally implemented some API functionality, I tested it by actually calling the drat functions directly.

I wonder what the automated testing looks like now, after the other guy who was doing them left voluntarily and I was laid off.

CPColin
Sep 9, 2003

Big ol' smile.
The best is when you release a widely anticipated feature and get all excited for the positive feedback to start rolling in and the customer just goes, "meh." Never quite learned my lesson on that one.

CPColin
Sep 9, 2003

Big ol' smile.
Yep. Worked hard for months making the desperately needed feature ultra-robust? "Meh." poo poo out a quick fix at 4:35 on Friday? "OH MY GOD THIS IS THE BEST!"

CPColin
Sep 9, 2003

Big ol' smile.
I thought that conference was considered harmful?

CPColin
Sep 9, 2003

Big ol' smile.

Pollyanna posted:

It doesn't help that our project lead constantly blows us off and refuses to help us do things, even though that's what we were promised at the beginning and is his goddamn role - she and I theorize that it's because we're women, since he's the only dude on the team.

I bet I already know the answer, but do you have any skip-level meetings with this guy's supervisor, where you can bring up issues like this? If not (ha), you could request/demand one, since you don't care about your long-term prospects at the company anyway.

CPColin
Sep 9, 2003

Big ol' smile.
You're living the dream.

CPColin
Sep 9, 2003

Big ol' smile.

Jo posted:

For the past year or so we've been moving away from Postgres to Solr, a change which I was rather opposed to. It has turned out... okay. More and more, though, our application feels like it's built upon twigs.

No kidding. Using a search index as a data store? :psyduck:

CPColin
Sep 9, 2003

Big ol' smile.
java.util.Collections.reverse(list) :smug: no I refuse to explain how that method works

CPColin
Sep 9, 2003

Big ol' smile.
Yeah, if you gave that answer, they'd probably ask you to pretend that function doesn't exist and do it by hand.

CPColin
Sep 9, 2003

Big ol' smile.

Keetron posted:

But nooo, who needs feature branches and PR's? They just slow down our advanced development processes.

This is the reasoning the designer of the Ceylon language uses when people call him out for committing broken, half-implemented changes straight to master. He whines that, if he had to do stuff in branches and do pull requests, it would slow him down. Meanwhile, everybody catches all these problems after he's committed that would have been spotted immediately, had he used a PR.

CPColin
Sep 9, 2003

Big ol' smile.

Rubellavator posted:

Since our application didn't care about hour of the day, we did it so that if you picked Jan 15 12:00 AM Local Time, we would transpose that to Jan 15 12:00 AM UTC on the way to the server, and anything coming back would have to be transposed to Jan 15 12:00 AM Local.

I really hated it. It created some weird situations for our client-side validation when dates were set in the future.

I was this close to adding support for a date-only data type to the code and database at Experts Exchange before I looked at the potential uses the code would have and found all of them in the spaghetti that was the billing system.

CPColin
Sep 9, 2003

Big ol' smile.
This week's agenda at my new job: Monday, Tuesday, Thursday, Friday: Agile training; Wednesday: new employee orientation. I'd better pack some snacks and a book or two!

CPColin
Sep 9, 2003

Big ol' smile.
Yeah, if you're expected to be available to your coworkers and you decide to work remotely in a place you can't be available, people have a good case for you being dishonest. It's another matter if you tell your team, "I have to work remotely today and the cable company is messing around with some utility poles, so my connection might drop." At least then everybody knows you're going to be 50% available or 25% available or whatever.

When I got laid off from my last job, they took the rest of my team away from my former PO, who works from home and had been PO for two teams until that point. So she was used to getting her work done for two teams at once and suddenly found herself with just the one. She sent HipChat notifications to her phone and painted her kid's bedroom during the time she would have spent with our old team. I was so proud when she told me!

CPColin
Sep 9, 2003

Big ol' smile.

Keetron posted:

You can leave early without anyone knowing!

"Oh yeah, I got in at 7:00 this morning, so I'll be taking off at 3:15."

Adbot
ADBOT LOVES YOU

CPColin
Sep 9, 2003

Big ol' smile.
At least you're hopefully getting a good feedback loop going, with those frequent demos. That should mean that, at the end, they won't suddenly go, "This is all wrong! Start over!"

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