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.

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

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.

lemmyvore
link
fedilink
English
101Y

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.

Python
link
fedilink
641Y

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.

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.

Could it be used as the basis for more advanced information exchange among those companies?

Python
link
fedilink
271Y

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.

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.

I’m really curious what this patented security application is if the Android API already provided it.

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 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.

embix
link
fedilink
271Y

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.

embix
link
fedilink
2
edit-2
1Y

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.

Spzi
link
fedilink
English
201Y

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

lemmyvore
link
fedilink
English
121Y

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.

embix
link
fedilink
31Y

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. 😈

lemmyvore
link
fedilink
English
1
edit-2
1Y

Eh that’s grounds for dismissal or at least a reprimand.

You always talk the shit, you never write it down.

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?

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
@snuff@lemmy.world
creator
link
fedilink
6
edit-2
1Y

deleted by creator

@0x0@programming.dev
link
fedilink
English
81Y

I lost count.

silas
link
fedilink
English
21Y

Next time keep it on a leash so it doesn’t run away

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

deleted by creator

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

@0x0@programming.dev
link
fedilink
English
41Y

So just another day at the office, eh?

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 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

@0x0@programming.dev
link
fedilink
English
41Y

The world is ruled based on excel spreadsheets. 'Cos… tables.

embix
link
fedilink
31Y

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

Paradox
link
fedilink
English
12
edit-2
1Y

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

amio
link
fedilink
201Y

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

Create a post

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



  • 1 user online
  • 1 user / day
  • 1 user / week
  • 1 user / month
  • 1 user / 6 months
  • 1 subscriber
  • 1.21K Posts
  • 17.8K Comments
  • Modlog