Most demotivating thing as a programmer: knowing your project will never be used
On the plus side no users means no bug reports or feature requests
whistles
Always look on the bright side of life....
And you get paid for it regardless. It's win-win :D
Yeah, no optimization / quality required ahah
Nice
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.
Or knowing that what you're working on is going to be scrapped before completion
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.
Could it be used as the basis for more advanced information exchange among those companies?
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 :')
We’ve actually taken that complex and valid system and clipped its wings to do something way less useful :')
that's .. way too pragmatic for a government project
Germans and over engineered solutions, most iconic duo!
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.
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.
A design professor actually proposed this idea to us. Make the user feel how the computer is working, so they can appreciate the result more.
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
Not of they ask Jim about it and Jim stabs you in the back and says nah this should take an hour max dunno what Ron is doing.
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.
So you didn't ship it?
It was tested by some administration that loved, probably because their existing application was worse.
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.
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.
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.
How is that the use-case where we're most needed?
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.
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
The world is ruled based on excel spreadsheets. 'Cos... tables.
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
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.
But AI! Hurr durr
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
I work in a different industry but one time we had a guy who shipped his radio, and his vape, separate times.
🤣
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
So just another day at the office, eh?
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev