Hacker News new | ask | show | jobs
by rvanmil 1871 days ago
I agree, it’s their business priorities which result in engineering that leads to bad software. What I’m saying is you can choose to not buy into one of those uber-programmable enterprise platforms and instead (let someone) build fast and user friendly specific software just for your needs. All of the customization and dynamic crap can go out of the window that way, which will allow engineers to make things fast and user friendly again.
3 comments

The problem is that the definition of "just for your needs" lasts about a year, max, and then your needs change. Businesses are constantly re-organizing and engaging in process engineering, and this creates rapidly changing needs. Go through this a few times and at some point you will get the bright idea that you need to create some DSL/platform metaframework to allow customers to auto-configure what "just for your needs" means or else you will be buried in a pile of feature requests that your tool doesn't have but the competitor does. And then third parties will come along and you'll want to package their work to create pluggable tools that customers can install. Then you'll spin up app store.

Then throw in all the regulatory and compliance stuff that businesses need to trust storing their data with you. Add EU regulations and you will end up building data centers in different parts of the world. Then you will want to spin up training to use your custom DSP. And localization packs. Then you will need APIs to pull data in and out as customers will fear lock-in and they'll want you to integrate nicely with some other service. Then you have to figure out how those APIs work with your metalanguage. Then other customers will demand the ability to reskin everything with their corporate logos, custom login screens, support for SMS and two factor auth, support for third party identity providers, scripts to enroll/unenroll users, admins will want scripting platforms to manage all the complexity created by adding the other features, Etc.

>What I’m saying is you can choose to not buy into one of those uber-programmable enterprise platforms and instead (let someone) build fast and user friendly specific software just for your needs.

the problem is not everyone can afford a IT dept with software programmers that can build out custom software.

If IT is not their core most companies seek out software that is already out there with somewhat decent reputation.

edit: at one of my previous job, they have a in-house software that was build with older technology that needs to rebuild. they outsourced it to Capgemini. it started when i join the company and by the time that i was out (4 yrs). they still didn't get it covert. they kick out Capgemini around two years in and hand it to another consulting company and the new consulting company junk out Capgemini's code and start from scratch.

i'll like to know more details on how they botched this project, it always make me curious how they botch it up for 4 years and two million wasted.

> the problem is not everyone can afford (a IT dept with) software programmers that can build out custom software.

Agreed, though isn't this often just a problem at a strategic level? C-level doesn't understand digital transformation, so there is no strategy and no budget, or they think they can just buy it with platforms like Salesforce.

Having custom software built is only getting cheaper because our development tools are getting more and more powerful and managed cloud infrastructure is extremely compelling due to removing most of the ops from devops and being cheap at the same time, so costs could hardly be an argument anymore, right?

But yeah, there's always the risk of hiring a firm that has a quality problem, or uses terrible tools to build software in the first place (which is what I was referring to with the joke in my first comment in this thread).

Enterprise software is a minefield, how can we fix that? :)

I have personally seen two 30+ million projects trashed. Not including the wasted man hours spent internal employees to support the consultants. IT projects have an incredible failure rate.
Salesforce was brought in by many sales teams, initially, because the internal systems were too slow to write and the sales teams could just setup salesforce and get going!