Joined devRant on 10/14/2020
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
Me reviewing PRs lately:
"Should I fight it now, or should I let the abscess grow?"
But in my distress/demotivation it’s usually: peace now, pain later2
I had previously ranted about being assigned to a very messy project. I spent 3-4 months alone adding features and CLEANING things up.
Recently, there had been talks about a new major development phase on this project. But things lingered and the day before I’m to go on vacation, I get the news that this new phase starts in 2 days. Since I’m going to be on break they’re putting other guys on the project who don’t know anything about it.
Fast forward two weeks later.
I’m back from vacation.
I find out one of the guys has strong opinions about doing things certains ways… but unfortunately they are "ways" of unnecessary complexity, abstraction and verbosity.
After just a couple of weeks I’m already lost in the complexity of his code, which supports features of VERY LOW complexity. Fuck, has he ever heard of KISS? Has anybody heard of it where I work?
Now I have to spend my mental energy trying to make sense of this pile of crap rather than actually spending it getting things done.1
[Half question / half rant]
Would you rather work with a laid-back, humorous colleague who produces shit code and won’t understand advice for improvement?
Or would you rather work with someone who’s more serious, even slightly boring, but who takes quality seriously and is open to advice?
Yes I’ve worked with both types. Hands down I prefer working with the latter. With the first dude I’ll have good conversations and a good laugh at his puns and jokes. But at the end of the day I’m pulling my hair trying to make sense of his code and spending a shitload of time reviewing his PRs just to make sure he’s not fucking things up even more.4
Product owner (who is also the application administrator): please build feature to allow administrators to create automatic alerts to be sent to application users
Feature gets built, tested and deployed to production
Two months later:
PO: I've noticed in our monitoring tool that there haven't been any alerts sent out to users. What's going on??
Me: well have you created any automatic alerts?
PO: umm, no. How do we do that?
Me (inside): 🤦2
Improvement request: if search doesn’t return anything the search text is erased. It’d be nice if it didn’t so we can amend our search more easily.
Devs who use the array map method for purposes other than generating a new array, and who use an empty return statement to satisfy the linter, should receive a slap in the face. A gentle one, but a slap nonetheless4
Today was a bad dev day working on a shitty React project. Not that React in itself is bad, but it can be hell to work with when the code is a big pile a crap full of anti pattern code. I spent the day refactoring to try to fix a bug, but to no avail. It would take days if not weeks to put some order in this mess and to prevent such bugs.6
Ha ha ha ha. Fucking morons!
You brag about being a highly skilled company.
You tell me I don’t have enough experience despite three years of uninterrupted activity where I currently work
You’re willing to give me a chance (I just don’t know how to express my gratitude)
BUT among your super talented team members you can’t find anybody capable of conducting a technical interview?? And you’ve been looking for over a month for someone who could do it?
Thanks for wasting my time with three useless HR interviews you worthless DIPSHITS!2
I feel like some developers focus too much on concepts like clean code, software craftsmanship, TDD and so forth, to a point where they almost forget end user needs (ease of use, intuitive experiences, general UX principles).
Don’t get me wrong. I do my best to stick to a decent standard of quality and maintainability. However my solutions are adapted to the specific needs that are being addressed rather than the other way around.
I’ve heard some devs say things to the effect of ”well I know that’s not most intuitive behavior for the user but it’s the cleaner way to do it, so the user will just have to figure it out“. So in essence they’re just coding for their own pleasure rather than addressing user needs4
I’m sooo excited when any new frontend JS framework is available. Angular, React, more recently Vue, Svelte. Bring ‘em on. I wanna try them all.
As long as the tools at hand allow me to get the job done, keep clients and end users happy, I don’t give a fuck.
This meme is actually the epitome of what I hate with a lot of web developers I’ve encountered2
FaceBook, over the years you’ve proven that you can’t be trusted and you still have the nerve to ask for this type of personal data?6
Client project manager calls me up one day
PM: hey can you make some precise estimates on some items for a project you’re not working on? It should be easy. It’s very similar to the project you ARE working on and it’s only a handful of user stories, mostly front end stuff. We´ll need this to be done by tomorrow night.
Me: um, I guess if it’s just a few simple items. ok
PM: great! I’ll let you know when you get access to the backlog.
Me: sounds good
Link to project is sent to me. Backlog contains over 20 user stories, most of which are backend related. And it doesn’t have much to do with my current project.
I contact PM: this isn’t exactly what you announced when I had you on the phone. If you want precise estimates with a minimum of design, this could take up to a week. I could however proceed to some ballpark estimates (poker planning) for starters if you need this quickly for your roadmap.
PM: no I need PRECISE estimates down to the hour for each item.
Me: ok then, it’ll take up to a week.
PM: 🤬🤬🤬. You told me it could be done in a day. I’m coming to realize your word can’t really be trusted.
So the other day I randomly checked out a few job postings on some recruiting agency’s website. Didn’t even sign up or anything.
The very next day I get a call from them. The person on the phone tells me they noticed I had visited their website and was wondering if I was interested in applying to any of the offers. Even as a developer I was totally taken aback as to how they managed to track me down based on a single visit.
I believe I ended up on their website by clicking on a link on LinkedIn. I’m assuming it’s via LinkedIn that the managed to get my info (phone etc.). All in all I’m not extremely surprised. But to me it’s downright creepy and it makes me feel like I’m being stalked. Also it makes recruiters look totally desperate and I’m not sure I would want to entrust them with the responsibility of handling my career4
In my three years experience so far I can honestly say that 100% of the developers I've worked with are narrow sighted with regards to how they develop.
As in, they lack the capacity to anticipate multiple scenarios.
They code with one unique scenario in mind and their work ends up not passing tests or generates bugs in production.
Not to say I'm the best at foreseeing every possible scenario, but I at least TRY to anticipate and test my code as much as possible to identify problems and edge cases.
I usually take much more time to complete tasks than my colleagues, but my work usually passes tests and comes back bug free. Whereas my colleagues get applauded for completing tasks quickly but end up spending lots of time fixing up after themselves when tests fail or bugs appear.
Probably more time wasted than if they had done the job correctly from the start. Yet they're considered to be effecient devs because they work "fast".
Non tech hobby of mine: bird watching (you may have guessed based on my username). Although it’s a non tech hobby, there are so many great apps to help identify birds and learn about them. EBird, birdnet, Merlin, picture bird etc. I also have a few books about bird watching.
Crazy how many different kinds of birds you can see when you really start paying attention.5
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
Thursday afternoon. Client gives us the go to deploy the latest release to production.
Friday late afternoon; my colleague - "wait, did we ever deploy"? Me - "uh, nope".
"Alright have a good weekend"
Client: please be sure to let us know with enough notice if you plan on taking any time off so we can anticipate how to operate during your absence.
Me to client 4 months before vacation: "I’m going to be on vacation in July for such amount of time".
Client: OK thanks
Client 3 months before vacation: are you taking any time off this summer?
Me: yeah I’m taking such amount of time in July.
Client 2 months before vacation: are you taking any time off this summer.
Me: yeah I’m taking such amount of time in July.
Client a month before vacation: wait you’re taking time off this summer?
Me: yeah, in July.
Client: oh, we need to start figuring out how to manage your absence.
…client has enough time to figure things out.
Client two weeks ago: we’re switching you to a another project where you’ll be replacing someone who’s leaving; and you’ll be developing alone. You’ll be working closely with our software architect. He’ll be the one who can answer all your questions.
Me totally lost on new project as it’s barely documented, sql tables are a mess with barely any relations between them and data structures are totally inconsistent. Supposed to be getting info from partner APIs but I can’t test them and don’t know exactly what data to expect. Only the software architect has the necessary knowledge.
Client a week ago: hey don’t hesitate to reach out to us if you have any questions. We can’t afford to fall behind from schedule.
Me: oh don’t worry, I’m already flooding your guy with questions.
Me last Monday to client: hey do you know what’s up with your architect? I’ve been waiting for him to answer some important questions and it’s going to be hard to move forward without him getting back to me.
Client: you’re telling us you’re not going to be able to move forward efficiently until our architect gets back from vacation in two weeks?
Me: wait, he’s on vacation?
(on the inside: when the fuck were you guys planning on telling me he would be gone???)4
Can PMs still reasonably require web apps to be compatible with Internet Explorer? Does the "you gotta to tailor to everyone’s needs" argument still stand nowadays? I ask this because I’ve been working on a client project for about two years now and last time they asked for IE compatibility was about a year ago. I’m preparing for the next time it absolutely stops functioning with IE to debunk their desire to remain stuck in the year 2003.
I know Microsoft simply isn’t supporting it anymore and are discouraging anyone from using it. I feel like it should be enough of an argument. However, often times enough isn’t enough. Anybody have any arguments or examples of why it’s a terrible idea to stick with it?12
Lately with our client, everything has become very "urgent" and top priority. So much so that I’m asked to drop a top priority issue to tackle a new top priority issue, and then asked to drop that one too to take on another new “even more“ top priority task. In the end they’ll all have to be dealt with but dang I’m losing all sense of continuity, I’m losing my efficiency as my flow keeps on being broken by something new I have to jump to and in the end I’m kinda losing my sanity. Fuck this!1
I’m an app developer and my company wants to take away admin rights on everybody’s PCs (Windows). I won’t even have the right to adjust my computer’s clock time. I’ve been working there for over a year and a half. There haven’t been any issues whatsoever, and now this. To be frank I’m a bit pissed about it. Nothing is on premise, the projects I’m working on are apps hosted with Azure / gitlab.
I’d be curious to hear about your experiences related to this topic. Also if you have any opinons against or for such measures, if be happy to hear.17
A little over a year into my job at my current company back in January, I have a yearly meeting with my manager to discuss the progress I’ve made and to talk about what’s next. This is the meeting where we are supposed to discuss a potential pay raise but it’s the last topic of a predefined agenda.
So we spend a couple hours talking about how work has been for me. I started there as a junior developer with very little experience in the field but was quickly able to jump into a project with a fairly large codebase to help out the only other developer working on the project. Before long they’re so happy with me that they actually put me in charge of the application, which means my responsibilities evolve toward a whole lot more communication with the client and everything else that comes along with being in charge, including a lot of stress. I also salvaged another application initially developed by another company but that was so bugged it should’ve just been sent to the pits and rewritten from scratch. I was also asked to develop a couple POCs that were satisfactorily delivered.
Anyway, after almost two hours of going over my accomplishments and getting praises from my manager, we finally get to the part where we’re supposed to discuss a pay raise. He immediately cuts me off by saying the subject is not on the table due to the current crisis and our company struggling to make ends meet. I tell him I understand how hard it must be for them but also explain that I know for a fact other companies in the field are still making financial efforts to reward employees they’re happy with. He responds by saying that he’s aware of that, but he also “knows” that those same companies are laying off people that don’t deserve to be laid off despite the fact that they’re receiving government aid to stay afloat.
In the weeks following that meeting, I find out our company is doing the exact same thing my manager was condemning (laying off good people, taking massive advantage of government aid) and all the while not giving anybody a raise.
In any case, I really felt like that meeting was huge waste of time. What’s the point of going over everything I’ve done, congratulating me for my great work and even promising to give me even more responsibility if you don’t want to reward me for any of it? Do you honestly think I’m working hard so I can get a pat on the back or brownie points from you? I’ve got a family to take care of and I am trying to make their lives a little better each day by putting in hard work. But if hard work and climbing the latter of responsibility does not help me achieve that, what’s the point??1
If I could, I would ask the genie to give me the ability to completely disconnect from programming when my work hours are over.4
HR people on LinkedIn. What the fuck? Do you seriously believe you can attract qualified developers by telling them you’re looking for ninjas, jedis or life savers? I for one am still fairly new to the job so I don’t consider myself to be by any means a coding wizard, and I don’t think any strong senior developer is gonna be seduced by your catchy terminology (I may be wrong about that). Come on, talk to us like any recruiter would in any other line of business. No need to replace the words "qualified" or "experienced" with your stupid magic words, unless you want to sound like you’re desperate7
Fuck you edge cases! This task was supposed to be a breeze and thanks to you it’s turning into a nightmare 🤯3
Being lazy sometimes and writing type definitions after I’m done developing something rather than before (hence wasting time as doing that work is meant to help with the development process in the first place...)
I was a bootcamper. I’m on my first job now (I’m still currently at the same place after a year and a half). Doing web development (all JS/TS) with node, react and angular. I started it out working with another guy and now I’m alone. I’ve made more progress being alone since I’ve had to take on stuff my colleague was doing. But with being alone comes more pressure as it’s all on me and when shit hits the fan I don’t really have anybody I can fall back on. Also I feel like I’m missing out on team dynamics and learning from other people I could be working with. In any case I’m learning a lot, I’m meeting the deadlines and getting the job done. It’s a good first experience.2
There are as many "good practices" as there are developers. Everyone holds the absolute truth. (At least it’s the feeling I get, and it drives me crazy sometimes)1