Banks and finance are like the number one employer of software developers outside of pure tech companies. I might be misunderstanding your point, but a bank doing digital banking needs a huge IT staff, including software devs. Even if no new products are being developed (unlikely), they support changes to common industry systems, redevelop systems for retiring hardware/operating systems, support integrations with changing business partners, changes to regulatory requirements, etc. I’m sure some devs pulled late nights trying to support the PPP program for example.
Right now, with all the churn that only serves to update various financial numbers in databases and is generally useless for the society at large. As an end user, I view a bank as a box to keep my money so I don't have to deal with cash. That's really it. It already works for me as it is right now.
A rather popular bank in Russia is now trying its damnest to become a super-app. It's developing a voice assistant. Its mobile app has stories. A bank. Is developing a voice assistant and becoming an operating system. Where did we make the wrong turn?
And maybe, just maybe, regulatory change doesn't need to happen in the first place?
We force companies to grow, I guess.
All of the bullcrap the banks are doing mostly serves one purpose: get you to buy more of their products at terms that are bad for you.
All the complaints I have against the UX of the banking websites and apps I use can be attributed to this: they do a shitty job on purpose, because the site/app is primarily a vector to upsell you loans, credit cards and insurance.
(All complaints except one: the bank I used for my business accounts when contracting decided to make an SPA with one of the trendy JavaScript frameworks. Well, they botched it. This failure doesn't even help them sell anything, it's just the usual webdev incompetence.)
The only reason I use MegaBank and its obnoxious but functional app is that Local Credit Union can't afford to build a decently functional app.
Because part of it being shitty is obnoxiously advertising you financial products, making it hard to perform the tasks you want with your money without being upsold something, and making it near-impossible to use your account without going through the app/webapp (or a visit to the bank, or the ATM - which is also pushing ads).
I personally like features such as savings accounts (which require a treasury department), a brokerage, lending, mortgages, wire transfers, detection of fraud, and so-on
a bank does far more than provide a safe place for your cash to sit
> A bank doesn't need a full-time development team for example.
all of the areas I mentioned are subject to constant change, mostly from regulators
implementing the Payment Services Directive, Solvency II or MiFID II all require developers
the developers working on the app/website that you interact with are always going to be a small fraction of the developers that work for a bank
and if you think this isn't the case (in a very cut-throat industry), I would suggest you start a bank and put the rest of them out of business with your vastly reduced costs
Edit: I realize this can be read with a pile of snark that I didn’t intend. Apologies.
That’s ignoring things like online bill pay, mobile banking, and roll outs of new financial products that really are innovations from the last 10-15 years.
Plus I don't know about you, but my bank's website and app are a hot mess. In theory I suppose they could be feature complete, but in reality, nope.
So, just visiting Earth, or are you here to stay? :)
I've worked for banks and while there's certainly plenty of unwarranted churn the notion that they're done and the dev team can go home is ... hilarious.
Edit: addressing your comment in an adjacent thread, a box to keep your money in (or, canonically, a sock under the mattress) does not need to offer/support:
- Debit cards
- Credit bureaus. Yes, even if it's just a deposit account and no, this isn't optional.
- Know Your Customer (KYC) regulations
- Anti Money Laundering (AML) checks
That's before you get into other account types, offering credit, currency conversions and the zillion other things that sock doesn't have to do.
They could also work forever on making suggestions better. As well as new features like lossless audio coming up soon. Supporting new iOS and android versions/features. There is never a point where a piece of software is simply done because the OS changes how things work constantly.
The companies that just contract out for a tiny bit of work every few months end up with garbage software because no one really knows or understands the code so they just tack on bad patches until the system eventually crumbles. And every bank I have used does have a full time development team. The one I currently use sends out monthly emails for the new features they have released and has a road map showing what they are planning on adding.
On the other hand, the LG TV app for Spotify doesn't support gapless playback, which completely blows my mind.
Most users will though. Apple music implements that feature and charges the same amount for subscriptions. So if spotify wants to stay competitive they need a team of developers to keep up with whatever Apple and Google are doing. It's not good enough to just say "oh well the app is feature complete so we won't be working on anything new"
Nothing is ever feature complete when you have competition.
Had to buy the 4G version last time though, as Apples podcast and Music app is horrible at downloading, and Overcast was not much better.
Some people here mention feature plateaus and completeness of the app. Obvious question is, what should the employer then do? The software is complete, from now on there's only maintenance, which is relatively less work compared to building from scratch, so as a consequence I guess developers should be paid less then? Or like you said, fired?
Obviously the manpower could be just moved to the next project, but what if we look at the worst case scenario? What comes next?
Are there at all such mechanisms that could allow for, say, a team of engineers that maintains a bunch of projects in different companies. If such a team would take a maintenance of a few complete programs, the count of them would make up the difference in pay, e.g. a few mainted apps for a lower pay equal pay for building one app from scratch.
There's 2 scenarios 1) The entire dev team truly does move on...and the operations are in charge of the production app (they're in charge, anyways). There's no code changes...just OS, database security patching etc. If there are any code changes for security (i.e. upgrading Struts because Equifax got hacked...) then the business side that owns the app gets some resources. But otherwise it really isn't touched. It does cause some contention because no dev wants to be pulled in to work on those junk. But in the last few years, we have teams who's only job is to work on this kind of stuff. They work on apps that only need a dev team for a few months.
2) A stable app is part of a team. The team doesn't work on it anymore...For example my team previously owned ~8 systems. I think like 6 were mature where it had no new features. A lot of people actually left to other teams because of that - which is an issue in itself. What good dev would hang around? And when a new app or major feature is needed...you're left with stranglers and junior engineers who need to somehow step up.
It's a really awesome setup really because they are constantly adding new and fun features, experimenting with what works best. Stuff like automatically rounding up every transaction and sending the remainder to your savings.
The ability to instantly create and delete savings "accounts" without having to register a real account number on the phone. My favorite feature is what they call 2up where you send an invite to another member of the bank and you instantly get a shared account where you can both add and withdraw money. It also adds a second card to your phone wallet which draws from the shared account. So much less work and risk than traditional shared accounts.
With agile, practically, many times development is just in time with little regard to long term requirements or the evolution of software so it's all layers of layers of things that work. There's rarely a time for fundamental restructuring of the codebase to meet the new requirement correctly.
Once the cracks begin to show, we start thinking of software rewrite.
For a construction of buildings, the redevelopment is about once 40 years, for software, it's about 5-7 years.
Stale UI is very different from not being feature complete. vim and emacs are very stale UIs, but also as close to feature complete as I need, and thank God no-one feels the need to update them for modern UI preferences (or, rather, that those who do feel that need can do it without taking away my experience of classic vim).
How else will all those SVP's at your bank justify their fat salaries? They NEED more minions. Same goes for VC ecosystem. Funny how everyone has a scapegoat or a solution to this supposed software quality problem, not quite understanding the underlying financial incentives. Easy money -> rotten management -> crappy design.