9 ms·
Seeing like a software company
- for_i_in_range 1y agoNext post should be How to Create TPS Reports
- FrankWilhoit 1y ago[flagged]
- dang 1y ago"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something." "When disagreeing, please reply to the argument instead of calling names. 'That is idiotic; 1 + 1 is 2, not 3' can be shortened to '1 + 1 is 2, not 3." "Don't be snarky." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- FrankWilhoit 1y agoI appreciate the feedback. I was not rebuking the HN community member who posted, but the author of the article he linked to. Refuting that original article would require a couple of thousand words. The missing perspective was that of the customer, which is essentially opposite from that of the vendor.
- metadat 1y agoAnd yet the customers keep buying from the big shops. Perplexing in some ways, and also a cold hard fact of reality. Did you have something more to add? I am definitely curious to understand more of your perspective. Cheers.
- FrankWilhoit 1y agoThe budget is use-or-lose. The contracts with the major suppliers condition large "discounts" on spend increasing every year. The exact targets of the spend are either specified by the auditors or not specified at all. I have been in meetings where between ~50-100 managers and architects were told, we have to spend 15% more with ___ next year, here is their list of software SKUs, what is your Christmas list?
- _--__--__ 1y agoA substantial portion of the linked article is about the specific priorities of enterprise software customers.
- FrankWilhoit 1y agoSpeaking as one such customer, it is all false. Again, a detailed refutation would run to such length as to abuse the hospitality of this forum.
- rwallace 1y agoI disagree with your second sentence above. I think it is shallow dismissals that are inappropriate here. Conversely, I have upvoted a number of long explanations of interesting topics. If you don't have time to write a detailed refutation, that's entirely understandable! But if you do, I would love to read it. I did appreciate your paragraph length comment on the matter elsewhere in this thread.
- FrankWilhoit 1y agoMy original comment was one of those "if you know, you know" things. Topics age out very quickly on this site. I have two lengths: aphorism or six pages. The graf that you so kindly praise raises more questions than it answers and I am not comfortable with that. I am also not comfortable with spoon-feeding my own views, which are evidently idiosyncratic. At medium length, that is the effect. To marshal citations and evidence in order to re-attain objectivity really does explode the level of effort. It is worthwhile, but this is a quick-hit forum, things roll off the front page usually in about an hour or two. The flip side of that is that there will be other opportunities.
- rwallace 1y agoFair enough! If you ever have the time and inclination to write it up as a blog post or such, I would love to read it.
- levity 1y ago> Why are these capabilities so valuable to a large software company, when small software companies can do without them? This is leaving my area of expertise somewhat, but I’m pretty sure the main answer is large enterprise deals. Anyone willing to comment for whom this is their area of expertise?
- dasil003 1y agoThat line jumped out at me as well as being weirdly specific and reductive compared to the rest of the article which read as pretty broadly truthy. My take as a middle manager in medium sized company (but who came from a startup background) is that some structure is necessary as a company scales just for people to know how to do their jobs. You can design it lots of different ways from light to heavy, but once you go beyond Dunbar's number you can't just rely on common sense and informal communication. If you really really hate "process", you can push things pretty far, and I guess Steam would be the canonical example here, but even there you see that it heavily filters for certain personality types and the politics can be brutal if you're not part of the in-crowd.
- yed 1y agoI'm a cofounder of a small software company that specializes in enterprise projects and I don't agree with this line, though the rest of the article rings true. Enterprises do need legibility at the project level, but that doesn't necessarily translate to internal legibility for the contracted company. You can deliver enterprise deals without demanding a particular internal development process, other than committing to and prioritizing certain features. You do need legibility at the customer-facing project management level, but that doesn't need to get so granular that you dictate how exactly developers perform and organize their work. To me the real explanation is pretty simple: large software companies need the legibility of enterprises because they are enterprises, or are trying to become one.
- rawgabbit 1y agoIn any large organization, expect to be audited by internal and external several times a year. The auditors want to see process documents. The more the better. The worst case is your auditor “fires” you as a customer. For example, https://apnews.com/article/super-micro-computer-stock-auditor-resigns-d1cc4377628b3024e659dcfec9318dcd https://apnews.com/article/super-micro-computer-stock-audito...
- boberoni 1y agoThe more I work in corporate and learn about office politics, the more I see parallels to geopolitics and diplomacy. If I squint, I can even see the parallels to social and romantic relationships as well. Maybe it's the mathematician in me who enjoys building models of abstraction.
- lanyard-textile 1y agoWe humans love to make patterns out of everything.
- fruitplants 1y ago> We humans love to make patterns out of everything. Not sure in which vein you meant: 1. Humans exhibit some behavioral patterns. 2. Cognitive bias where the brain thinks that there is a pattern when no such pattern exist. I think you meant the second one. I used to think I am good at noticing patterns. But then I realized that this perception about myself clouded my vision of looking at a given problem or system because my brain tried to pattern match problems and solutions. While it worked in some cases, it did not in others. And just telling myself that while I think that there's a pattern here, there may or may not be a pattern helped- just being aware of cognitive bias.
- 6510 1y agoThe larger the group the more refined qualities are lost. It's terrifying!
- godelski 1y agoIs it not natural for that? I think less so between social and romantic but larger businesses and governments have definitely share many of the same problems. Though I think businesses tend to be much more autocratic. Maybe feudal is a better term? There's definitely a lot of differences but I think the larger a business becomes the more government like it becomes. Or at least it appears that way to me. I mean they're both very bureaucratic
- 1y ago
- koeng 1y ago> Why are these capabilities so valuable to a large software company, when small software companies can do without them? This is leaving my area of expertise somewhat, but I’m pretty sure the main answer is large enterprise deals I think the more boring answer may be that in any sufficiently large organization, the only way to maintain control is through legible processes, because the sociopaths do utilize the legible processes to keep things running (and utilize the illegible processes to make deals). Without legible processes, after dunbar's number, your communication falls apart.
- csours 1y agoDunbar's number and the fractal nature of managing things in the real world. You manage surface area, not volume or area, and the coastline is pretty bumpy.
- ChrisMarshallNY 1y agoThis has always been a balancing act. I was an engineering manager for 25 years, and had to deal with the balance. I worked for a heavily process-driven company. It could be infuriating, but they did manage to consistently produce some of the finest hardware in the world (unfortunately, the same could not be said for the software). I have found that writing things down, can ossify a project, but you really can't do without. Communication overhead is the single biggest killer. That's why a small team of experienced engineers, that are used to working together, can often do amazing amounts of work, and that "tribal knowledge" -that bugaboo of software process gurus- is actually a very important accelerator. I wrote a post called "Concrete Galoshes"[0], that talks about the things that add structure and inflexibility to projects. The single biggest lesson, is that we should be very careful about "One Size Fits All" solutions. Different types of projects need different types of overhead and structure. [0] https://littlegreenviper.com/various/concrete-galoshes/ https://littlegreenviper.com/various/concrete-galoshes/
- frutiger 1y ago[flagged]
- deleted 1y ago[deleted]
- jaggederest 1y agoChris Marshall lists substantial time at Nikon on his LinkedIn. I suspect you've probably heard of them.
- ChrisMarshallNY 1y agoI generally don’t name them, in my posts, in order to reduce the amount of “media noise” they need to search through. Also, I will occasionally say less-than-complimentary stuff about them (not too bad, I still have massive respect for them). I’d rather not give them agita.
- deleted 1y ago[deleted]
- 0wis 1y agoSeems quite true even in a non-software large company. The work about work is often more important, and certainly is for promotion related progress.
- bonoboTP 1y agoSure, and it's often warranted to be cynical about this, but the work about the work is really really important. Often the lower level worker thinks they do everything and the upper levels just chat and politick around. E.g. if you're a truck driver you may think you are the one doing the real work. But if the bosses miscalculate if it's profitable to enter into a relationship with a customer and haul their stuff from A to B, your job won't exist. If the product managers decide to build a product that nobody will need and buy, then you can do your best engineering work and it will be for nothing. If you're a construction worker operating the drill to build a subway line, it may feel like the bosses are just having meetings and fun chats all the time, but it matters where the metro is built, they have to balance lots of interests and talk to lots of people. Real estate prices will be impacted, noise will be impacted, more people will start to show up in some places, convenience will be impacted, all that needs to be balanced with the soil situation, underground waters, etc. etc. Decide what work should be done is just as important as the actual work, sometimes more.
- thadk 1y agoIt seems to me the next opportunity for Sean is to integrate this logic with The Goal (1985) extended universe of works.
- ArcHound 1y agoI work in IT sec, where this is even more pronounced. Specifically, does anyone please know about any effective alternative to back channels when tackling "we need your team to do this thing which doesn't help your metrics"? Pretty please?
- throwaway920102 1y agoOffer to trade your teams engineers to work on a product/feature/roadmap item of their choice in exchange for them doing your thing.
- ArcHound 1y agoI think this is good advice, I'm adding it to my bag of tricks, thanks. I have to ask a follow-up - there are cases, where the teams don't see any value in security at all, so they don't want anything that I'm selling. I think I know the answer to this one (namely, you need to build relationships with and convince the leads). But I am still looking for an alternative as the above is hard in all cases and impossible in some.
- evnu 1y agoSometimes it works to find a solution which makes the life of teams easier and comes with an additional gain in security. That can potentially be sold more easily to the team then, as you are solving a problem the team actually experiences.
- stroebs 1y ago> sanctioned efforts like this are almost always temporary. The majority of the illegible work that occurs in large organizations is still unsanctioned. The title “DevOps Engineer” often fits a permanent role of sanctioned illegibility in large organisations. One cannot explain exactly what a “DevOps Engineer” does, because (a) you cannot _engineer_ a culture, and (b) largely these engineers do urgent and important work that cannot be planned, estimated, put into sprints, etc. I’ve had this title through several of my roles at orgs over the years and I detest it, but nonetheless understand why it exists.
- scrubs 1y agoLoved this article. Thanks!
- monkeydust 1y agoNice post from Sean (again). This applies a lot to product domain as well as engineering. Example, around a year a bunch of product people and like-minded engineers wanted to develop something that we believed could benefit other teams as well as ours. To fund officially (legible channel) would have been a nightmare for many reasons at the time so it was agreed that we would just do it (what OP would call illeigible channel) this required massive degree of trust and respect which this group had. It felt like a pure grassroots initiate and not driven by top down, as such this helped the development get traction across the org, surprisingly quick in some cases. Fast forward to today and senior management now citing this as a success story that fits into the narrative they are presenting...great..but...of course...no good deed goes unpunished! The team is now having to retrofit the business case and justification through the legible channels, it's painful of course but in same easier as the chance of failure has been massively derisked. One of the much more fun, satisfying and rewarding projects I have worked on in recent years.
- rester324 1y agoI read this blogpost and I simply see it as a shoplist of pathologies. And even bad at that, because it's only focusing on how these pathologies impact the company bottomline and it doesn't even touch on how destructive this late stage pathological capitalist company management detrimental to society. Financially, mentally but also phsyically. And it also doesn't mention that these pathologies only serve one reason, so that the members of the class who are holding power and capital can extort control and exploit the working class. So yes, people can see the company this way, but if people ignore these problems I listed, they are part of the problem of why capitalism fails for so many and it only benefits so few.
- nine_k 1y ago"Socialism is bookkeeping", as Vladimir Lenin used to say. If you think that late-stage megacorp capitalism is pathologically bureaucratic (which it sometimes is), refresh your memory of how the Soviet bloc handled that. I would say that these pathologies come from the lack of trust, and thus the need to surveil and control. The problem of trust does not usually occur in a small team. It does not usually occur in a commune of like-minded people, too. It's not about the economy and property rights, it's about communication and game theory.
- martindbp 1y ago[flagged]
- athrowaway3z 1y agoGood article, but I do think there is one aspect of the story that we don't talk about enough. It sticks to the world view that SWE are the leafs in the graph. The assembly workers at the assembly line. Though, the author knows this isn't true, as noted in the "Legible assumptions" section. Software engineerings are managers extending the organizational graph. With code. There are some peculiarities to it, but they are managers. A lot of problems in one domain have an analogous in the other.
- hshdhdhehd 1y agoSoftware Engineers are also expected to be actual managers to climb the IC levels. Just writing code is not good enough. You need to be a project manager, architect, team leader and heavy weight persuader to be considered senior. And then you also need the paper trail to prove it.
- piker 1y agoThe temptation since the TDD movement has been that if you can't test it, it isn't "written". I think "legibility" is a great word to describe that desire. I have hundreds of unit tests for Tritium, but it wasn't until I started writing a blog using it[1] that I started finding qualitative bugs that weren't picked up (and would be really hard to pick up) with unit tests. They were illegible. I think this is why indy game dev is resilient to market economics where other software verticals become winner-take-all. Game devs are able to make their products qualitatively better because they dogfood so well. They also, as alluded to in the article, have a smaller "enterprise" surface area which requires so much legibility. Truth is, you need both qualitative and quantitative measures. [1] https://tritium.legal/blog/eat https://tritium.legal/blog/eat
- cjfd 1y agoI think this is true. I am a big fan of TDD but it remains important to also do a manual test. Often things just don't work out exactly as one would think. This is especially true with things that relate to user friendliness but also with other things.
- praptak 1y agoTest in general (unit tests paticularly strongly) are prone to the streetlight effect. The more trivial or unimportant something is, the easier it is to test it. This creates the temptation to test the easy part rather than what's important. And this can be made even worse if the organization pushes for "legibility" via the easy "legible" metrics (e.g line coverage) rather than hard "illegible" metrics (i.e. a review of the tests by an experienced engineer).
- arcanemachiner 1y ago> The streetlight effect, or the drunkard's search principle, is a type of observational bias that occurs when people only search for something where it is easiest to look. https://en.wikipedia.org/wiki/Streetlight_effect https://en.wikipedia.org/wiki/Streetlight_effect
- martindbp 1y ago
- hshdhdhehd 1y agoThere is truth in what is said here but I dont think it is that extreme. I work at a circa 5k engineers company. So not small but not Amazon. However I find most rules have a decent enough reason. Let's say you need 2 cose reviewers. This is to avoid mistakes going into prod. Not many reviews are rejected but if you had no code to reviews to prod I bet there would be more outages and cowboy code slings. So it acts as a forcing function. Now I dont need to break that rule because lots of other things are not degenerate. But maybe I do one day. Maybe 90% of my team get pulled away to some high severity incident and so we left in the team cant get the reviews. Maybe we need to break the rule for a day to get a critical fix out. I think yhat would be OK because balancing the reason for the rule with the reason for the fix and the reason we cant follow the rule. If there are rules you cant understand and feel like pure bureaucracy then I leave. Worked places like that where someone has a pet process and they'll shout "you holding it wrong". For most it is SCRUM but there are other ones. The people running things care more about process and ego than actual progress. Then leave.
- diodoe 1y agoI recognized a pattern I’ve often seen in large tech orgs: the way formal processes, while frustratingly inefficient day to day, are what actually make scale and big enterprise deals possible. Framing it through Scott’s legible/illegible lens helped me make sense of why that overhead never really goes away.
- donatj 1y agoI worked for a small very well oiled company, not really a "startup" but similar energy. We got gobbled up by a big company a number of years ago. The culture shock has been wild. We've largely managed to, in the face of corporates wishes, maintain our speed and agility. With recent rounds of layoffs, we'll see if we can keep that up I guess. I have come out of this experience genuinely wondering how large companies manage to stay in business. I frankly think it's down to resting on laurels. For instance, if another department needs something fixed in an API we manage, assuming the work is simple, we can usually have it fixed and live within the day. We have had issues with APIs from other teams where an API we depend on has been offline for literal months because "there is no time on the roadmap" and it took six months for, from my understanding, a service to get restarted. This happens all the time. Every single piece of work needs to be "planned". It needs to be fit into this imaginary schedule. God forbid you turn on the lights without a plan. The number of "planning meetings", sometimes multiple days long, that should have been an async slack thread is absolutely insane. Almost always we could have everything being "planned" done inside the time of these meetings. > Increasing legibility thus often actually lowers efficiency - but the other benefits are high enough that organizations are typically willing to do so regardless. I dispute the second half of this entirely. Planning the unknown has so few real actual benefits in building software as to be nil. Perceived benefits, sure. Actual? Nil. The road before you literally unfolds as you build and sticking strictly to a map drawn by the blind is literally insane. We give this imaginary "map" of what is supposed to be happening to managers and investors. Does this result in better software? God no. The results take far longer and are far worse in quality because we stuck to a map drawn by someone without impossible knowledge of the full scope of the problem because the only way to get that knowledge is to actually work through it, and if you do that you have the product. It's literally The Halting Problem. You cannot know the scope of a problem without doing the problem. All it does is provide management and investors warm fuzzies that they think they know what's going on when they don't. I was drawn to tech as a young man for its logic, reason and provability. As an older man, I find it so full of cults. Cults of process, cults of personality, cargo cults. It's all the junk I wanted to get away from.
- Folcon 1y agoI've been thinking about this a lot recently, I think it's a mixture of the effects of power laws we see in larger orgs having more revenue and their biggest concern is not having any issues that risks the reputation etc they've built. Smaller more nimble orgs that are still finding their feet have an uphill climb, but the cost of mistakes is lower
- johndhi 1y agoI run a team of about fifteen people and for whatever reason I've never really understood or driven toward legibility. What's the point? For me getting to know and trust each person and to develop an understanding of what they are good at is the key thing I focus on. Good work follows. Actually knowing minutiae of what they do seems like make work to me.
- crabmusket 1y agoYou and I are in a similar boat. We have the luxury of avoiding "big organisation" problems that mean people need, or want, legibility. And I will do everything I can in my career to keep it that way!
- indigoabstract 1y agoInteresting topic. And legibility is also an interesting word choice for this. I've always thought of the thing he describes as a dichotomy between the formal/official way of doing things (like you would communicate and work with strangers) and the informal way of doing things (like you would with a friend or with yourself). While smaller companies seem to benefit from using the informal process, once it gets past a certain threshold, that no longer seems to work as well, so things get more and more regulated to cope with the scale. The thing I've noticed is that formal rules and processes, while necessary, over the long term tend to lead to rigidity/petrification and to losing the creative spark and the ability to adapt to changes. People get so used to them that the process becomes more important than the end goal. It seems really hard to keep things fresh, alive and prevent them from falling into routine, it's like fighting entropy. I guess money is in a way like the blood of a company but I doubt that most people are truly inspired or motivated by it, hence making money is necessary, but not a good reason in itself for a company to exist.
- smugglerFlynn 1y agoThis is an interesting thought model to consider, but whole article is very biased and opinionated. It reads like a "small companies do it better" manifesto without giving any real insights into operations of large companies. For example, all of the goals quoted below are parametrized and tracked by most of large & mature companies, oftentimes daily, through NPS, cost/profit analysis, and many other "legit but inefficient" tools: > Note that “shipping high quality software” or “making customers happy” or even “making money” is not on this list. Those are all things tech companies want to do, but they’re not legibility. There is a premise that closing a blind eye on these makes companies "less efficient", but evidently there are large companies that do track achievement of such goals, and there are small companies that don't. There is also insider information appealing as evidence ("Any practicing engineer knows how ridiculous this is.”), mocking ("Are they stupid? No.”) and survivorship bias (treating most small companies as "more efficient” by default) among multiple other rhetorical tricks and anecdotes. It captures the frustration engineers feel in large orgs, but then inflates that into a universal theory of how all companies operate.
- johnbcoughlin 1y agoYou seem to have misunderstood the point being made in the section you quoted. The items are not on the list because it is a list of benefits that accrue to the company from work being legible. "Making money" is not a direct outcome of legibility, although it is a second or third-order effect.
- smugglerFlynn 1y agoWhat I am saying is that “making money” is one factor most of legibility processes directly revolve around in any modern company. Not a second-order side effect, as original article implies.
- zug_zug 1y agoMostly a great piece. The only thing I need to challenge is the default assumption that leadership is automatically correct that "legibility" is worth all the overhead. Imagine if you brain had to be consciously aware of every breath you take, every time you move a finger, etc... you'd get nothing done. Same deal if a CEO has to be aware of and approve accelerating your unit tests with parallelism or whatever. I think the reality is that a CEO (sort of like a president) only has about 7% control over a company. The rest of it is everybody they've hired -- they are just the brain not whole the body. However they like to believe that they are the most important thing, and quickly disregard everything they don't have the time or specialty to understand (i.e. seeing engineers as interchangeable when one may be a genius who got into MIT and could be advancing whatever field he works in -- while the other is just some random bro who took a bootcamp). When people talk about something like google succeeding it's easier to give credit to 2 founders or a CEO than it is to track the dozens of brilliant employees who built the best search/mail/maps/ads/etc platforms
- johnbcoughlin 1y ago> Imagine if you brain had to be consciously aware of every breath you take, every time you move a finger, etc... you'd get nothing done. Same deal if a CEO has to be aware of and approve accelerating your unit tests with parallelism or whatever. This is a strawman. No competent CEO thinks they need to be on top of your unit testing practices. The levels of legibility that companies actually aim for are much more defensible.
- overfeed 1y ago> This is a strawman. It is not. I once had the misfortune of glancing at the metrics that went into an "executive dashboard" for the CEO/CTO at a startup, and started paying close attention to what they talked about during the weekly all-hands. Other more recent, and widely experienced examples of micro-management by CEOs are forced RTOs and diktats forcing employees to "leverage AI" in some form or fashion, with little care about how this impacts individual teams. > No competent CEO thinks they need to be on top of your unit testing practices. You seem to be acknowledging that such CEOs exist, but you built an escape hatch by labeling them as not competent. Your second sentence appears to follow the first, but it doesn't, and is a an unfalsifiable tautology.
- lordleft 1y agoFantastic article. I've never heard of the book it references at the beginning, but seems quite profound. The concept of legibility explains a great deal.
- snapcaster 1y agoIt's a great book, you should def read it
- piltdownman 1y agoA fantastic follow-up building on the Gervais Principle Essay with pragmatic actionable advice for any Engineer that I wish I had internalised at the start of my career. His three points as a tl;dr takeaway are sticky-note worthy: 1. Beware of savvy product managers (and others) exploiting illegible channels to chisel work out of naive engineers 2. Competent engineers should work on “side bets” that are outside the normal planning process 3. Getting promoted to Staff and above has very little to do with the formal job ladder
- sfpotter 1y agoFor these and many other reasons: small company > large company.
- paulsutter 1y agoSuperb article and insight. Once you see legibility, it explains so many seeming (and actual) dysfunctions. Coordination at scale is the reason, not just enterprise deals (although enterprise deals are a sub case of coordination). Alignment is the single biggest challenge in management, at any size.
- douglasnaphas 1y ago> 4. The VPs and senior managers in the engineering org then negotiate which team will own the work. > These [tiger] teams are given a loose mandate - like “stop the database from falling over every few days” - and allowed to do basically whatever it takes to get it done. > The actual way around this problem is *illegible backchannels*. The post seems to be based on organizations where teams aren't organized, and responsibilities aren't assigned to teams, in such a way as to allow teams to independently deliver value with minimal handoffs. If you need to pull engineers from multiple teams to fix a problem with the database that the teams all share, that suggests that the teams' applications aren't restricted to communicating with each other over their external interfaces. If determining which team should work on a project requires negotiating among VPs and senior managers, that suggests that the teams' responsibilities aren't clean, clear, and tied to the business's value streams. I think a more fundamental way to address the problem of team A being blocked by team B is to organize the teams so as to minimize cross-team dependencies. I don't think the solution of illegible backchannels addresses the root cause of the problems observed by the author.
- closeparen 1y ago>I think a more fundamental way to address the problem of team A being blocked by team B is to organize the teams so as to minimize cross-team dependencies. 1. Teams or organized so as to minimize cross-team dependencies. 2. We notice that those projects which nevertheless do require cross-team dependencies are very hard. 3. We lionize and promote those who demonstrate successful cross-team project delivery and leadership. 4. Teams are organized so as to maximize opportunities to demonstrate this competency.
- datadrivenangel 1y agoWelcome to the enterprise. Enterprise design is all about making processes into legible functions with inputs and outputs to maximize accountability, even if it means that responsibility is spread far and wide.
- billbrown 1y agoI've heard it said that "work is not done until it's reported done."