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 - "head of product"
-
Today my current company fuck itself.
We were in negotiations about the end of my contract/mission, I want to quit to create a company around AI.
And the actual chairman said to me "You think too highly of yourself. I could find a tenth of people to replace you so shut up and take what we offer".
30 minutes later they received my resignation. 1h after that, the 15 dev under me resigned (after two year working with us they are clearly under paid). At the end of the day, the Head of product and the two good PO resigned.
This morning I get an email, talking about suing me as I made everyone resigned and asking for a meeting.
So I went to the meeting with a lawyer, they weren't expecting it. Boring legal stuff came after that.
And the funny fact: at the end of the meeting the CIO, chief ops and the SRE resigned as well.... As they didn't want to have the run it without all the team...
Funny day :)
Last month the main product, 90% of the company use it, was launched. And in three months 80% if the IT profiles will be out...36 -
WHY THE FUCKIDY FUCK DO PEOPLE THINK THAT JUST BECAUSE YOU ARE A DEVELOPER THEN YOU CAN DO EVERY FUCKING THING IN A SNAP?!
THIS ENTIRE SUMMER I WORKED FOR THIS MIDGET OF A FUCK AND THE IDEA WAS TO MAINLY DEVELOP AN IOS APP FOR THEIR PRODUCT. THAT ONE APP TRANSLATED TO THREE SEPARATE APPS AND KEEP IN MIND THAT I AM THE ONLY DEVELOPER THEY HAVE SO I HAVE TO DEVELOP IT, TEST IT AND DOCUMENT IT!! AND WHAT'S EVEN WORSE IS HE KEEPS GIVING ME DESIGNS AT THE LAST MINUTE SO I ALWAYS END UP HAVING TO CREATE NEW PROJECTS ALL THE TIME. WHEN A WEEK PASSES BY WITHOUT ANY UPDATE HE AND HIS FUCKED UP BRAIN CELLS GATHER A MEETING WITH HIS 'DONALD TRUMP HANDS-SIZED' BALLS TO ASK ME, 'WHY ARE YOU TAKING SO LONG? THESE ARE JUST THREE BUTTONS ON THIS VIEW?' MOTHERFUCKING COCKSUCKER!! GO GET YOUR MOM TO DO THIS WORK THEN IF IT'S JUST THREE BUTTONS. TO HIM EVERYTHING IN IOS WHICH INCORPORATES A TAP IS A FUCKING BUTTON! BUTTON THIS! BUTTON THAT! AND IT'S NOT LIKE HE HAS SIMPLE DESIGNS..NO.NO.NO.NO. THIS ASSHOLE-SHAPED-HEAD MUGGET DESIGNS SHIT WHICH REQUIRES ME TO HAVE TO DRAW A UIVIEW AS THE SHAPE OF A HUMAN BODY AND HEART. THEN ASIDE FROM THAT, JUST BECAUSE MY RESUME SAYS I MINORED IN MATH AND APPLIED MATH, HE SENDS ME A PAPER THAT EXPLAINS MATHEMATICAL CONCEPTS OF DATA ANALYSIS THEN WANTS TO MEET WITH ME TO DISCUSS THE SUGGESTED METHODS THEN IMPLEMENT THEM. AT THIS POINT I HAD ALREADY IMPLEMENTED AN ALGO FOR COUNTING THE NUMBER OF STEPS THAT WAS WAY WAY WAY MORE ACCURATE THAN THE SHIT THEY HAD IN THEIR CONTROLLER..
SO AS I AM ABOUT TO FINISH IMPLEMENTING JUST THE INITIAL 5 VIEWS OF THIS 'FINAL' APP, HE SERIOUSLY WALKS IN AND TELLS ME, SO I'M STARTING TO WORRY THAT WE'LL NOT MEET THE AUGUST DEADLINE SO I'M THINKING MAYBE YOU SHOULD START SWITCHING BETWEEN DEVELOPMENT. WORK ON IOS FOR 4 HOURS THEN SWITCH TO ANDROID FOR THE REMAINDER OF THE TIME. OH AND UHH IF YOU FEEL LIKE TAKING THE IMAC WITH YOU TO WORK FROM HOME, THAT'S FINE AS WELL AND I'LL BE AVAILABLE IN THE WEEKENDS AS WELL. IT WAS AT THIS MOMENT THAT I REALLY REALLY HOPED I WERE GAY! LIKE 'NO LUBE' STYLE KINDA GAY!! OH BTW AT SOME POINT HE HAD ME PROGRAM ONE OF THEIR CONTROLLERS, AND WAS ASKING IF I COULD START RESEARCHING MEANS OF WRITING AN SDK FOR THEM.
KEEP IN MIND THAT I'M AN INTERN WITH ONE YEAR IOS DEV EXPERIENCE.. THEN HE WANTS ME TO ENTIRELY START LEARNING ANDROID AND GIVE HIM TWO VERSIONS OF THIS THIRD APP IN TWO WEEKS.
HE CAN GO SUCK HIS OWN DICK WHILE GETTING FINGER FUCKED BY A FORK WITH A BLUE WHALE'S 6FT LONG DICK UP HIS MOUTH.
*** that felt good ****36 -
Client: "Do you think we could finish specs in week 33, see a demo in week 35, and aim for the product to be finished in week 39?"
I jump on the conference room table, rip the shirt off my sweaty chest, and yell:
"WEEKS OF WHAT? 31 WEEKS SINCE YOU BECAME A CLIENT, 35 WEEKS FROM NOW, 39 WEEKS INTO THE PREGNANCY? BLOODY FUCKING HELL MAN, DO YOU HAVE TO TALK LIKE A RETARD?"
Client, unfazed: "Weeks since the start of the year, sir"
Me, swinging my pants above my head like a lasso:
"WHAT THE FUCK KIND OF SNOWFLAKE ARE YOU, YOU REALLY EXPECT ME TO COUNT THE WEEKS SINCE THE START OF THE YEAR? WHAT ABOUT JUST USING DAY OF THE MONTH YOU OBNOXIOUS DIMWIT?"
Client: "We always use weeks at our company to plan things"
Me, winding the legs of my pants around the neck of the client:
"I HATE IT WHEN PEOPLE USE WEEKNUMBERS, JAKE. I. FUCKING. HATE. IT."
Client, still pretending everything is fine: "If you want I could send you a screenshot of my outlook calendar?"
Me, sitting in underpants on the client's back, sweaty legs wrapped around his waist, trying to pull out his gel-infested manager-hair while strangling him with my pants:
"TIME OF DEATH, UNIX TIMESTAMP 1595240810, ISO 8601 DATE 2020-07-20T10:26:50+00:00. ANOTHER PROJECT SUCCESSFULLY WRAPPED UP"
(parts of this story may have been dramatized to reflect my underlying emotions)30 -
1. I join a company.
2. I get deeply involved in "how to run the company", and get nice compliments from both coworkers & management about my skills in conveying startup/scaleup advice & necessities to upper management.
3. With my ego inflated through all the sweet talk, I think "ah, what the hell, let's do this again", and I accept a Lead/CTO promotion. I have to join board meetings, write reports on quarterly plans and progress.
4. I get unhappy/stressed/burned-out because I really just want to be a developer, not a manager/executive.
5. Upper management understands, I give up my lead position, lock myself back into my coding cave.
6. I get annoyed because the requirements I receive become more and more disconnected from reality, half of the teams seem to have decided to stop using agile/scrum, the testing pipeline breaks all the time, I get an updated labor contract from HR by mail which smells like charred flesh, etc
7. The annoyances become too much to do ANY work. I yell at the other devs outside of the entrance of my cave. There is no answer, only a few painful moans and sighs.
8. I emerge from my cave. The city has turned into a desolate wasteland. The office is a burning ruin, the air sharp and heavy with black soot. Disemboweled corpses of developers litter the poisoned soil.
Product Managers dressed in stained ripped suits scream at each other while they try to reinforce concrete barricades with scotch tape and post-its. *THUMP* Something enormous is trying to break through. "Thank God, bittersweet, you're still alive! The stakeholders! They have mutated! We couldn't meet the promised deadlines! We've lost the whole mobile app department, and that kid there is the last of the backenders and he's only an intern! You're here to save us, right? RIGHT?".
In the corner, between the overflowing coffee machine and a withered cactus, a young boy has collapsed onto the floor. His face is covered in moldy coffee grounds, clasping on to his closed macbook for dear life, wide-open eyes staring into the void, mumbling: "didn't backup the database, and It's all gone" over and over.
A severely dented black Tesla with a dragging loose bumper breaks through the dried up vertical herb garden and the smoothiebar, and comes to a halt against the beanbags in a big cloud of styrofoam balls.
The CEO limps out, leaking blood all over the upholstery. He yells to the COO: "The datacenter is completely flooded with sewage! I saved the backup tapes though", holding a large nest of tangled black magnetic tape mixed with clumps of mud above his head.
9. I collect my outstanding salary and sell any rewarded options/shares for a low dumping price, take a 5 month holiday, and ask a recruiter about opportunities in a different city.14 -
1. Humans perform best if they have ownership over a slice of responsibility. Find roles and positions within the company which give you energy. Being "just another intern/junior" is unacceptable, you must strive to be head of photography, chief of data security, master of updating packages, whatever makes you want to jump out of bed in the morning. Management has only one metric to perform on, only one right to exist: Coaching people to find their optimal role. Productivity and growth will inevitably emerge if you do what you love. — Boss at current company
2. Don't jump to the newest technology just because it's popular or shiny. Don't cling to old technology just because it's proven. — Team lead at the Arianespace contractor I worked for.
4. "Developing a product you wouldn't like to use as an end user, is unsustainable. You can try to convince yourself and others that cancer is great for weight loss, but you're still gonna die if you don't try to cure it. You can keep ignoring the disease here to fill your wallet for a while, but it's worse for your health than smoking a pack of cigs a day." — my team supervisor, heavy smoker, and possibly the only sane person at Microsoft.
5. Never trust documentation, never trust comments, never trust untested code, never trust tests, never trust commit messages, never trust bug reports, never trust numbered lists or graphs without clearly labeled axes. You never know what is missing from them, what was redacted away. — Coworker at current company.9 -
I work in a company where I'm the only developer, with everyone being designers or marketing or sales. Typically like the scene from Silicon Valley.
Moto was to create a ticket selling website for their products, and make sure they worked as well. It was all fine, until deadlines were discussed. They wanted it done within 2 weeks, the entire backend dashboard, API and front end.
I told them it's almost impossible to do it, but they insisted on it. So, I made a minimal dashboard and told them, I haven't completed a few things, such as if you edit data in one place, it won't reflect in other tables. So, be careful while editing the data.
They nodded their head for everything, yesterday was site launch and 2 hours before that one bastard decided to changed the product names to something "catchy" but failed to change the same in other places.
I had used the name as foreign key, so querying other DBs became a fuck all issue, and eventually API stopped giving any response to front end calls.
I got extremely pissed, and shouted at that dude, for fucking everything up. He said, you're the tech guy and you should've taken all this into account.
I sat and hardcoded all the data into database again, made sure site is live. Once it was live, these guys call a company meeting and fire me saying I was incompetent in handling the stressful situation.
At that moment, I lost my shit and blasted each of those people. The designer started crying since her absurd designs(though great) couldn't be realised in CSS that too within 2 weeks time.
One of the worst experience for working for a company. I could've taken the website down, and told them to buzz off if they'd called, I couldn't get myself to do it, hence ranting here.
I seriously feel, all these tech noob HRs need to get a primer course on how to deal with problems of a programmer before they get to hire one, most of these guys don't know what we're trying to tell in itself.
I find devRant to be the only place where I can get someone to understand the issues that I face, hence ranted.
TL;DR: Coded ticket selling site in 2 weeks. 3 hours to launch, data entry dude fucks up. I clean all the mess, get the site online. Get fired as soon as that happens.
Live long and prosper. Peace.16 -
I am bloody sick of being on my own.
I was the sole dev at the last few jobs I've held, with the exception of API Guy -- who didn't really help much, and who got fired / quit six months after I started. Every other job I've either been the only dev, or the only web dev. (Exception:My boss at my previous job was a Rails dev, but he has zero time to code, and was significantly less experiened so he could only rarely help anyway.)
But now I'm in a company with a bunch of other devs, and they're all ostensibly senior devs, so you'd think I should be able to ask questions, right? And get answers? that actually help? like "Hey, you built this; how does it work?" No bloody way.
So far every time I've asked someone for help, they've been incompetent. I asked about what a few flags did, and got an answer that basically said "you just gotta know. oh, and the labels aren't up to date, so don't trust what they say." I asked the head of the "product team" about a ticket that he wrote, and he changed what it meant four times within two days. I asked about another, and he said "oh, that isn't reproduceable." Thanks. I asked about mailers, and got two very different, very incompete walkthroughs from the more senior devs (9+ years on this codebase) that didn't help. I asked two people about how users and roles work, and still have no idea what kind of user (there are like twelve?) is what, what roles even exist, or how to check for permissions. `@current_user` is a thing, but idfk what it holds since that can change considerably, and there's an impersonation feature that changes how it works, too. I ask the product guy again about where to link something, and he has no idea. I ask said product guy about what this feature needs to do, and he doesn't know. I ask what the legal team needs, and i get nothing. I ask the designer where the goddamn CSS lives, and he doesn't know; he apparently just puts it wherever he feels like, even if it's a completely unrelated stylesheet. As long as it works, right?
I ask very simple and straighforward questions, and it takes them forever to get back to me saying what amounts to "idk, ask someone else."
This feels like the same crap all over again, except now there are a bunch of devs I can ask that give me basically the same answers as the sales people always did. Always "idk" or a confusing mess of an 'answer' that skips most/all of the important bits. At least these people don't [usually] contradict themselves.
So, @Root is all alone, again.
And currounded by incompetence.
Again.
For fuck's sake.
Can't I catch a break?19 -
I hope everyone at Microsoft working on Windows 10 dies a horrible death and gets eaten by dogs. FUCK YOU windows!
I have a dual boot machine, logged into windows after a while(months) . Fucker 5 hours to update. Now that it's updated, I did the task I had to do and shifted back to Linux. Now all my other drives, which I didn't so much as touch with windows are fucking read only for some reason!
2 fucking hours spent on trying to find the problem, now I realize thag that after the fuckmaster's update, They reset all my settings and the dicklickin Fast Startup was on again!
FUCK YOU AND YOUR SHITTY WINDOWS TEAM MICROSOFT! CAN'T EVEN PERSIST USER SETTINGS DURING AN UPDATE THEN HAVE THE BALLS TO TELL ME "ALL YOUR FILES ARE EXACTLY WHERE YOU LEFT THEM".
Dear head engineer at windows team, or product manager, or whoever the fuck is in charge of this shit, JUMP UP YOUR OWN ASS AND DIE WITH A DILDO IN YOUR MOUTH YOU DIPSHIT!19 -
Welcome back to practiseSafeHex's new life as a manager.
Episode 2: Why automate when you can spend all day doing it by hand
This is a particularly special episode for me, as these problems are taking up so much of my time with non-sensical bullshit, that i'm delayed with everything else. Some badly require tooling or new products. Some are just unnecessary processes or annoyances that should not need to be handled by another human. So lets jump right in, in no particular order:
- Jira ... nuff said? not quite because somehow some blue moon, planets aligning, act of god style set of circumstances lined up to allow this team to somehow make Jira worse. On one hand we have a gigantic Jira project containing 7 separate sub teams, a million different labels / epics and 4.2 million possible assignees, all making sure the loading page takes as long as possible to open. But the new country we've added support for in the app gets a separate project. So we have product, backend, mobile, design, management etc on one, and mobile-country2 on another. This delightfully means a lot of duplication and copy pasting from one to the other, for literally no reason what so ever.
- Everything on Jira is found through a label. Every time something happens, a new one is created. So I need to check for "iOS", "Android", "iOS-country2", "Android-country2", "mobile-<feature>", "mobile-<feature>-issues", "mobile-<feature>-prod-issues", "mobile-<feature>-existing-issues" and "<project>-July31" ... why July31? Because some fucking moron decided to do a round of testing, and tag all the issues with the current date (despite the fact Jira does that anyway), which somehow still gets used from time to time because nobody pays attention to what they are doing. This means creating and modifying filters on a daily basis ... after spending time trying to figure out what its not in the first one.
- One of my favourite morning rituals I like to call "Jira dumpster diving". This involves me removing all the filters and reading all the tickets. Why would I do such a thing? oh remember the 9000 labels I mentioned earlier? right well its very likely that they actually won't use any of them ... or the wrong ones ... or assign to the wrong person, so I have to go find them and fix them. If I don't, i'll get yelled at, because clearly it's my fault.
- Moving on from Jira. As some of you might have seen in your companies, if you use things like TestFlight, HockeyApp, AppCenter, BuddyBuild etc. that when you release a new app version for testing, each version comes with an automated change-log, listing ticket numbers addressed ...... yeah we don't do that. No we use this shitty service, which is effectively an FTP server and a webpage, that only allows you to host the new versions. Sending out those emails is all manual ... distribution groups?? ... whats that?
- Moving back to Jira. Can't even automate the changelog with a script, because I can't even make sense of the tickets, in order to translate that to a script.
- Moving on from Jira. Me and one of the remote testers play this great game I like to call "tag team ticketing". It's so much fun. Right heres how to play, you'll need a QA and a PM.
*QA creates a ticket, and puts nothing of any use inside it, and assigns to the PM.
*PM fires it back asking for clarification.
*QA adds in what he feels is clarification (hes wrong) and assigns it back to the PM.
*PM sends detailed instructions, with examples as to what is needed and assigns it back.
*QA adds 1 of the 3 things required and assigns it back.
*PM assigns it back saying the one thing added is from the wrong day, and reminds him about the other 2 items.
*QA adds some random piece of unrelated info to the ticket instead, forgetting about the 3 things and assigns it back.
and you just continue doing this for the whole dev / release cycle hahaha. Oh you guys have no idea how much fun it is, seriously give it a go, you'll thank me later ... or kill yourselves, each to their own.
- Moving back to Jira. I decided to take an action of creating a new project for my team (the mobile team) and set it up the way we want and just ignore everything going on around us. Use proper automation, and a kanban board. Maybe only give product a slack bot interface that won't allow them to create a ticket without what we need etc. Spent 25 minutes looking for the "create new project" button before finding the link which says I need to open a ticket with support and wait ... 5 ... fucking ... long ... painful ... unnecessary ... business days.
... Heres hoping my head continues to not have a bullet hole in it by then.
Id love to talk more, but those filters ain't gonna fix themselves. So we'll have to leave it here for today. Tune in again for another episode soon.
And remember to always practiseSafeHex13 -
After our Head Of Software has terminated.
I started to take control over our development crew. And in this year I did more then the old head in the last 6 years.
- Swapped from plain old SVN to Gitlab.
- Build a complete autonomous deployment with Gitlab.
- Introduced code reviews.
- Started to refactor the legacy product with 500.000 lines of code...
- learned how to use confluent apache kafka and kubernetes to split the legacy project in many small and maintainable one.(not done yet)
- Last 3 weeks I learned how to use elasticstack with kibana and co. That we aren't blind anymore. Big dashboards are now shown in the middle of the room :) and maybe convinced my coworker that we use unity3d for our business application cause of support for all devices and same design on them. And offline capabilities. (Don't know if this was my best idea)
When I look back, I'm proud to did that much in one year alone. And my coworkers are happy too that they have less work with deployments and everything.
But I can't decide what's the title for this. System or Software Architect cause I litterallity did both :/7 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
Worst of 2020:
Seeing company get stuck in an organizational swamp. Devs tend to be reasonably good at working from home...
Management isn't. Meeting quality has gone down the drain, half of management thinks "if the boss can't see me why work at all?", the other half has constant calls with tiny working groups where nothing is final and everyone is left confused.
I'm convinced: Everything management is afraid of about allowing devs to work from home is based on projection of their own weaknesses.
They're not passionate enough to work without oversight. They might not be introverts, but extroverts are perfectly able to communicate poorly, especially when a few digital hurdles get in the way.
The average developer might actually be more attuned to the intricacies of emotionless text chats, and preventing disruptive elements in video calls.
Also, unless someone physically helps a manager to remove their head from their own ass once in a while, their "gut feelings" about the market and products are actually just amplified bias caused by their endless self-absorbed yelling into the echo chamber that is their stretched out rectum.
Holy motherfucking hell, have I seen some weird projects float by in 2020, pooped out by isolated product managers whose brain clearly has melted when they had to survive without office fruitbaskets and organizational post-it walls.
Yeah let's promote our international character, by giving away travels and hotel bookings, using pictures of happy hugging people in foreign countries... Great promo during a pandemic.
Or let's get "woke" and promote the "colored users" on our platforms, by training ML to categorize people by skin pigment (Apart from how illegal and ethically insane that is on multiple levels, about 85% of our users pick shit like anime characters and memes for their avatar).
Or how about we make a Microsoft Store app, even though the vast majority of our end users are students using cheap Android phones, older iPhones, Macbooks and Chromebooks.
😡
Anyway, now that I have dressed up my Christmas tree with some manager intestines...
Best of 2020:
I got to play through my Steam backlog, work on hobby projects, and watch a lot of YouTube.
All this pandemic insanity has convinced me all the more that I want to work way more in Rust, and publish way more on open source projects.
I became maintainer/collaborator on a bunch of semi-prominent libraries & frameworks, and while no community is perfect, I enjoy my laid-back coffee-fueled debugging on those packages much more than listening to another crack addicted cocksucker in a suit explain their half-assed A/B test idea to me at 9AM.
So, 2021 will be me half-assing through the spaghetti at my official fuckfest of a job so I can keep filling my bank account — and investing way more time and effort into stuff I find truly engaging, into projects with a heart and a soul.3 -
Actual rant time. And oh boy, is it pissy.
If you've read my posts, you've caught glimpses of this struggle. And it's come to quite a head.
First off, let it be known that WINDOWS Boot Manager ate GRUB, not the other way around. Windows was the instigator here. And when I reinstalled GRUB, Windows threw a tantrum and won't boot anymore. I went through every obvious fix, everything tech support would ever think of, before I called them. I just got this laptop this week, so it must be in warranty, right? Wrong. The reseller only accepts it unopened, and the manufacturer only covers hardware issues. I found this after screaming past a pretty idiotic 'customer representative' ("Thank you for answering basic questions. Thank you for your patience. Thank you for repeating obvious information I didn't catch the first three times you said it. Thank you for letting me follow my script." For real. Are you tech support, or emotional support? You sound like a middle school counselor.) to an xkcd-shibboleth type 'advanced support'. All of this only to be told, "No, you can't fix it yourself, because we won't give you the license key YOU already bought with the computer." And we already know there's no way Microsoft is going to swoop in and save the day. It's their product that's so faulty in the first place. (Debian is perfectly fine.)
So I found a hidden partition with a single file called 'Image' and I'm currently researching how to reverse-engineer WIM and SWM files to basically replicate Dell's manufacturing process because they won't take it back even to do a simple factory reset and send it right back.
What the fuck, Dell.
As for you, Microsoft, you're going to make it so difficult to use your shit product that I have to choose between an arduous, dangerous, and likely illegal process to reclaim what I ALREADY BOUGHT, or just _not use_ a license key? (Which, there's no penalty for that.) Why am I going so far out of my way to legitimize myself to you, when you're probably selling backdoors and private data of mine anyway? Why do I owe you anything?
Oh, right. Because I couldn't get Fallout 3 to run in Wine. Because the game industry follows money, not common sense. Because you marketed upon idiocy and cheapness and won a global share.
Fuck you. Fuck everything. Gah.
VS Code is pretty good, though.20 -
Conversations I've genuinely had at work:
Me: "Do you want some advice understanding that function?"
Dev: "Yeah, please!"
Me: "Get a plastic bag and some super glue..."
Dev: "I think I'm seeing the light at the end of the tunnel!"
Me: "It's just the train of mental bitchslaps coming in the other direction."
... Some time later
Dev:"You were right... "
Dev: "If the system is so unstable, how does it keep working?"
Me: "Do you see any goats in the office?"
Dev: "Uhm no... Why would there be goats?"
Me: "There aren't, now, we ran out."
Dev: "The hell are you talking about?"
Me: "We just sacrifice our own blood to Cthulhu these days, it's cleaner and we didn't have to pay to have all the goats blood and waste matter to be cleaned up. That and it was needlessly cruel to the poor goats and that is why there is no goats and despite conventional logic the app continues to work."
Dev: "So what language is the web app written in?"
Me: "You need to understand I inherited this project, I had nothing to do with it's spawning..."
Dev: "OK, that sounds ominous... How bad is it?"
Me: "Java..."
Dev: "..."
Dev: "So what's it like working on this project? What should I expect?"
Me: "You'll call your grandmother during your lunch break just to know there's a world beyond this project. You'll go home, nose bleeding and you are gonna sit in the shower and rock back and forth, holding yourself and feeling like you're suffering imposter syndrome. You'll question why you joined this team and it'll get inside your head til it's all you think about..."
Dev: "Damn man, why are you still on it?"
Me: "Stockholm syndrome, it's too late for me..."
PM: "You're such a dark person, we're not gonna find you hanging from the lights one day are we?"
Me: "Impossible, we use those industrial fluorescent strip lights, there's no cord to hang from."
PM: "That really wasn't the comforting answer I was looking for."
Head of department: "So I need to apologize, you were never meant to be left on your to manage the product on your own, it's something someone way more senior should have been doing and we reassigned him. It wasn't professional of us, it wasn't fair of us, we're sorry. Truth be told,we're impressed you've not gone mad."
Me: "I think I have. Wibble."
A card goes round work for a sick member of staff I've never met.
Me: "How would you describe her condition?"
Dev: "She said that she 'survived' the surgery."
Me: "Yeah, I'm not great at being appropriate but even I think writing 'glad to hear that you are not dead' in a get well soon card isn't the done thing."5 -
Q: WHO THE FUCK USES EXCEL FOR PROJECT MANAGEMENT?
A: My Product Manager
Excel because she cant wrap her head around using Trello. WHAT THE FUCK!
Some people exist just to make things more difficult for everyone else. Fucking pain in the ass.
This person is one of the most incompetent one I have ever met.
I dont have enough words to express my rage right now.13 -
What the fuck!!!!!
Never thought I'd have to rant so soon joining my new org.
Guess the honeymoon phase is over earlier than I anticipated.
1. This company is awesome and employee friendly. They made me kickass deal which I couldn't refuse. However, upon checking glassdoor, I realised they still managed to low ball me. Lol.
But I have no complaints and I am pretty happy with whatever they are offering as of now. My next point is the primary reason I disabled my app blocker to rant out.
2. A junior is leaving and so is my lead. Damn! Fuckkkkkk!!! My lead is super awesome. There's so much dependent on her.
Entire organisation is watching the product line she and I am working on. It's the heart of the entire product.
It's just been a month I joined and so much responsibility on me already. Well, I am not fearing that.
What I am afraid of and rather uncomfortable with is that they are going to hire someone else in a different time zone who'll lead this entire thing and they might map me under that new person who'll be a senior level executive.
Fuck that shit. I don't want to leave my current manager for she is awesome too. With departure of my lead, it's just me and my manager that are left in the team.
I am not sure what the future will be but I know that there are lot of learnings coming my way.
One thing I wish for is that they relocate me for short or mid term to UK or EU. Then a lot of things will be solved for me.
For now, I am just keeping my head low and doing what best I can, which is focusing on work.
Hope they promote me with an amazing salary hike.5 -
TLDR; Wrote an awesome piece of code, but there's no one capable of understanding how hard it is.
I spent an entire night building an insanely complicated automation script, that picks out certain configuration files (in javascript fml), does some crazy parsing to pick out strings, passes them into a free translation API, translates them, and does more insane parsing to insert those strings as javascript objects.
Spent 3 hours on the bloody parsing algorithm alone.
Manager: Oh this language is really nice. Good of you to discover it can do that.
I didn't "DISCOVER" it ffs! Its a product of my head! I built the damn algo from scratch.
Seriously, screw non devs who trivialize the complexities of writing a good program. Its NOT as simple as opening notepad and typing in
import {insanelyComplexSolution} from 'daveOnTheInternet'3 -
Dear external developer dumbass from hell.
We bought your company under the assumption you had a borderline functioning product and/or dev team. Ideally both
For future reference expect "file path" arguments can contain backslashes and perhaps even the '.' character. It ain't that hard. Maybe try using the damn built in path parsing capabilities every halfway decent programming environment has had since before you figured out how to smash your head against the keyboard hard enough for your shitty excuse of a compiler stops arguing and gives in.
I am fixing your shit by completely removing it with one line of code calling the framework and you better not reject this.
This is not a pull request ITS A GOD DAMN PULL COMMAND.
- Is what i would _like_ to say right now... you know if i wouldn't be promptly fired for doing so :p
How's you guys friday going?8 -
I was on vacation when my employer’s new fiscal year started. My manager let me take vacation because it’s not like anything critical was going to happen. Well, joke was on us because we didn’t foresee the stupidity of others…
I had to update a few product codes in the website’s web config and deploy those changes. I was only going to be logged in for 30 minutes to complete that.
I get messaged by one of our database admins. He was doing testing and was unable to complete a payment on the website. That was strange. There was a change pushed by our offsite dev agency, but that was all frontend changes (just updating text) and wouldn’t affect payments.
We don’t want to enlist the dev agency for debugging work, especially when it’s not likely that it’s a code issue. But I was on vacation and I couldn’t stay online past the time I had budgeted for. So my employer enlists the dev agency for help. It’s going to be costly because the agency is in Lithuania, it was past their business hours, and it was emergency support.
Dev agency looks at error logs. There are Apple Pay errors, but that doesn’t explain why non Apple Pay transactions aren’t going through. They roll back my deployment and theirs, but no change. They tell my employer to contact our payment processor.
My manager and the Product Manager contact Payroll, who is the stakeholder for our payment gateways. Payroll contacts our payment gateway and finds out a service called Decision Manager was recently configured for our account. Decision Manager was declining all payments. Payroll was not the person who had Decision Manager installed and our account using this service was news to her.
Payroll works with our payment processor to get payments working again. The damage is pretty severe. Online payments were down for at least 12 hours. Our call center had logged reports from customers the night before.
At our post mortem, we had to find out who ok’d Decision Manager without telling anyone. Luckily, it was quick work. The first stakeholder up was for the Fundraising Dept. She said it wasn’t her or anyone on her team. Our VP of Analytics broke it to her that our payment processor gave us the name of the person who ok’d Decision Manager and it was someone on the Fundraising team. Fundraising then starts backtracking and says that oh yes she knew about it but transactions were still working after the Decision Manager had been configured. WTAF.
Everyone is dumbfounded by this. How could you make a big change to our payment processor and not tell anyone? How did our payment processor allow you to make this change when you’re not the account admin (you’re just a user)?
Our company head had to give an awkward speech about communication and how it’s important. The web team can’t figure out issues if you don’t tell us what you did. The company head was pissed because it was a shitty way to start off the new fiscal year. Our bill for the dev agency must have been over $1000 for debugging work that wasn’t helpful.
Amazingly, no one was fired.4 -
There are three things in my workflow that I don't like:
1. Feature requests appearing out of thin air.
It's common to be handled work at 2pm that needs to be deployed by the end of day. Usually it's bug fixes, and that's ok I guess, but sometimes it's brand new features. How the fuck am I supposed to do a good job in such a short time? I don't even have time to wrap my head around the details and I'm expected to implement it, test it, make sure it doesn't break anything and make it pass through code review? With still time to deploy and make sure it's ok? In a few hours? I'm not fucking superman!
2. Not being asked about estimates.
Everything is handed to me with a fixed deadline, usually pulled off my PM's ass, who has no frontend experience. "You have two weeks to make this website." "You must have this done this by tomorrow morning." The result, of course, is rushed code that was barely tested (by hand, no time for unit or integration tests).
3. Being the last part of the product development process.
Being the last part means that our deadlines are the most strict. If we don't meet the deadline, the client will be pissed. The thing is, the design part is usually the one that exceeds its time (because clients keep asking for changes). So when the project lands on our desks it's already delayed and we have to rush it.
This all sounds too much like bad planning to me. I guess it's the result of not doing scrum. There are no sprints, no planning meetings, only weekly status update meetings. Are your jobs similar? Is it just usual "agency work"?
I'm so tired of the constant pressure and having to rush my work. Oh, and the worst part is we don't have time for anything else. We're still stuck with webpack 2 because we never have time to update it ffs.6 -
IT head ruined the company. The whole product is delayed, no single feature is working.
As I hurt his ego 6 months ago by pinpointing his fault. He kept me out of the whole project and handed over to my juniors.
The investor has spent lots of money and they are demanding work.
Now, he avoids eye contact as possible. Don't know how I should feel.
Be happy for "told you so!" or be sad that we have to look for another job.2 -
My department is focused solely on web development. Of course we are part of the major portion of I.T
The entire I.T department got acknowledged for a very important piece of software. That I wrote.
The ceremony in which we were being recognized did not listed MY department, no, they listed the ENTIRETY of I.T.
Thing is, if this product was not delivered, then I was told that the blame would be MINE (I am speaking as the head of my department) but apparently if it succeeded (which it did) it is to be attributed to people that were not even involved in the project.
My employees tried calming me down when I got upset, one of them stated that it was not even our department's effort, but mine alone. And yes, I was the one that developed the solution. By myself, with complete testing, staging, the whole works. Everything, developed by me. BUT my employees held the entire department down while I was behind close doors developing this solution.
I was fucking upset, more so because my director sent an email thanking the entire I.T department for this "win"
I asked him through or messaging service if he could point out to me who else was involved, since I did not know of anyone else that did absolutely anything in this process other than myself and my guys.
Maybe the output of my program was parsed by another I.T department and something happened from it, maybe the money generated by the application (obscene amounts of it btw) were used to add more to the infrastructure etc, who knows, but as far as I know, you cannot say "if this fails it is on you" just for them to later on thank people that were not involved in the project.
This is why I would gladly move on to a different field. I don't want to be patted on the back constantly, I know how fucking good I am at what I do. But if I do something amazing I do not want to see those efforts being given to someone else.
The dev world is usually a thankless industry, but if thanks are given, then I want the sole credit.
If I am winning or loosing I want the whole fucking credit and you can be any more gangstah than that.10 -
I think my biggest problem is not being able to let go.
I love this product and believe in it 100%, but I CANT FUCKING STAND ANOTHER MINUTE WORKING WITH THESE FUCKING CLUELESS CLOWNS WHO ARE GOING TO DRIVE IT TO THE FUCKING GROUND!!!!!
...you know what? fuck 'em, I meanwhile reap $400+ monthly checks from Udemy, while our "best startup / amazing startup / omg wow lol i'm a fucking idiot" has earned a TOTAL of $200 in the past FUCKING YEAR
YOU FUCKING CLOWNS GET YOUR HEAD ON STRAIGHT OR I WILL TAKE THIS COMPANY OVER AND CONTROL ALL DECISIONS, IGNORING ABSOLUTELY ANYTHING YOU THINK IS 'WISE' YOU DON'T EVEN KNOW WHAT 'WISE' IS YOU FUCKS!!!!!!!
WHAT ARE YOU GOING TO DO? YOU DON'T EVEN REMEMBER YOUR BITBUCKET CREDENTIALS!!!! YOU CAN'T EVEN REVOKE MY ACCESS
AAAAAAAGGGGGG YOU FUCKING CLOWNS GODDAMMIT THIS IS SO FUCKING FRUSTRATING I CANT EVEN I NEED TO SMASH SOMETHING TO GET THE RAGE OUTAASDASDJKLFJ;KLAFDSJKL;AFDSJKL;AFES L;KADFS AF LSAFS DHI;A EGWHIOAEGW IOAEGWHIO3 -
I hate working with egoistic noobshit hotshot "developers". But sadly, they tend to get ahead because they talk like they know everything in front of tech idiot management.
***
management: I need this swanky feature X in our product within the month.
me: That literally requires a huge refactor because our current codebase was never meant to support this type of service. We need to think about this.
noobshit: I disagree. This is easy. We're already doing something similar that is Z, this shouldn't take very long.
me: Z seems similar, but it actually quite different.
me (in my head): ... and you would know it's *completely* different if you fucking understood our own codebase vs what X needs you moron.
noobshit: Nah, it's similar. We can accomplish X if we polish up Z a bit.
*** 1 week later ***
noobshit: Omg X is horrifying and complex. We can't do it without a huge refactor.
me: yes
me (in my head): Fuck you
***
But guess who's got better career prospects because they're all shiny and positive in front of management?1 -
I was reading the post made by another ranter in which he was basically asked to lower the complexity of an automation script he wrote in place of something everyone else could understand. Another dev commented that more than likely it had to do with the company being worried that ranter_1 would leave and there would be no one capable of maintaining the code.
I understood this completely from both perspectives. It makes me worry how real this sometimes is. We don't get to implement X tech stack because people are worried that no one would be able to maintain Y project in the event of someone leaving. But fuck man, sometimes one wants to expand more and do things differently.
At work I came to find out that the main reason why the entirety of our stack is built in PHP is because the first dev hired into the web tech department(which is only about 12 years old in my institution) only knew PHP. The other part that deals with Java is due to some extensions to some third party applications that we have, Java knowledge (more specifically Spring and Grails) is used for those, the rest is mostly PHP. And while I LOVE PHP and don't really have anything against the language I really wonder what would it be of the institution had we've had a developer with a more....esoteric taste. Clojure, Elixir, Haskell, F# and many others. These are languages and tech stacks that bring such a forward way of thinking into the way we build things.
On the other hand, I understand if the talent pool for each of these stacks is somewhat hard to come up with, but if we don't push for certain items then they will never grow.
The other week I got scolded by the lead dev from the web tech department for using Clojure to create the demo of an application. He said that the project will most likely fall into his hands and he does not know the stack. I calmly mentioned that I would gladly take care of it if given the opportunity as well as to explain to him how the code works and provide training to everyone for it :D I also (in all of my greatness) built the same program for him in PHP. Now, I outrank him :P so the scold bounced out of the window, plus he is a friend, but the fact remains that we reached the situation in which the performance as well as the benefits of one stack were shadowed by the fact that it holds a more esoteric place in the development community.
In the end I am happy to provide the PHP codebase to him. The head of the department + my boss were already impressed with the fact that I was able to build the product in a small amount of time using a potent tech stack, they know where my abilities are and what I can do. That to me was all that matters, even if the project gets shelved, the fact that I was able to use it at work for something means a lot to me.
That and I got permission to use it for the things that will happen with my new department + the collective interest of everyone in paying me to give support even if I ever leave the institution.
Win.13 -
Create an web application(a product of our company). Manager insisted on using X third party API instead of Y third party API.
Now the app is complete.
*Very slow, Shitty User Experience *
I feel shameful for creating such a disaster and also wasted 3 sprints on it. But couldn't do anything because I don't have an authority to take decision which API or technology stack I should use.
Business head and manager had a meeting. Now they want to use Y third party API.
So they called me for discussion, lets me know we will now use Y third party API and it should be completed within a week because we just need to change the API calls in code that's all, despite of knowing all the core logic is built around those API.
Don't know how to react to this :( Want to hit my head on a wall3 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
"four million dollars"
TL;DR. Seriously, It's way too long.
That's all the management really cares about, apparently.
It all started when there were heated, war faced discussions with a major client this weekend (coonts, I tell ye) and it was decided that a stupid, out of context customisation POC had that was hacked together by the "customisation and delivery " (they know to do neither) team needed to be merged with the product (a hot, lumpy cluster fuck, made in a technology so old that even the great creators (namely Goo-fucking-gle) decided that it was their worst mistake ever and stopped supporting it (or even considering its existence at this point)).
Today morning, I my manager calls me and announces that I'm the lucky fuck who gets to do this shit.
Now being the defacto got admin to our team (after the last lead left, I was the only one with adequate experience), I suggested to my manager "boss, here's a light bulb. Why don't we just create a new branch for the fuckers and ask them to merge their shite with our shite and then all we'll have to do it build the mixed up shite to create an even smellier pile of shite and feed it to the customer".
"I agree with you mahaDev (when haven't you said that, coont), but the thing is <insert random manger talk here> so we're the ones who'll have to do it (again, when haven't you said that, coont)"
I said fine. Send me the details. He forwarded me a mail, which contained context not amounting to half a syllable of the word "context". I pinged the guy who developed the hack. He gave me nothing but a link to his code repo. I said give me details. He simply said "I've sent the repo details, what else do you require?"
1st motherfucker.
Dafuq? Dude, gimme some spice. Dafuq you done? Dafuq libraries you used? Dafuq APIs you used? Where Dafuq did you get this old ass checkout on which you've made these changes? AND DAFUQ IS THIS TOOL SUPPOSED TO DO AND HOW DOES IT AFFECT MY PRODUCT?
Anyway, since I didn't get a lot of info, I set about trying to just merge the code blindly and fix all conflicts, assuming that no new libraries/APIs have been used and the code is compatible with our master code base.
Enter delivery head. 2nd motherfucker.
This coont neither has technical knowledge nor the common sense to ask someone who knows his shit to help out with the technical stuff.
I find out that this was the half assed moron who agreed to a 3 day timeline (and our build takes around 13 hours to complete, end to end). Because fuck testing. They validated the their tool, we've tested our product. There's no way it can fail when we make a hybrid cocktail that will make the elephants foot look like a frikkin mojito!
Anywho, he comes by every half-mother fucking-hour and asks whether the build has been triggered.
Bitch. I have no clue what is going on and your people apparently don't have the time to give a fuck. How in the world do you expect me to finish this in 5 minutes?
Anyway, after I compile for the first time after merging, I see enough compilations to last a frikkin life time. I kid you not, I scrolled for a complete minute before reaching the last one.
Again, my assumption was that there are no library or dependency changes, neither did I know the fact that the dude implemented using completely different libraries altogether in some places.
Now I know it's my fault for not checking myself, but I was already having a bad day.
I then proceeded to have a little tantrum. In the middle of the floor, because I DIDN'T HAVE A CLUE WHAT CHANGES WERE MADE AND NOBODY CARED ENOUGH TO GIVE A FUCKING FUCK ABOUT THE DAMN FUCK.
Lo and behold, everyone's at my service now. I get all things clarified, takes around an hour and a half of my time (could have been done in 20 minutes had someone given me the complete info) to find out all I need to know and proceed to remove all compilation problems.
Hurrah. In my frustration, I forgot to push some changes, and because of some weird shit in our build framework, the build failed in Jenkins. Multiple times. Even though the exact same code was working on my local setup (cliche, I know).
In any case, it was sometime during sorting out this mess did I come to know that the reason why the 2nd motherfucker accepted the 3 day deadline was because the total bill being slapped to the customer is four fucking million USD.
Greed. Wow. The fucker just sacrificed everyone's day and night (his team and the next) for 4mil. And my manager and director agreed. Four fucking million dollars. I don't get to see a penny of it, I work for peanut shells, for 15 hours, you'll get bonuses and commissions, the fucking junior Dev earns more than me, but my manager says I'm the MVP of the team, all I get is a thanks and a bad rating for this hike cycle.
4mil usd, I learnt today, is enough to make you lick the smelly, hairy balls of a Neanderthal even though the money isn't truly yours.4 -
In one of my first jobs i developed an (ugly and heavly under-payed) e-commerce/media platform for a customer.
That customer was constantly making fun of his bald partner telling how he was gay, liked dicks, etc., drawing dicks and bananas as sample website logos or uploading dildo/penis images as images, he was always like this.
Once the website was ready for production i removed all the "testing" posts and images and told the client to insert some real content and alert me when it was ready for release.
Well some time after the release i got a call from that client, for the first time he was serious:
C: Hi, why there are dildo images on the server? (the website in production was full of dildo/penis images instead of actual product images, he even photoshopped the head of his partner on a penis and uploaded it!!!)
R: ehm... i told you it was on production and to stop uploading bad content....
C: Ummm ok, please fix it immediatly, thanks!3 -
I dive in head first.
Some existing program annoys me, so I get this itch to write a selfhosted Spotify in Go, or a conky with 3D graphics in Rust.
I check the homepage of the language, download the tools, check which IDE is great for it.
Then I just start writing code, following the error corrections thrown by the IDE, doing web searches for all errors. Then when I run into a wall, I might check the reference docs or a udemy course.
Often I don't finish the project, because time is limited and I still have 4 million other things to do and learn, but at least I've learned a new language/tech.
Con: For tech which uses unique paradigms like Rust's memory management or Go's Goroutines, it can be frustrating to bash away at a problem using old assumptions.
Pro: By having a real demand for a product with requirements instead of a hello world or todo app, it's much easier to stay motivated, and you learn beyond what courses would teach you.5 -
5 of us working for a larger team were tasked with doing some R&D, we blew everyone away and were given funding to start a new team and hire people to make the project come to life.
One of the high level sales / product managers we were reporting to, secretly had another team work on a similar idea because he needed it quicker (i.e. no time for research, just build it).
After forming new team, we were asked to work on his project instead because it was further along. 4 months later, big knob comes to a meeting and basically says "You know what, this doesn't look like we have enough features, we need more, but I don't know what".
Project blew up 2 months later, head of the unit kicked up a shit storm saying how badly everything was planned and canned everything. Now one of our clients is building nearly the same thing we were originally working on, the team no longer exists and i'm back on the R&D team.
Don't get me wrong, I LOVE the R&D team, actually didn't want to leave in the first place but was told I had to. But the sheer anger and frustration to see that walking cluster fuck strutting around like his shit doesn't stink, derailing entire teams, meanwhile we can't hire new staff due to lack of funding.
Heres an idea, fire the fucktards bleeding us dry ... then we'll have lots of funding. -
"Impossible deadline experience?"
When product owners promise delivery dates.
One day, I came back from a two weeks holiday, relaxed. I noticed a teammate missing. "Yes, he took the week off". Sure, why not.
We were working under a bastardized enterprisey version of Scrum (didn't we all at some point?). So we didn't just have a product owner, we had three and an additional "Head of PO". Because enterprises can't live without hierarchies or something. Barely an hour after I came into office, she entered the room and came straight to me. "Your coworker was almost done implementing feature X. You need to finish it immediately. No worries, though, coworker said the rest is a piece of cake".
It wasn't. There was *a lot* left to do, the JIRA task wasn't entirely clear, and the existing code for the feature was so-so (obviously WIP code). I estimated two weeks for the implementation, plus some time to clarify the requirements. When telling "Head of PO" she lost her shit. Screaming things like "this feature is due the end of this week" and "I signed this with my blood!". Well, I didn't, and I made it clear that I hadn't been consulted on this, thus I would not accept any blame in case we missed the deadline.
So I gave my best that week, getting pestered by "Head of PO" all the time. "Is it done yet?", "why does it take so long?" and "your coworker would've been done by now!". Yeah fuck you, too. Not only was I not relaxed any more, I was even more stressed than before my holiday! Thanks, you stupid bitch.
Well, her arbitrary deadline came and the feature wasn't ready. And what happened was... exactly nothing. The following week my coworker returned, who gave me an apologetic smile. "I told her the feature was nowhere finished. And even me, being familiar with the task, couldn't make it in time". We finished the feature together that week, and that was the end of it. So... "Head of PO" either didn't listen or lied to me. She then stressed me to the max right from the day I came back from my holiday. And in the end it didn't even matter.
Again, thanks you stupid bitch, for creating a toxic work environment. Should you ever read this, I'm happy I quit and I hope you miss every single deadline for the rest of your life. Screw you.8 -
As if my head couldn’t get any bigger... today we had the guys from the static analysis tool come in to show us how to use the tool and all that... the guys tell us don’t be alarmed, everyone who runs the tool for the first time has thousands and thousands of errors... my co worker did his as a “demo” and had 44 thousand MISRA errors. And a McCabe Complexity score of 700 in main().. I laughed ... and he and the guys from the tool laughed and said well fine then let’s see yours... so they set mine up to run, the room was silent, as I just smiled... only 2 MISRA mandatory errors.. and a few dozen required MISRA errors. My main McCabe score was 13.... understand both software project are working, and do very similar functions, only difference is different generation of product and who programmed it...
My boss walked in the room ... and says sooo how bad was Chris’ code as a joke... and the static analysis tool guys (who literally check people’s code for a living!) says ugh no sir, you have a very talented software engineer on your hands... we’ve never seen someone run the tool and have that few of issues... my co worker was very jealous to say the least... -
This day I have received the most glorious news in e-pistolary form. For some years, I was suffering in support of a client who was, well, insufferable. My presence there paralleled the divine comedy in both essence and fact.
I opened the missive, expecting another plea to bail them out of whatever clusterfuck they found themselves in. Instead, what I found was something truly magical.
"Hey Human,
I hope this finds you well. I'm not sure if you remember a few years back, we were trying to decide between IBM Cloud and AWS. Well, after years of battling FF*, we're finally moving ahead with AWS. He failed one too many times to deliver anything visibly. After you left, there was no one left he could use to steal credit, ideas, and work.
FF is still pushing to have them use IBM cloud as a "warm backup" in the event "AWS fails." We will see where that goes.
I figured you'd like to know; you were the void in the wilderness for a long time. I don't want to think about how much time we could have saved if we had just listened.
PeeEm**"
This event represents a personal victory, albeit belated, over a few peoples' absurd amount of privilege. Towards the end, I was vicious about my contestation to the insanity of adopting a desperate hedge attempt-as-cloud offering from a failing company. Some examples:
// cloud 'strategy meeting'
Moi: What cloud platform are we looking at using?
FF: We're looking at IBM cloud and AWS as a second.
Moi: Why is that? I understand you're obligated to rep your offering first, but that decision doesn't seem to have the customer's best interest at heart.
FF: IBM cloud is a market leader; AWS isn't as good.
Moi: I see. I mean, that's the tech equivalent of the company's fleet management considering monkeys on tricycles as a strong competitor to service trucks, but I get what you mean.
// steering meeting
Director: Who can we look to as an example? Who is currently using the IBM cloud?
Moi: No one; they account for a single-digit portion of the actual cloud market. Their long game to sell you a "Hybrid Cloud," which means put some front end payload in a CDN, and buy n-frame units of IBM z servers for the DC with IBM gateway appliances acting as connective tissue. So it's not the cloud at all, really.
Director: How does it compare in cost?
Moi: It's generally 40% more expensive than other clouds, and it only goes higher as you option their software.
Director: What about Watson? I hear Watson is good?
Moi: It's a brand name. Most of the "Watson" product is just a facade on top of FOSS products like Spark, Hadoop, Elasticsearch, etc.
Director: Those were words. They sounded good. FF say it's good tho so we'll believe him because we're from the same city.
Moi: *deletes Director from LinkedIn*
Moral of the story: Never trust a vendor that only recommends their products.
*FF = FatFuck - an embarrassingly rotund individual whose girth is roughly equivalent to his height. He shit his way into an IBM architect position in his mid-20s purely due to winning the visa lottery. He had fake hair glued to his head for his wedding to hide his male pattern baldness; his arrange-married wife undoubtedly cries herself to sleep after sex.
**PeeEm - the then project manager, now portfolio manager of some satellite projects. An overall decent human being, capable.9 -
tldr:
first year in college we programmed 24 hrs straight to fix somebody's mess before the deadline. Decided not to screw him over, instead he claimed to have done everything and we failed the assignment.
Long version:
var group= new[]{"Mike", "Gavin", "Gus", "I", "Ben" };
var client = "Jack"';
First year of college we had an assignment to make a web program for somebody.
Ben wanted to join our group and he already knew a client so we let him join.
After joining Ben wanted to be project lead, but we already decided Mike based on his experience.
Ben claimed to be much better in every way than Mike at and kept coming with stuff the following weeks why we should make him project lead. He kept pointing out when Mike did something wrong and he even came with an audio file where he clearly made jack say that he wanted Ben to be project lead .
After that we were all a bit pissed and told him that he should get it in his head that he was not going to be project lead and just start working on his part of the assignment.
We also found out that Ben was a documentation addict, what we could write in a small paragraph, he wrote a whole page about it. No joke, I rewrote a page of his in 5-6 rows with the same information in it.
No problem you thing, wrong! Because of this he kept bothering us arguing and claiming that our documentation was wrong because it was to short.
In the week of the deadline we asked Ben if he was also done, and told us that he was done for a while now.
The day before the deadline we came to school thinking we only had to do some merging and finishing up documentation.
Then we found out that Ben has almost nothing, and what he had the IDE was screaming that it was incorrect, spaces in Id's and css class names for instance. A really good programmer, my ass!
We were so pissed off at this point, but we had 24 hrs and needed to come up with a plan to fix it.
We decided that Mike and I were going to fix Ben his shit in the coming 24 hrs and Ben was going to make our last bit of documentation because we would not have the time for that, Especially if we had to argue with him like we had to do for each bit of documentation. Gus did not have time and Gavin could not program on his own yet, he wanted to help, but helping him help us would cost more time than we had.
We all went home after that and Mike and I started to program 24 hours straight while in a Skype call, making what Ben had 2 months for. Shortly before the deadline Mike looked at our finishing up documentation received from Ben and told me it was "Okay" and zipped everything up and uploaded it to school with a few minutes to spare.
After that we thought everything was good, we made Ben's part work and delivered it in time. We also decided not to throw Ben under the bus, because this would hurt all our grades because we did not work good as a group since we should have noticed it earlier.
A few weeks go by till the assessment.
The assessment start with asking if we want individual grades or as a group when you all think you did equal amount. We choose as a group, because if we chose individual not only Ben but also Gavin would get a lower grade and we did not think that was fair because he tried so hard.
We demo the product and the teachers are positive. When the teachers start about the documentation, the first thing they tell is that they found something interesting in the documentation, and they read it to us:
"I, Ben, have made all the documentation because my group did not want to."
That was so far from the truth, we all did make our documentation about the parts we made. Yes he did do overall a little bit more because every single bit of documentation we had to argue with him, so every time he volunteers to make it, we would all agree. And he made Mike's and i's last bit of documentation.
Telling the teachers on that point would not have mattered, it would only have hurt is in another way, so we did not and all failed the assignment. And we all felt like to strangle him.
This is now a few years back, but i still want too.1 -
Angular is still a pile of steaming donkey shit in 2023 and whoever thinks the opposite is either a damn js hipster (you know, those types that put js in everything they do and that run like a fly on a lot of turds form one js framework to the next saying "hey you tried this cool framework, this will solve everything" everytime), or you don't understand anything about software developement.
I am a 14 year developer so don't even try to tell me you don't understand this so you complain.
I build every fucking thing imaginable. from firmware interfaces for high level languaces from C++, to RFID low level reading code, to full blown business level web apps (yes, unluckily even with js, and yes, even with Angular up to Angular15, Vue, React etc etc), barcode scanning and windows ce embedded systems, every flavour of sql and documental db, vectorial db code, tech assistance and help desk on every OS, every kind of .NET/C# flavour (Xamarin, CE, WPF, Net framework, net core, .NET 5-8 etc etc) and many more
Everytime, since I've put my hands on angularJs, up from angular 2, angular 8, and now angular 15 (the only 3 version I've touched) I'm always baffled on how bad and stupid that dumpster fire shit excuse of a framework is.
They added observables everywhere to look cool and it's not necessary.
They care about making it look "hey we use observables, we are coo, up to date and reactive!!11!!1!" and they can't even fix their shit with the change detection mechanism, a notorious shitty patchwork of bugs since earlier angular version.
They literally built a whole ecosystem of shitty hacks around it to make it work and it's 100x times complex than anything else comparable around. except maybe for vanilla js (fucking js).
I don't event want todig in in the shit pool that is their whole ecosystem of tooling (webpack, npm, ng-something, angular.json, package.json), they are just too ridiculous to even be mentioned.
Countless time I dwelled the humongous mazes of those unstable, unrealiable shitty files/tools that give more troubles than those that solve.
I am here again, building the nth business critical web portal in angular 16 (latest sack of purtrid shit they put out) and like Pink Floyd says "What we found, same old fears".
Nothing changed, it's the same unintelligible product of the mind of a total dumbass.
Fuck off js, I will not find peace until Brendan Eich dies of some agonizing illness or by my hands
I don't write many rants but this, I've been keeping it inside my chest for too long.
I fucking hate js and I want to open the head of js creator like the doom marine on berserk19 -
The Setting:
Ola Cabs (One of the biggest competitors of Uber, for those who don’t know) comes to college to recruit software devs:
✅ Pre-placement talk
Now time for the aptitude/code round. Hackerearth used as the solution to run the test and compile code, as well as check the result immediately. Or so I thought.
3 programming questions, 2 hours.
The problem:
Me: *Write the code for the first question* (and I know it’s correct)
Me: Clicks “Compile and run”
Compiler: *Compiling*
*LITERALLY ONE FUCKING HOUR LATER*
Compiler: *Still compiling*
Hackerearth. What a fucking joke. Though the course of the HOUR I waited, I kept questioning the recruiter head from Ola and his response was:
Recruiter: “Try the other program, it’s possibly a problem with your code. I’ll check at my backend also, hold on.”
YOU FUCKING DIMWIT. MY CODE IS PERFECT AND EVEN IF IT WASN’T IT WOULDN’T TAKE MORE THAN A MINUTE (If you’re factoring in absolutely worst cases) TO COMPILE THIS SMALL ASS FUCKING PROBLEM’S CODE.
In the meanwhile I even coded one of the other remaining questions’ solution and the shit still didn’t work.
At the end of the 2 hour time limit, I’d finished code for all 3, the recruiter stops us all from coding and says:
Recruiter: “Just submit your code, we will evaluate it and get back to you.”
Like fucking hell, asshole.
*One hour post interview*
EVERYONE who attempted the aptitude code round (At least 30 of us) receive messages on our phones:
“Unfortunately you did not clear the aptitude round and we will not be able to take your application forward.”
FUCK YOU OLA. IN ONE FUCKING HOUR YOU “EVALUATED” ALL OF OUR CODE? FUCK YOU HACKEREARTH FOR YOUR SHIT FUCKING EXECUTION OF A “SOLUTION”. Maybe test your own fucking product before offering a solution to companies.
Fucking lost opportunity.3 -
I work as a consultant and my company wanted to send me on an engagement at a client who's main product is a well known online coding course. Their whole product is teaching lay people how to code. They decided the night before I was going to start that they didn't want me consulting with them because I "didn't have a CS degree."🤔
(PS: Their head of curriculum was actually a mentor and teacher of mine instrumental in my becoming a programmer...)
SMH2 -
I'm a student at a cyber education program. They taught us Python sockets two weeks ago. The next day, I went home and learned multithreading.
Then, I realized the potential.
I know a guy1 who knows a guy2 who runs a business and could really use an app I could totally make. And it's a great idea and it's gonna be awesome and I'm finally gonna do something useful with my life.
All I gotta do is learn UI. Easy peasy.
I spent the next week or so experimenting with my code, coming up with ideas for the app in my head and of course, telling all my friends about it. Bad habit, I know.
Guy1 was about to meet Guy2, so I asked Guy1 to tell Guy2 about my idea. He agreed. I reminded him again later that day, and then again in a text message.
The next day, I asked him if he remembered.
Guess what.
I asked him to text Guy2 instead. He came back to me with Guy2's reply: "Why won't he send me a message himself?".
So I contacted Guy2. After a while, he replied. We had a short, awkward conversation. Then he asked why he should prefer a new app over the existing replacement.
He activated my trap card. With a long chqin of messages, I unloaded everything I was gathering in my mind for the last week. I explained how he could use the app, what features it could have and how it would solve his problem and improve his product. I finished it off with the good old "Yeah, I was bored😅" to make the whole thing look a bit more casual.
Now, all that's left to do is wait.
...
Out of all the possible outcomes to this situation, this was both the worst the least expected one.
I'm not familliar with the English word for "Two blue checkmarks, no reply". But I'm certain there is no word in any language to describe what I'm feeling about this right now.
By that point, Guy1 has already made it clear that he's not interested in being my messanger anymore. He also told me to let the thing die, just in case I didn't get the hint. I don't blame him though.
It's been almost a week since then. Still no reply from Guy2. I haven't quite been able to get over it. Telling all my friends about it didn't really help.
Looking back, I think Guy2 has never realised he has that problem with his product.
But still, the least he could do is tell me why he dosen't like it...
"Why won't he send me a message himself?" Yeah, why really? HMMM :thinking:
You know what? If I ever somehow get the guts to leave my home country, I'm sending a big "fuck you" to this guy.9 -
Haven't ranted in a while so here it goes.
Head of product took me (senior dev) to a high value client workshop/demo session and over the course of two days found the reason behind why the dev team has been pushed to the limit as of late and sales/product team has been making promises to clients without checking with dev leaders on reasonable delivery dates on massive new features.
I tried my best to manage expectations by differing talking about delivery dates by saying "lets discuss that with the team" rather than giving out dates right now. But as soon as the meeting ends he sends an email to the client confirming delivery dates on features that we have done no research on or even specialize in!
Please tell me this is not how well established businesses work or is that the new reality of things. In either case I wanna find a new job :/2 -
So, rant!
So, global-huge-paradigm-shift project moving forward. Lots and lots of architects of multiple sites world-wide, stakeholders and business peeps and sub-corp manager and head-of-fucking-everything-of-multi-billion-dollar-CEO involved with different amounts of energy and passion.
Huge amount of money involved. Not only for the multi-year project endeavour but also in licensing costs for the years and years to come.
It's a big deal for the corporation.
And it's clowns everywhere. Leadership, project leads, technical project leads, architects. Am I one of them? I don't think so because everyone is mad at me. Since I cause trouble. Since I tend to say that I don't give a FUCK about the product being a Gartner Visionary player if you can't test the fucker properly...
Last week I attended a workshop in USA (I live in Europe) regarding this change which left me with a bad taste in my mouth. I am so far away from my comfort zone.
To these people (me?) get payed for this work? Is this really relevant? Why the FUCK did I need to go to a different continent? "The "Core team" need to be on site". Yeah, right. Fuck you Mr Project Leader, I can tell you are far, far away of being on-top of this thing...
Pointless.
It's pointless.
But I guess this is why you get payed.
Work.
Tomorrow is Tuesday and I think I will raise my hand yet again and explain to all I meet that I see HUGE risks with this project as it goes along right now. We kind of make things and that has to, you know, work. NOT making things for 1 hour is... well, that is really, really bad.
I give this project ten percent chance of succeeding above the set thresholds for all different areas/functionality. (I am sure the fuckers will alter the thresholds to show off a "successful project". Fuckers.2 -
A random story that just popped back into my head while reading another rant:
Long ago, we developed our own webmail platform at the request of clients. After it was finished, it was never updated and eventually turned into an outdated insecure steaming pile of crap. Up until ~2015, it looked like the first iteration of AOL Mail from the 1990s (and it functioned as such too.) Years, we decided to sunset the platform, and allotted 6-months or so to transition all the active users off the platform and over to an alternative email provider. We had to call each client multiple times and send multiple emails with a deadline detailing when the service would be shut down, and we'd explain that if they didn't transition over to a new service and transfer all their emails before that date, then the emails would be lost forever. Lo and behold, a handful of clients ignored our repeated contact attempts, and we shut down their email service (as we told them that we would.) Of course, they called screaming and panicking "OUR EMAIL IS DOWN OUR EMAIL IS DOWN WE'RE LOSING MONEY FIX IT NOW!!!!," and we told them "We attempted to contact you multiple times, and you neglected to return our numerous calls or emails. We're happy to help you transition your old email addresses to this new provider, but because you neglected to follow the cushy deadline we provided you, all of your emails are gone."
Of course, they denied having ever received our calls/emails, and we'd have to provide them with our outgoing call recordings to prove that we did in fact contact them multiple times. Then they'd blame the mishap on their secretary, who would blame it on the intern, who would blame it on the IT guy, who would blame it on the janitor, and so on and so forth.
Moral of the story: always keep outgoing call recordings when you're sunsetting a product.1 -
I just watched https://youtube.com/watch/... - towards the (very) end he's talking about how software developers rule the world... and I just realized something.
A while back, I was working on an accounting sub system for a SaaS product. We managed some of the revenue of our customers and had the accounting for that part as well. Revenue + Payments (with all the VAT / sales tax / ... that you need to have). BUT no expenses.
One day, the head accountant of a customer, angrily demanded that we immediately implement a new payment method, called commission.
You don't need to be an accounting expert for knowing, that a commission is an expense you have because somebody else marketed / sold your product / service for you. Making it a payment method is probably wrong. With a bit more knowledge you'd know that the taxes which are around expenses are completely different to revenue or payments. (btw payments didn't even have any taxes in those countries that we covered at that time at least).
So there I was standing, a software developer, trying to explain the product manager and the head accountant of our customer, that the idea is beyond stupid, and the fact that it comes from an accountant is super scary to me. (he was usually extremely picky about everything we did.)
Luckily, it was easy to convince the manager. He tried to explain it to the accountant but that person just didn't get it.
as if designing resilient distributed systems, which have 99,99% up time weren't hard enough, we also need to be experts in every domain that we have to deal with? And if there is a tiny bug and one out of 10s of thousands of transactions is screwed up, people start panicking and "loose trust in the product"? - what the hell is wrong with them?
Luckily it's a minority of customers only, but each of them is such a pain. Do you also have customers like that? who should know better, but somehow you are the expert in their domain?2 -
After demoing a PoC of a new approach in our flagship product the CEO begged me to shoehorn it into the product. Complete do-over of the core architecture of our product. Spent two weeks basically living at work. Two weeks of pouring everything I had to deliver. Beaten, battered, bruised, I got the impossible done. As I'm walking out to go home to my family Friday afternoon, visibly exhausted and frazzled, the project manager calls me into her office. "Oh no" I thought. With a straight face, she proceeds to inform me some meaningless text wasn't the right color. I stared at her a second, shook my head in disbelief and went home.
As developers/architects we move mountains and perform miracles, but it's the color of the text that _really_ matters.3 -
So at our company, we use Google Sheets to for to coordinate everything, from designs to bug reporting to localization decisions, etc... Except for roadmaps, we use Trello for that. I found this very unintuitive and disorganized. Google Sheets GUI, as you all know, was not tailored for development project coordination. It is a spreadsheet creation tool. Pages of document are loosely connected to each other and you often have to keep a link to each of them because each Google Sheets document is isolated from each other by design. Not to mention the constant requests for permission for each document, wasting everybody's time.
I brought up the suggestion to the CEO that we should migrate everything to GitHub because everybody already needed a Github account to pull the latest version of our codebase even if they're not developers themselves. Gihub interface is easier to navigate, there's an Issues tab for bug report, a Wiki tab for designs and a Projects tab for roadmaps, eliminating the need for a separate Trello account. All tabs are organized within each project. This is how I've seen people coordinated with each other on open-source projects, it's a proven, battle-tested model of coordination between different roles in a software project.
The CEO shot down the proposal immediately, reason cited: The design team is not familiar with using the Github website because they've never thought of Github as a website for any role other than developers.
Fast-forward to a recent meeting where the person operating the computer connected to the big TV is struggling to scroll down a 600+ row long spreadsheet trying to find one of the open bugs. At that point, the CEO asked if there's anyway to hide resolved bugs. I immediately brought up Github and received support from our tester (vocal support anyway, other devs might have felt the same but were afraid to speak up). As you all know, Github by default only shows open issues by default, reducing the clutter that would be generated by past closed issues. This is the most obvious solution to the CEO's problem. But this CEO still stubbornly rejected the proposal.
2 lessons to take away from this story:
- Developer seems to be the only role in a development team that is willing to learn new tools for their work. Everybody else just tries to stretch the limit of the tools they already knew even if it meant fitting a square peg into a round hole. Well, I can't speak for testers, out of 2 testers I interacted with, one I never asked her opinion about Github, and the other one was the guy mentioned above. But I do know a pixel artist in the same company having a similar condition. She tries to make pixel arts using Photoshop. Didn't get to talk to her about this because we're not on the same project, but if we were, I'd suggest her use Aseprite, or (at least Pixelorama if the company doesn't want to spend for Aseprite's price tag) for the purpose of drawing pixel arts. Not sure how willing she would be at learning new tools, though.
- Github and other git hosts have a bit of a branding problem. Their names - Github, BitBucket, GitLab, etc... - are evocative of a tool exclusively used by developers, yet their websites have these features that are supposed to be used by different roles other than developers. Issues tabs are used by testers as well as developers. Wiki tabs are used by designers alongside developers. Projects and Insights tabs are used by project managers/product owners. Discussion tabs are used by every roles. Artists can even submit new assets through Pull Requests tabs if the Art Directors know how to use the site interface (Art Directors' job is literally just code review, but for artistic assets). These websites are more than just git hosts. They are straight-up Jira replacement with git hosting as a bonus feature. How can we get that through the head of non-developers so that we don't have to keep 4+ accounts for different websites for the same project?4 -
Tech management and leadership are the most toxic and cancerous folks of any organisation.
In all my past experience, I have encountered nut jobs.
If it were just me, then entire product or design org won't be suffering. What helps me confirm this hypothesis is every engineer who work for such retards is suffering and fighting for their existence.
We have monkey business going on with our CTO and his ass licking engineering head. -
I took a job with a software company to manage their product, which was a SaaS property maintenance system for real estate, social housing, etc.
There was no charge to real estate agents to use it but maintenance contractors had to use credits to take a job, which they pre-purchased. They recharged their credit costs back to the real estate agent on their invoice).
Whether this pricing model is good or not, that's what it was. So, in I came, and one of the first things management wanted me to deal with was a long-standing problem where nobody in the company ever considered a contractor's credits could go into the negative. That is, they bought some credits once, then kept taking jobs (and getting the real estate agent to pay for the credits), and went into negative credits, never paying another cent to this software company.
So, I worked with product and sales and finance and the developers to create a series of stories to help get contractors' back into positive credits with some incentives, and most certainly preventing anyone getting negative again.
The code was all tested, all was good, and this was the whole sprint. We released it ...
... and then suddenly real estate agents were complaining reminders to inspect properties were being missed and all sorts of other date-related events were screwed up.
I couldn't understand how this happened. I spoke with the software manager and he said he added a couple of other pieces of code into the release.
In particular, the year prior someone complained a date on a report was too squished and suggested a two-digit year be used. Some atrocious software developer worked on it who, quite seriously, didn't simply change the formatting of that one report. No, he modified the code everywhere to literally store two-digit years in the database. This code sat unreleased for a year and then .... for no perceivable reason, the moron software manager decided he'd throw it into this sprint without telling me or anybody else, or without it being tested.
I told him to rollback but he said he'd already had developers fixing the problems as they came up. He seemed to be confident they'd sort it out soon.
Yet, as the day went on more and more issues arose. I spoke to him with the rest of the management team and said we need to revert the code but he said they couldn't because they hadn't been making pull requests that were exclusive to specific tickets but instead contained lots of work all in one. He didn't think they could detangle it and said the only way to fix was "play whack-a-mole" when issues came up.
I only stayed in that company for three months; there was simply way too much shit to fix and to this day I still have no idea the reasoning that went on in the head of anyone involved with that piece of code.2 -
Ok fellow dev's, the engineering head said that he had to let me go because apparently I'm a very talented engineer but I have a bad attitude. All of this because he claims I don't seem too interested in meetings and all that bs.
So from Monday on it's Knowledge transfer time since major parts of our product have been written by me.Wish the head had some balls, and told me he was firing me because I wont suck up to him and be a yes man, bastard thinks you can hire and fire good dev's just like that (he can) .Plus he has never appreciated folks for the effort and the work they do. :(4 -
This is going to be fun. We are switching our phone system to use Zoom and the turn on date is sometime in October (couple of weeks away). I have a feature I'm working on (automated phone calls) that the salesman said was fully functional (jump through a hoop, stand on your head, turn around three times, type of functional). Tried the steps they gave me, got to #3 and there is no virtual agent API call I can find to hand off/transfer the call. Send our contact at Zoom some questions, responds "That is a feature we might put in a future product. Can't do that right now." WTF?!
Other developers are running into similar "How do we get there from here?" issues that features promised, either don't exist or don't work.
One feature in particular I'm receiving a 403 permission denied error.
K: "Feature X needs to be enabled."
Me: "It is."
<send a screenshot showing the feature enabled>
K: "Your account doesn't have permissions. Have the sysadmin elevate you authentication level."
Me: "I'm an admin"
<send a screenshot showing my admin status>
K: "I'll have to get back with you."
Its been 3 days and no update on my ticket. *sigh*3 -
New product owner colleague has a question like every hour, walks right over without considering that I am coding or if my headset is on for obviou reasons.
The questions are not even programming related and more to do with him updating story acceptance criterias for like the next freaking 5 sprints. These are stuff that could take hours to explain what the planned features are to begin with let alone discussing individual stories. I've actually taken my time and spent hrs explaining this shit to him now. Won't take any notes, jus shakes his head and says he understands and comes back asking same question again and again. Best part, he never gets to the point. Instead of asking 'hey for xyz feature do we need that component' he goes on to tell me he talked to this person and that person and he found this out and that out bla bla(like I give a fk..) and then somewhat formulates the question which I swear takes like 10 mins.
Lost count on hw many times he has interrupted me now when I am deep into some debug cos he needed to tell me about how his day went for some reason.
It's one thing to train a new developer but a product owner.. For fk sake. Trying to not be offensive but damn he is pushing it.10 -
People say "Never attribute to malice that which is adequately explained by stupidity."
However, I think companies can and will create anxiety in a product to get you to buy something else, or something more expensive. This would fit with planned obsolescence. You need to update to Windows 11 because Windows 10 will not have support of updates. Fear the viruses!!!
Also, perhaps companies are purposely hiring incompetent people to head up products? So malicious incompetence?
I think the enshitification of tech is on purpose for various reasons. One of them being to create anxiety in people so they accept shittier solutions for all facets of life. Not just tech solutions.
A tech example of this is searches. They want you using AI. What is the end game goal of AI? Is it easier to hide bias?21 -
Any other IT company is like:
* Task -> Designer -> Markup coder -> Backend -> Finish
Our IT company:
Act I: "Art of setting up contact with idiots".
------
Items:
*Cave scripts (aka "typical task")
Designer: -- "DAFUQ?"
Customer: *gives another interpretation*
Designer: -- "Erm... really? White text on white background?"
Customer: -- "Make a decision by yourself. I was expecting much more independence from you. You are an expert after all."
Designer: -- "Well. I'm making decision by myself. The text will be placed *here* and will be gray-colored, because *bla-bla-bla*"
Customer: -- "I disagree."
Designer: *1 hour of silence later* -- "Well...k."
Act II: "Design meets ar(u)tist"
----
Items:
*Something, that was drawn by dumb kid while smashing his own head against desk. (PSD layout)
* Salt (to pour it on open wounds)
Designer: -- "I'm seeing this task *this way*"
Markup: -- "And how do u think i should get this done? Have you even seen what you made?? This is bullshit!"
Designer: -- "It's not bullshit! It's a sci-fi themed layout!"
Markup: -- "With gameplay elements and graphics from Alien Shooter??"
Designer: -- "Well, I don't care." *brings new edits and changes*
Markup: -- "????"
Designer: *smug face* -- "!!!"
Act III (7 days later, 9 hours till deadline): "Short story about boy, who was trying to hang himself, but instead fell out from window."
----
Items:
*Markup, smelling like it went through hell and back (x1)
* Markup coder with fried butt (x1)
Backend: -- "What. Is. THAT?"
Markup: -- "It's a work we should complete in 9 hours."
Backend: -- "WE?? I know u mean me, but that's a nightmare. What the f*ck were you doing all this time?"
Markup: -- "Well..." *finds out that he was only watching films and sleeping* "I was making this thing up..."
Backend: -- "You mean "f*cking" *this* thing "up"?"
Markup: -- "Not without it"
(*3 hours of edits and changes of color from white to white later*)
Backend: -- "Well, let's do this."
*Picks PHP and tries to bundle it up with MongoDB. After some time tries to rewrite everything to JS and starts shouting something like "F***CK" and looking for window to walk through. Figures out that he is on first floor. And that he is too lazy to go upstairs*
Act IV (3 days after deadline): "Pain and misery":
-----
Items:
*Something covered with insul(t)ating tape. (Final product)
Customer: -- "Really?"
Team: -- "Kinda."
Customer: -- "Well, thanks for your work anyway. It feels like it's going to disassemble right in my hands but it just works. Oh, also, you didnt made this in time, so your payment will be over9000 times lower. That's all"
Backend, on fluids: -- "Well...yeah..."
Markup: -- "Don't look at me like that. I really was doing my job."
Designer, with twitching eye: -- "Huh, I see. You worked so hard that we have nothing to eat now. Thanks for that."
Backend: ...1 -
Why are OSS maintainers so fucking incompetent and cocky? A documentation clearly says to use "use_parent_assets: true" when creating a child theme. Yet not a single fucking line of code actually checks that value. The fix is literary a single if(value) assets = deepMerge(parentAssets, assets). But because some contributor somewhere didn't write that line to the maintainer's liking, it's been hanging in the air for months.
Take your head of of your ass, there's thousands of people paying for support & addons for your product, and you can't add one fucking line to fix a rather critical bug.6 -
I work as part of a small international team in a big corp , we work product quality of sorts but work closer to dev than qa , last week we found several giant issues and reported them in . Dev and Qa teams of said project are Indians . Meeting starts , two of my colleagues are indian as well , so dev , qa and all the other involved parties from india decided they should join in from the same conference room . My manager(he's a brit) presents the issues . Dev manager starts talking , qa manager talks over him , they start to formally yell at one another . One of them (couldn't figure out which one) started asking my two colleagues which one of them found these issues . At this point I had already passed a headphone to my ex-colleague who still sits next to me , he looks at me when he hears the question . I panic . Colleagues say they don't know (*phu* I didn't CC them in emails and my manager didn't tell them ) . My manager tells them to calm down , take responsibility and find solutions else he'll veto the product back into fullblown development . Other managers start growling and fighting again (more than 10 people were in the same room arguing) me and my ex-colleague decide to go take a coffee since I didn't have a saying in the meeting . We get back 10 minutes later , indians are still arguing over my manager trying to explain the issues a 4th time . I IM my manager and ask to drop the meeting , he gave me the ok and I dropped out, my head was hurting after an hour long meeting of angry indians arguing in a conference room and it kept hurting the whole day...yeah...meetings...fun time...
-
Update about my boss:
I was early too judge. Maybe still early to form an opinion.
But dude seems pretty level headed. Yes, he is agressive. Yes, he has weird way of complicating things.
But I got to learn things from him. I earned his trust, just like I did in the past with other managers. He is confident about my performance now. He gave me space to ramp up and pushed me to limits.
But now, Floyd is settled. Maybe with time, I might get occasional unpleasant interactions, but those are part of every job.
However, we as a society decided to be in agile mode. Fix a problem and the solution gives rise to another one.
The business head of my pod is going crazy over the deliverables.
They were surviving for years with a product manager. Everything was driven by tech without any research.
And now when I am in, they want everything to be done yesterday.
We spent some decent amount of time on strategy and it turned out to be good. Now they are questioning that why ain't I delivering?!
It's been a week we finalised the strategy, let me get some space and time to structure and plan the execution.
Business heads are pretty nice and level headed people. Just that I don't understand the sense of urgency. I get it that my pod often has to deal with fire fighting given the nature of the business, but holy fuck! Stop pressurising to deliver everything together on a war foot.
They are like, we'll ask for more resources. But whose gonna tell them that 9 women cannot deliver a baby in 1 month.
I need time for discovery and research. Without that, don't expect impact.
As the only PM space, leading the entire vertical, how can I even focus on multiple initiatives?
I really miss my previous life of my first company. It's exactly an year when I left them and I changed two companies since then.
My learning and earnings sky rocketed, but WLB took a toll.
I miss the time when I could finish my work in an hour and did whatever the fuck I want while at work like browsing new topics to learn, exploring places, attending events, connecting with people, making social posts to learn, finance as a hobby, yada yada..
These days, I feel too burned out. Not that I am worried about job stability, because I trust my skills.
But more due to the fact that I have to constantly focus on work for the time I am in office. No free space or time to collect myself together, process things, and focus.
This leads me to thinking about work (read processing office discussions), at home too.
I cannot enjoy music. Feels like a load.
I no longer attend events or meet people after work. No more wasting time on the internet.
And most importantly, I am not bored anymore. I miss being bored. I miss living a boring, mediocre lifestyle.
I miss doing my side projects and polishing my portfolio site ten times a day, because I got nothing better to do.
I used to spend time learning right grammar and why American and English words are different and which to use where.
I miss spending time of Google Maps exploring borders and remote regions.
Weekends fly by. No hobby to pursue. No free time.
I miss the days when I had nothing to do and I was bored and I could do anything.
I used to be always happy. Because no responsibilities. I used to be always up for a meetup. I used to be available for a phone call.
Now it's nothing but work which is surely exciting and some foundational learning with good enough money, but I miss my time when I used to get bored because I had nothing to do.5 -
I maintain two websites for my employer. The head of my department and my manager decided it’s best for me to focus my time on website A and website B should be replatformed to an out of the box solution. For website B, we’d work with our IT team to find something suitable.
I did some research and came up with a list of possible solutions. IT looked into solutions that would work with the org’s best practices for tech. A few sales pitches and demos were arranged with the top choices.
Stakeholder for website B is really digging in her heels. SH keeps badgering our Product Manager and IT about why can’t we just build in-house. The out of box solutions don’t do everything she wants.
PM tells SH that no solution will be perfect. PM also reminds SH that comparable institutions just use Google sheets/forms and do everything by hand. So choose an out of the box platform or use Google forms.
Plus, the list of improvements the SH wanted for website B would take at least a year if I did them on my own and there’s no budget to out source the labor. That’s not counting bring the code up to best practices or improving database efficiency.
I’m glad I don’t have to work with Stakeholder anymore. SH and her department were just a pain. They want a lot of custom tech solutions but they freak out at the smallest talk about tech issues. -
Apologies if this has been asked here before, but I wanted an open feedback on a query: Is there such a thing as overdocumenting?
I take pride in being a very articulate developer, being as descriptive as possible in my emails, internal communications, PR review comments, JIRA etc.
A product guy from the company today mentioned: "Though I understand your good intent behind being as descriptive as possible, it is possible that some of the junior engineers might get overwhelmed/ intimidated looking at those comments/ emails and it might stop them reaching out to you with your doubts."
I was not able to wrap my head around this, because I don't understand how a descriptive explanation might overwhelm anyone. It's a skill I picked up going through my career and I personally have always respected peers who documented things properly.
Open to feedback. Thank you in advance.6 -
Why are the damned Spaniards so small? Because of them I am unable to sit in the newer trains that go around the Netherlands. The angled headrests (they are supposed to kinda wrap around the head). But these headrests start below my shoulders and my head then floats above the headrest. This causes my shoulders to be folded together.
FU you spaniards (no offense to everyone who didn't design trains), if you can't take in consideration what the average length of the users is you have failed as a product designer.
Yes I am tall (1.95m) but not really above average around here (maybe a cm or so)18 -
In the saga of the unnamed SAAS I've talked about before, LOOK AT THEM USER-SESSIONS XD
And this is only from Android-App embeds since web-embed isnt even open to public yet, so no google-crawller false-positives
The country I'm in, has only 8 sessions waayyyy down below so my code isn't messing up the numbers :3
I'm still too much of a bitch to face this product head-on and "launch" it damn this feels good 😤🤘3 -
Our owner's other company sells products online (or has the ability to anyways). Their current site is 7+ years old WordPress/Woocommerce and is seriously outdated because the site breaks if you update anything so we've been told to make a new site (finally). They also said they were going to release a whole new line up of products. So the first thing I tried to do was get them to nail down their product line and how shipping was going to be configured. I was told to just use the shipping from the previous site.
Turns out those shipping rates don't use any sort of math or automation at all, there is literally a manually set shipping value for every single product for every single shipping location (30*60) and even values for different quantities. And there's no way to export these rates into a readable table because the plugins they use shove all the data into the postmeta table, I'm forced to go through and put the data into a spreadsheet so that I can attempt to organize it and hopefully find someone way to automate it. Owner claims at one point that he has a similar spreadsheet that's more up to date but for some reason refuses to send it over or put me in touch with the right people in the shipping department.
I've gone through the shipping rates with the old products and the new products and organized them as best I can and each time I've gotten done and shown them the spreadsheet with their products and shipping, they add or change something which requires me to basically wipe the slate clean and start over eating another 50 or so hours of my time, which with everything else really means another month+ to find time to work on it between other projects.
After about a year they finished their products and I finally finished the planning and got approval to build it out for the site. Small victory!!
After about 60 hours plugging these values into the database (only about 1/3 done) I get an email from their head of shipping who tells me the values in my spreadsheet are "terribly inaccurate, in some areas by $100+" and that the data should not be used anywhere.
So after something like a year and a half and 200+ hours of work, the data I've been using to plan all this isn't even accurate. I'm trying not to go crazy here but this kind of shit is unacceptable. When we're done with this I'm going to send the owner an invoice to show him how much money he wasted on this because nothing was planned and he just wanted it built. There's a fucking process for a reason, when you don't follow the process you fuck everything up. If a client had pulled this shit and turned their simple site into this much work they would have been dropped. I get constant emails asking when the new site will be done and every time my answer is "I'm still waiting for x items that I asked for last time you asked where we were." He gets a couple things on the list and sends them back and then goes unresponsive for weeks at a time.
Management has been telling me that I seem more stressed lately but only one of them understands what's going on here when I explain it. The rest say stupid shit like "why don't you automate it" or "make an intern do it." You won't let me hire an intern and even if I did, I'm not sure I could explain how the shipping works now to even trust someone else to do it. I'm hoping when the shipping guy gives me the new sheet that maybe there's some easier solution here because I'm ready to start shooting people.2 -
Watched 2 different vendors struggle to get something going.
I stayed quiet during both meetings, the first, was a misconfiguration error on their project code. They were tailoring the product that they sold my institution, I could see the simple error: key-value settings on one of their json files (it is a dotneto app)
I don't get paid to troubleshoot the code for an external company, so I was silent, knowing full well this would take longer to get done, needless to say, I had originally advised against purchasing this product but was not listened to, very well then.
The other was a configuration issue on the side of a different Java based product, there were some strange XML configuration entries, some other project files that made little sense, but again: quiet.
Department head is concerned about the delays that this might cause and will still not ask if I am willing to help since he knows I A) was against this product purchase from the get go and B) knows DAMN well I will say that I don't get paid to troubleshoot the issues that third party vendors charging us over 100k of product "worth", they wanna spend the money on "enterprise" shit that does not work,they can deal with their own shit programs.
Morale of the story: money moves people. If there is no bling in my account: then I ain't doing it.
Now, I do get paid well for what I do, and for that I do bust my ass, for everything else: there is mastercard.11 -
My project is a cloud based automated testing product. My current story is to extend a module to support multiple of a particular testcase type in one test run instead of just one. This has uncovered a rats nest of complexity because everything is designed with the assumption that there will only ever be one of these testcases.
Refactoring about 5 different classes just to get into a state where i can pass a list of testcases into a service instead of just one. Wrecking my head... -
We are building a cloud iot environment currently for one of our customers. I'm kind of the head of the cloud backend. Well first the customer needed the product a month earlier. Then today on my last day before vacation, they wanted to test theire devices in our dev environment. Have they ever heard of read only friday? And why do people still fuck up json payload in 2020
-
Had someone report a bug that we did not provide an error page for someone using IE8 trying to use our site. My suggestion was to create a page that simply said:
"Hi we noticed you are using IE8, you should immediately turn off your computer because it's obvious that you are too out of touch with reality to be using the internet. Please come back when you pull your head out of your arse."
The product owner did not find my suggestion as funny as I did. -
I work at a corporation with dozens of different products and different legal units and teams working with different products. As many of the products are business acquisitions and not internally developed, they've retained whatever (cloud) architecture they had to begin with... some hosted on AWS, others on Azure and yet others on GCP.... Yet the core products are all on the same provider's platform, so all the documentation for some unexplainable reason assumes every other product is on that platform, too, and does not take into account interprovider communication problems, so integration becomes a major pain in the arse when the product you're working on (like mine) is not hosted on that one cloud provider's platform... Whole week I've felt like banging my head repeatedly to the wall.1
-
Is there any language or framework I am guaranteed to get a job in if I learn right now?
I know this is a shot in the dark cuz if such did exist, every job seeking entrant would simply flock to it; but I don't know how developers switch between stacks. Off the top of my head, recommendation but what if such social capital is missing?
Some background: I built and published a php framework called Suphle (angry-cray-9c191b.netlify.app), which surprisingly neither got any users after a year nor impressed any php employer to hire me despite hundreds of applications sent out
Rather than throwing in the towel, I wish to switch to some other software stack but I don't know where to start, If with all my proven php experience, I'm unable to land any php roles. I have tried searching for nestjs and spring boot internships or junior but nothing comes up. I have run out of time to study a language I will never profit from
I have a flutter app on playstore, built together with a product designer who worked on the ui cuz my front end chops aren't strong. I will preferably continue in a back end environment but if I can solicit immediate employment, I don't mind brushing up on any available tech, be it devops or what have you. I've also worked with spring in a professional capacity, although a very turbulent one where the team we had issues ranging ranging from absence of adequate docs for something as basic as authentication, to using nosql (totally unnecessary), trying to separate codebase into different projects to mirror the real life department (this was my idea). I don't know if it's Conway's law but I decided project should be split into admin, user and common modules/repos since they were being worked on by different devs and had little in common. Unfortunately, there is no doc for importing/sharing local projects so we had more days chucked off
Anyway, I Built a react native app a lifetime ago. Been around the block a bit and pretty confident I won't take much time to get up to speed with a tech. Where do I go or how do I start? I stay in Nigeria so may be limited from on-site roles as well12 -
Just when I thought that surely a single SIMD dot product instruction must be the fastest way to calculate a damn dot product on a processor, agner fogs instruction tables come flying out, hitting me over the head telling me that manually calculating a dot product may actually be faster sometimes
Why must computers be like this?
I just came out of a bad relationship with hardware rasterization being horribly slow and now I can't even trust my processor to do things properly
This is how people develop trust issues1 -
Oh, there are hundreds that I've started categorizing them. They outgrew the storage capacity of my head / brain. I've tried a lot of productivity tools to organize them, but in the end, all my project ideas just remain ideas scattered somewhere unless I see it action and go like, "Hey, I had that same idea. I wonder when they got the idea. Was it before or after I had it?" In the end, I just console myself saying that for me it was only an idea in my head when those people saw it through execution and has a working product. The next step for me is to get along with them and collaborate and make that idea better rather than re-invent the same wheel again according to my idea.
Nextcloud is the biggest example of an idea that came to me and remained in my head and is still on a todo list somewhere. -
Address: 101 N. Brand Blvd, 8th Floor, Glendale, CA 91203
ABCmouse is dedicated to starting young learners on a path of educational enjoyment. Online learning games, exciting graphics, and engaging subject material keeps kids focused and asking parents for more ABCmouse. ABCmouse is a product of the Age of Learning Foundation which also offers programs like the Early Learning Academy, English Learning Academy, Adventure Academy, and ReadingIQ. Through these programs and additional resources for teachers, the hope is that the global education crisis will be fought head-on. For more information on how you can get your child excited about education check out
#Education #ABCmouse