Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "wk220"
Client had a rule that the backup must finish successfully. I saw a bunch of empty backups in the green for the stuff our company was responsible for back then. I saw that the nfs folders got copied over empty as the folders were not mounted. Me: "You ppl do not have your databases backed up." Client :"Sure we do, look at the backup job status. It's all green." Me: "It's also 0MB in size." Client: " Must be good compression."
Me: "That must be it."12
Around 2 years ago:
Manager: What's the run time complexity on this algorithm for 100 vectors?
Me: Worst case its O(n^2)
Manager: That is unacceptable! Make it better!!
Me: Well *points at block diagram of another component*, this is way more than n^2, should focus on that instead.
Manager: Don't give excuses! N^2 is not acceptable.
It turned out my manager didn't really know about run time complexity and thought of it as how badly the code was written.
This was evident when after refactoring with deletion of 300+ LOC,
Manager: Nice! Now the complexity is low! Good work! 👍
The following meeting occurred at a client between a recently added client PM and our team, we'll call her Shrilldesi, previously from one of the main consulting vendors.
*Meeting begins after 15 minutes of bullshitting, waiting for people to file in*
Shrilldesi: "Ok everyone, let's get started
TeamMember: "We're still waiting for Z and W, not sure why they're late."
SD: "We can start there. It was decided had to lay off Z and W, because we didn't have enough work."
Moi: "Wait, what. Who made that decision? Why weren't we consulted on this? We have another project starting next week that they were needed for. They just delivered the entire public facing rewrite, why would we let them go?!"
SD: "It was decided by myself, pajeet, and venkata looking at the backlog. Not enough work, week gap."
Moi: "This is going to hurt our ability to deliver the next phase. When are we going to start interviewing new people, the project begins next week?"
SD: "We will interview new resources as needed."
Moi: "Who is we? And 'as needed' is yesterday, or realistically several weeks ago as the. project. starts. next. week. Also, we're obligated by federal law to bring back anyone we lay off before we hire anyone else for the same position."
SD: "Interviews will be done by myself, Mohd, and Pajeet."
Moi: "...can I point out that there's only one modestly technical person in that group, they're an admin, and none of them are from this team? How do you conduct an engineering interview without any engineers?"
SD: "That does not matter, I have watched enough to be able to ask your questions."
Moi: *anger intensifies* "I have to respectfully disagree. I don't feel it's appropriate to cut us out of the process of interviewing our own team members."
SD: "It is decided, we will take care of it, let us move on. Next, we need to find work for the Manasa, she doesn't have anything to do."
Moi: *sharpens baseball bat* "...shouldn't we just fire her then?"
SD: "Oh that is so mean, why would we fire her? We were thinking she might be able to do some of my project management work."
Moi: *sharpening intensifies* "You do realize it's a violation of H1-B statutes for someone to be employed in work other than what is stated on their contract, and Project Managers are specifically listed as not specialized skillsets per federal law."
SD: *ignores question* "We also need to find work for the offshore team, they don't have enough to do. Please find them work for the next period."
Moi: *checks how long the wait period is for ar-15s*
SD: "We also have a new person rolling onto our team, he comes from the xyz team, Dikshit *gestures to person we all figured was lost*. He will be handling our front end development."
Moi: *seething hatred* "WE JUST LET TWO EXCELLENT FRONT END DEVELOPERS GO. WE DO NOT NEED DIKSHIT."
SD: "Please calm down. We will be replacing the other two shortly, there is no problem."
Moi: "Have you heard nothing I've said? Did you even run this by legal and HR? Why did we let them go in the first place? Why do we even need Dikshit?!"
SD: "I said it before, please listen. There is not enough work for them. Dikshit will do front end. What is unclear?"
Note: There's not really any dramatization here. It's almost verbatim what happened. Eventually, the next project was cancelled, they incrementally rolled the rest of the local team off. They then had the cojones to express aghast anger when I notified them I would not be renewing my contract, and open hatred when I explained to them I was not a slave, and I refused to be a bag holder for the inevitable failure of a project without any chance of success. I don't really care what happened after that, they can all burn in their own little nepotistic shitshow of perpetual failure.6
"We need to do operation X about 50 times a second constantly."
X is a database heavy NP-hard problem with an input size of a few million.
And this new thing has to run on the same already stretched hardware that everything else is on.
I spent so long making python notebooks showing graphs why it wouldn't work, eventually someone built the naive exhaustive search anyway to prove it was slow. They pushed that out to production without testing it under any real load. Needless to say clients were annoyed.7
Straight from a marketing analyst (we didn't have a PM) I once had the displeasure of working with:
The guy didn't believe me when I told him it was impossible (barring exploits that would break the browser's sandbox), unethical, and probably illegal. I had to escalate all the way to the CEO to get him to drop it.7
Most ignorant ask from a PM or client?
So, so many. How do I chose?
- Wanting to 'speed up' a web site that we did not own, in Sweden (they used a service I wrote). His 'benchmark' was counting "one Mississippi, two Mississippi" while the home page rendered on his home PC and < 1MB DSL connection (he lives in a rural area).
- Wanted to change the sort order of a column of report so it 'sometimes' sorted on 'ABC' (alpha) or '123' (numeric) and sometimes, a mix of both. His justification was if he could put the data in the order he wanted in Excel, the computer should be smart enough to do the same thing.
- Wanted a Windows desktop application to run on an android.
- Wanted to write the interface to a new phone system that wasn't going to be installed for months. Even though we had access to the SDK, he didn't understand the SDK required access to the hardware. For several weeks he would send emails containing tutorials on interfacing with COM libraries (as if that was my problem).
- Wanted to write a new customer support application in XML. I told him I would have the application written tomorrow if he could tell me what XML stands for.4
Other PM: We must fix the database performance issues now.
Me: We can't. We're still only halfway on the dependency chain to tackle this and honestly, even if the dependency chain would be fulfilled, I'd leave at least 2 weeks monitoring the production after the changes were rolled out before we further poke around.
Other PM: This is taking far too long. And whaddya mean by dependency chain? Why was I not informed about this?
Me: *sigh* like in every meeting in the last weeks: the dependency chain are the current open blockers before we can proceed with the database changes. We've talked about this _at length_... Especially why these blockers exist.
Other PM: No, we need to start now. I've _examined_ at the blockers or "dependency chain" as you call it.
(Examined.... He opened on his currently streaming laptop, which was connected to the active beamer, the mentioned ticket with a detailed blocker ... And quickly scrolled. Yeeah. Warmonger...).
Me: I'm very tired of discussing this. But since you are already presenting us the ticket, read out the referenced meeting notes... We explained it in great detail.
Other PM: Why? This is just a waste of time!!!!!!!
Yes. This happened. Other PM was my nemesis.
In this meeting were 2 PMs (Him, Me)… I think 5 - 7 devs... And we were sitting in this meeting since 2 hours at least. Everyone was angry...
After this "manifesto of intelligence"… I simply left the room, followed by a few devs.
And yes. Other PM did this on a regular basis....5
Most ignorant ask from pm:
“So what have we done in the app so far?”
When the requirement gathering hadn’t even been completed yet.1
While this wasn't technically a real client, it's still one of the most insane requests I've ever had.
I chose to specialize in software engineering for the last year and a half of my degree, which meant a lot of subjects were based around teamwork, proper engineering practises, accessibility, agile methods, basically a lot of stuff to get us ready to work in a proper corporate dev environment. One of our subjects was all about project management, and the semester-long coursework project (that was in lieu of a final exam) was to develop a real project for a real client. And, very very smartly, the professors set up a meeting with the clients so that the clients could tell us what they wanted with sixty-odd students providing enough questions. They basically wanted a management service for their day-center along with an app for the people there. One of the optional requirements was a text chat. Personally not something I'm super interested in doing but whatever, it's a group project, I'll do my part.
The actual development of the project was an absolute nightmare, but that's a story for another day. All I'll say is that seven juniors with zero experience in the framework we chose does not make a balanced dev team.
Anyway, like three months into the four-month project we've got a somewhat functional program, we just need to get the server side part running and are working our asses off (some more than others) when the client comes in and says that 'hey, nice app, nobody else has added the chat yet, but could you do voice recognition okay thanks?'.
This was a fucking basic-ass management app with the most complicated task being 'make it look pretty' and 'hook up a DB to an API' and they want us to add voice recognition after sitting on their ass for three months??? The entire team collectively flipped its shit the second they were out of earshot. The client would not take no for an answer, the professor simply told us that they asked for it and it was up to us whether we delivered or not. Someone working on the frontend had the genius idea of 'just get them to use google voice recognition' so we added the how-to in the manual and ticked the requirement box.
What amazes me about all that is how the client probably had no idea that their new last-minute request was even a problem for us, let alone it being in a completely different ballpark in terms of implementing from scratch.9
Manager returned from client installation and was very 'dissapointed' in the team that couldn't install a hardware device remotely over call while instructing the manager how to do it.
Let that sink in first..
Anyway, he called an 'urgent' meeting at 9 in the morning (office starts at 10),
Manager: We are going to change a few things around here. No more jargon, no more non-sense, proper requirements and proper procedure!
*All 7 of us be like 'Is this heaven? For real?' *
Manager then picks up a marker, goes to white board and writes 'H.V.P.D'
Manager: 'High Velocity Product Developement'
*Everyone facepalms *3
Asking to deliver a project in a week which should have all the functionalities of Airbnb. Best part is to do that with 200$ budget 😡😡😡4
Most ignorant ask from a PM or client?
Migrated to SharePoint 2016 which included Reporting Services, and trying to fix a bug in the reporting services scheduler, I created a report (aka, copied an existing one) 'A Klingon Walks Into a Bar', so it would first in the list and distinct enough so the QA testers would (hopefully) leave it alone.
The PM for the project calls me.
PM: "What is this Klingon report? It looks like a copy of the daily inventory report"
Me: "It is. The reporting service job keeps crashing on certain reports that have daily execution schedules."
PM: "I need you to delete it"
Me: "What? Why? The report is on the dev sharepoint site. I named the report so it was unique and be at the top of the list so I can find it easily."
PM: "The name doesn't conform to our standards and it's confusing the testers."
Me: "The testers? You mean Dan, you, and Heather?"
PM: "Yes, smartass. Can you name the report something like daily inventory report 2, or something else?"
Me: "I could, but since this is in development, no. You've already proofed out the upgrade. You're waiting on me to fix this sharepoint bug. Why do you care what I do on this server? It's going away after the upgrade."
PM: "Yea, about that. We like having the server. It gives us a place to test reports. Would really appreciate it if you would rename or delete that report."
Me: "A test sharepoint reporting services server out of scope, so no, we're not keeping it."
PM: "Having a server just for us would be nice."
Me: "$10,000 nice? We're kinda fudging on the licensing now. If we're keeping it, we will be required to be in compliance. That's a server license, sharepoint license, sql server license, and the dedicated hardware. We talked about that, remember?"
PM: "Why is keeping that report so important to you? I don't want to explain to a VP what a Klingon is."
Me: "I'm not keeping the report or moving it to production. When I figure out the problem, I'll delete the report. OK?"
PM: "I would prefer you delete the report before a VP sees it."
Me: "Why would a VP be looking? They probably have better things to do."
PM: "Jeff wants to see our progress, I'll have to him the site, and he'll see the report."
Me: "OK? You tell Jeff it's a report I'm working on, I'll explain what a Klingon is, Jeff will call me a nerd, and we all move on."
PM: "I'm not comfortable with this upgrade."
Me: "What does that mean?"
PM: "I asked for something simple and I can't be responsible for the consequences. I'll be documenting this situation as a 'no-go' for deployment"
I figured out the bug, deleted the 'Klingon' report, and the PM couldn't do anything to delay the deployment.4
Not necessarily ignorant, but funny.
Before my current job I used to work for a company that provided software services to logistic type corporations, import export and all that jazz.
I was asked to generate an admin interface that would allow people to enter scans from different products, sort them in the right place and update the main interface. During the time we were using Classic ASP with VBScript. There, AJAX and similar functionality can get quite tricky, but definitely doable if you know what you are doing, VBScript has many limitations when compared to something like PHP for example. But thus the application was created in about a week once everything was sorted and then the storage manager came back to ask me if I could put a spinner or something in it to show that the information was loading. I asked him if the information was not being updated accordingly or if there were similar issues to that extent.
He said "no, it is working perfectly and I have no problem with the functionality, but these morons keep trying to scan shit because they can't tell if something is being populated into the main table in the interface because it all happens so quickly" Me: "well it is a very simple process, if you want I can add some sort of additional message to that or a spinner or something of the like that would show for two seconds or something, just so they can get some visual clarification"
Him: "This is a pretty stupid thing isn't it?". Me: Yes. Him: "I am so sorry to ask for this, how long will it take you?" Me: "Lol give me about 30 mins maybe less, it is no problem really, let me get this out of the way so that your people can get to it without loosing anymore time"
Such things are the reason why they literally brought me to the head of the company when I told them that I was leaving in an effort for him to try and convince me to stay. I was not to be contracted into their service anymore, but a full time employee. It was nice for them to ask really, but I declined in favor of the benefits I get from my current company.
To this day I think its funny and they remember as well.9
Probably a lot of you can relate, which is "it is easy to implement such a tiny feature, how could it possibly be difficult" from a PM that has never programmed before...4
The most ignorant client is the one requiring you to build his crapsite on WordMess despite of you showing him the glory and beauty of a proper CMS which has a brain-amputee-friendly back-end.
Some people just want and need constant pain on their servers.
His reason to prefer WP:
"I know how to use it."
War, war never changes...4
First month of project we suggest that we test that Entity Framework has made reasonable DB queries because the system will need to handle a lot of records. “Not a priority in this sprint because we need features.” Devs try to get it into every sprint. The last week of the project they want us to dump in a ton of records so they can test it. The N+1 SELECT query issue is on main queries. It is so bad and slow with more records that a simple query causes the container management to auto scale the application on a single query. They can have max 8 users in the system at a time and it will take 10 seconds to do a simple page refresh.
They get on our case and we dredge up all of the correspondence where they completely ignored our advice. Fix it now! We need another sprint. Fix it free! No.11
I wanted to create a microcontroller website. It would feature simple circuits and microcontroller code to build things. The intent was to show absolute beginner concepts to people. Since I am older than the whipper snappers out there I thought I would have concept of some old man running the website.
I found cartoon artwork featuring an old man and I also got the domain oldmanmicro.com. I then created a bunch of pages featuring some really basic circuits. I setup an affiliate program with amazon to provide kits to people and embedded those into the website. This site was going to take a lot of creativity. I struggled with what to put on the site. This was going to take time. At this point I felt pretty good with my progress. It looked nice, the links were good, etc.
Then I did web search for oldmanmicro. I found my website in top hits. I also found something else... The 3rd or fourth hit down was some fucking old dude with a micro penis website. WTF! The worst possible combination of letters in my domain name produce this terrible experience. I was already struggling with content ideas, and this just demoralized my efforts. Thus ended the tale of the oldmanmicro.com. Perhaps the micro penis guy bought it, I don't know. I am afraid to look.
This was my very ignorant adventure with not researching a domain name thoroughly.6
Management: Add my email(personal) in the bcc of all the transactional mails (which includes forget password, email confirmation, payment, booking etc) we are sending in this project just to check the fucking cronjobs are working properly.7
X: You know about this app that allows you to track any phone just by putting in the phone number?
Me: Must be fake, that doesn’t sound realistic at all.
X: It’s real, I saw it at a party being used to find a lost phone.
Me: It probably was an app to track devices, not even the phone number is needed, they are common on iOS and Android (goes on an explain constraints)
X: No, I saw they used the phone number
Me: May be they just called that number and found it that way.
X: No, they put it in an app and tracked it that way.
PD: X is the husband of a family member3
PM asked to mass configure the embeded system's wifi settings on remote locations where utp connection is not an option. No pre-configuration available. Systems already shipped.
PM: "You will configure it in puppet later on, right?"
Me: "Sure thing, boss."
Some things are best tought through experience.
One of my most arrogant customers was one that constantly called support because she could not get things to work as she wanted.
We repeatedly told her that she was working against the way the system was built and that was what was causing her problems.
This was not a custom system for that customer but a cloud product we where offering with over a thousand customers on and it was designed with a certain workflow in mind.
Despite this she always complained that the system was wrong and we needed to fix it.
She was also always late for her deadline complaining that she did not get the information from her bosses in time and demanded we help her get it done :)
But I was fortunate that everyone at our company held a unified position that it was not out fault that her bosses gave her info late or that she tried to do things in a way the system was not designed for.
So when she got to aggressive we just offered her to go somewhere else.
I thing they finally did, after about two years.1
"Most ignorant ask from a PM or client?"
I'm going to just say generally any ask with "a lack of effort".
1. Stuff like urgent / angry emails about stuff that already exists... like man if you're going to be a jerk in the email at least look first ...
2. Requests that aren't thought through. "I need X to happen." , "So you want X to happen?", "Oh gawd no, only when Y and Z and ... some other vague stuff!"
3. Requests with incomplete sentences... hard to do a thing without a verb or noun or both.3
X: you know about this app that is like google maps but in real time and let’s you zoom in and see everything
Me: That’s doesn’t seem realistic to me
X: It’s real only governments have it.
PD: Same person as Story 11
* me: we need a timeout here because this thread could leak.
* pm: I guess timeout is not needed because there are no functions which will run endless
* me: hold my beer1
"when you are filtering by [field] actually don't filter and display the stuff in the list, just make it impossible for the user to purchase at checkout."
... Why do we even have filters then? :/
I get some marketing guy believes making the user do the whole process helps sales, but...
1) In reality this just makes users not use your website and go on a competitor's
2) this is doable if you have 2-3 entries, not on 100+ entries, duh!
I drop a pile from top of my head. Don’t bother to read.
When is release ? ( discussed 2 minutes ago )
Who will release ? ( there is always same person doing it )
What was added ?
What information add to clients about release ? ( it was always the same )
About bugs and features:
There is this bug.... ( without specifying)
It doesn’t work. ( there are 3 environments )
Is this ok ? ( clicking randomly )
Is this bug fixed ? ( without specifying )
Where is this feature ? ( while looking at webpage with feature )
How to use this ? ( not specifying what )
Where ? ( while clicking randomly )
When ? ( while scrolling calendar )
Why ? ( still clicking )
Where to click ? ( what I am doing here ? )
When is meeting ?
Where is meeting ?
Why we’re meeting?
Who will be there ? ( information in calendar )
I heard all of them at least once per month. Now I’m recovering at home and my friends are asking why I’m tired.
In the same meeting
Well be moving on to open source technologies. You are devs and are expected to learn this on your own. Preferably on your own time
Well be holding an agile workshop and also outside consultants to help the managers.
I left a few months later for multiple reasons.
I did stay for the first month and helped set up the angular project and structure. But i had to train a person who never worked with angular or anything frontend. It wasnt her fault. She was a developer and expected to learn on her own even tho she worked just backend before.1