6 ms·
Always worth keeping in mind Remy's Law of Enterprise Software (https://thedailywtf.com/articles/graceful-depredations https://thedailywtf.com/articles/graceful
by BrenBarn 1y ago
Always worth keeping in mind Remy's Law of Enterprise Software (https://thedailywtf.com/articles/graceful-depredations https://thedailywtf.com/articles/graceful-depredations): if a piece of software is in any way described as being “enterprise”, it’s a piece of garbage.
Joking aside, I was intrigued by the list of good things at the end of the post. Some I could understand, but some seemed to fall into that strange category of things that people say are good but really seem only to lead to more of the things they say are bad. In this list we have:
> There are actual opportunities for career development.
Does "career development" just mean "more money"? If so, why not just say "there are opportunities to make more money"? If not, what is "career development" that is not just becoming more deeply buried in an organization with the various dysfunctions described in the rest of the post?
> It's satisfying to write software used by millions of people.
Is it still satisfying if that software is bad, or harms many of those people?
- leokennis 1y agoCommenting just on: > > It's satisfying to write software used by millions of people. > > Is it still satisfying if that software is bad, or harms many of those people? I work for a bank, so the software/service my colleagues and I deliver is probably at best "bottom of mind" for most people and at worst actively despised by many (maybe not even our specific implementation of it, but the idea in general that you depend on some behemoth to receive and send money). Still it's very satisfying to deliver it, because if I mess up it's my mom that will no longer be able to pay for her online purchase or that large energy company everyone knows that can not pay out their salaries. What I do directly impacts people's lives in very practical and real ways. I would really miss that if I worked on some niche SaaS product with a few customers only.
- beering 1y ago> Does "career development" just mean "more money"? Big companies means more opportunities to lead bugger project. At a big company, it’s not uncommon to in-house what would’ve been an entire startup’s product. And depending on the environment, you may work on several of those project over the course of a few years. Or if you want to try your hand at leading bigger teams, that’s usually easier to find in a big company. > Is it still satisfying if that software is bad, or harms many of those people? There’s nothing inherently good about startups and small companies. The good or bad is case-by-case.
- hobs 1y agoThe Freudian slip here is great.
- BrenBarn 1y ago> Big companies means more opportunities to lead bugger project. At a big company, it’s not uncommon to in-house what would’ve been an entire startup’s product. And depending on the environment, you may work on several of those project over the course of a few years. Or if you want to try your hand at leading bigger teams, that’s usually easier to find in a big company. Okay, so career development means "bigger projects"? > There’s nothing inherently good about startups and small companies. The good or bad is case-by-case. Well, maybe not, but I think the post illustrates some ways big companies are worse. I'd say that, all else being equal, companies tend to get bigger by becoming more doggedly focused on money, which tends to lead to doing evil things because you no longer see refraining from doing so as important compared to making money. Also, all else equal, a company that does something bad on a small scale is likely less bad than one that does something bad on a large scale.
- Agingcoder 1y agoprojects beyond a certain size in a large org imply things which are very different - people, networking, money, regulations, politics, business, security etc all things which don’t look spectacular when you have three people, but become very important and much harder with hundreds of people. So career development really means ‘learning a completely different skillset which is not technical’
- BrenBarn 1y agoThat's a good way to put it and is something I've often thought as well, although not just in the technical realm. I think of it as "doing a different job". You used to be a teacher but now you're the principal; you used to hammer in nails but now you direct the construction crew; you used to be writing software but now you manage other people who write software; etc. Personally I'd struggle to consider that "development" for my own life, since it often amounts to no longer doing the job I like and instead watching other people do it. I can understand how adding new skills is positive, though.
- churchofturing 1y ago> Does "career development" just mean "more money"? If so, why not just say "there are opportunities to make more money"? If not, what is "career development" that is not just becoming more deeply buried in an organization with the various dysfunctions described in the rest of the post? In life, everyone that thinks a lot is eventually confronted with the reality that we're all just minor players within much bigger systems. When you follow this thread, pretty deep questions start to fall out like "how can I be just in an unjust society?". Or "what's the best way that I, as an individual, can have a positive impact on my community?". Or "Is there any point in trying to change systems given my small role within them?". To these types of questions there's various different responses and consequences. Some people dive in feet first and engage heavily with the mechanisms they have to enact change (such as local politics, grass roots political movements, activism etc). Some people, overwhelmed by the weight of the system, disengage entirely. Now to answer your question, I believe in the work that we're doing (or else I probably wouldn't have joined). Career development at the company isn't just more money (though that's obviously a component), it's being given more responsibilities alongside the capacity to enact more and more change. Faced with a dysfunctional organisation that you're a part of, what do you do? The options as I see it are roughly: - Change companies, and acknowledge that the dysfunction is insurmountable. - Do your job and stay at the position you're in. - Embed deeper into the dysfunctional organisation, with the view that you can be an agent for positive change. >Is it still satisfying if that software is bad, or harms many of those people? To some people, yes. There are people out there that take satisfaction in doing harm. Not me, nor do I believe the work I do is harmful. I didn't think I had to be so granular as to say "It's satisfying to write software I believe is a net positive to society used by millions".
- BrenBarn 1y agoThanks for your thoughtful reply. I see what you're saying, although with the way the world is going, I'm increasingly doubtful of the potential of that approach, because it seems that companies are becoming more brazen about explicitly selecting for their narrow and immediate self-interest. In other words, the more you use your responsibility and influence to enact change, the more likely you'll just lose that responsibility and influence (i.e., get fired, demoted, or just shunted away to places where you can make less of a difference). However, that's not entirely the case everywhere yet, and it sounds like maybe you've found a place that's big but still not entirely evil, which sounds promising. :-) In any case, I didn't mean to imply that what you're doing is any more objectionable than anything I or a zillion other people do when we make the same tradeoffs you allude to. What I was mostly reacting to was that you mentioned those things in the section on things you viewed positively, whereas they seem to me like they still incorporate a tradeoff involving a significant amount of badness. Perhaps though you simply meant they were tipped at least slightly toward the positive side on balance, which makes sense.
- nikcub 1y ago> if a piece of software is in any way described as being “enterprise”, it’s a piece of garbage. if safety standards are written in blood then enterprise software is written in lawsuits
- stackskipton 1y agoDisagree that it's written in lawsuits, it's written to please every customer under the sun and due to this, code base has become Rube Goldberg machine that few people understand.
- DaiPlusPlus 1y ago> it's written to please every customer under the sun Yes, with the caveat that the customer is not - nor does not represent - the actual end-users. The customer is someone in procurement. ...or nepotism is involved.
- NearAP 1y ago> it's written to please every customer under the sun Disagree with this. In the places I’ve worked, I’ve lost count of the number of times we turned down feature requests with the explanation that - this isn’t common practice and seems to be unique to you.
- stackskipton 1y agoI think you are one working at Unicorn. Most Enterprise software I've dealt with ends up with internal coding engine so it can be extended to do whatever the customer needs. Bonus points of getting to charge massive implementation consulting hours for all coders that come along during implementation.
- jiggawatts 1y ago> ... Remy's Law of Enterprise Software ... the list of good things at the end of the post. Like the poster of the blog article, I too have worked in very large enterprise. Think 200K staff, 10K distinct servers, etc... I had the lucky opportunity to assist the CTO in hundred-million-dollar enterprise software purchasing decisions. I got to interview vendor after vendor, grilling them to see if they're compatible with "large enterprise". Most weren't. This wasn't about some Kafkaesque hoops they had jump through while blindfolded and on fire, although I'm sure that's the impression most of them got. The requirements were simple and perfectly sound architecture principles that they either met or did not meet. If they didn't meet them, then maybe their software was "good enough" for tiny clients, but would never work at scale. I even made a list, which from memory was something like: 1. Support single-sign-on from external sources such as LDAP, OAuth, whatever. (We're not going to sync our directory and every user password to your insecure garbage software.) 2. Have some sort of audit log. Administrative or configuration changes especially. (Some places have hundreds of admins, not all of whom are fully trusted.) 3. Have an unattended installation process, even if it's just VM cloning or whatever. (I'm not clicking through your GUI wizard 500 times at 3am on Sunday morning.) 4. Allow incremental migrations/upgrades. I.e.: The "easy" process of stop-the-world; one-way-big-bang; start-the-world process is not viable in an enterprise with 10K tenants where the upgrade may or may not work for all of them on the first try. 5. Scale. This can be as simple as having indexes on "user" and "tenant" tables, which is easily overlooked when the typical dev works with a scale of 1 user and 1 tenant. Similarly, using combo boxes / drop downs is a no-go for most fields such as security groups. (We have 700K security groups. No, we can't delete 699.9K as a workaround to make your GUI not crash from an OOM error.) 6. Accessibility is mandatory. With up to 200K permanent and 1 million occasional users, every disability will be represented. Not just vision or hearing problems, but motor-neuron issues, amputees, etc... (You name it, we have someone on staff with it.) Etc... Seen in that light, Enterprise software starts to make sense. It's not baroque or malicious, it's just taken on a certain form to suit a purpose. For example, I didn't understand why Active Directory uses search dialog boxes for every "picker" GUI control instead of a simpler drop-down or something similar... until I worked in an environment with 2 million objects in the directory.
- shruggedatlas 1y ago
- makeitdouble 1y ago> Does "career development" just mean "more money"? If you want to become a researcher in data science or developper evangelist for instance, you'll need a org that can sustain your work. Or if you want to be a micro service architect, you'll be booed in a 3 people shop but heartfully welcomed in 3000 people companies. Same for engineering manager paths, it only makes sense if you have the headcount. > software is bad, or harms What you work on doesn't need to be Enterprise software. Hopefully it isn't.
- Aeolun 1y ago> heartfully welcomed in 3000 people companies Unfortunately, because most of those 3000 will think about the fact their org is 3000 people. Not that the user base for the new product is 5 people using it only on the weekend.
- bob778 1y agoI’ve worked in a lot of enterprises on “tiny projects” but never on something that only went to 5 users. In one role I was the sole maintainer of a “small internal tool”…that had 1,000 daily users logging 5 hours/day each.
- Aeolun 1y agoI don’t think enterprise software is by definition bad. You can absolutely make good enterprise software, but doing that while adhering to the morass of requirements is a skill unto itself. And something that most people in an enterprise are just not all that interested in, since they’re never judged on how pleasant the software they deliver is to use. Hell, they not ever see any of the users interacting with the software. I’ve been at $ENTERPRISE for 7 years, and I’ve visited our users exactly once.
- SamuelAdams 1y agoIn my experience enterprises do not want to pay for excellent software, simply because it is expensive. I would love to work on software that was: - in more than two AWS regions - required screen reader / disability support - required multi-language support - required multi-cloud - actually needed a big Hadoop cluster - most enterprise data processing can be done on a MacBook Pro M4.
- hdgvhicv 1y agoMy second major project at $ENTERPRIsE was 15 years ago and incorporated the first 4 (well multiple servers on different continents, why would I care about AWS) It was internal shadow IT at its finest. It’s still used today, despite the people at the top not liking it the users think it’s the best thing since sliced bread.
- deleted 1y ago[deleted]
- NearAP 1y agoI was in Enterprise software and even though I didn’t visit users, I dealt with them regularly eg through video calls or engaging with them via support forum if support escalates an issue. And yes we were judged on how pleasant to use our software was. If we miss a feature or ship a feature that customers intensely dislike, best believe that we’ll get a torrent of negative feedback on our support channels
- whstl 1y ago
- tough 1y ago> Is it still satisfying if that software is bad, or harms many of those people? sadly many engineers might detach or feel powerless or simply not their part of the job, and only be attracted to the huge scale. sadly you can only ever work at that scale if you work for a few of the giants, of which mostly all do the same algorithmic dark patterns extraction methods shareholder benefit maximalism capitalism pushes them into
- sbinnee 1y ago>> There are actual opportunities for career development. > Does "career development" just mean "more money"? To me it seems it’s related to the specialist-generalist point that it’s easier to focus on one thing rather than to do all the chores you face in SME environments.
- AdamH12113 1y ago> Does "career development" just mean "more money"? No. Career development includes paid training sessions, title promotions (junior -> senior, etc.) opportunities to work on larger projects in more significant roles (resume building), and opportunities to transfer into management, as well as (in some cases) opportunities to publish conference papers and the like. As you get older, this kind of career development becomes more important because it is recognized by people who will hire you.
- lelanthran 1y ago> Does "career development" just mean "more money"? If so, why not just say "there are opportunities to make more money"? That was not my takeaway, because earlier he alluded (twice) to the fact that titles are a thing: 1. A senior technical person who can't turn on a computer and an analyst not being able to speak english, 2. `I have met no less than 6 (six) people with the title "head of architecture".` So I am guessing that is what he means by "career development"; you can acquire impressive titles.
- BrenBarn 1y agoI've never understood why anyone would care about titles at all.
- hdgvhicv 1y agoWith more title comes more salary. Usually more ability to influence more policy too.
- 63stack 1y ago"More title" can also be used to quell ambitious, but naive/misguided people into not asking for a higher salary. I've met quite a few people who attach way too much pride to how "high" they are in the corporate ladder. They saw the title itself as a part of their compensation.
- lelanthran 1y ago> I've never understood why anyone would care about titles at all. I cannot understand this sort of notion at all. 1. You don't care about $SOMETHING - great, I can understand that. 2. You don't understand why others care about $SOMETHING - Sure, I can understand that too. 3. You feel a need to broadcast this lack of understanding to the world - wtf? I mean, I'm ignorant on a lot of subjects, but I hardly ever boast about my ignorance. It's like when people proudly tell me "Oh no, I've never been any good at Maths": sure, lots of people aren't good at reasoning, but is being stupid something to brag about?