It's not to ship software or whatever else, it's to make money. Because without money, you don't have your pay or job and the major reason why you do your job is gone.
Your perspective optimizes for your job and what you enjoy the most, but in most businesses, it's not just the factory and engineers that makes the business, and if you worked diligently on the wrong thing, thats an even worse waste. There are billions of lines of code out there that nobody gives a shit about because their associated business failed. The market doesn't reward the nicest team to work on, they reward winners. The nice team is just a tool to be more likely to win.
If the goal of a company was just to make money, full stop, then all companies would just do the same handful of most-profitable activities. But what we actually see is companies doing an enormous range of different things, with an equally huge range of levels of profitability.
I think it's overly reductive to say that the only purpose a company has is to make money.
That means that you might engage in R&D for projects that have a chance to become really big in the future. It can also mean pursuing an ever larger range of smaller profitability projects (still adds to your profit).
This may not be what the CEO is optimizing for. Even assuming a CEO is an all knowing oracle in terms of predicting future profits and even assuming they are aware of all the details of what a large company is working on (hint: they're not either). The rest of the organization has a life of its own as well with individuals optimizing for different things that are rarely in perfect alignment with the company's goals.
On top of all that, shipping software may not be the business driver. Promising things, demos, good salesmanship, may all contribute to a business more than "shipping software". Look at Tesla's "FSD". I.e. it's not even clear that shipping sooner with amazing value/quality to the end user drives the business side that strongly. Often software is not sold directly to the end user. Even when it is the end user may have other things driving their money spending decisions. I would say it likely can be a driver but you also need the kind of organization that is able to leverage that in the market.
Yes, but also no. It's a simplification that is amazingly accurate, it does help to think of different companies as thinking about money on shorter or longer timespans.
As someone working in big tech, I have to say that for certain features I would much rather ship the right 10,000 lines in 6 months than 100,000 lines of the kind of wrong thing. The cost of being even a little wrong at the scale my company operates at is eye-watering.
We had two teams do a bit of what you describe over the course of six months, shipped a lot without building much alignment. We are going to live with the cost of those decisions for a minimum of 5 years.
The lower bound of the cost of working around their mistakes right now is equivalent to... 80 engineer years maybe? Because now we have customers who rely on some insane functionality they built that we are contractually obligated to support (and spiritually want to maintain good faith) and it will infect a bunch of other systems that will now have to integrate with their choices and take on that tech debt.
In the context of this discussion and your comment, wouldn't it be better if those teams were aligned and productive? Is that just not possible in large orgs/software or is it just poor management?
1. Do we have all the information to make the right product decisions now?
2. Do we have all the information to scope all the technical work?
Both are unusual and the second requires the first. It's not that it never happens (A nearby team in my org did it over the last six months) but this has become harder to achieve as the complexity of software has increased.
So slow productivity in case the direction is wrong? Like he said, ideally, you package up the (correct) work task and hand it off to the worker.
It's staggering how numerous high-profile tech firms are sitting on gargantuan cash reserves, with seemingly no coherent strategy on how to allocate these resources. In the meantime, employees bear the brunt through layoffs, while innovative competition gets steamrolled under the guise of threats.
I'm of the belief that our technological endeavors should fundamentally aim to enhance the human experience in a long-lasting, sustainable manner. A deliberate and well-orchestrated transition to more efficient and equitable ways of operation should be the industry's primary focus, not just an afterthought.
With what resources, votes, arguments, etc.?
Let people have a voice in their workplace. It's so funny to me how Americans wax poetic about republics and democracy until it comes time to talk about their workplaces. Or about how taxes are theft but the surplus value of their labor that is increasingly held captive by faceless NGOs is not discussed.
People should work to live and not the other way around.
Interesting, because the simple life you describe was long in the rearview mirror to me by 2000. It does describe what things were like for me in the '80s, though.
I wonder if the difference isn't time period as much as career experience.
Yep. I had this leave-me-alone experience in the late 2010's. Again in ~2015. Yet again in 2020.
Actually I get this experience any time I join a new organization and am not The Guy for anything yet. I have no idea what's going on, so why would you bother _me_? You wouldn't. You'd let me get on with work.
But as time passes, I know more and more about how things work, who knows what, where things are, what the code is doing, past and future decisions, ... suddenly I'm your best bet to get quick answers to tough questions. Of course you're gonna bother me!
3-letter acronyms are the worst
Just my opinion, but anyone who routinely relies on "quick answers" needs to be kicked in the shin and then fired without severance. They are the swampiest part of the swamp.
just that a vast majority of companies would go out of business
But if you keep asking the same question, then you should be kicked in the shins. And the expert should be kicked for not writing it down or fixing the system after the same questions comes up for the 3rd time.
It still exists in 2023
Though strangely most additions have focused on giving management more control, not more understanding.
Unfortunately, part of those team's success was their ability to work mostly unblocked by the rest of the org. Once process had to accommodate other people's timelines and turn-around expectations, that all went out the window.
Most organizations seem to much prefer optimizing for short-turn around time over sustained throughput.
We have peak micro-managements doctrines, then "just look at the big picture" reaction, then it stagnates in the middle, to go back to one extreme or the other. I think the Agile trend will go away, and there's some companies out of it already, I just don't expect this current trend to last for a half-century either.
After that things got a bit more asynchronous with social networks and the like.
> Chat did not exist, but wouldn't make sense anyway.
Perhaps not to you, but for others it had been around time for some time, along with its problems. Microsoft, for example, distributed WinChat starting with Windows for Workgroups in 1992.
Here's a description of events which took place at Microsoft no later than early 1993, as described in the 1996 book 'Showstopper! : the breakneckrace to create Windows NT and the next generation at Microsoft', https://archive.org/details/showstopperbreak0000zach_p7g1/pa... :
] WinChat was a variant on electronic mail; it allowed two or more people to type messages back and forth as if they spoke on the telephone. These “interactive” conversations were quite popular and illustrated the benefits of a computer network. It was important to test WinChat because NT was supposed to incorporate all Windows networking features. In his memo, Manheim was informing the team that they could use WinChat if they wanted. While his group was testing WinChat, others using it might also turn up problems.
] Manheim’s announcement bothered Cutler. He felt WinChat would distract people from bug fixing. He didn’t want it used. “This isn’t a fun app. It is a waste of time,” he wrote to Manheim. “VMS had this program 10 years ago. It was a waste of time then and it is a waste of time now. Anyone I see wasting their time with [WinChat] is apt to get some verbal abuse.”
] ... Using Winchat “is not a waste of time,” Manheim wrote, his anger rising. “It’s part of the product that will be used by the customers and if it’s trash we'll get shit for it.
] ... I have direct experience with this kind of application at Digital. It is easy to get everyone to sit around and type at each other rather than fixing the bugs they should be fixing. If I had my way we would not ship this app. But then we wouldn’t be compatible with Win 3.1 and we have to do that.
The book also mentions email,
] It was a neat ploy, since colleagues mainly conversed via electronic mail, or e-mail. No matter Whitmer’s whereabouts, his e-mail address remained “Chuckwh.” At Microsoft, e-mail was the most trusted and intimate means of exchanging messages.
It seems like we're in a race and constantly accelerate but does it make sense?
Don't get me wrong, I understand that it makes economic sense to be faster and cheaper than the competition. I also don't mind many of the nice goodies we have nowadays and the progress in medicine etc..
However, I feel like working was more humanely paced back then. It's also possible that I'm just getting old and / or tired (I also suffer from depression and whatnot) which makes me think so fondly of the past.
E.g. the company I'm working at now, they had folder filled with documentation and there were people actually thinking about how the things should work and how some meaningful innovation could be done. Nowadays documentation spread in different versions in numerous teams channels, sharepoint pages, jira, confluence, network shares, git repositories etc. it's really hard to find anything. Lot's of features are being added to the products but without knowing how they're actually being used by the customers, many of them being completely impractical or irrelevant in real life...
Back in the day remote access to customer infrastructure was non existent, so you had to travel a lot and spend countless hours on the phone.
Working with teams overseas was also challenging, there was no Teams, Zoom or Discord, the best you could hope for was Messenger (then Skype) or trying to get everyone on a call.
But most of the stuff was done over email, which is a terrible tool for synchronous communications.
Documentation has become easier to maintain as well.
I agree that many companies are overwhelmed with technology and many of the processes have become redundant, but that's mostly due to poor design and implementation.
A good document management system, good standards and training really improves documentation.
We stopped using network shares for documentation about three years ago.
All of our development,dms,collaboration and communication tools are on Azure.
Not all are perfect and we miss some functionality by being locked out with MS but they all integrate pretty well for the most part.
We recently got rid of the last few line phones in our offices and we are all now 100% on Teams for external communications as well.
As for the human part, that's something really subjective.
I keep my social life almost completely disconnected from work, and although I enjoy the monthly happy hour with colleagues and small talk in the office sometimes, I don't have any personal desire of having human interactions at work.
I've heard this a lot but don't get this complaint. Email wasn't designed to be, meant to be, or supposed to be used as a tool for synchronous communication. So of course it's terrible at it.
The point of email as a tool is to satisfy other goals. It's an excellent replacement for FAX, snail mail letters, etc...
Conference calls, video calls, face-to-face meetings are the tools meant for synchronous communication.
'Chat' tools are completely unnecessary. It's there to satisfy the perceived demands of the workforce but might actually be net negative as several commenters pointed out here.
When I joined the work force in 2000, my life was comparably so stunningly simple. Just a few guys in the same room. Barely any process or documentation. Email was still new so the concept of an outside world barely existed. Chat did not exist, but wouldn't make sense anyway. We talked a bit here and there but 80% was actually doing the work, not talking about it. Management had no idea what we were doing and metric porn did not yet exist.
A lot has changed. More complicated tech stacks means more deeper specializations, requiring more handovers. A lot is outsourced now so you may need vendors to move things. You may have off-shored things. Nobody has clarity on what you need to do, hence you need to hop the organization to find out the details. You need to pass legal and the privacy office. You need to report status constantly to an army of bean counters. Testing has become amazingly complicated and so is system administration.
It requires super human effort to move things by an inch. So no, "collaboration is not a force multiplier". Collaboration isn't a product or outcome. Ideally you'd have an absolute minimum of it. The ideal workflow is that you create a clear and detailed work package, hand it over to the worker, whom you then leave alone to actually do it.
Your companies' purpose is to ship software or whatever else it does, it isn't to ship emails, chat, status updates, approvals and documents.
It is absolutely baffling to me how highly paid office workers' productivity is pissed away like this without intervention. Don't send them to a yoga class to cope, fix the fucking problem. You're setting your money on fire.