Skip Navigation
23 comments
  • I probably can't solve your issue entirely, but if it helps, one thing I note from your post is that most of your stress seems to come from YOU trying to be too hard on yourself. Did anyone call you stupid? Yes, you did. Did anyone say that you should just quit? Yes, you did. Stop being so mean to your coworker! Yes, even/especially if that person is you!:-D

    Second, to get accurate information, LISTEN to your teammates!

    I get a lot of, “Wow, that’s crazy,” or, “Yeah your job does seem to have a lot of unusual blockers.

    Especially those more senior than you!

    when I explain what I’m blocked by, every person has said, “Oh weird, this seems like a really confusing task.” Or, “Damn I’ve never seen anything like that.”

    (emphasis added)

    What they gave to you to do is on them, but how you handle it is on you. Don't stress yourself out too much.

    Third, yes you got called into a meeting with a senior dev. USE that to your advantage. If you were really were stupid, this is your time to get that crucial feedback - if accurate, then better to get out now before you get too deep and find it even more difficult to change careers. However, it seems to be the case that it is NOT accurate, and that information is INCREDIBLY HELPFUL, and you may want to treat that great feedback with the value that it has instead of dismissing it?

    Also, that senior dev can help you boost your skills. How many people get that opportunity? Free training, woot! Even/especially if it is not related merely to technical skills but skills on how to exist in a job environment.

    Fourth, you might also want to touch base with whoever created that ticket. They might even say "oh yeah that is still there? I totally forgot about that. Nowadays that would make zero sense, ever since we implemented that XYZ thing about a year and a half back. Just ignore it and go on to something else." YOU could be the one knocking those tickets out of the park, resolving each one simply as "Won't Do" citing "owner said so". Okay, I doubt they will all be so easy, but it's a thought.

    And you seemed like you needed an ego booster. Sorry, I don't know how to do that well, but the least I could do is spend some time on your issue, so that you know that you are not alone. I hope these musings help some too:-D.

  • Story points are bullshit and I just hope it's not the sole metric you're judged on, or at least your team don't see it that way. If you do, definitely try to steal a bunch of easy tickets to even out the playfield.

    How many story points can I complete? I don't know because that's a hard no for my team, but if we did, probably would not have many points either unless you assign like hundreds of points to my tickets. Some take me weeks and months to get through.

    Why? Because I get assigned all the incredibly cursed tickets, and those get assigned to me for a reason: they're my kind of specialty and I'm the senior on the team with the skills to tackle them. And my performance reviews still say I exceed expectations. I complete those in record time, comparatively.

    I deal with and fix things most people don't even dare to touch. It's a well known fact all the way to the CTO and other senior staff of adjacent teams. It's just, you can't break down tasks to half day tickets when all you know is there's a giant rabbit hole and you can't see how deep it is until you start digging into it. I'm the guy that can just pull out GDB and strace and debug the interpreter that runs the software. My colleagues write standard PHP/NodeJS meanwhile I go browse the PHP and V8 source code to get down deep into why things break, report and fix bugs upstream. NodeJS crashing on a SIGPIPE on a socket that's already closed? Yep, figured it out down to the exact series of syscalls that led there. Sometimes I have people from teams I never talked to reach out to me with their problems, because when you're real stuck, you go get Max's input on it.

    Ultimately, you should talk about that with your manager. Is your manager happy with your performance? Does your team seem frustrated with your performance? It's very possible you get the tougher ones because people know you can handle those. If you're struggling that badly and somehow you end up with the hard tickets, your manager is dropping the ball hard and not setting you up for success.

    • Also replying to that bit:

      and job search is impossible as a person with anxiety and possibly autism?

      Don't give up, job hunting is super fucked up right now with the market flooded with good engineers freshly laid off FAANG and other big companies.

      Autism sucks hard at times, but I don't think I would be where I am without. Use it to your advantage, your abstract computer knowledge can grow much further than most people can possibly care to get into.

  • If you're trying to pull your weight, and it sounds like you are, the problem is either with the tasks, the codebase, or the teammates:

    Potential problems with the tasks:

    • they're not researched sufficiently
      • is this doable?
      • should we we even be doing this?
      • have we actually thought about how hard this will be, or did someone say "well that should be trivial" a bunch?
    • there's not enough info on the tickets
      • inexperienced leads tend to just shit out tickets with zero info and underpoint them
    • they're not broken down into small enough pieces
      • are you working "implement X" tickets while everyone else is working a series of "implement X: step N" tickets?

    A ticket needs: clear repro documents (if necessary), screenshots, and clear steps to reproduce. It needs more than "Title: Add X to Y. Description: We need Y in X. Implement it." unless you're intimately familiar with the codebase. And even if you are, you still need a paper trail to back up what you're doing. If you're not closing tickets, be very chatty in the comments. Share where you are, problems you're running into, and who you're waiting on for help. If there's a consistent theme to the things you're fighting, keep a list of them and bring them to your manager. Be your own advocate and be very transparent about all the research you're doing because other people didn't.

    Potential problems with the codebase:

    • someone preemptively optimized it
    • it's not documented well
    • it's spidery bullshit code that someone has deep emotional attachment to

    Hey, it works. But it's not documented, someone decided to be clever instead of elegant, the local story sucks, or it's optimized to such a degree that you have to refactor just to add a simple option ("lol why would we ever need that data here? It's inefficient!)

    Potential problems with teammates:

    • they're not supporting you
    • they're grabbing easy tasks because you're the "code whisperer"
    • they didn't know what they were doing either so they're vague when you ask them questions

    Everyone pulls their weight. Everyone communicates in clear, declarative sentences and provides examples if necessary. "I don't know" is an acceptable answer. Evasiveness, vagueness, specialized jargon, or acronyms point to the dev being insecure about their knowledge in that area. Be very suspicious of the word "should": "that should work", "that shouldn't be hard", "you should be able to...."

    And, as an aside, I've seen this happen a lot. A new dev or contractor comes on, blows through tickets, gets good marks, and an existing dev or two get called out for not contributing with the same frequency. One of two things are happening here: the new devs are getting softballs, or they're creating a lot of subtle tech debt that someone else will have to fix because they don't have a full picture of the codebase. Eventually, those devs will be where everyone else is, but it's still frustrating.

    Hang in there.

23 comments