AboutSRE, Call Leader, ML Teaching assistance at Amazon. I have a real interest in things going wrong.
SkillsSQL, Diagnostics, Deep Dives, Coding Fast, Abstract thinking, Architecture, Programming in my head.
Joined devRant on 2/24/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
I put an Easter egg into a product, that if you enter the string "final countdown" into the stock code search field, it plays a YouTube vid of Europe's "The Final Countdown", in a hidden div. It's an in-joke for a few people in the company.
A well meaning maintainer with no sense of humour or judgement takes over and goes on the warpath against any hardcoded strings. The secret code gets moved into a config file.
A third developer changes the deployment script so that it clears any configs that aren't explicitly set in the deployment settings.
So the secret code is now "".
Literally every PC in the stock buying department is now blaring out "The Final Countdown" at top volume.
...Except none of them have speakers, so it remains this way for over a year and two more changes of maintainer.
I just noticed this afternoon and quietly re-hardcoded the string. The buying dept.'s PCs will silently sing no more.30
*Now that's what I call a Hacker*
MOTHER OF ALL AUTOMATIONS
This seems a long post. but you will definitely +1 the post after reading this.
xxx: OK, so, our build engineer has left for another company. The dude was literally living inside the terminal. You know, that type of a guy who loves Vim, creates diagrams in Dot and writes wiki-posts in Markdown... If something - anything - requires more than 90 seconds of his time, he writes a script to automate that.
xxx: So we're sitting here, looking through his, uhm, "legacy"
xxx: You're gonna love this
xxx: smack-my-bitch-up.sh - sends a text message "late at work" to his wife (apparently). Automatically picks reasons from an array of strings, randomly. Runs inside a cron-job. The job fires if there are active SSH-sessions on the server after 9pm with his login.
xxx: kumar-asshole.sh - scans the inbox for emails from "Kumar" (a DBA at our clients). Looks for keywords like "help", "trouble", "sorry" etc. If keywords are found - the script SSHes into the clients server and rolls back the staging database to the latest backup. Then sends a reply "no worries mate, be careful next time".
xxx: hangover.sh - another cron-job that is set to specific dates. Sends automated emails like "not feeling well/gonna work from home" etc. Adds a random "reason" from another predefined array of strings. Fires if there are no interactive sessions on the server at 8:45am.
xxx: (and the oscar goes to) fuckingcoffee.sh - this one waits exactly 17 seconds (!), then opens an SSH session to our coffee-machine (we had no frikin idea the coffee machine is on the network, runs linux and has SSHD up and running) and sends some weird gibberish to it. Looks binary. Turns out this thing starts brewing a mid-sized half-caf latte and waits another 24 (!) seconds before pouring it into a cup. The timing is exactly how long it takes to walk to the machine from the dudes desk.
xxx: holy sh*t I'm keeping those
The bash scripts weren't bogus, you can find his scripts on the this github URL:
I feel a bit bad when I reject most people after interviews - they'll do alright, just don't have the knowledge we're looking for.
Other people who fail interviews just piss me off.
If you're applying for a *senior* position, yet you tell me a race hazard is "what happens when concurrent applications are working efficiently", a GET request is "only ever used in a REST API", a POST request is "when you use TCP directly" and you can't write a single line of code in a new project because "in the real world we always just modify what's there already", then please sod right off. There comes a point when you clearly know bugger all, have extensively lied on your CV, and you're just trying to con your way into a position while hoping no-one notices.
Mon: Ticket A is now low priority, Ticket B is top priority
Tues: Ticket B is now low priority, Ticket C is top priority
Wed: Ticket C is now low priority, Ticket D is top priority
Thurs: Ticket D is now low priority, Ticket E is top priority
Manager (Fri): You haven’t completed a ticket all week! What gives??
Manager (Following Mon): Tickets A, B, C, D AND E ARE TOP PRIORITY!!!!!
Manager: How long until the current set of tickets is complete?
Dev: Based on storyboard points it’ll be 1.5 weeks from now
Manager: That’s unacceptable! Let me take a look at the board and see if I can remove some low priority tickets.
*Later that day*
Manager: Oooo I found a bunch of really exciting tickets in the backlog that I forgot about. I’ve added them to the board.
Dev: Did you remove any?
Manager: Huh? Oh right. No, I looked and it all needs to get done.
Dev: With these new tickets added to the board our new estimate is 4 weeks.
Manager: WHAT?!? BUT I SPENT ALL DAY LOOKING FOR EFFICIENCIES!!
My Razer laptop died due to a hard drive failure so i filed an RMA. They didn't have the replacement part in stock, so they're replacing the laptop all together. Mine is a 2019 model with a 2060, but the current equivalent model has a RTX 3070, so I'll get that instead. I'm not complaining 😏14
Product Manager: We’re assigning you to the Guest Checkout project.
I look at the Guest Checkout epic in JIRA and see it only includes frontend scope. Nothing about backend implementation.
I also find an older ticket about guest checkout. It was written by the former Product Manager. It explicitly says our admin switch for guest checkout no longer works because rebuilt checkout to use react. Why does no one bother to check the backlog??? I found this just by searching “guest checkout.”
Me: Um, our website doesn’t support guest checkout.
PM: What?! But the admin has a guest checkout option that can be turned on and off.
Me: Those admin options only apply if you’re still using the out-of-the-box solution for the e-commerce platform. Remember how we rebuilt checkout using React? We didn’t build it to support guest checkout. That admin switch doesn’t work anymore. We can ask a backend dev to confirm.
I check the code. The code that relates to the admin switch for guest checkout no longer exists. It’s a dead switch.
BE Dev: We made a lot of customizations since we purchased the e-commerce solution. So yeah, that guest checkout switch doesn’t work.
PM: [to me] …Our BE devs are busy with other projects. Can you do the backend for guest checkout?
Me: You realize I’m just a frontend dev with only some backend knowledge, right? I’m not even close to fullstack. And you want me to architect an entire guest checkout flow? That will work with our current checkout experience? And that is HIPPA compliant? On top of doing the frontend?6
A young guy I work with burst into tears today, I had no idea what happened so I tried to comfort him and ask what was up.
It appears his main client had gone nuts with him because they wanted him to make an internet toolbar (think Ask.com) and he politely informed them toolbars doesn't really exist anymore and it wouldn't work on things like modern browsers or mobile devices.
Being given a polite but honest opinion was obviously something the client wasn't used to and knowing the guy was a young and fairly inexperienced, they started throwing very personal insults and asking him exactly what he knows about things (a lot more than them).
So being the big, bold, handsome senior developer I am, I immediately phoned the client back and told them to either come speak to me face-to-face and apologise to him in person or we'd terminate there contract with immediate effect. They're coming down tomorrow...
So part my rant, part a rant on behalf of a young developer who did nothing wrong and was treated like shit, I think we've all been there.
We'll see how this goes! Who the hell wants a toolbar anyway?!360
A group of wolves is called a pack.
A group of crows is called a murder.
A group of developers is called a merge conflict.25