Joined devRant on 11/14/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
Curious, does anyone else that’s been in the tech/IT field for more than 5 years feel like we’re just solving the same problem over and over again, albeit with different tools as the years go by? Or am I just too grumpy to stay in this field after trudging it out for 20+ years?2
Had a meeting with my boss earlier. Got yelled at for:
a) Working on a high-priority, externally-committed ticket (digit separators) that i was 85% done with on the Friday afternoon before my vacation instead of jumping to a lower-priority screwdriver ticket that just came in. Even though my boss agreed with me that what I did was exactly what I should have done, it's still bad because I was apparently rude to product by not doing as they asked?
b) Taking too long on that digit separator ticket that amounts to following a gigantic mess of convoluted spaghetti and making a few small changes, and making sure it doesn't break the world because it's all so fucking convoluted and fragile as hell. Let's not even mention my 4-10 hours of mandatory useless meetings every week.
c) Missing something that wasn't even listed in that same ticket -- somehow my fault? -- so I very obviously didn't test my work. Even though specs all passed and QA also tested and signed off on it as working and complete. Clearly half-assed and untested. Product keeps promising/planning UATs and then skipping them, and then has the audacity to complain about it.
d) Not recovering fast enough from burnout and daily mental breakdowns. I can still barely get out of bed and you want me to be super productive? Got it. Guess what? I'm being amazingly productive for my mental health. But my boss, Mr. Happy-go-lucky, thinks depression is dropping your icecream cone on your clean kitchen table, and this three-ton pile of spaghetti is "maybe a little messy, I guess."
So I need to somehow "regain the confidence" of both him and product because I'm taking awhile on difficult tickets (surprise), while having these ridiculous breakdowns (surprise), and because I don't fix things that aren't even listed in the fucking tickets (fucking surprise) -- and worse, that the lack of information is somehow entirely. my. fault. (surprise fucking surprise)
GOD I HATE THESE PEOPLE.15
YELLED AT FOR 45 FUCKING MINUTES OVER OTHER PEOPLE’S FUCKUPS
IF YOU PIECES OF SHIT WANT ME TO DO SOMETHING, FUCKING SAY IT. WRITE IT THE FUCK DOWN IN THE FUCKING TICKET.
AND IF YOU WANT A FUCKING DEMO, SCHEDULE THE FUCKING THING, AND STOP FUCKING CANCELING THEM. DON’T BLAME ME WHEN IT’S YOUR FUCKING FINGER ON THE FUCKING CANCEL BUTTON EVERY. FUCKING. WEEK.
AND SERIOUSLY, DON’T FUCKING EXPECT ME TO DROP MY LAST FUCKING TICKET THE AFTERNOON BEFORE VACATION FOR SOME LOW-PRIOIRTY CRAP BECAUSE SUDDENLY IT’S ALL THE RAGE INSIDE YOUR TINY DUMBASS HEAD. BUT OH BOO FUCKING HOO, @ROOT DIDN’T DO WHAT I ASKED WHEN I WAS BEING A FUCKING MORON! GO FUCK YOURSELF YOU FUCKING STUCK-UP IDIOT
AND FUCK BOZO THE CLOWN BOSS FOR BLAMING ME FOR THE FUCKING IDIOT’S BRUISED FUCKING EGO
FUCK THE LOT OF YOU39
WARNING: Cringe stuff ahead
And now this happens
A dude who posts spams on LinkedIn and shits on people publicly, made yet another garbage post (which was copied too).
Ref. picture attached in the post.
That went viral on Reddit and I made a comment that I know this guy, have spoken to him, and he made me go bonkers.
Now, he runs a community on Slack that I am part of. I open Slack today and see a message from him where is being sarcastic on how hateful I was.
Ref. picture in comments.
What kind of hypocrite someone could be when they shit on others but when called out, get hurt.
No one says anything to my dev friends.15
Figured out the root cause of slow code by using a profiler in an afternoon (more like an hour but needed to confirm/investigate)...
Team spent over a week trying to figure it out using logging and debugging...
Even after I told them to use a profiler...
Guess now I've justified my position of being the highest paid dev on the team.
I just know how to use other tools besides a hammer.1
Our company maneuvered themselves into a classic technical debt situation with a project of a second team of devs.
They then left, signing a maintenance contract and now barely work on the project for exorbitant amounts of money.
Of course management got the idea to hand off the project to the first team, i.e. our team, even though we are not experts in that field and not familiar with the tech stack.
So after some time they have asked for estimates on when we think we are able to implement new features for the project and whom we need to hire to do so. They estimates returned are in the magnitude of years, even with specialists and reality is currently hitting management hard.
Code is undocumented, there are several databases, several frontends and (sometimes) interfaces between these which are all heavily woven into one another. A build is impossible, because only the previous devs had a working setup on their machines, as over time packages were not updated and they just added local changes to keep going. A lot of shit does not conform to any practices, it's just, "ohh yeah, you have to go into that file and delete that line and then in that other file change that hardcoded credential". A core platform is end of life and can be broken completely by one of the many frameworks it uses. In short, all knowledge is stowed away in the head of those devs and the codebase is a technical-debt-ridden pile of garbage.
Frankly I am not even sure whom I am more mad at. Management has fucked up hard. They let people go until "they reached a critical mass" of crucial employees. Only they were at critical mass when they started making the jobs for team 2 unappealing and did not realize that - because how could they, they are not qualified to judge who is crucial.
However the dev team behaved also like shitbags. They managed the whole project for years now and they a) actively excluded other devs from their project even though it was required by management, b) left the codebase in a catastrophic state and mentioned, "well we were always stuffed with work, there was no time for maintenance and documentation".
Hey assholes. You were the managers on that project. Upper management has no qualification to understand technical debt. They kept asking for features and you kept saying yes and hastily slapped them into the codebase, instead of giving proper time estimates which account for code quality, tests, reviews and documentation.
In the end team #2 was treated badly, so I kinda get their side. But up until the management change, which is relatively recent, they had a fantastic management who absolutely had let them take the time to account for quality when delivering features - and yet the code base looks like a river of diarrhea.
Frankly, fuck those guys.
Our management and our PM remain great and the team is amazing. A couple of days a week we are now looking at this horrible mess of a codebase and try to decide of whom to hire in order to help make it any less broken. At least it seems management accepted this reality, because they now have hired personnel qualified to understand technical details and because we did a technical analysis to provide those details.
Let's see how this whole thing goes.1
I got a resume where instead of attaching his resume, the poor guy accidentally attached a letter from his mom telling him to get a job and stop taking money from his grandfather. He didn’t get an interview either. I still wonder if he ever stopped mooching off his grandpa.5
Dunning-Kruger effect is strong with me.
Thankfully, one of the most important skills that I learned is active listening. I am less vocal about my silly thoughts and shitty opinions these days.
I don't feel dumb. Instead, I realise that I AM dumb.
The people in my new org are exceptionally smart and talented. Each everyone is a hand picked gem. This isn't a coincidence. Rather it's evident that they hire folks very carefully.
In my previous org, I used to be the one driving everything. Like the smartest guy in the room.
But here, I am just quiet in every meeting and I enjoy working 12 hours a day. I am the dumbest guy in the room surrounded by people who are brilliant and humble.
I truly feel fortunate and grateful to be part of such an amazing org and wonderful team. One of the best decisions I made in my career and life.8
I had a job that was one big meeting for 6 months. I kid you not. We had our stand up, had another meeting that extended the stand up to discuss issues highlighted in the stand up, then we would have a scrum catch up type meeting then after that work until about 12 so an hour ish? Then a call after lunch to catch up about the work we’d done and make sure everyone was ok, then probably a backlog meeting, then likely a company wide meeting and then at about 4? Probably a meeting. I don’t know by this point I’d lost the will to live. One massive joke of a company I swear5
Timezones. So, general rules are:
1. If you don't store timezone, always use and assume UTC. Databases, backends, whatever you use, all time must be kept be in UTC.
2. If you store timezones, ensure you store them everywhere and don't drop them anywhere.
3. It's always better to ignore backend server time in favor of database's `now().` Having a single source of truth makes time consistent (if it's the same database, obviously). If you combine backend time and database time, you likely get a violation of causality.
I've just spent a couple of hours investigating "weird random one-hour time drifts on updates." Guys violated all three rules above:
- they didn't store the timezone;
- their servers had inconsistent timezones. Java was in +XX., while the server itself in UTC. On one host, they forgot to put JVM in the same timezone;
- they dropped the timezone because they thought it was the same everywhere, so there was no point in serializing it.13
There is a russian cartoon called Fixiks (“Фиксики”, tiny fixers) which is about tiny creatures that live inside tech and fix it when it breaks without the owner knowing. This is a fun, family-friendly cartoon rated 3+ filled with approachable explanations of how does common tech stuff around us work: TVs, washing machines, etc.
However, there is one weird, super grim episode about one such creature who forgot to leave a TV he was living inside that is being thrown away and ending up on the scrapyard.
Having no choice but to follow his purpose, he becomes obsessive trying to fix an endless amount of broken tech there, with new broken stuff being delivered to that scrapyard every moment. After a while, he completely loses his sanity.
That episode displays what seems like a weird mix of schizophrenia and OCD. Having a psychological trauma he fails to recognize the rescue team of his own kind, attacking them. He loses his ability to talk, resorting to random screams of aggression.
This episode doesn’t really feature even a single explanation of how something works. It just is there somehow among the episodes of a casual, happy cartoon for children.
Needless to say, this is my favorite episode.12
Have to find a memory leak in a huge, legacy JS application that builds, renders and handles (most) of the basic logic for completing forms - that only works when compiled into a minified js and put in another application that builds into a phonegap based app.
Did I mention everything is bound to a G(lobal) namespace and the ViewModel/Controllers etc. all use JQuery and "this" references and .bind() everywhere?
Deadline of fix: end of today/early tomorrow.7
"years of experience" basically means nothing, both for people and organisations. You can work with someone who has 30 years experience who knows nothing, and someone with 1-2 years who's practically an expert.
Joined a large multi-national fresh out of college, that had been around for +90 years. I expected them to know software development inside and out. Didn't expect to see so many failed projects for stupid reasons, so many over sights, so many .... morons, to be honest.
Worked for a startup company where most only had 1 or 2 years more experience than me and learned so much.
Worked for a small company where everyone had 1.5 - 2 times my experience, where I learned the meaning of "bewilderment".
Never feel small, or less valuable because of a number. Theres a good chance you are working with jackasses - practiseSafeHex7
Never understand why schools use C/C++ as an introductory programming langauges. Someone needs to tell those text editor people to fuck off.52
Manager: What the heck are you guys doing? Pair programming?! That would halve the team productivity!!!
Manager: Alright, Let's do a "quick" four hours meeting. Everyone in the company MUST attend!
One time I was assigned a task during a standup, it was a very easy one so I sent in a PR before the call was over.
Very huge mistake!
I got assigned 5 additional tasks on same call and few more before the meeting was over.
Ain't that a bitch?3
So I've opened myself to new software engineering positions and was recommended one where the first *benefit* stated:
- High engagement opportunities across our global client base
Am I the only one for whom this is a gigantic red flag and con rather than a benefit? wtf4
I've adopted this per task desktop management think. Anyone else do this?
I make a new desktop, for a given task, support ticket, or whatever. And when I'm 'done'. I keep everything (ticket, whatever I was working on in vs code, related emails) open but minimize it all except the pull request waiting to happen.
If I get some feedback on the PR / changes I just fly through my virtual desktops and there it is and I'm ready to work.
Then after the PR goes through ... I keep it open for a bit anyway to be sure nothing bad happens.
Then after a while I shut it all down assuming that it is working well.
All this so I don't have to fire everything up again for a rando request or dork up or whatever.2
Last day at my first job. Spent 7.3 years here.
Joined as a kid, leaving as a grown up man.
So many mixed feelings, and being an emotional person, if I were in office, I'd have surely cried.
Crazy experience. So many flashbacks all at once.8
So HR invited us to a mandatory hour long talk on why rest and relaxation is important for work efficiency.
On a Saturday.
You can’t make this shit up.15