I think of it like a rite of passage nowadays. I remember how badly it would affect me when I started out and I can see how hard it hits juniors and mid-levei developers nowadays, it's one of the biggest threats to morale in a team.
It sucks because we watched this whole train wreck play out in slow motion.
We told our managers from the beginning it was a waste of time and that we should focus on the more important project that will depreciate this one anyway.
I built the tool they wanted, within the constraints of our corporate network configuration, and it worked really well. But it required the customer to change one thing about their workflow, which would require certification.
So they slowly scoped it back and back until it does basically nothing.
But even though the app does nothing and has no users, I still had to generate all the documents and artifacts and recovery plans etc. I wish sometimes that I would have gotten my degree in civil engineering or something more real.
The German government has decided that starting on October 1st of this year, they don't want energy providers who want to call up another energy provider to just google the other company and use that number. They want an entire new system of message exchange for the sake of transmitting data like a company's address and phone number directly to all it's market buddies.
I'm part of the team who had to build that shit within the last 4 months or so. It's a neat project and everyone gained knowledge in AWS cloud stuff, but realistically, every one of our customers will use the system exactly once (as required by the government) and then never again.
They already have a very advanced system to transfer actually valuable data (when/how much power needs to go to the grid, end user data, redispatch of solar panels etc etc). We've actually taken that complex and valid system and clipped its wings to do something way less useful :')
Not in IT, unfortunately. I work a lot in public projects and the underlying problem is pretty much always politics, not technology.
One project is very simple, in theory. You authorize yourself with BundID, type in some data, these are used to query one agency, you add some more data and then it's sent to another agency. In a sane world, that would mean 5 parties involved. However, we are currently at 10, just for one of the 16 states. Hardly any of that is a technical necessity, it's just political will and incompetence.
Years ago I joined a startup as a junior developer to work on a patented security application with SSL certificates and stuff. They had been working on it for 5 years, 10 engineers and 2 guys with PhDs, it was serious business. The thing was a prototype but it was fun to work with them. I was porting their app on Mac OS X too because the founders were sure that it would also be a success on a Mac.
Then one day I bought a HTC Desire to try this Android thing since I already knew Java. After a few tutorials, I realized that I could clone their whole app in 100 lines of code thanks to the Android API in less than a week, but it would be better, safer, and portable. I knew we were doomed. They closed the company a few months after because no one wanted their application.
My company had kind of the opposite case. They had a fully functioning system, but the C suites of the client absolutely had to have a native iOS monitoring app, so they could monitor everything on their iPhones, while all their workers had Androids.
So they rebuilt everything for iOS, added all the useless features they wanted, got paid .... and then had like two downloads.
I once worked on an interface for wifi network selection.
The marketing people thought that the scan went too fast and that people would believe in consequence that it wasn't powerful enough. So they asked me to add an artificial delay (multiple seconds) before showing the results.
Instead I'd probably take multiple measurements some hundred milliseconds apart and do a basic statistical analysis (average as "main result", but also lowest percentile, highest percentile and median). That way I don't feel dirty for tricking the customer.
It wasn't the most fun part of the project, and it was targeted at non-moving home devices so a more powerful wifi logic wasn't really needed. In the rare scenario where the customer didn't see its wifi network, he/she could just refresh the list.
I basically just added an ugly timer and moved on more important things.
Take the same approach with tickets: Finish one in 10 minutes? You just get a new one. Finish the same one in 2 days, and claim "Pff, that was a tough one, but I did it!" - Makes the Product Owner think the Developer is working, and appreciates the result way more
ez! I work for a company that builds a SaaS end to end product.
Myself and my coworker were asked to build exports for a single client. They were json exports. To start the client would take weeks/months to get back to us, their spec was very vague and their exports had some really complex logic to sort data. We'd been going back and forth with them for almost a year when they said we should give it to them "as is". They now are the proud owners of 2 complex broken exporters.
We built a whole quality assistance software to prevent human error in manufacturing. After political non-sense, the project got essentially cancelled when it just started to become useful.
We did ship it for one use-case, though. That use-case doesn't monitor human labor. Nope, they have robots that were supposed to be more reliable than humans and now we're quality-checking those robots.
I used to sell windows shareware, a series of apps that composed music and loops etc. I got really sick of finding cracked versions of my apps online, usually a day or two after I'd released something. So I wrote and released an app called "Magic Text Box" which consisted of just a single form with one text box on it. Less than a day later, a cracked version of it showed up.
My first "paid" programming project (I was paid in a used 20MB harddrive, which was equivalent to quite a bit of money for me at the time):
Automate a horse-race betting "system" that it was blatantly obvious to me even at the time, at 14 or so, was total bullshit and would just lose him money. I told the guy who hired me as much. He still wanted it, and I figured since I'd warned him it was utter bunk it was his problem.
A client paid us for a bespoke platform for managing invoice payments. Probably 20 man years sunk into it, they wanted to sell it to their customers but no one wanted it. They've just given up trying and axed it.
OMG I just remembered this company that spent 5 years making a complex tool to use for SAP installs but nobody wanted it.
But they didn't just bury it like your guys, they started including it for free with other stuff just so they can claim "so and so is a customer" on the product's webpage. 😄
In their defense it wasn't even such a bad idea, SAP installs suck, it's just that nobody wanted to take a chance and would rather do them by hand As Is Tradition.
Had a client that couldn't understand a small dataset of data. They needed "something interactive to filter and sort the data for a human to review." We suggested putting it into an excel spreadsheet, and did it for them. Customer didn't know how to use excel so we had to create a knock-off excel table GUI that had buttons labeled "filter and sort".
some people seem to have money they don't know what to do with smh
Since I despise Excel (mostly for the auto converting feature) I appreciate that alternative.
OTOH I am all but a typical user, and while I occasionally use LibreOffice Calc I prefer basic statistics and charts for SQL-tables and CSV-like data in LINQPad (since it's the tool I use every day, i.e. to spike out ideas before using a real IDE).
hey I'm right there with you. I didn't want to type out all the details but the customer didn't want to use any tools they had to "learn". All they wanted to do was be able to do is view a file structured similarly to CVS. View, filter, and sort alphabetically. This was like a subtask of a bigger project.
Bottom line is we were like "hey don't waste your money on this request, there are tons of tools that can do this"
Their response was essentially "we contracted you, you guys figure it out." LOL okay, pay us for 1 additional month and you can have a program to load your csv and sort it
This was a series of decisions with good intentions that went poorly in the long run.
Our customer wanted us to setup a system so their users could track their products from their site from a variety of carriers; but their backend was very old and difficult to work with, and their network very locked down.
We were struggling to setup a single carrier, so we eventually decided to setup a new server with modern tooling on our own network so we could develop this and other “complicated” features with less pain, and they would only have to make a single exception to their firewall.
Fast forward a year and:
They didn’t request any more “difficult” features, so the server was serving a single API
One of our carrier’s API keys had expired and nobody noticed because they weren’t using it, and they didn’t request support for additional carriers either
Somebody on their security team noticed the strange calls to our servers and demanded we moved the API to their infrastructure anyway
Stupidly bad project we were rushed relentlessly on, because - stop me if you've heard this one before - some dimwit promised months' worth of work "in a couple weeks... by an intern".
I made it generally known that this whole thing had a snowball's chance in Hell of getting done on time with a 4-5-man team, they did not deign to take that opinion on board. In fact, they pretty much twisted our arm into shipping some barely working bullshit, causing them to have to do a buttload of manual correction instead. I hope they're having fun with that. :>
Had a team of 10 working nights and weekends for a month because someone in sales sold a contract for an integration with a 3rd party that didn't exist yet. In the years I was there after that project shipped, only 1 person even looked at the feature, one time. It never actually got used
An RFC that essentially boiled down to saying, in excruciating detail, that I am qualified for the job I was hired for and that I can be trusted not to break the website.
When covid started, the country I live in set some temporary rules to relive some financial stress from the people. A lot of companies in our sector had to quickly abide by those rules (maybe 3 month time to prepare the new processes etc.)
Our company already had a lot of customers who would need a solution to maybe automate that.
And our project manager (and a potential customer with him) decided to not only use a native solution we could program directly into the system, but throw rpa on top.
This not only made the solution harder to program, it also made it slower (it could only run at night instead of each case instantly), more error prone, more programmers were needed (I could program a simple solution alone, with rpa we needed 3 people plus an extra tester) and also the solution was more expensive, because of paid licenses for the rpa software.
Suffice to say, we did not sell a single copy not even to the customer who wanted it. But we "shipped" it in a sense.
An ad hoc sorting system for a grid of tiles on an enterprise app
Instead of sorting across row wise, it sorted columnar. So it was
A E I M
B F J N
C G K O
D H L P
Instead of
A B C D
E F G H
I J K L
M N O P
This was a requirement from the CEO. Since we used this project (dogfooding) we stuck a secret search box/command palette in, which you could hit . and then type the name of the thing you wanted and click it
Anything where my dumb ass leadership announced far too early and users got excited and pushed for release. They gave unrealistic estimates so people were pissed when it didn’t fully release when they wanted it. It shipped unfinished and it died unfinished.
Waste of goddamn time and lots of stress. Don’t worry tho we got a new CEO and are going down the exact same fucking road.
Surely it can’t happen twice? Idk whether to laugh or cry most work days