AboutOh what a beautiful morning
Joined devRant on 9/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
"Did you not see (x important announcement) guys?! It was posted very clearly in the group teams channel and everyone was tagged!"
"No, we turned off notifications for that teams channel so didn't see it."
"What?! Why on earth would you turn notifications off, everything posted there is incredibly important! You must turn them back on now!"
- @everyone "HEY GUYS IT'S FRIDAY! Let's celebrate by everyone posting their favourite gif! Go go go!"
- @everyone "Choo choo guys it's the training train! How about we all share our best training experience for a bit of positivity?"
- @everyone "Hi I lost my laptop can anyone help find it"
Yeah... I wonder why...4
Almond: "This isn't right, we need to use <blah> instead"
Phil: <Marks as resolved>
Almond: "This still doesn't look to be resolved"
Phil: "IT IS RESOLVED IT WILL BE PUBLISHED AS PART OF MY NEXT COMMIT WHICH I WILL PUSH ON SCHEDULE LATER TODAY"
...yeah, that makes sense...4
Few things hack me off more than devs who can't be bothered to do a task properly, so just submit some random crap as a PR that looks half correct at some surface level in the vague hope it gets approved.
This team is about creating decent, tested, reliable, resilient backend infrastructure, and we need to trust devs in order to do that. If you want to pull the half-arsed, do as little as possible and get paid as much as possible approach then sod off to higher management somewhere.1
I find a decent place to work, with interesting problems to solve, decent fellow devs, and a decent salary.
If one of those lapses, I start thinking about moving. Life's too short to be working on boring stuff, working with idiots, or working for pittance.1
On the further subject of "new trends" that piss me off, being in an important meeting, asking someone an important question about work they haven't completed, and getting back:
"Oh sorry I was *multitasking* then, could you repeat that?"
No you cloth-eared dufus, you weren't multitasking, you were focusing on only one thing - and it wasn't the meeting that you called and the meeting you're meant to be listening to. Arse.
I know I'm out of the loop since I barely use these sites, but...
What is it with this seemingly ridiculous new trend on LinkedIn of replacing your meaningless job title with, somehow, an even more meaningless fake description of what you're doing? I'm seeing it all over.
Back in the day it'd just be "Python developer". Then the trend seemed to be a "Senior / lead / principle software engineer / Python specialist" (who cares if you're actually a senior eh, this is LinkedIn.) And if that wasn't ridiculous enough, now it's "Helping to transform the globe towards a greener future by implementing beautiful, robust code in Python 3.10" or similar. Who the hell wants to see this crap?!5
What is it with shipping websites sending you an email saying "hey, here's your tracking number and tracking URL!" and then that *very same link* saying "this tracking number doesn't exist, it can take a few days to show up sometimes, try again!" I'd understand if this was one knock-off weird company, but it seems to be *all of them*.
Seriously, how hard is it to just initialise a tracking number at the point you send that email so it at least shows a "parcel not yet picked up" or similar message? I know it doesn't make much material difference to tracking but it just reeks of bad UX and lazy / incompetent devs.7
Come on guys, use those JSON schemas properly. The number of times I see people going "err, few strings here, any other properties ok, no properties required, job done." Dahhh, that's pointless. Lock that bloody thing down as much as you possibly can.
I mean, the damn things can be used to fail fast whenever you misspell properties, miss required properties, format dates wrong - heck, even when you want to validate the set format of an array - and then libraries will throw back an error to your client (or logs if you're just on backend) and tell you *exactly what's wrong.* It's immensely powerful, and all you have to do is craft a decent schema to get it for free.
If I see one more person trying to validate their JSON manually in 500 lines of buggy code and throwing ambiguous error messages when it could have been trivially handled by a schema, I'm going to scream.18
I'm convinced that playing the piano has allowed me to type faster and commit keyboard shortcuts to muscle memory faster too. While coding isn't about typing quickly, there's a whole bunch of times when I've had an idea, and had to get that down into code as quickly as possible before I forget it - and that's when I really find fast keyboard work comes into its own.5
If you do `log.error("blah: " + e.getMessage())` rather than `log.error("blah: ", e)` then I will personally hunt you down, come to your house, and give you a bloody good talking to as to why stack traces are free, useful debugging tools, and you've just wasted my time by omitting it.4
Things story points are great for:
- Helping the team estimate their workload for a sprint
- Discussing the relative complexity of a task / story
Things I will slap you for, hard:
- Arguing that all the easy stories you plan to pick are actually infinite story points to make you look better
- Going "yeahhhh look at me I did 5 more story points this sprint than Bob, I'm amazinggggg"
- Trying to subtly change the story point assignment after you pick a task so you can do the above while doing sod all work
- "Hmm your team only did x story points this sprint, but team poopoo over there did x+10, what's going on?!"4
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.
Probably when I heard about (as it was then) this new fangled "internet" thing going around.
Suddenly computers weren't isolated individuals, or networks, but had the power to talk to *other* computers as well, and exchange information with each other, and then take decisions and action based on that information - even talking to other computers in turn!
The potential for what this could do blew my mind a bit as a kid - and I'm not sure anyone, myself included, even then understood anywhere close to what the full impact would be in a few decades time.1
Overall not much, but I think I would have moved on faster and harder. Definitely spent a bit too much time on a salary that was well below market rate just because I was overly-cautious about moving.
Sitting down all day doesn't do my back much good, so thought I'd look for an electric back massager. And there's plenty around - great! So I do the normal thing I do and take a look at the reviews...
...but the reviews are completely unhelpful, because about 5% are the usual complaining it turned up late, 5% are maybe talking about using it as a back massager, and the remaining 90% seem to be using it as a vibrator. Some are even just bloody ambiguous. I'm still not sure if "takes a bit of work to get it in the right spot, but it's very effective when it's there" is referring to someone with a sore back, or someone who's sexually frustrated. Who knows, maybe both.
First world problems eh.14
I'm genuinely shocked at the number of people I see on here bashing automated testing as a waste of time, simply because my entire career has taught me the opposite (and it's usually only non-technical managers I see who don't want to see "time wasted" writing tests.)
I'm also just as genuinely curious - what do you guys do instead? Just don't test and deal with production issues as they occur? Pass it off to a separate UAT / human-based testing department and let them sign it off? Assume that because you're using Haskell / some other discipline it'll work if it compiles?14
Guys, a "standup" is in the name. The idea is it's a meeting that's quick enough you don't need to sit down.
A 3 hour standup is, in no way shape or form a standup. It's just another pointless meeting that I'll keep on in the background while I pay zero attention.8
What is it with non-technical managers, especially those in sales, thinking that the solution to all problems is to "just pick up the phone and ring them?" This was *always* his opinion, whether the web service we were using wasn't accepting a valid request (apparently this was best "explained over the phone", I kid you not - have you ever tried speaking JSON?!) or whether we just needed a simple request going in to increase the API limit. I mean I could send an email or log a ticket in a few minutes tops, but you want me to spend 2 hours on hold to a support department only to be told "ah we don't take those requests over the phone, here's the URL, log a ticket."
Then it's always a case of "I don't understand why they're like that, all the guys I speak to are happy to help on the phone". Yeah, beacuse you're in sales & marketing you muppet. Blathering on to each other so you can stroke the egos of yourselves and your companies is kinda in the job description.
Grr. This was all a while ago, but I thought of it just now and the pure concept just annoyed me, so here it is. I really hope he's not doing the same thing to guys under him now (but let's be honest, he probably is.)7
Arguing with a guy in a PR that substring(0,1) (first index inclusive, last exclusive) is equal to charAt(0), whereas he seems to think it's charAt(1).
My patience is wearing thin, but I now feel the need to check I'm not the moron here - someone please confirm if I'm the idiot here or not?21
Callum, not everything is a "useless fad" just because you don't like it. I understand that you think AWS lambda functions are "just an expensive con for morons", but for our batch processing use case they really do make a lot of sense.
Running some numbers to show they cost 10x more for a completely unrelated always-on service with a completely different request pattern is either naive, stupid, or malicious, and considering you're meant to be a principle architect, I'm really not sure what's worse 🤦♂️2
Hacktoberfest time, and I usually try to contribute by creating some trivial issues and labelling them as such - ones that I could fix in 2 seconds, just to help those starting out get a pull request and get used to how the process works. Like, we're talking *really* trivial - remove superfluous import statements, that sort of thing. In most of these I list exactly what needs to be changed.
This guy picks, what's probably the *easiest* of these tasks going, and then comes back saying he's got some questions. Dude, seriously?! It's right there in the damn issue description.
Whatever, I decide to be nice and I say he's welcome to ask. Brace myself for answering some stupid crap, but fine, we were all new once.
THE GUY COMES BACK AND SAYS HE NEEDS A CALL. A call, seriously? What is this crap? I do you a favour by letting you create a trivial PR, and you want me to literally burn my time & jump on a call to take you through step by step what to do?! Pff, and people wonder why I'm grumpy most of the time.11
Today's task - trying to convince our BA that we don't need to create a task on the board to tell us to create a set of other tasks on the board 🤦♂️1
Bloody superglue. Every time I think I'm remotely skilled enouh to make a "quick repair" using the stuff, it always goes beyond horribly wrong and ends up with blobs of superglue all over the desk, one hand stuck to the thing I'm meant to be repairing, and the other stuck to some random nearby object. Dahh. Seems so simple.
I'm sure there's a dev analogy there with your least favourite language too.6
Once had a manager who would refuse to review anything on the basis he "didn't have enough time". Not just code reviews, but also customer comms, support messages, documentation etc. - anything that it's good to get more than 1 set of eyes on. This was a small startup so me working pretty much solo - it wasn't like there was anyone else able to review anything like this.
Fair enough, you might say. He trusts me. Just put it out there.
...but then *as soon as* it was published / sent / committed / whatever, he'd then magically find 5 minutes to glance through it and point out how rubbish / unhelpful / ridiculous the work was, and how it should have never gone out in the first place, and why didn't I read through it before sending as I'd clearly realise how stupid this was.
After a few rounds of this I actually flipped out on him in the office, called him out on his BS and told him to think for 2 seconds about how ridiculous this situation was. In fairness to the guy he did back down, take note and it didn't happen again, but damn, those times were some of the most frustrating of my career to date.
If I interview one more guy who thinks dependency injection is wholly "those spring annotations" and nothing else, I think I might scream.4
What is it with devs who try to bloody "cost optimise" everything to within an inch of its life when there's no reason to do so?! This ain't your personal pocket money project here. This is a real commercial app with real consequences.
Seriously, saving £100 a month might seem like a lot to you, but this is a multi million pound project we're talking about. That's bloody nothing, and no-one will care. If a Fargate spot instance restarts at the wrong time and causes downtime though, or if we need logs going back a week, and don't have them because the log retention period is a few days, then everyone will be royally pissed. All because you thought "it should be ok", or it "seemed like the right thing to do". Sod off.4
Next major version of spring will require Java 17.
Bloody finally. Hope this gives corporations the kick up the behind they need to move beyond 8.7
How is there no open, accepted, widely used standard to store & tag things like old family photo albums, diaries, books, etc.? Surely I can't be the only one who wants to digitise all this stuff to preserve it many years from now in case the drunk Uncle pisses on it, or Grandma's dodgy electrics burn the house down and it's all lost permanently. Or perhaps I am; it does seem that most other people doing genealogy work have the technical competence of a lemon.
Like, I get it, there's *some* online solutions for this stuff (not many and they tend to cost a fortune), but if I want to store it locally or in a private git repo or whatever... well, no-one seems to do it. I want to be able to interlink individual photos with their contextual pages in albums, store metadata about them, store audio recordings of older relatives with transcripts linked, etc. - and it just doesn't seem to be a done thing.
Ah well. Perhaps I'll do it all anyway as some kind of side project, then all being well my great great grandchildren will be immensely thankful if family history stuff ever becomes popular again.18
Somehow being able to make perfect sense out of the meaningless and vague requirements pushed down from upper management.