[-] WhatTheDuck@piefed.social 3 points 2 hours ago

This gave me a good chuckle. If only that were true! I'm not in a typical work environment -- promotions/bosses work differently.

My people skills hit their maximum potential from previous management roles... There's no where but down from here! 🫠

[-] WhatTheDuck@piefed.social 2 points 2 hours ago

Anyone can learn to code well enough for a corporate environment.

The bar is even lower for a government environment. 🥲

Thankfully, we're already setup with a linter/auto code formatting. Mandatory PR templates/size limits would probably be overkill with a team this small - but I get your point. He really just needs to stick to the ticket's original scope and I'm going to harp on it more. We just had another talk about it on Thursday.

I appreciate the suggested dialogue. We've had conversations like this - mainly to see his openness to a lead in developer-adjacent things like testing. He's not very... self aware or well experienced career wise to say the least.

We're at the "figure out somewhere he can fit" or "remove him from the team" phase. We'd prefer to find a way to keep him.

Thank you for the sound advice/suggestions though.

[-] WhatTheDuck@piefed.social 6 points 2 hours ago* (last edited 2 hours ago)

Yes, only he could create such a beauty like:

switch(thing) {  
  case A:  
    console.log("Case A!")  
    break; 
  case B:  
    console.log("Case B!")  
    break; 
  case C:  
    console.log("Case C!")  
    break;  
  ...   // This continued for 8 other cases  
}  
[-] WhatTheDuck@piefed.social 2 points 2 hours ago

I agree with your general sentiment. No, I'm not his manager. Yes, it's not my job to hold his hand.

This post is mostly a sanity check / seeking options. We'd prefer to keep him, but ultimately it might come to that.

[-] WhatTheDuck@piefed.social 4 points 2 hours ago* (last edited 2 hours ago)

Haha - at first he didn't! We had a learning good moment though.

He was really frustrated with his first pull request basically telling him to rewrite everything. He didn't see the value in spending more time on changing so much when his "worked."

After talking about the importance of long-term maintainability and stability etc etc, I told him about my PR experience on a previous project with a single other developer on it. We had different styles/preferences which sparked plenty of discussions/debates in the PRs. It could be so frustrating, but we taught each other so much and I honestly miss that.

There's nothing like learning a new trick that deletes 200 lines of pain and suffering.

[-] WhatTheDuck@piefed.social 4 points 3 hours ago* (last edited 3 hours ago)

Appreciate the advice; I've been indirectly documenting it with the other devs since they were wondering why Bob's pull requests take 2-3 rounds of fixes. (They were starting to wonder if I was just being a hard ass about everything).

But holy shit I am never ever letting him script anything that has the potential to last beyond a few months, as it’s brilliant, but completely unmaintainable, impossible to debug, and generally can’t handle edge cases.

This sounds like Bob, but subtract a few years of experience... but finding things with a short lifespan is hard on a project that's all new code. The architecture/long term planning is crucial and that's where Bob struggles.

Point is, it’s your boss’s job to figure out where all his people fit into the grand scheme of things.

Agreed, but it's a small team of 4 devs (myself included) + 3 others. We're basically at the phase of trying to find him something or else we'll need to remove him. He's a good fit socially and is genuinely trying.

[-] WhatTheDuck@piefed.social 2 points 3 hours ago

Bob has great ideas / an eye for design, which has definitely helped. Unfortunately, he's here as a developer because he wanted to move away from the webdesign space so nudging him that direction isn't want he wants.

He was fully on our backend at the start and was getting help from another dev. He's now on the frontend because that dev needed a break and was hoping the familiarity/different language would help. The problems I see are language non-specific, like basic programming principals/architecture.

Bob would probably do fine on a team that's just maintaining a legacy codebase, but we're writing everything from scratch.

It's a weird work environment; HR/performance improvement plans aren't really a thing. We're basically at the step of asking if he should be removed but trying to find something for him. He's a good person and fits well socially.

[-] WhatTheDuck@piefed.social 7 points 4 hours ago

That's the struggle? He's in a weird space where he's capable of prototyping solutions/things, but are problematic long term.

We're a really small team, so it's hard to justify pushing him towards alternatives like writing tests/docs. I would love to get more automated testing though, maybe I'll revisit the topic.

[-] WhatTheDuck@piefed.social 3 points 4 hours ago

I've been trying to. The giant pull requests are his own self-inflicted pain. He'll massively expand the scope of the original ticket -- or does everything all at once rather than one piece at a time. It's something we talked about, again, on Thursday because his current ticket was supposed to be a quick 1-day thing that's now 2+ weeks. The additions are good ideas, but easily should have been their own tickets/done afterwards.

(I was on vacation when he was assigned the task; it's too late to course correct)

18

Apologies for being nonspecific, but I don't know how else to describe Bob's struggles. Bob has been on the team for over a year now, and his code is just... not okay.

To his credit, he can make something that works... but that's not enough. His code belongs on programming horror. He's not supposed to be my junior; I'm just the repository's lead. I spend half my week helping him. Reviewing his pull requests takes hours because it's always a rats nest that needs significant refactoring/simplification. I'd love to say "do better" - but this is his best.

Most recently, Bob crashed his dev environment with a getter. (A mix of nested parsing logic with Angular's change detection = CPU crashed). It'd be impressive if it wasn't so irritating since I've already had a conversation with him about proper use of getters/setters. I even demonstrated how spammy the calls can be with a console.log statement for emphasis.

I could go on, but this is enough of a rant. I don't really know how to handle him going forward; I spend so much time helping and teaching him but he retains none of it.

Is there any hope for him? Any learning material? Advice on balancing my own sanity and workload?

[-] WhatTheDuck@piefed.social 6 points 2 weeks ago

It has been forever, yet brain still reads this in his voice so perfectly.

[-] WhatTheDuck@piefed.social 16 points 2 weeks ago

I know you mean the best, but an iPhone isn't any better privacy-wise than an Android is. Regardless of their public stance, these giant monoliths have proven time and time again there's no respect for an individual's privacy. If they get caught lying/breaking the law, the fine is merely the cost of doing business.

It would be better to focus on universal ways someone could keep themselves safe. Drop WhatsApp/SMS for Signal, drop Chromium based browsers, use uBlock, a VPN, etc. Arguing over phones is just infighting and not worth the energy.

[-] WhatTheDuck@piefed.social 7 points 1 month ago

Ahh! I thought it was for ventilating the hypothetical braincell his dome could hold. Silly me!

That's exactly the energy he has here. The brushing and snuggling must be endless - he deserves no less!

252
Boots wanted his paw held (media.piefed.social)
submitted 1 month ago* (last edited 1 month ago) by WhatTheDuck@piefed.social to c/cat@lemmy.world

And yes, he does purr with his mouth open.

view more: next ›

WhatTheDuck

joined 1 month ago