Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "no exaggeration"
-
toxic workplace; leaving
I haven't wanted to write this rant. I haven't even wanted to talk to anyone (save my gf, ofc). I've just been silently fuming.
I wrote a much longer rant going into far too much detail, but none of that is relevant, so I deleted it and wrote this shorter (believe it or not) version instead. And then added in more details because details.
------
On Tuesday, as every Tuesday, I had a conference call with the rest of the company. For various, mostly stupid reasons, the boss yelled at and insulted me for twenty minutes straight in front of everyone, telling me how i'm disorganized, forgetful, how can't manage my time, can't manage myself let alone others, how I don't have my priorities straight, etc. He told the sales team to get off the call, and then proceeded to yell and chew at me for another twenty minutes in front of the frontend contractor about basically the same things. The call was 53 minutes, and he spent 40 minutes of it telling me how terrible I've been. No exaggeration, no spin. The issues? I didn't respond to an email (it got lost in my ever-filling inbox), and I didn't push a very minor update last week (untested and straight to prod, ofc). (Side note: he's yelled at me for ~15 minutes before for being horribly disorganized and unable to keep up on Trello -- because I had a single card in the wrong column. One card, out of 60+ over two boards. Never mind that most have time estimates, project tags, details, linked to cards on his boards, columns for project/qa/released, labels for deferred, released to / rejected from qa, finished, in production, are ordered by priority, .... Yep. I'm totes disorganized.)
Anyway, I spent most of conference call writing "Go fuck yourself," "Choke on a cat and die asshole," "Shit code, low pay, and broken promises. what a prize position," etc. or flipping him off under the camera on our conference-turn-video-call (switched due to connection issues, because ofc video is more stable than audio-only in his mind).
I'm just.
so, so done.
I did nothing the rest of the day on Tuesday, and basically just played games on Wednesday. I did one small ticket -- a cert replacement since that was to expire the next day -- but the rest was just playing CrossCode. (fun game, fyi; totally recommend.)
Today? It's 3:30pm and I can't be bothered to do anything. I have an "urgent" project to finish by Monday, literally "to give [random third party sales guy] a small win". Total actual wording. I was to drop all other tasks (even the expiring cert lol) and give this guy his small win. fucking whatever. But the project deals with decent code -- it's a minor extension to the first project I did for the company (see my much earlier rants), back when I was actually applying myself and learning something (everything) new, enjoying myself, and architecting+writing my own code. So I might actually do the project, but It's been two days and I haven't even opened single file yet.
But yeah. This place is total and complete shit. Dealing with the asshole reminds me of dealing with my parents while growing up, and that's a subject I don't want to broach -- far too many toxic memories.
So, I'm quitting as soon as I find something new.
and with luck, this will be before assface hires my replacement-to-be, and who will hopefully quit as soon as s/he sees the abysmal codebase. With even more luck, the asshole king himself will get to watch his company die due to horrible mismanagement. (though ofc he'll never attribute it to himself. whatever.)
I just never want to see or think about him again.
(nor this fetid landfill of a codebase. bleh.)
With luck, this will be one of my last rants about this toxic waste dump and its king of the pile.
Fourty fucking minutes, what the fuck.34 -
Write a small js function using setInterval to fire a request every second ... then copy paste the code 450 times (literally, not an exaggeration) into a massive file to create a load test script.
This load test script also had no means to gather metrics or test response times or anything useful. It was literally a “did the server crash” test.9 -
Back when I was in school (about 15 years old) and I played games, I had a particularly favourite game that I would play. It was a lesser known strategy game made by a single hobbyist Dev.
I was already known in the community for making some mods for the game and chatbots.
What most people didn't know was that I had made a map hack and various other cheats that made it significantly easier to win by reverse engineering the game and modifying the x86 assembly in ollydbg.
One thing in particular I had been working on at the time was a game replay editor. I had reverse engineered the saved game (replay) format and was able to replay them, edit them and generate them.
During one particular match, a person in the community particularly annoyed me and I edited the saved game to change what his moves were and the words he spoke. It made him look a bit like an idiot but IMHO was only a slight exaggeration of the truth.
I posted the game replay on the forums and everyone was in hysterics about the crazy things he did and said in the replay.
As no one knew I had this capability they all believed the replay and even the guy in the replay couldn't believe it himself and didn't understand what happened. He just kept telling everyone it didn't happen and the 'truth is in the pudding'.
Although I originally intended to tell everyone what I did, I never did and whenever the guy entered in to a game everyone would laugh about it and say 'the truth was in the pudding'.
He was no longer annoying me and it sort of made me feel like a god at the time.
So that's my wk65.4 -
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
Following on from: https://devrant.com/rants/1345037/...
I sent a polite but very frank email to the manager telling him I don't agree and think its extremely unfair to overlook the breath and scale of work we have done in the past few months. Instead to criticise us for this.
He didn't reply, or really speak to us for a week. Then suddenly one day the developers were all in a meeting room and he butted in to talk.
He first of all said he wanted to let things settle before talking to us, which gave me high hopes as I expected him to then say something like we miss understood, or he didn't realise etc.
... but no ... the next words out of his mouth were "I'm not apologising for anything, and I don't want to be told to piss off in an email".
A) Piss off = completely untrue and a massive exaggeration.
B) Go fuck yourself with a cactus.
C) See point B.
In that meeting we discussed the massive amount of meetings and work we have to do which was described as "just the job".
We were told we all have to be in until 5pm, but that we also don't. We need to be in the office more, but its fine if we can't be. And we need to cut down on WFH, but its ok to WFH ... so yeah everything is crystal clear.
I haven't written any code in 3 - 4 weeks. I'm now dealing with GDPR shit, and our internal processes to handle it (despite having no legal background). Have to fill out 140+ question surveys about each of our projects, which are the most vaguest things i've ever seen.
"Are you processing large scale data" - The fuck is large scale, oh wait heres a definition. "Large scale is determine by volume or percentage of population size" - How in the name of christ is that a definition? Fucking lawyers and their bullshit.
The next round of applications for research funding is coming around soon and were being told to work on proposals (which are huge and a lot of effort). While being told we need to define and improve on our KPI's for the year. While trying to find time to ... you know ... do ... work?
I'm just so fucking bored and pissed off with this place. I have to do the work of 6 people, nothing is ever good enough, devs have to do very non-dev tasks with little to no support. Bosses are just annoyed about everything, everyones in a bad mood and everything sucks.
A friend put me forward for another senior role in another company. Thought this would be my saving grace. They have a strict interview process with white-boarding (which I hate) and will likely ask about algorithms etc which I suck at. I'm so burnt out from this place I just can't find the motivation to go study up or prepare properly.
I just wanna write code, why is there so much bullshit in life11 -
This is going to take a second to get dev related, please bear with me.
So, I'm from a pretty small (and poor) town. Like most small towns, not many give a damn about computer science/IT (that shows by the fact I'm the only CS major. And there's one IT major).
Now, my high school offers a few "career prep" classes. There's (no exaggeration) almost 5 or 6 classes for medical majors to prepare themselves; like 4 different agriculture based classes; 2 business major classes; and surprise surprise...not a damn Computer Science or IT class.
Yes, we have a computer class. But can you even call a "How to Use Microscoft Products" class an computer class? Finally by my senior year, I got pissed off by this.
I had/have relatives that have worked/are working in the school system, so it wasn't hard to get a meeting with the superintendent and the assistant superintendent to discuss my thoughts. They were both open to and even supported my ideas. But due to funding, it wasn't a feasible idea at the time. (Especially since not many care about CS or IT.)
This is where I get really really pissed off. Being that the town is small, the people with money/a name tend to control things. So, a former principal retired with the expectations to work in another county. However, this job fail through. But there was a "magical" opening for a job that didn't exist before this job fail through.
This pisses me off. We can create a job for someone and afford a full time salary for them, but we cant get an actual CS class. (And this isn't the first time a job was created for someone.)8 -
Parts of the code I am working on date back to the early nineties, written in ancient C++ with lots of special cases for ancient compilers by people with 0-2 years of coding experience.
My favourite coding moment is every time when after refactoring a part of the code, it has about 1000 lines less (no exaggeration), is more reliable, AND can do a lot more than before.6 -
So we had this legacy Objective-C codebase for a mobile app that was actually pretty good: I'd inherited the codebase and spent the past several years gradually improving it and I was actually quite proud of the work I put into it. So of course management decides to scrap it (with NO consultation from the engineers) and outsource a complete rewrite of the app in C# for Windows Universal.
Let me tell you. That code was without a doubt and without exaggeration the *worst* code I've seen in my close to 30 years of experience as a developer. I mean they broke every rule in the book, I'm talking rookie mistakes. Copypasta everywhere, no consistent separation of concerns, and yet way too many layers. Unnecessary layers. Layers for the sake of layers. There was en entire abstraction layer complete with a replicated version of every single data class *just* to map properties in pascal case to the same property in camel case. Adding a new field to a payload in the API amounted to hours of work and about eight different files that needed to be modified. It was a complete nightmare. This was supposed to be a thin client, yet it had a complete client-side Sqlite database with its own custom schema (oh and of course a layer for that!) completely unrelated to the serverside schema, just for kicks. The project was broken up into about eight or nine different subprojects, each having their own specific dependencies on various of the other subprojects in such a tightly-knit way that it made gradual refactoring almost impossible. This architecture was so impressively bad, it was actually self-preserving!
Suffice it to say it was a complete nightmare, and was one of the main reasons I ended up leaving that company. So just sayin', legacy code isn't always bad. :) -
You want to know what shit is?
Go use Alibaba cloud service!
Trying out the service and luckily for me i only paid a few bucks.
-- Poor documentation which seems like it was written by the team from sales.
-- Poor github code samples... If i had written similar code while in college, it would be far better than their code samples... no exaggeration, It literally has 0.1% comment.
See for yourself
https://github.com/aliyun/...
-- Its Object Storage (OSS) C# APIs are all synchronous (Who fucking wrote this piece of shit deserves 10,000 punch in the face). You just killed the whole essence of netcore with oss.
-- Error logs are in Chinese (This was expected but seriously Ali you sold your product in English. WTF you got no English dev)
Coming from an Azure world, i would say Alibaba cloud is still in its infant stage (Cheap to use and Expensive to manage).
Make use of it at your own risk!3 -
!dev
1. It's one of those few times in life that listening to Lq's Numb doesn't make me feel less anxious. Or Somewhere I Belong. Either way, anxiety levels are on all time high.
2. I have completely lost appetite. Usually at this point in time I'd go to doctor and ask for Xanax or something similar, to chill for a few days. But covid. I ain't going to any clinic, plus, ain't nobody got time for that.
3. On top of everything, I am also PMSing. The lack of energy, times n. (n>10)
4. Struggling to get out of bed for hours is now a reality.
5. I'm glad ("glad" is exaggeration tho) this will pass in a few weeks. I am hanging on to that hope and experience tells me it will pass. But my feelings are like "nah, we doomed. Let's just run away. Or just sleep until it all passes or we die of starvation."
6. My brain must work for the next few days. If I have to push it by drowning it in sugar, I will. But I'm also obese rn. Well, I guess it's "Hello diabetes!".
7. My hands and feet are cold. Like, freezing cold. Meanwhile, the rest of me is sweating. This sucks. Ngl.
8. I feel like I'm fighting a losing battle. Like, those last stabby stabs moments in a battle where you know you're gonna fall down soon. I know this feeling of doom and gloom is PMS related, but it's there. I have no solution for that aside from nicotine and sugar.
9. I can't even cry. Which is sad.
... Do you see what's happening there? That's the loop I'm in.5 -
Today, I have installed/uninstalled a combination of [windows 7, arch linux, dual-boot] a total of 9 times...
I wouldn't be surprised if my 120G SSD fails next week
It all started when I had to whip up a GUI-wrapped youtube-dl based program for a windows machine.
Thinking a handy GUI python library will get it done in no time, I started right away with the Kivy quick-start page in front of me.
Everything seemed to be going fine, until I decided it would be "wise" to first check if I can run Kivy on said windows machine.
Here I spent what felt like a day (5 hours) trying to install core pip modules for kivy.. only before realizing my innocent cygwin64 setup was the reason everything was failing, and that sys.platform was NOT set to "win32" (a requirement later discovered when unpacking .whl files)
"Okay.. you know what? Fuck........ This."
In a haze of frustration, I decided it was my fault for ever deciding to do Python on windows, and that "none of this would've happened if I were installing pip modules on a Linux terminal"...
I then had the "brilliant" idea of "Why don't I just use Linux, and make windows a virtual machine within, for testing."
And so I spent the next hour getting everything set up correctly for me get back to programming.... And so I did.
But uh... you're doing GUI stuff, right? -> Yeah...
And you uh.. Kivy uses OpenGL on windows, doesn't it? -> Yeah..?
OpenGL... 2.
-> Fuck.
That's when I realized my "brilliant" idea, was actually a really bad prank. Turns out.. I needed a native windows environment with up-to-date non-virtual graphics drivers that supported at least OpenGL2 for Kivy GUI programs!
Something I already had from square 1.
And at this point, it hurts to even sigh knowing I wasted hours just... making... poor decisions, my very first one being cygwin64 as a substitution for windows cmd.
But persistent as any programmer should be in order to succeed, I dragged my sorry ass back to the computer to reinstall windows on the actual hardware... again.
While the windows installer was busy jacking off all over my precious gigabytes (why does it need that much spaaace for a base install??? fuck.). I had "yet another brilliant idea" YABI™
Why not just do a dual-boot? That way, you have the best of both worlds, you do python stuff in Linux, and when it's time to build and test on the target OS, you have a native windows environment!
This synthetic harmony sounded amazing to the desperate, exhausted, shell of a man that I had become after such a back-breaking experience with cygwin
Now that my windows platter with a side of linux was all set-up and ready-to-go, I once again booted up windows to test if Kivy even worked.
And... It did!
And just as I began raising my victory flags, I suddenly realized there was one more thing I had to do, something trivial, should take me "no time" to do, being in a native windows environment and all.................... -.- (sigh)
I had to make sure it compiles to a traditional exe...
Not a biggy, right? Just find one of those py2exe—sounding modules or something, and surprisingly enough, there was indeed a py2exe—sounding module, conveniently named... py2exe.
Not a second thought given, I thought surely this was a good enough way of doing it, just gonna look up the py2exe guide and...
-> 3 hours later + 1 extra coffee
What do you meeeeean "module not found"? Do I need to install more dependencies? Why doesn't it say so in the DAMN guide? Wait I don't? Why are you showing me that error message then????
-------------------------------
No. I'm not doing this.
I shut off my computer and took a long... long.. break.
Only to return sometime the next day and end up making no progress, beating my SSD with more OS installs (sometimes with no obvious reason to do so).
Wondering whether I should give up Kivy itself as it didn't seem compatible with py2exe.. I discovered pyInstaller, which seemed to be the way Kivy wants exe's to be made on windows..
Awesome! I should've looked up how Kivy developers make exe's instead of jumping straight into py2exe land, (I guess "py2exe" just sounded more effective to me then)
More hours pass, and you'd think I'd have eliminated all of my build environment problems by now... but oh, how wrong you'd be...
pyInstaller was failing, and half the solutions I found online were to download some windows update KB32946..whatever...
The other half telling me to downgrade from Python 3.8.1 to Python 3.8.0000.009 (exaggeration! But you get the point)
At the end of all that mess, I decided it wasn't worth some of my lifespan, and that maybe.. just maybe.. it would've been better to create WINDOWS GUI with the mother fuc*ing WINDOWS API.
Alright, step 1: Get Visual Studio..
Step 2: kys
Step 3: kys again.6 -
I just got scammed in web3. Again. Luckily by following an extremely strict risk management i lost $25.
But apparently now i have to be even more strict and be rigorous to the extremes.
"Pay me up front payment and ill start" Fuck you. Fuck all of you requesting for an upfront payment.
Do you think in the real world when you get hired at ANY job, do you think you're paid up front even a fucking dime? NO. You start working and get paid 1 whole ass Fucking month LATER. But only in web3 do these shitholes ask for an "uP fRoNt pAyMenT s0 i cAn StaRt wOrkiNg". No. Fuck you. I hope you get a fucking cancer and choke on a dead ape's dick.
How Fucking PATHETIC does your poor miserable waste of life have to be to scam someone for just $25? What the fuck?
Web3 is FULL, actually full is a compliment so I'll say it this way: Web3 is OVERLOADED AND OVERFILLED WITH FUCKING SCAMMERS. They're dripping EVERYWHERE. DMs. Discord. Twitter. Fake profiles. Fake messages. Fake cloned websites. Fake scam influencers. Fake marketers. Fake collab managers. Lies deception and exaggeration of results. Or even if it's the original collection, it's probably still a scam.
I don't know what to fucking do no more.
OH have i mentioned Web3 influencers? Oh my fucking god. These influencers on twitter for web3 are the most narcissistic, egocentric, arrogant, RUDE and EXTREMELY disrespectful as fucking pricks they are. I can not lead a normal conversation with ANY of them without them offending me because i dont want to give them my hard earned money right away. Fuck you. FUCK YOU. I HOPE YOUR WHOLE FAMILY DIES IN CAR CRASH FUCKING LOSERS.
Instead of focusing on building in web3 and developing software im now stressing 90% of the time about potential scammers and focus on being careful not to get scammed......
The amount of TOXICITY in Web3 is EXTREME. This is so Fucking ANNOYING and mentally EXHAUSTING25