18 month project is winding down. I suspect it will have 1 use in the next 4 years we are supporting it.
The tool is basically a copy of the S3 browser, only shittier. The license for the S3 browser is only 20 bucks btw.
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
I’m in that boat now 😭
Except I built the app from the ground up and I was super proud of it. I learned so much about PKI and S3 and made a better system for our suppliers, engineers, and customers.
The fatal flaw was that changing supplier workflows was a complete non starter. It didn’t matter that I reduced the complexity of supplier involvement and made it easier for them to work with us, the old supplier portal HAD to be their front end, which has no api to interact with (one of the drivers for this project).
Without the direct supplier pipeline, the tool is worse than useless. Now we need a manual process to receive, validate, and sign software before moving it to the new system. Then to deliver it requires another manual process in reverse.
I made everyone involved life worse.
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.
non-moving home devices
There still is a use case - not that common in America but very common in (not only Europe’s) metropolitan areas:
If the devices are located in a dense urban residential area (say Berlin Gropiusstadt in the 11th of 20 floors) you have a lot of neighbors with wifi, and - at least on 2.5GHz - roughly a third of their wifis will use the same or overlapping frequency range. In the evening, when everyone and her dog streams the newest Season of Bridgerton those will send relatively short bursts for buffering the next five-ish(?) minutes.
This of course interferes with your measurement if you happen to measure at exactly the same time, so having multiple samples instead and providing an aggregated value is - for this scenario - more helpful.
OTOH: it all depends on the use case of those appliances - if you don’t have competitive gamers who wonder why they sometimes lag in your valued customer list, that’s a non issue (and if they actual were competitive gamers, they should use an ethernet/fiber cable instead of wifi, obviously).
And you probably did not get that much time allocated to add the delay, so going with another variant could get you in trouble if it’s taking too long.
Thanks for the information on those situations, I didn’t know.
It was actually mostly targeted to (multiple) European countries. Yet I would probably just re-do it the same way if I re-did that, I prefer the simplicity (of the code) of having the user manually refresh the list for such niche issues over a complex code others would have to maintain. Moreover, the wifi just has to be configured once, at first install.
And you probably did not get that much time allocated to add the delay, so going with another variant could get you in trouble if it’s taking too long.
When I read that, I’m happy to not rely on tickets system / scrum or to ever get into trouble because I’m doing the right things. I would probably quit a job like that, it sounds like hell to be considered that way.
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.
Then sneak in a test case that fails if the commit is made by Ron and ask Ron to implement it in an hour, all tests green. 😈
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.
I’m really curious what this patented security application is if the Android API already provided it.
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.
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.
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.
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
When I first joined my current company, they let me and another junior kinda have free reign because they didn’t know what to do with us.
Another team wanted to automate a tedious task so we volunteered and dove in. I learned a lot about PKI and the tool was going to be useful in a lot of places in the company. The other engineer and I thought we were on our way to a patent lol.
After presenting our work to an eager manager, we were given the green light to implement it. When the various design, network, and security engineers saw what we were planning on doing they nearly shit themselves lol.
We had basically created a bespoke package manager and CA and were crossing every network boundary out company had. I did get a gift card though so that was nice 🤷♀️
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
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. :>
Sounds like current working practice in the games industry
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.
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
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