AboutSoulless grumpy old man. Once a happy graphic designer asked to do a bit of frontend html and now I'm the bloody lead dev making Java apps for mega corps.
SkillsJava, JS, CSS, HTML, MySQL etc.
Joined devRant on 8/12/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Cunts I want to punch in the face: (in order of priority, grouped by similarity.)
1. Anyone who uses the words 'doggo' or 'pupper'.
2. Rapists, masogynists, Scientologists.
3. Anyone with news about their latest Linux distro.
4. Kanye West, Fred West, John West.
5. Trump, Maybot, Bojo.
6. Friends of Trump, Maybot, Bojo.
7. Kevin Bacon (since the EE ads)
8. That child on the bus.
9. The parents of that child on the bus.
10. Anybody who disagrees with any item on this list.17
SO. FUCKING. TIRED. Deadline looming. Burnt out. To everyone else just starting their daily grind: Have a good day.1
Pair programming/debugging with the new dev is like pulling teeth. OMG he is slow. He wants to write down Every. Single. Thing. Point. By. Tedious. Point. I wouldn't usually mind (after all, everybody has their own preferred method of learning) but I've currently got a to-do list longer than Kanye West's List of Rediculous Lyrics to Work Into My Next Song.
"Want to edit that file? You need to clone [this], then install [x] followed by [y] and [z]. Then telnet into the 80's and curl this page directly from Ceefax. Install the binaries and compile the watchers. Hit ‘enableficate’ and wait whilst it builds the VM mirror. Remote desktop into the vm from a Windows2000 machine and install a UI. Search for [some file]. This is cross-compiled into an reverse ascii hex hashinator so you’ll need to decompile it using fudgeunpacker. Edit the file as required then reverse the entire process to synchronise it with the repo. You can then upload the file to the server (remember that [thisdomain] is on [some obscure remote server] so you’ll have to email them the file in [x localle] office hours)”4
Fuck StackOverflow users who edit their question to include your answer.
Q: How to do X?
A: You need to init the Flufloxinator.
Q: How to do X? I've tried with a Flufloxinator but couldn't get it to work.
A: You need to init the Flufloxinator. Here's a fully working demo (pulled directly from the docs you clearly didn't read.)
Q: How to do X? Nevermind, I just had to init the Flufloxinator.10
Just want to recommend the DevRant stress ball. I wasn't quite sure how to use it (it doesn't come with instructions) but since stuffing mine down the PM's throat my stress level has reduced dramatically.5
The most pissed off I've been at work?
Client X came to us for a website.
We secretly outsourced the work.
Client X is coming for a visit in 10 mins...
MD to me: "I've told them your lead dev on this. They're not super-technical so if they ask you about the project just tell them it's going well."
Now I'm not a comfortable blagger, I don't have that kind of confidence, so to ask me to lie like this makes me feel really stressed and uncomfortable. Furthermore, I had literally no idea about any aspect of the work we were supposedly doing for this client. I can barely contain my panic but my colleagues help me piece together a basic understanding.
The MD returns: "They're here now. Can you quickly go and check that the toilets are clean."
WHAT THE FUCK!? The little prick. I'd knock him out if wasn't so meek and pathetic. I tell myself that I'm being helpful and nice but in truth I'm just his fucking doormat and he has zero respect for me.
I have no problem cleaning stuff (we all basically tidy up behind us) but this is something he could have done. Furthermore, who cares? None of us leave the loos with piss on the floor and shit smeared across the walls. They're never anything less than client-ready so to ask me to check means that he's already checked them himself and one of the loos is not quite shiny enough.
The reader may feel that this is no big deal (and in some ways you're right) but everything about this scenario was fucked up. The MD had embroiled the whole company in a lie and assumes we're all okay with that, then to add insult just nonchalantly orders me to clean the bogs. The cunt.
FWIW The client didn't ask to talk to me or use the toilet during their visit.9
Got me some free swag. Thanks @dfox & @trogus! Might I suggest:
500++ stress ball
1000++ mouse mat
4000++ sexual favours
8000++ replacement soul11
Literally vs figuratively... That hilarious anecdote where something went derp did not cause you to literally die. You fuckwit.1
Our approach is to get a loose feel for what the client wants, lift some visuals from Theme Forest then spend the next few weeks persuading the client to use our crappy server rather than their preferred AWS solution. Then once the project is behind schedule we break the work down into disparate tasks each of which gets a single line brief from the PM (such as 'create admin' or 'do css'). These then get assigned to different devs with no consideration of their skillset. The PM is available for 10 mins every day to answer queries, the rest of the time our devs are expected to work autonomously. Meanwhile we'll tell the client that we're back on schedule and arrange a demo for an impossibly short deadline. We have the mantra ”dont worry about it” which the PM uses to quash any dev's concerns up until the day before the deadline at which point we'll swap some devs on to unrelated work whilst others concentrate on getting "just the pages the client wants to see looking right" (we have a policy of making it look like it works before it actually does.) Following the demo we will announce all the missing features we had forgotten about from the initial undocumented agreement and set the project aside whilst we service another client.2
MD: The client doesn't care how sloppy your code is. They're not paying for the solution, they're paying for the result. If there's a quick and dirty option take it.3
PM: If the client says jump, hide. I'll let them know that there was a problem with the jump but it's all sorted now. Hopefully they won't ask again. I'll schedule the actual jump in for next week but if anyone asks in the meantime tell them it's done but is just undergoing final testing.
Init Mud. (A poem)
A Giant Ball of Mud.
Haphazard in structure.
A sprawling, enthralling, duct-taped warning,
Of things to come.
Tumbling down a well-worn path
Of untamed growth and aftermath.
Into Spaghetti-code Jungle.
Where quick and dirty wins the day
And warnings spoken hold no sway
Or fall on deaf ears in the undergrowth.
Bits stuck on.
Bytes taken out.
On top of patches,
On top of obsolescence.
Hacked at, uploaded
All elegance eroded.
Made and remade
Refined and redesigned
Suffocated by expedient repair after expedient repair
The original self no longer there
Replaced by something
Design resigned to undefined
An architectural mystery
Whose function can no longer be
Seen or gleaned
From obfuscated in-betweens
Made and remade
A squirming library of disused.
Pulled at, prodded, committed
Corners cut and parts omitted.
Bug ridden branches fused to a rotting core.
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?