17
Root
5y

Giant, month-and-a-half-long-ticket.
After learning six or so complicated areas of the system and updating them all to work with the new changes, make them all play nicely, etc. I finally got everything working. 95% spec coverage, though no ui tests because I haven't gotten selenium working. whatever, everything's done and works.

Second dev bases her ticket off of mine and continues working. Work elsewhere continues and there's an official release, so we both merge in master. I run tests, everything passes, and go back to working on other tickets.

She finishes her ticket.
We do end-to-end testing, and everything works perfectly. Time for a demo!

She merges in master again, and pushes her branch to two staging servers. (idk why two.)

Demo starts.
We connect to the staging servers, and... none of the UI changes exist; they aren't running the correct code!

So she runs it locally for a demo instead. Two features in my ticket no longer work. She throws me under the bus. She throws me under the bus again by criticising a rake task I scrapped because she wanted to do it. Then again because I didn't update my branch to master and push it before the demo, despite having no reason to. and despite the demo being of her branch.

Then she continues to show off and brag about how she's like the "legend" (senior dev) she envies. QAbuys it.

I'm having an emotion, and it's called anger.

Comments
  • 5
    I'm wondering if it's from a bad merge.

    I had finished a feature before and noticed it broke after a release. After investigating, I discovered that someone had deleted some of the code when merging in my branch.

    Good freaking job, release team.

    Looks like I need to start writing sanity specs in order to defend my code against other devs. 😡
  • 1
    @root

    *me takes a toilet brush*

    Where is the arse that needs polishing?
  • 1
    Maybe the problem is the way their using their git flow.

    I have a very simplified version of github flow that consists only of doing git pull --rebase often, and personally review every merge.
  • 1
    But yes, she's a bitch
  • 5
    Guess what.

    It was her fault.

    When she set up the branch on her machine, instead of setting things up properly, she restored a copy of the database for the latest release, and neglected to run ANY of the data setup tasks. So the agreements that my branch expected to be there didn't exist -- so they never appeared in the UI, created signatures, etc.

    I duplicated what she did on my machine, and just like in the demo, my features didn't function. After running the resource and legal tasks, however, everything worked exactly as expected.

    So I made a group chat with everyone from the demo and threw her under the bus.

    If that sounds a little extreme... there's a script that does all of that initial setup. It performs a db restore from the latest release branch, performs all of the new setup for the current branch: migrations, resource tasks, data fixes, etc. The script has been there for many years, and it's standard practice when switching between branches. Furthermore, people mention it basically every freaking day. yet somehow she doesn't even know about it?

    She's been there for 8 years, shows off whenever and however she can, happily puts everyone else down, and still doesn't know the bloody basics. Lit: "I didn't know to do it." what the fuck.

    Anger.
  • 2
    What I learned in this business is to trust nobody even yourself.
  • 0
    @vane Why not yourself?
  • 1
    @Root cause of bugs everywhere, some examples

    Third party library does A but under heavy workload start doing B

    Your code is doing A but when some infra switches database to cluster it starts failing.

    Your app A communicates with app B but some infra adds redirecting and your code doesn’t support it.
Add Comment