3 ms·
> These are intruiging thoughts, and you might be right, but you're changing the subject and talking about global economic theory and philosophy along the lines
by imagist 10y ago
> These are intruiging thoughts, and you might be right, but you're changing the subject and talking about global economic theory and philosophy along the lines of Hobbes and Marx and Smith. In the context of this thread, these are enormous leaps and are neither the only nor the simplest explanation here.
I'm not making leaps to anything so large. I just want people to recognize that the outcomes business optimizes for are bottom line outcomes, not outcomes we would all agree are good. Too many people in industry believe that they're saving the world, which is only true as long as saving the world coincides with their bottom line (that is to say, not long).
> Can you cite some examples of companies with good outcomes unrelated to bottom line?
Sure. RethinkDB produced a great data store--I'd argue the best out there.
Incidentally they aren't in business any more. Producing good outcomes that don't affect your bottom line is an inefficiency companies can't afford.
> What is a good outcome that doesn't involve the bottom line?
This is somewhat subjective, but I think there are lots of things we can agree are good outcomes. RethinkDB (the data store) is one--usable, reliable software is a good outcome. But RethinkDB (the company) made money selling support--if you want to sell support for a piece of software, there's no reason to make it usable and reliable because then people don't need support. IBMs software business is a great example: it's so crap it's unusable without support, but IBM rakes in the cash.
> How can a company even exist to produce a good outcome without a bottom line?
It can't. You can produce good outcomes, but the gods outcomes you can produce are limited to those that help your bottom line.
> The problem with the manifesto and with your thinking here is that budgets are unavoidable.
Within the context of a company, sure. Outside the corporate world, I'm not so sure.
> There are no jobs, no projects, and no companies with infinite resources. Placing quality over deadlines can never work for all companies, and cannot work for any company indefinitely.
This is all true.
>
FWIW, the premise behind capitalism is "an economic system based on private ownership of the means of production and their operation for profit." (Wikipedia "Capitalism")
That's the definition of capitalism, not the premise. The reason we are told that we should accept and participate in capitalism is that it supposedly produces good outcomes.
> The Longflow Manifesto is written in the context of business, and I was responding in the context of business. If it doesn't work for business as you suggest, then you agree with me that it would be a bad idea for engineers working at their job to actually adopt this philosophy?
No, whether you should adopt this philosophy depends on your goals. If you want to produce good results and don't care about making yourself or (more likely) your boss rich, you should absolutely adopt this philosophy. But if you just want to get rich, your best move is to become the boss and persuade you're engineers that the Longflow Manifesto is some crazy unreasonable thing.
If all you want is to make your business succeed, not caring for good outcomes or personal gain, then sure, keep working as an engineer and do whatever your boss tells you. I just don't think that's what most people want.
- dahart 10y ago> I just want people to recognize that the outcomes business optimizes for are bottom line outcomes, not outcomes we would all agree are good. Okay, yes, I agree with that completely! > If you want to produce good results and don't care about making yourself or (more likely) your boss rich, you should absolutely adopt this philosophy. "Think long term" and "always learn things" and "aim for high quality" seem like platitudes, not a methodology or a serious philosophy. What, specifically is the problem being solved here? Where is the evidence that what is said here has actually worked? What does this document say that will actually help me achieve high quality? What is it suggesting we engineers do that we aren't already doing? I've never known an engineer in my life that didn't already think he or she was solving the longer term problems that others couldn't see or appreciate. One of the biggest problems we have in software is over-engineering. Interesting argument that if I don't buy into this "manifesto", then I must not care about good outcomes or personal gain. I don't buy that, I don't believe Longflow provides me with the formula for either good outcomes or achieving personal gain or satisfaction. It claims to, but it delivers something else. Purely from an engineering perspective, I don't believe that this Longflow essay offers me any practical steps to achieving high quality, and I do believe that it contains some very bad advice; avoiding regular communication with management and avoiding budget discussions will both result in poor quality software and a failure to achieve either personal satisfaction or career growth as an engineer, in my experience.
- imagist 10y ago> One of the biggest problems we have in software is over-engineering. Again, this is dependent on your goals. If your goal is just to make a quick buck, any well-advertised shit will do, so any engineering you can cut out is waste. But for my goals, I strongly disagree. The most widely-used front-end language lacks an integer type and has laughable security. MongoDB, a data store which requires replication not for scaling, but to maintain uptime when instances memory leak and crash, has a significant user base. The latest Macbook Pro sacrificed performance for a touch bar with questionable urility. Massive sections of our industry are built on sand. Over-engineering isn't the problem, under-engineering is. > avoiding regular communication with management and avoiding budget discussions will both result in poor quality software What do these contribute to high quality software?