Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
My First BillG Review (2006) (joelonsoftware.com)
217 points by mtmail on Sept 14, 2022 | hide | past | favorite | 154 comments


> Then I sat down to write the Excel Basic spec, a huge document that grew to hundreds of pages. I think it was 500 pages by the time it was done.

> we only got him the spec about 24 hours earlier

> THERE WERE NOTES IN ALL THE MARGINS. ON EVERY PAGE OF THE SPEC. HE HAD READ THE WHOLE GODDAMNED THING AND WRITTEN NOTES IN THE MARGINS.

Even considering my historic dislike for microsoft, I must admit how a dedicated person Bill Gates was. The fact that even after being highly successful he was still apt and willing to review projects, maybe even code, to this level of detail is impressive and not a thing I've seen much.

It is hard to say he didn't earn it.


There's a lot of places within Microsoft that operate with an extremely high degree of attention to detail, completeness, and utter mastery over a topic. It's amazing.

For example, the C# language design committee will, almost to a fault, consider every single little micro-scenario for a proposal and weight them all together to figure out if it's going to be feasible to implement, able to accomplish the goals that the proposal sets out, and if it fits in with the "spirit" of the rest of the language. I think it's a rarity in software to have such care put into the design and implementation process and it's amazing that these things are alive and well within Microsoft.


[flagged]


I was going to have a thoughtful reply, but I looked at your comment history and it seems like you have absolutely zero nuance or objectivity in your evaluation of Microsoft software.


consider every single little micro-scenario for a proposal

That does sound like a lot of effort to clone the branch from the F# team.


I used to know guys from Microsoft Germany. One day they were debugging some obscure issue in the memory management of Windows 2000. Gates came into their office and asked what they were doing. They explained the situation and they were surprised that Gates had a solid understanding of the issue and could discuss it on a deep technical level. They also said that Gates (and Ballmer too) has an incredible memory. He supposedly can recall who attended meetings years ago and what was said.

His brain seems to operate on a much higher level from most other people.


One of my favorite Bill Gates stories.

http://www.borrett.id.au/computing/petals-bg.htm


Finally figured it out. It's in the name!!


Brilliant. I had to look up how to solve it, but highly recommend others spend some time on it.


> It is hard to say he didn't earn it.

This is wrong, it is extremely easy to say he didn't earn it.

Calculated as a salary, Bill Gates would need to be paid ~$185,000 an hour since birth to reach his current level of wealth[1]. Of course, that's a little silly, babies don't have jobs. If you constrain him to the time he actively worked at Microsoft his hourly rate goes up to ~$1,582,000.

I think Bill Gates is in the top 0.01% of people for problem solving ability. He's very, very good. But let us not pretend that he "earned" his money. He did an enormous amount of very competent work well above the ability of most of us - and there is no way that his stupendous output comes close to being a "fair trade" for the compensation he received.

[1] ~109 billion dollars according to google


Why did he not earn his money? All you managed to say was that bill gates is wealthy and smart.

Did he steal the money?


If the question is "did he break laws to make his money" then of course the answer is yes. If you think Gates generated more than $1.5 million in value every hour he worked, well, I can't stop you. All I can do is point out that the rates that most people get are not as generous and, while high performers should be extremely well compensated, the structural elements that make careers like Gates' possible are bad for the rest of us.

When Bill Gates stopped active work at Microsoft in 2008, if he had redistributed his shares equally to all 91,000 employees, every one of them would be a millionaire today. I encourage you to think about what 'earning' something means and why you defending this particular system for distributing rewards for productive work.


As a pure test case-

Let's say there was an individual who founded a company, owned 100% of the equity, and designed a brand new product. The product solved an unmet need for consumers, sold at high profit margins, and was massively successful. Our inventor was well ahead of his time, and the next-fastest similar invention would've been invented 30 years later, during which time $500 billion of consumer value had been created. Would you admit in this case that the founder earned a substantial fraction of the $500 billion?

To what degree is Bill Gates' wealth similar to this test case versus network-effect-capture, first-mover-advantage wealth? How do you quantify the value of Microsoft's software quality earning it's substantial market share, versus Microsoft getting there first and squatting on the network effect?


It's interesting to me that you bring up the profit that Microsoft made because I have not. There are things to talk about vis-a-vie Microsoft-the-company and why they were so profitable, but I was only talking about a particular Microsoft employee.

> Would you admit in this case that the founder earned a substantial fraction of the $500 billion?

Oh, would I admit it - huh? I do want to say that your account of this company is at odds with the history of Microsoft, which was famously profitable for ruthless business practices more than innovation.

This founder sounds like they have done well. Certainly, they should be the highest paid person at the company. However, consider how disconnected their actions are from their financial reward. Someone could run a nonprofit just as well, generate $500bn in benefit, and get just their salary. The fact that this person can capture as much value as they can has very little to do with the merit of their work.

What I am saying is that Gates did very well at his job, but the reason he was rewarded so highly for that high performance has more to do with choice and imbalanced value-capture than merit. Every Microsoft employee, down to the janitors, has an equal (if proportional) claim on the basis of "this company is successful so they should get value." If Gates deserves his money because the company was doing well and he contributed x% to the company, the same is true for everyone.

I am not arguing here that Microsoft should have had less total compensation to award to employees, I am arguing that Gates has captured too much of its total compensation. I think we, as members of the tech industry, have very immediate incentives (as well as well-founded philosophical ones) to point out this inefficient distribution and advocate for a better one.


You conflated some of my claims about the hypothetical company with claims about Microsoft in particular. I think that the root of it gets down to disagreement in values about how capitalism rewards innovators though, so it's unlikely we'll resolve any of that disagreement today. I might as well say my piece.

>However, consider how disconnected their actions are from their financial reward...

Operating at a high executive level in a corporation is necessarily abstract and disconnected. Bill Gates's most tangible actions were early on, starting the company and taking the risk and creating the first bits of the software. It's turned out that many software products have high margins once established, and high network effects as well. By the time somebody is focusing their attention on the biggest winners among the highest margin, most scalable industries, at the peak of their career success, they can forget the other less-successful founders whose products help people everyday and are awarded in more reasonable proportion. It's tough to know how many of these other founders would have even started a worthwhile business without the potential reward of wild amounts of wealth.

FWIW, I would appreciate it if co-ops were more common as a corporate structure. I've got no beef with that existing, and it is indeed possible for it to exist within the U.S. legal system. I figure that it all comes down to incentives. And as far as Bill's wealth goes he's doing a pretty good job of giving it to people in greater need of it than the average software developer.


Yah, I was a bit cheeky, but I think we're understanding each other!

I guess I want to say that I don't think our two views obviously contradict each other. I think you and I agree on how responsible Gates was for Microsoft's success. I agree with your entire 2nd paragraph.

To me, the part of your account that I am drawn to is how much of Gates' most influential actions were well before he could fully assess his financial rewards. It simply seems true that Gates did not need the full weight of his fortune to motivate him because it did not exist for the period that was most important in generating it.

I do not have much of an answer to any of this - as I've said I think it's fine that Gates be absurdly rich - but I think it's important to point out these obvious misallocations where someone is eventually paid world-changing amounts of money for work they completed years ago when they could only be relatively sure they were going to be paid life-changing amounts of money. I think it is literally and figuratively in all our interests to see if we can imagine a system that distributes rewards more widely.

> And as far as Bill's wealth goes he's doing a pretty good job of giving it to people in greater need of it than the average software developer.

I think there's are certain inevitable problems when you ask one person to allocate this much money that will crop up no matter how good that person is. I guess I would just say, while I think Gates has done very well, I am not sure at all that the net positive change in the world is better when Gates has ~$100bn v.s. him having...$10bn and 5-10,000 MS employees share the other $90bn. A lot of those people are smart and I bet they could come up with ideas Gates has missed!


It worked out for the better in the end, considering Gates has pledged to give 99% of his wealth to charity. To redistribute that wealth to among Microsoft employees would essentially be taking money from the poorest 10% of people and giving it to the richest 10%.


Like everyone, I agree that Gates' pledge to donate his money is a goodness.

I also think you have stopped being critical too soon. It's very optimistic of you to imagine that the Gates foundation is 100% efficient at delivering money to poor people. They actually ban giving money directly[1]. I don't mean to say they are doing badly exactly - just to point out that the fact that all of that money runs through a single set of philosophical principles has impacts on how it is used and distributed.

I suspect that distributing the money to Microsoft employees would noticeably drop the total dollar amount devoted to charity, and exponentially increase the number of charitable experiments the money funds. I believe that's a good trade off - reasonable people can disagree.

[1] https://www.gatesfoundation.org/about/how-we-work/what-we-do...


100% efficiency is obviously an impossibly high bar for anyone.

> I suspect that distributing the money to Microsoft employees would noticeably drop the total dollar amount devoted to charity, and exponentially increase the number of charitable experiments the money funds. I believe that's a good trade off - reasonable people can disagree.

I pretty disagree strongly with that sentiment. Had the money been distributed to employees, a negligible amount would have gone to charity. It's a stark difference.

I (obviously) don't have exact stats for how charitable Microsoft employees would be if they had more money, but I remember the median annual donation amount for someone earning $60k-$80k in 2010 was $107. Roughly 0.15% of their income. The rate wasn't that different for higher income brackets either.

Dividing Gates' wealth (including his non-Microsoft shares, since he diversified) among 91,000 employees would give them each about $1.1 million. It wouldn't have been a lump sum payment realistically. It would have been given as stock options that grew to that value over these people's careers. That's not a huge pay boost for a Microsoft employee (one site lists the average compensation at Microsoft as $121k/year, or about $3M over 25 years).

Unless Microsoft employees are very unlike other people, we're talking about going from 99% of the money being donated to less than 1%.

As an aside, I believe Microsoft employees do own a larger share of Microsoft than Gates does, even if we converted all of Gates wealth back to Microsoft shares.


The underlying assumption is that if Bill didn't do what he did, whatever products and value werw delivered that earned him the money would not have been created.

Obviously that isn't true as someone else would have built out a commercially successful operating system and various other products instead, and arguably better. Bill was just more aggressive and conniving in his land grabbing abilities. He ran more of a racket than a software company. Various extortion and coercion techniques were employed, such as forcing vendors to only offer Windows, surreptitiously encouraging piracy to gain adoption then turning the thumbscrews, and working with SCO in an attempt to destroy Linux.


Even moreso: Microsoft actively retarded development in the field.

Before Microsoft, if it didn't work, you sent it back and demanded a refund. Crashing was plenty reason to demand and get a refund.

It was Microsoft that got people to blame themselves when things didn't work ("did you try rebooting?") and never, ever offering a refund. Microsoft got people used to "defragmenting" their disks. (Nobody has ever needed to defrag a Linux filesystem.)

Remember when it came out that Windows 95 would crash all by itself if left running for, what, 39 days? Nobody had ever got it to work for that long. Before Microsoft, a crash meant you had to reboot, and that meant a product failure. After, crashing didn't even have a name, and I was shocked to learn that "crashing" now meant you had to reinstall the OS, which everybody just did regularly, in case it might fix something.

So, no: Bill Gates provided strictly negative value for his $billions.


I suffered through all that!

You just reminded me about how IE was designed to prevent the internet from growing. What a wart of a company. Held back the software world for 20 years.


Hundreds of millions did! MS apologists always astonish me.

Even extreme IE bugginess was to try to defend their installed-app business.


Maybe that's how you think, but I'm not interested in counterfactuals. In *Reality* Microsoft made a lot of useful products and they were compensated for that (probably too much)


Microsoft's sociopathic behaviors are not how I think, they are objective facts.


Sure but the early employees whose value he disproportionately captured still mostly became very rich and aren't in much position to complain


Not to downplay Bill Gates dedication, but given how important basic was to Microsoft’s initial success and how much of his own coding went into it, he was perhaps likely to take more technical interest in it than other products.


Equally impressive was that Joel was hired as a product manager (I believe the official title was Program Manager, but writing product spec nowadays is done by eng or by product managers) fresh out of school, yet he was able to come up with detailed and highly technical product spec - a trait that many product managers do not have, especially in a big company.

It also shows the talent density of the young Microsoft, just like in the young Google, or the young Facebook.

Edit: s/Project Manager/Program Manager/


The title was ‘program manager’ which may have implied different things. He was just out of school but also older than a typical graduate so perhaps a little more wise to the world?


Thanks! Oh yeah, program manager. I got it messed up.


I've been witness to something similar. tl;dr Team member goes to present optical HR tech to BillG. He read up the academic and research literature and after seeing our demo, says we are obviously BSing him[1] and that the tech was barely ready for prime time[2].

Completely outside his normal area of expertise, he had obviously researched and become, if not an expert, really knowledgeable in the space.

Unrelated, he also heavily advocated for Tablets back in the early 2000s.

Indeed, IMHO BillG's problem is that he is often too early on seeing technology advances. Microsoft tried to make Smart TVs back before broadband internet had a large penetration! Smart infotainment in cars way before anyone else! Being too ahead of the curve can be a disadvantage.

[1] Not a direct quote, but he was right. Optical HR wearables use some trickery to make the numbers look good, basically unfiltered, swinging your arm around will make the numbers jump up suddenly due to how the tech works, so you have to basically detect this and cover it up, accelerometers help here. There are plenty of other problems with optical HR that get paved over through clever presentation to the user.

[2] It is better now, but circa 2014 optical HR sucks, and wrist based still sucks for a lot of types of motion, but they great for running and biking. Anything with regular motions it is great for. HIIT strength training workouts where you are frequently switching exercises? No, just no. Though again now days the tech has advanced to the point it is kind of accurate, but someone who knows the industry can still purposefully confuse most sensors.


Lots of great insight. Thank you for sharing!

Your comment about being too early is on point, though I'm not entirely sure it's a bad thing. If you're a big company with scale and cash to support it, exploring new frontiers is probably worth it - you either stumble upon the next big thing, or you at least get to stake your flag through some patents, and in the process - make it so if this things does grow - you already have some kernel you can build upon to start that up without having to pay up for an acquisition...

It's not perfect, but from a risk / reward perspective - I can see how this strategy could serve a large tech company well over decades...


Apple’s done extremely well by timing it perfectly, not by being too early. Never mind early or spot on, it’s been pretty late for a lot of stuff, compared to Android.

I still remember my only windows phone. Horrible thing. Had a Start menu and a stylus FFS.


The timing is often waiting for the right design as well as technology. Sometimes it could have been done sooner, if a better design had only been thought of earlier. The modern bicycle is an example, WinCE/phone is the penny-farthing.


After a decade at MS I have come to believe that there is such a thing as a first mover disadvantage. Being too early to market is just as bad as being late. Basically a new venture at a high tech company gets a lot of enthusiasm and funding, but it if doesn't succeed within some time frame, not only does it get abandoned, but the company in general won't try again for quite some time. Something else that can happen is the early v1 product gets a bad reputation, making it hard for a better v2 to gain traction.

This actually hurt Windows Phone sales. Windows Mobile 5/6 (and Pocket PC before) were miserable consumer products[1]. Sales agents in cellphone stores learned not to sell phones from Microsoft, because their device sales bonus would get clawed back when the device was returned. (Manufacturers give $$ to sales staff for each phone sold from that manufacturer, or at least that is how the market worked back when I was last in it, info is circa 2010!

When Windows Phone came out, 2 bad things happened.

1. Sales staff wasn't being offered bonuses for selling Windows Phones 2. When everyone realized how big of a disaster that move was, bonuses started being offered, but staff had been burned by 7-8 years of horrible return rates on prior Microsoft smart phones, everyone knew iPhones didn't get returned, so sales staff pushed iPhones.

oops!

Microsoft Sync is another one. Microsoft tried to make Android Auto back in 2007! Holy shit. Just think about that. In 2007 MP3 playback was still an extra add on in many models. AUX ports were an add on! No one had smart phones! It was crazy ahead of its time. And cars just weren't designed to be "smart" yet. Heck I am pretty sure in 2007 you could still find a few cars that didn't have power windows.

Oh I also used something that looked a lot like docker containers back at Microsoft. It was chained and nested VHD partitions that you could update the OS and Apps separately by just dropping in and relinking the VHDs, so the apps and dependencies were one self contained virtual hard drive image, to upgrade the apps just run some magic commands and the existing OS image had a new app image attached to it.

Microsoft had a working, reportedly playable at reasonable speed (never saw it myself) XBox 360 emulator for PC around, I think maybe 2008 or 2009?

To be clear, that is an insane technological accomplishment, to have it running at playable speeds on PCs of the time.

I got despondent working at Microsoft because I saw so much cool technology just fall by the wayside, or get mismanaged, or get a v1 launched early and then have no one believe in the v2.

Amazon Astro, their semi-autonomous robot, yeah MS tried to do that in 2012 or so. Failed because the tech wasn't ready yet (and for many other reasons!)

Microsoft tried to do eBooks back in 2000. Oops, way too early.

[1] Windows Mobile pre WP 7 was never meant to be a consumer product. Working on it I was told very bluntly that the target audience was corporate, and specifically corporate IT departments who were doing the purchasing. Pre-iPhone Microsoft even had a nice little report from some research firm saying consumers would never pay for a cellphone, they would only, en mass, get cell phones for free from their provider in return for the 2 year contract lock in. This was myopic as fuck. As a new college hire I felt like banging my head against the wall every single day for the horrible business decisions that I saw being made, and this was before the iPhone was announced!

An example of this closed mindset: When I first started at work I got my company Windows Mobile device, and shortly thereafter I went out shopping for a new TV. I was at the store wondering which one to get when I realized I could pull out my phone and do research right there. I literally stopped in my tracks and realized that having the internet in my pocket was going to be a huge societal shift. When I told my coworkers what had happened, even the next youngest member on the team dismissed what I said as being inconsequential.

Year later, same co-worker was proudly showing off the barcode scanning app on his iPhone that let him comparison shop in stores...


> "Working on it I was told very bluntly that the target audience was corporate, and specifically corporate IT departments who were doing the purchasing. ... This was myopic as fuck."

Yeah, no, that's just pretending hindsight is insight. Mobile and Embedded Devices had just successfully battled Palm and everyone else to becoming the leading smartphone OS with Windows Mobile 5.0, with 100+ devices on the market by the time WM 6.0 rolled around. Smartphones cost as much as they do today, except in pre-2005 dollars (ouch) and mobile data rates were low and crazy expensive up at that time because the mobile operators were milking the business market. It was not at all clear that a market for consumer smartphones could be jumpstarted under those conditions.

Apple's attempt to make a consumer smartphone was a huge gamble (anybody remember the Apple Newton?), admittedly helped by the considerable RDF^H^H^Hbrand leverage and design expertise they'd built up since. It wasn't at all clear that they had any momentum until the iPhone 3 came out with its money-printing app store.

> "Microsoft Sync"

Lay that at the feet of Nadella's takeover; that was a failure of strategic insight. Termination of the Windows Automotive division in the 2014 layoffs came as a complete surprise to everyone since the most recent releases had had very high consumer satisfaction ratings.


> Yeah, no, that's just pretending hindsight is insight.

Not improving basic UX of a product because an organization has a bias that "end users don't matter" is always a mistake. (Even Confluence has gotten their act together in recent years!)

Yes WM was on track to overtake Blackberry through a lower cost structure, but the phone's UX itself wasn't good.[1]

At one point I asked why we weren't including a good onscreen keyboard and I was told that we were leaving the keyboard as something OEMs could differentiate on. (Tbf I was told later that wasn't 100% true, but no one ever did explain why we didn't try to ship a good keyboard!)

> Apple's attempt to make a consumer smartphone was a huge gamble

One that Google also realized at the same time needed to be made.

> until the iPhone 3 came out with its money-printing app store.

Microsoft had an app store for Windows Mobile that they cancelled at the last minute. The source code for it was laying around when I joined. Granted it apparently wasn't the all in one app store Apple had, but not realizing people would even be willing to buy apps was myopic. (I was told it was one person's decision to kill it...)

[1] as a power user I actually loved the Windows Mobile 7 beta devices that had a keyboard and a medium sized screen, but they were already part of a bygone era by the time we got ahold of them.


I really find it sad that people try to kill ideas like this, irrespective of their intent and motivation, though I'd also like to understand these at some point. At HP, I once suggested charging customers for features they'd like to see in a future product, credited back when they buy the machine - this was to help product discovery as every customer had 'ideas' but it was hard to tell which ones mattered. It did not go over well. Now, you see this practically everywhere - from people paying to reserve F150 Lightning, Cybertruck, etc. to things such as Kickstarter.


I remember using some of those early Windows Mobile gadgets. They were pretty nice and decently capable compared to the rest of the mobile device market at the time. Problems included:

1. UI was stylus-only resistive touchscreen and basically ordinary Windows with a little duct tape to not be too awful on small screens. Still far from good though, and the styluses were clunky and easy to lose.

2. IIRC virtually no custom software and what there was was tough to install, and probably tough to develop too.

3. Web tech just not ready yet for a quality mobile web, not to mention the quality of cellular data and WiFi.

Apple took the market because they were the first to realize and really go all-in on needing finger touch screens and the absolute requirement to make every single part of the UI great to use with fingers. And also hit the market at just the right time for mobile web and cellular data to be just coming into its prime.

Fortunately for Android, they were only a little behind and got the idea on finger-first UIs once Apple showed the way.


Resistive screens have sub-pixel accuracy. First gen capacitative screens recommended UI elements be at least 1cm in size!

Microsoft's bread and butter has been productivity apps for so long, with dense UIs, that I honestly think designing for touch screens just collectively made people's heads explode.

Of course the answer is you don't need all of Excel on a mobile device all the time, but it took Microsoft literally decades to accept this.

Windows Mobile actually had some cool software, and this was back when everyone knew Win32 programming, but iphone had that sweet sweet app store and I'd guess that within a few years the number of ObjC developers grew to be larger than the number of Win32 developers, despite Win32 having almost a multi-decade head start!


> "Problems included ... resistive touchscreen "

Just as an aside, it should be remembered that capacitive touchscreen tech was primitive back then and the more precise resistive touchscreens were preferred to make best use of the tiny screens then available. IIRC, the early iPhones had to have their UI designed to work around the lower accuracy of its touchscreen. On the flipside, it must be said the multi-touch capability that gave it pinch to zoom/rotate really did help with usability.

> "...probably tough to develop too"

Depends on what one considers "tough". Windows CE had most of the Win32 APIs that desktop Windows had, so development was very similar.


Heart rate detection?


They bought webtv, didn't they? Similarly, Microsoft was not only too early on tablet computing, but also never quite got it right.


> They bought webtv, didn't they? Similarly, Microsoft was not only too early on tablet computing, but also never quite got it right.

They bought Webtv and also made Windows XP Home Theater Edition. Lots of technologies get purchased then improved upon by large tech companies, including OS X and Android!

Regarding tablets, one can argue that IPad Pro is slowly becoming what Tablet PC was back in 2003.

IMHO my 2003 Tablet PC experience was amazing. Everyone back then thought I was insane for having a laptop with "only" a 13" screen (17 and even 21 inch laptops were popular back then), but my laptop had an "incredible" 3-4 hour battery life! Heck my tablet had directional mics, I could specify from what direction I wanted audio recording focus on, it was amazing for recording lectures. I haven't seen that tech in a consumer product since. :(

Microsoft not being able to realize they could ship more than one successful OS has hurt them many times. Windows has to be everywhere. Apple got it right by forking the OS and realizing if people wanted to give them money for iOS based devices, let the cash roll in.

MS is better about accepting people's money now days. :) See Azure and Linux hosting.


I was using the tablet computers when they first came out (2003?) and I remain a fan to this day - all of my subsequent laptop purchases have consisted of models with a Wacom stylus and the ability to take notes with a pen. While the Transmeta-based model that was my first purchase was less than perfect, the subsequent models were amazing. All of my class notes from that era are still in some Windows Journal file or on OneNote.


> The cult of the MBA likes to believe that you can run organizations that do things that you don’t understand.

This has been the bane of my corporate life for almost 30 years now. The ED's just don't feel they have to understand the technical details of what's happening underneath them, which leads to the pervasive culture in all Fortune 1000's: the middle managers run around creating little fiefdoms, and fighting over their share of the department's budget.

In my current company's onboard training, I counted 5 dimensions of cross-functional reporting. Also, there are at least 4 major IT departments. Who's responsible for what? Who knows! It's impossible to know! But they're fighting about it, and every group has a new policy or layer to add, every couple of months, to justify their existence. Meanwhile, people are just trying to do their jobs in the face of impossible deadlines due to workflow congestion caused by 40-year-old mainframe constraints.


Social media is now littered with lifestyle-consultants who sell this grand idea of becoming an "analyst" or consultant of some kind, raking in loads of money while going to the onsite gym and eating smoothie bowls.

No knowledge of the domain, or statical training required.

Good for them, but if you hire these kinds of people in your business you deserve to go bankrupt.


> which leads to the pervasive culture in all Fortune 1000's:

I feel this is the same problem as an online community faces: the density of talent gets diluted over time as the community grows larger. When you only 1000 members in Quora, you get detailed and nuanced answers that open your eyes and expand your mind. When you have 100M users in quora, most of the answers are meh. Similarly, when a company grows rapidly with only few hundreds of people, you get amazing talent as described in the book Show Stopper. When the company grows to north of $1T with hundreds of thousands of people, well, you get current-day Microsoft and eventually IBM


I suspect it will never happen, but I would love to work at a company that has front-line managers and recognized "thought leaders", and nothing else at all, most of all - no middle managers, little to no concept of "promo work", etc.

Once you remove the incentive for managers to grow their org (because there's a point where managing more people directly becomes infeasible, or at the very least - painful), you'll have little to no politics, no more constant re-orgs, etc.

Wishful thinking, I know...


In my first BillG review when I was a PM on the Windows team, he called me a “dirty liar”. It’s was awesome.

I think he said “dirty” because he was making an effort to be nicer and say “fuck” less, and I think he caught himself mid-sentence and replaced “fucking liar” with the more PG rated “dirty liar”.

He was calling me a liar because he thought he caught me saying something wrong. We were reviewing an approximately 80 page spec I’d written on changes we were planning to make to the Windows desktop, and I’d said essentially “all the visible changes apps will be able to make to the desktop will contained within the new Sidebar”.

He thought I forgot about QuickLaunch icons. But in our plan we were going to move the QuickLaunch into the Sidebar too, so I was correct.

Overall it was an amazing meeting - he was prepared, friendly, intelligent, on topic, and ready to go deep. I didn’t take any offense at his comment, he was really just having a conversation about the topic.


Interesting read.

One point that sticks out: if you are an executive over a function, you need to have enough depth in the function to know when you're being fed a line versus receiving competency from your reports.

One concept that can be a two-edged sword here is being "managed up" -- which many treat as an adversarial/cloak-and-dagger relationship with execs with a positive spin. In my thought, keeping this under control requires domain competency.


I have been in a couple of orgs now where this was, in my view, a big problem because of ripple effects.

Let's say you're on Team A. You're making a thing. You do a little research, and your thing has this gigantic dependency that you hadn't initially considered, but it's work that for whatever reason Team A can't do. You don't have the resources or there's politics or something. But you're in luck! You manager asked around, and it turns out Team B made a thing that solves that gigantic dependency. Yay!

So you have a meeting with Team B, and they are weirdly evasive about their thing. Whatever, they gave you what you needed, and you spend a sprint or two integrating their thing with your thing. Except it's just not working as advertised. It just isn't. So you grab some time with a Team B engineer, just the two of you, and they admit that their thing was never really finished. The deadline from upper management was unreasonable, so they got it good enough to be demoable, and then called it quits because the next unreasonable feature demand was already on deck. This of course enabled by the fact that none of the managers had enough depth to know what was bullshit. (Or maybe they had a vested interest to their managers to sell it anyway, and so on until at some point the management chain loses the ability to smell bullshit.)

Well, shit. At this point you're up the creek because your manager already made an unreasonable commitment based on the advertised capabilities of Team B's thing. What do you do? Well, you sort of half-implement what you can, make it demoable, let your boss sell it up. Just like Team B did when they discovered Team C's thing was half-implemented.

If you are thinking about a big software company that keeps putting out shit products, now you know why.


It doesn't even need to "not work." You can ship a V1/prototype/MVP product that does work with a small, focused team. But extending that product to support all the additional use cases, resolve feedback, address tech-debt/scale/performance, etc ... requires investment ... more investment probably than the initial version. But the version version is "done" - why invest more?


That is a perfectly reasonable and understandable situation that I am not talking about. If Team B came to us and said, "here's what it does right now, we were only able to ship the MVP before we needed to prioritize other work", that's fine. That's wonderful. That is the kind of open and honest communication about platform capabilities that is necessary to do quality work.

What I am talking about is when Team B says, "it slices! It dices! It removes tough stains, washes and dries your cloths, hell, it'll fold them!" Then when you start working with their amazing miracle product you find that it merely slices, well, no, actually, it really needs more of a sawing motion because they initially misunderstood the requirements and built it serrated and didn't have time to go back and fix it.


I don't think this is why Google puts out mediocre products, FWIW. I think it's more that when something turns out after 6 months to be a bad idea, everyone's incentives are to spending another 12-18 months launching (or "landing") it so they can get promoted (and then change teams). Failing responsibly after 6 months isn't rewarded. (From what I'm told, Meta is better about this.)


I freely admit Google was not the big company I was thinking of when I wrote my comment. I would be shocked, however, if all of the MANGA companies didn't at least to some degree suffer from what I described. I think to any company that organizes work around services is going to have problems with APIs that overpromise and underdeliver.


I'm surprised this comment for downvoted. I'd love to understand what about it people didn't like, if anyone feels like replying.


I'm just guessing, but perhaps it's that the comment mentions Meta without vilifying it?


Ha, that'd be sad.


I wonder at what point this becomes full circle. I.e. team C depends on feature from team A which is half baked because of the initial dependency :)


It is essentially impossible to manage something if the person doesn’t understand the thing being managed - and by understand, I mean ‘knows how it works to to the point they can know when it’s bullshit, and when it’s real’.

It doesn’t require being GOOD at the thing they are managing (anymore than it requires being a fast linebacker to be able to make someone fast and teach them how to be a good linebacker), but being decent sure helps.

Sometimes being really good at the thing can make it nearly impossible to be a manager of others doing it, because while they’re good at the skill they don’t actually understand it. It comes naturally to them, so they never had to figure it out.

Just like someone who is a fast linebacker may just be and is unable to explain to anyone how they do it.

A VP/Executive is a level above managing it, as they need to be managing managers, ensuring decision making and prioritization is occurring in a way that produces the desired results, and setting the overall culture within an organization.

Many times where problems occur is when someone gets promoted to a level where they are now over people who are doing things they don’t understand, or when skill sets and day to day work shifts out from under them and they lose that competency.

‘Managing up’ can be a cynical ploy for a middle manager to get what they want while not actually doing what the execs want.

It can also be the process of ensuring the important details the executive needs are there, and they aren’t having their time wasted if a bunch of fluff that doesn’t matter to them.

Which one it is depends a lot on the culture and how good the executive/VP and middle manager are.


This is a popular idea among many people with domain expertise (in this case, developers), but it doesn’t hold up to scrutiny.

By this standard, a CEO would need decent expertise in every aspect of running their business, which as a business scales becomes impossible.

Businesses are collections of people and need to succeed as such. The whole point of hiring people is to grow the skills available to the business. If you know enough to micro-manage all your staff, you’re either not very senior or you hired poorly (or both).

Management is more complicated than just fact-checking and BS-detection. In fact if you’re significantly worried about detecting BS by your staff, you already have a management problem.


> By this standard, a CEO would need decent expertise in every aspect of running their business, which as a business scales becomes impossible.

I didn't read that at all..

"A VP/Executive is a level above managing it, as they need to be managing managers..."

The 'higher ups' don't need to know how to do development, but they do need to know how to manager development managers - set priorities, provide assistance/blocking, etc. And the CEO would need to be someone who can manage those executives.

The 'domain expertise' is (mostly) expertise/experience in managing people managing other people/processes.

At least, that's what I got from the GP comment.


The GP edited their comment after I posted my reply.


AHA... That helps clarify a bit. Thanks.


The CEO is a bit of an exception in that they're where ends meet, through an organization it's the one place where radically different functions report to the same person. And those functions are not that different in that they're usually CxO, whom job is running the function under them.

With that said, I would persist that a CEO should be a SME in the value creation function of their company.

> Management is more complicated than just fact-checking and BS-detection. In fact if you’re significantly worried about detecting BS by your staff, you already have a management problem.

It is, but similarly it's also hard to figure a strategy that works if you can't empathize with your customers, and as CEO that's your job.

I've been working on a "platform" that was led by a VP who didn't have dev experience. The only priority was increasing the feature set, with only consideration given to the "end user". Developer experience left as an afterthought and never raised to the level of a goal, resulting in cumbersome programming paradygms, and low adoption.

> if you’re significantly worried about detecting BS by your staff, you already have a management problem.

Couldn't agree more


It is a requirement for every CEO that I’ve seen that they understand all core business functions, to the degree I’m stating.

A CEO that can’t understand how the companies finances are structured and how it makes it’s money is going to be blind to the core machinery of the business.

A CEO that doesn’t understand how the companies operations work is going to make bad optimizations that will hurt it’s ability to serve customers with it’s core products.

A CEO that doesn’t understand how the companies customer support and public facing relations work is likely to tank the companies public image.

A CEO that doesn’t understand how the companies Sales work is going to be scammed by them or destroy the companies revenue producing channels accidentally.

I can point you to dozens of high profile examples of this.

None of this is micro management level. It’s ‘are the books making sense and congruent with the actual day to day operating status of the business’. It’s ‘are we competent and effective at producing our core products’. It’s ‘when someone needs help, they get it effectively and at a cost to us that makes sense’.

To judge those requires knowledge and understanding of those areas.

The reality is that no one individual knows all these things well enough to run a large corporation well, which is why the board of directors in a properly managed company will be performing oversight on many of these functions.

Especially financial, as that’s the most tempting target if someone gets desperate.

And you’re right - a good manager or leader isn’t worried about BS (for long), but I never said they would be - I said they could tell the difference. Good fences make good neighbors, after all, and if folks know you can tell, there is no point trying.

None of that is micromanaging.

If you get a reputation as someone who can’t tell the difference and/or doesn’t care, a lot of people you wouldn’t expect will try. That’s what causes problems.


My personal experience (as assistant to a CEO) was that between him and the CFO they could have run every aspect of the business competently. He had very consciously found another executive who complemented his talents so that there was full coverage.

The breadth and depth of knowledge was intimidating and very impressive, and they could drill down to the necessary level to uncover bullshit anywhere. They rarely did, but knowing that they could prevented a lot of nonsense.


CEO is not a standard manager. They are running a company, which can do many things. The managers should have an expertise in what the company is doing. Too many places just assume the company is doing "marketing" or "sales" and the people running it need to be experts in that.


>> By this standard, a CEO would need decent expertise in every aspect of running their business, which as a business scales becomes impossible.

The solution is to have people under them to oversee the other areas that are not the CEO's expertise. Now how do you achieve that? I don't know. When one of those people moves on how do you replace them? I don't know, but promote from within would seem to be wise, since this hypothetical organization has a low tolerance for BS.


In many family-owned businesses the heir apparent (normally the eldest son of the owner) is prepared for the job by working as many of the low-level jobs as possible when a teenager. They clean the trash, lubricate the machines, etc. Two benefits: they know about how the business works so they can't be BSed later on, and they have the credibility with the line-level employees.


This was a big reason for me continuing to do open-source work, while I managed my development team.

My managers actually deliberately tried to interfere with my technical competence. I'm an ornery cusshound, though, so it didn't work.


Speaking of excel, for casual Excel users, the video "You Suck at Excel with Joel Spolsky" [1] is worth a watch. My casual Excel use probably got an order of magnitude easier from it.

[1] https://www.youtube.com/watch?v=0nbkaYsR94c


I love this. Is there something like this for Word? And/or for the LibreOffice equivalents, which in many cases are a better user experience than the MS originals.


Excel is, in some sense, a programming language for (mostly) purely functional incremental computations with built in debugger that shows you most intermediate values. Word is not very much like that so the contents of such a thing would surely be different. I think the first tip is probably something like ‘create named styles instead of mutating the formatting of regions ad-hoc’.


And the “copy formatting” tool and you’re basically done.


Probably Scott Hanselman’s ‘How to REALLY use Microsoft Word’


> In the olden days, Excel had a very awkward programming language without a name. “Excel Macros,” we called it. It was a severely dysfunctional programming language without variables (you had to store values in cells on a worksheet), without locals, without subroutine calls: in short it was almost completely unmaintainable. It had advanced features like “Goto” but the labels were actually physically invisible. [...] I was supposed to come up with a solution to this problem. The implication was that the solution would have something to do with the Basic programming language. Basic? Yech!

Take a look at this 4-minute video: Excel Magic. This engineer demonstrated the implementation of many sophisticated simulations, entirely in Excel, including flight simulators, orbital mechanics, digital signal processing, ray-tracing, heat transfer, chemical reaction dynamics, and more.

https://www.youtube.com/watch?v=r9PLmtQZwmY

I don't know what to say... On one hand, I clearly understand that, due to the programmability with macros and VBA, the express power of Excel is as powerful as any "real" programming language, and in fact, a lot of real-world engineering calculations are indeed performed in Excel, the prevalence of Excel in engineering is almost terrifying. Imagine solving differential equations numerically using 10,000 cells in Excel, yes, it has been done! I respect their skills and achievements.

On the other hand, it just looks painful to me, and feels like constructing a skyscraper using a toothpick.


Excel macros were/are bad as a programming environment, for the reasons Joel says. The thing is, that's because it grew out of the deficiencies of formulae. If you can't do a thing with formulae, the next logical step was a macro. Since Excel was such widely distributed software back then, and it took actual effort to get decent tools for programming, macros were a lot of folks' first exposure to programming.

In turn, that means there are people who can perform what I'd consider pure wizardry with them. My hat is off to those people, though I still am happier that I got my hands on Turbo Pascal at the right age.


Many times "it" started as one worker in the office who needed to get something done. And they figured out that Excel (or Access) could do "that thing". So they used Excel to automate it. Then "that thing" ended up doing more, and getting more complicated, until one day people realize that the company depends on this (now) business critical process.

Excel was more likely because it came in almost every version of Microsoft Office. Access tended to come in only the more expensive suites.

That's why I call Excel & Access "gateway drugs" - they're the tool that got a lot of people into programming. They didn't wake up one morning and say "hey, I want to be a programmer!". Instead they figured out how to do their work with the tools they had, and then one day woke up and realized "OMG! I've become a programmer without noticing."


Oh hey, another turbo pascal starter. If you don't mind, can you elaborate on why you feel that way about it?

In retrospective, I am happy about starting with it, and remember it fondly. But I cannot really make any good point for why, and I definitely remember cursing it out very hard at the time.


Basically two things:

1. It was better than the other stuff I had access to at the time. This is due more to the poor quality of the other stuff I had access to at the time than any benefit of Turbo Pascal, but it still mattered.

2. There are pointers in it, but you aren't forced to use them for simple programs. Having encountered pointers early is a huge leg up when it comes time to work with something like C or assembler. Being forced to use them (as in C) makes the learning curve really steep. Something like Pascal, where you have pointers but you aren't forced to use them for the sorts of program a beginner will tend to write, seems to give both benefits.


as someone who started out with turbo pascal I totally agree with this but I have to add an extra point that turbo pascal is an IDE you press F9 (I think?) and it runs your freaking code, press F8 (I think?) and you have a line-stepping debugger

I started learning programming in 2003 in turbo pascal, already very outdated at the time. But it is still probably the most pragmatic choice for teaching pointer-based programming (it should be a crime to teach data structures in a language that doesn't have manual memory management)


I learned C after years of first Basic, then MC68k assembler (Amiga 4ever etc). Pointers never seemed hard or confusing at all. :) #lifehack


> Imagine solving differential equations numerically using 10,000 cells in Excel, yes, it has been done!

There's a nice treatment of how to do this for simple heat transfer problems in Tony Kordyban's Hot Air Rises and Heat Sinks. You will amaze and frustrate your co-workers.

Excel is 100% the poor man's simulation package. I like Matlab and Simulink a lot better, and if I were 25 again I'd be a fool for Julia, but nothing beats it for sharing a simulation or other analysis with someone that doesn't have the same software you do on his or her computer.


> Tony Kordyban's Hot Air Rises and Heat Sinks

It was a fun book, I don't remember the Excel modeling part though... I do remember seeing something similar on Microwaves101.com by The Unknown Editor...

> The spreadsheet has 96 distance steps and 2000 time steps, or almost 100,000 cells. In the old days it would bring a computer to its knees when you changed a variable. Now it's almost instantaneous, however, it still measures 10MB. We will offer a zipped version of it in the download area, soon.

https://www.microwaves101.com/encyclopedias/fourier-s-law


Chapter 25, "Even A Watched Pot Boils Eventually". If you want a whole lot of that, appendix D of Holman's Heat Transfer, which is referenced in Kordyban's book.


> (how many billions of dollars has Microsoft lost, in R&D, legal fees, and damage to reputation, because they decided that not only do they have to make a web browser, but they have to give it away free?)

Joel is super smart, and I loved this particular story.

However, I'm surprised he underestimates how crucial was to give away IE to kill Netscape, and keep dominating the desktop market.

See this exhibit [0]. It's a rare gem of a find, I believe. Try to guess from this [1] when was IE introduced as free and default.

(I'm pretty sure I am right on dates - please correct me for inaccuracies)

[0]: https://www.justice.gov/sites/default/files/atr/legacy/2006/...

[1]: https://www.justice.gov/sites/default/files/atr/legacy/2006/...


Why was it important for Microsoft to kill Netscape? What did this have to do with continuing to dominate the desktop market?

Bill should have thought harder about these questions before going after Netscape by giving away IE for free - the most transparent act of monopolistic predatory pricing we've seen since Benjamin Harrison signed the Sherman Antitrust Act into US law.


Now the most important platform is not Windows but Chrome (and, secondarily, Mobile Safari). That's why my technophobic mother is using Linux now, on a Chromebook.

When people at Microsoft saw Netscape and Java, they understood that this would happen.

But Microsoft was able to delay their irrelevance for about 15 years by sucking off Netscape's oxygen, getting the W3C to rubber-stamp IE's implementation bugs and shitty API designs as official web standards, sidetracking the W3C for years on the make-work of XML and things like RDF schemas, introducing platform-specific extensions in Visual J++, splitting the Java developer base into Java and .NET, mugging Fortune 1000 CTOs behind closed doors with patent lawsuit threats for using Linux, and shipping a really shitty broken browser for 20 years. That was long enough to kill Sun too.

And now they own GitHub, which controls the namespace of most of the world's free software.


It delayed by a decade (or two) browser innovation. This meant that desktop apps weren't replaced with cross-platform web apps over that period. Note how now we no longer need Windows for most professional desktop applications. As much as we like to complain about JavaScript and Electron, they're largely the reason that we no longer depends on Windows for productivity.


From contemporary technical documentation, it doesn’t really look like Microsoft had exactly planned to just sit on IE once it had won.

That first Web push gave us XMLHttpRequest, it gave us IDispatchEx and Windows Scripting (where JScript stagnated only after the Sun settlement, enough for a next-generation version in the form of JScript.NET to get developed and consequently die[1]), it gave us HTAs (“Electron as a Windows platform feature”), DHTML (a non-standard abomination, yes, but so was <IMG>) not only implemented in IE but supported in FrontPage and Word, Active Desktop with its channels (OK, one might argue those count as a negative amount of features, but they were serious about it), the Web Publishing Wizard and the Personal Web Server (bundled with an end-user product!).

This does not look like the work of people who were planning to do just enough to win and then stop—it looks like they were really into it (and they were really into a lot of things at the time, simultaneously), then came the “oh shit” realization that helping the Web eat the platform lunch is maybe not exactly in your interest[2] when that lunch is firmly yours at the moment.

(Java’s attempt at same they were very consciously thwarting—can’t find that Gates memo now—but then Java was pretty explicit and deliberate about that attempt, while the Web just kind of happened to be the only leak when a lot of people started feeling around the dam for a lot of different reasons.)

[1] https://ericlippert.com/2003/10/14/designing-jscript-net/

[2] https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost...


I suppose the other issue was that IE was only available on Windows (although briefly on Macs too) and wasn't standard compliant.


Only on Windows, well duh. Microsoft post-1990 stopped cross development as soon as they could, even though it’s not like they weren’t capable of it (Visual C++ 4 Cross Development Environment for Macintosh, OLE 2.0 SDK for same, COMsource and DCOM for Unix). I’ll never like it, but I can’t really blame their cold, dead moneymaking hearts for it, only myself if I ever expect anything else. I seem to remember it was due to some pretty old and involved behind-the-scenes agreements that IE for Mac even made it to 5.5, but once again finding the relevant scan on the DoJ website is beyond me.

As for standards compliance, my recollections are principally of IE6 (last pre-arse-parking version) circa 2010, when it was indeed woefully behind the times. I expect that is what you are thinking of as well. But that is not the relevant characterization, is it? That would be IE6 circa 2002, and I read that at the time it broke Netscape-targeted sites because it did CSS 2 (etc.) better than Netscape, not worse. I didn’t even have an Internet connection at the time so I can’t tell firsthand (without scraping up an old Netscape or Firefox beta installer), but I can believe that.


IE on Mac was the most standards compliant browser of the time, on Windows or Mac. In fact, it's biggest flaw is that running on IE on Windows and running on IE on Mac required a lot of "different browser" code.


Reminds me of one of the best technical interviews I had.

This was for a C# position, and my future boss did this top-down approach with questions about Entity Framework.

How do you write a query? What happens when you run that code (lazily vs. eagerly)? Why is the return type Like That? What are the advantages and disadvantages of that approach?

Until we got into quite obscure questions about how the framework would interact with different database runtimes.

(That interview was the most fun I had in that position)


What do you have to do where you're in a position where you can answer questions at that level of detail?


Write code?

No seriously, this was just a body leasing shop where I ended up working for a bank. So I sat around a lot and sometimes committed code for a CRUD C#/Angular web app.


My take-away is that any of the other 4 hierarchy levels between joel and bill should have challenged & asked those questions already.

When you already have 6 levels of hierarchy, is it really the job of the CEO to dig that deep on technical issues?


>>> is it really the job of the CEO to dig that deep on technical issues?

From the post:

>>> Later I had it explained to me. “Bill doesn’t really want to review your spec, he just wants to make sure you’ve got it under control ...


Spot checking for important projects is a good way of making sure those other 4 hierarchy levels are doing their job well.


In far too many organizations, there is something called "the thermocline of truth".

> A thermocline is a distinct temperature barrier between a surface layer of warmer water and the colder, deeper water underneath. It can exist in both lakes and oceans. A thermocline can prevent dissolved oxygen from getting to the lower layer and vital nutrients from getting to the upper layer.

> In many large or even medium-sized IT projects, there exists a thermocline of truth, a line drawn across the organizational chart that represents a barrier to accurate information regarding the project’s progress. Those below this level tend to know how well the project is actually going; those above it tend to have a more optimistic (if unrealistic) view.

In the more Machiavellian companies that I have worked for, this would be a layer on the org chart where truth stops flowing upwards. It may also affect downwards flow of information as well. The brass at the top don't know what is going on because they can't depend on the layers of management between the CxO tier and where work actually gets done.

> is it really the job of the CEO to dig that deep on technical issues

No. You - as CEO - should be able to trust the people in those layers. Maybe BillG didn't trust them. Or he didn't know how to. He was technically excellent enough to be able to do this sort of sanity check for himself. Perhaps, as CEO, you only need to do this sort of "quality control" check occasionally.

Any organization that has been parasitized by narcissists is guaranteed to have at least one, and more likely several, layer(s) where truth must stop flowing in order to (1) protect the narcissists' egos and (2) to protect the organization from their anger & retaliation.

[0] - https://brucefwebster.com/2008/04/15/the-wetware-crisis-the-...


> other 4 hierarchy levels between joel and bill should have challenged & asked those questions already.

Congratulations, you invented bureucracy. Because those 4 levels wouldn't (and most of the time - couldn't) answer those questions, so what they would do? Demand the lower level to answer it.


This results in Joel being told to review his own spec.


I had my “first Joel review” while applying to work at Stack. Joel still did the final interviews for all applicants back then. After 4-5 back to back on site interviews, I was spent. Somehow we ended up talking about old AutoIT scripts I’d written - many of which include apologies to future readers in the comments.

Joel was a great interviewer… that conversation turned into a game as Joel picked apart various ways he over compromise the script and asked how I’d respond in the next iteration.


I had my first and only BillG review a few years ago. It was about a technology that I and everyone else _assumed_ that Bill had a lot of familiarity with. It is a technology that I'm sure is being used at his foundation. It is a technology that other CVPs at the company had presented to Bill in the past. And during the review, it was pretty clear that at least at that moment, this was the first time that he thought he had seen this technology.

This taught me an important lesson. Our leaders, despite the legendary status that is sometimes bestowed upon them, are human. And fallable. They selectively remember things, and if you want them to remember certain things you'll need to tell them over and over and over again.


My favorite quote from the article:

> Watching non-programmers trying to run software companies is like watching someone who doesn’t know how to surf trying to surf.


> non-programmers trying to run software companies

You mean everybody who runs software companies then?


Bill Gates was a programmer and used to run Microsoft. Mark Zuckerberg was a programmer and still runs Meta/Facebook. Larry Ellison was a programmer and still runs Oracle.

Maybe you're just pointing out that if you're running a company (beyond a certain size) you are probably spending all your time running the company and therefore aren't really a programmer any more. But isn't it obvious that Spolsky doesn't mean "person whose main activity is writing software" but "person who knows how to write software and has done a substantial amount of that"? Gates, Zuckerberg and Ellison are all programmers in that sense.


Is Google/Alphabet a software company? Sundar does not know how to program.


I don't understand this criticism. Sundar has technical background and great product vision. How many other people have been involved in so successful projects that define the industry like Chrome and Android?

Indeed, Google has hired a lot of people with business background lately to operate large parts of it's business. We should, though, acknowledge that Google operates in many now mature markets where innovation plays secondary role to focusing on existing customer needs.


He seems lost as well though.


I'd say that it also holds true for Apple. It's primarily a hardware company, so have a hardware guy run it.


As a developer, having a product manager and executive leadership with this level of technical depth is a dream.


I recently joined Roblox, and the CEO will occasionally send emails with questions about caching strategy or API design or whatever.

I found it a bit odd, coming from a much bigger company, but if that's what sounds good to you, we're hiring. :)


Like a good movie, every time I ready this, I enjoy reading it :)


I was not able to Spot the Howler in this one.

Either this one was unusually good, or The Howler in this one was too subtle for my weak brain.


What do you mean? Joel puts easter eggs in his posts?


No, he is just very often egregiously wrong, but in ways that we have become desensitized enough to find often hard to tease out.

Usually the Howler may be traced via his inclination to treat whatever he did while at Microsoft as inherently above reproach, and not, as it often was, totally bonkers.

But thinking it over, his apologetics for Lotus is the Howler, here. If Lotus really had engaged in the reasoning he suggests, they could trivially have chosen 1901 for their epoch with no compromise to accuracy.


“Bill doesn’t really want to review your spec, he just wants to make sure you’ve got it under control. His standard M.O. is to ask harder and harder questions until you admit that you don’t know, and then he can yell at you for being unprepared. Nobody was really sure what happens if you answer the hardest question he can come up with because it’s never happened before."

It depresses me that the people considered the best in our industry are such assholes. Bill just wanted to yell at everyone because it was the only way he knew how to motivate?


As a teenager that grew up hating Bill Gates, because I liked Linux, I want to agree with you. As an adult, I believe we should be able to see past the surface of behavior that other people exhibit and understand their motives.

It is nowadays in fashion to cancel someone based on today's norms, but if we want to be fair, we should put things in context that we don't have. If Bill Gates was so toxic that was unbearable, Microsoft would have failed.


Criticizing is not cancelling.


Microsoft had a monopoly. It could not fail.


not necesarily. Slave using countries survived for centuries. (business can be successful even if it makes people miserable)


> It depresses me that the people considered the best in our industry are such assholes. Bill just wanted to yell at everyone because it was the only way he knew how to motivate?

A professor at my university took exactly this approach to interviewing prospective undergraduates (EDIT: minus the yelling!) He would ask a question, and if the unfortunate candidate started to give the right answer, he would (politely) cut them off, and ask a different/harder question.

He was interested in how candidates answered questions they hadn't already got the answers for.

At the time I regarded this as pure brutality, but looking back on it with a few decades of experience, I can see why he thought his approach was valid. We often think the edge cases are where the interesting stuff is.

Q: Given a (fairly short) time to interview someone, how would you attempt to find the boundaries of their knowledge, and how they handle stuff at the boundaries?


If you ask a question, you shouldn't be cutting someone off as they answer it (unless they are rambling). The interviewer should have the courtesy to at least listen to the answer to the question they asked.

If limited time is a problem, schedule more time.

During my interviews, if someone answers the question and keeps going, I'll tell them, "I was only looking for xyz, and you got it."


> If limited time is a problem, schedule more time.

I'm not sure how realistic that suggestion is. The pool of university applicants is large, the academics' time is short. If you're going to have multiple interviews over multiple days that just throws up even more barriers to entry to those whose parents can't afford travel and accomodation for that.

At a broader level, if one can't distinguish between "good" and "not good" in one interview, perhaps one isn't asking the right questions?


I used to know a HS Maths teacher whose approach to testing was similarly brutal. Essentially, in his view, if a student is able to answer every question on an exam correctly, then we haven't fully assessed the depths of their understanding. So every exam was crafted with the express aim of 100% being infeasible.


> So every exam was crafted with the express aim of 100% being infeasible

Isn't the goal of any (every?) exam to attempt to distinguish between how good the candidates are?


Not really. The goal of most exams is to have a predetermined number of people pass. For example, entrance exams. There is a, known beforehand, number of spots to hand out. The goal of the exam is to be exactly difficult enough to get all the spots filled but no more. This even applies to medical doctor residences.

Only artificial, meaningless exams like olympiads are really meant to asses how good someone is.

https://www.imo-official.org/

Of course the easy and common way to do it is to make the exam way too hard to realistically fill up the spots, and then cheat. In the best case, this is done by having a "translation table". Usually, we're talking a combination of nepotism/racism/... You can pass fairly. It's just that if you aren't part of the right group you need to score something like 20-40% better. And before you say this is unfair, I like the alternative even less: way too easy exams where making 1 spelling error in an IT exam will effectively disqualify you (like the EU commission exams). There are limited number of spots in that exam too, and you have zero chance to start a career in the commission if you have a "low" score. Unfortunately 90% is "low". Hell, that's very low. 98% is the real "pass grade", and 99% is not a luxury.

And if they don't do this themselves, like has happened with medical exams, the "people upstairs" will find ways to give responsibilities to people who don't pass, who may not have got the required training to be responsible about them.

There is a level of incompetence that will get you kicked out, but it's pretty extreme, and usually what I'd call "callousness" (what you might call a tendency to proceed after being warned) is a required part. Mere stupidity won't do it.


> Only artificial, meaningless exams like olympiads are really meant to asses how good someone is.

> https://www.imo-official.org/

Most tests are artificial so I'll grant you that, but I don't think it's right to categorize the olympiads as an "exam", even less so a "meaningless" one.

Olympiads are contests, and it's not like contestants participate in them for the same reasons people take exams. It's more of an excuse for skilled students to challenge themselves (and each other) with the hardest problems that the brightest minds (at that age) could be expected to solve.

It's definitely not for everyone, but then, not everyone gets to participate. For those who have a chance to participate officially, I doubt anyone would think it is "meaningless" to do so. I'm not a "competitive" type of person, but I still consider it a valuable experience if only as a chance to test one's limit at a subject one is reasonably good at. I also like to think that the experience significantly influence one's future life choices too. (FWIW: after that I basically decided to avoid dealing with brain teasers and advanced algorithms wherever possible, and got a degree in law instead of CS. Not the typical outcome, but impactful nonetheless. I work as a software engineer now, because as we all know, 99% of software jobs don't need that stuff 99% of the time.)

If you thought olympiads were an "exam" to show off to others how good you are at the subject, then I'd agree it's not meaningful in that aspect. Though this is HN, it's still a very small minority who actually run around flaunting their olympiad medals or Putnams.

Disclaimer: I was a contestant in IOI many years ago. Was so average that I basically quit the game as described above. (In case anyone wonders, no I did not win the Putnam.)


Back in the 1980s in India if you scored 80% on a medical school entrance exam then you were suspected of having cheated because of how ridiculously high that score was. (Source: my parents who were professors at a medical school in India during the 1980s)


I don't have a problem with that. I have a problem with yelling at people as your primary method of motivating them. Which, according to Joel's story, was Bill's default method in every review.


Shouting isn't great but to be honest I'd much rather have a very detailed if slightly macho technical discussion than some nonsense HR-gremlin driven "motivation" session.


What Bill Gates should have done is hired a diversity and equity consultant to make sure Excel centered underprivileged minorities.


I honestly miss the old days when smart people would just yell at you. It's frankly more efficient and the people who can't handle it just aren't smart themselves. I'm not talking about unwarranted abuse, but I did like the confidence that top notch programmers felt free to express back in the 90s.


> the people who can't handle it just aren't smart themselves.

Don't dismiss everyone who won't put up with that kind of environment as "just not smart". It's a completely unwarranted assumption.

Just a hypothetical: Being verbally abused as a child might make that impossible to take as an adult. That doesn't make you any less smart.

But it doesn't even have to be abuse. There are people who are plenty smart, whose reaction to being yelled at by their boss would be "why should I put up with this?" In fact being smarter might even make that response more likely.


Yup, at a previous company I managed the IT department and reported to the CFO. In a 1:1 meeting he said "I want employees I can yell at and not be worried that they'll quit". He was referring to accounting staff when he said it, but it was the final straw that got me looking for other opportunities. I gave notice a few weeks later.


You yell back and explain why you're right. Or, if you're not right, you go fix the problem.


Or do neither. I'm not going to have technical discussions where whoever is louder wins.


If you've ever met one of these super-smart engineer types you'll know that nothing shuts them up and gains their respect faster than having the right answer. It's not about "whoever is louder" it's about having deep and impassioned understanding of technical issues.


Or you go somewhere else where you get to work with grownups and non-sociopaths.


You wouldn't have cut it working at Microsoft, but that's okay since there were many lesser companies around during that era, as well as opportunities in child care.


>> Over the years, Microsoft got big, Bill got overextended, and some shady ethical decisions..

Those innocent times when we thought the worst ethical decisions that Bill G would make was bundling Internet Explorer with Windows. https://www.nytimes.com/2019/10/12/business/jeffrey-epstein-...


What that article says about Bill Gates is that on multiple occasions he had meetings with Jeffrey Epstein.

Do you in fact think that that is ethically worse than using a huge company's monopoly power to stifle competition? It seems to me that the latter harmed a lot more people than the former, and in more concrete ways.

For the avoidance of doubt: Jeffrey Epstein harmed some people very severely. But It looks to me as if he would have done pretty much the exact same harms if he had never met Bill Gates at all, and I don't see that Gates is significantly culpable for the harm that Epstein did.

I think there is something badly wrong with any conception of morality according to which it is more important to cut off all contact with certain kinds of Bad People than it is not to do things that do actual substantial harm.


According to Melinda Gates, Bill Gates' relationship with Jeffrey Epstein was a significant factor in their divorce.

Would Jeffrey Epstein and the bad he did in the world exist without Bill Gates (ignoring 'butterfly effect' like questions that we can't answer)? Yes.

Did Bill Gates' relationship with Jeffrey Epstein represent an incredibly poor ethical decision? I can't say personally, I don't know the extent of it and who knew what when, but the fact that it was a significant factor in ending a 3-decade long relationship looks pretty damning IMO.


> What that article says about Bill Gates is that on multiple occasions he had meetings with Jeffrey Epstein.

Interestingly, RMS relation with Epstein is AFAIK zero. He once considered an old friend was involved in a situation where such friend could be doing something illegal without even knowing and the backlash was much stronger.

Of course, RMS has his problems; that comment was the straw that broke the camel's back.


I don't see the connection between RMS and Bill Gates?

In any case, the backlash against RMS was due to his defense of Minsky, characterization of Epstein's crimes using extremely tone-deaf language (referring to his victims as "entirely willing" members of his "harem," e.g.), musings about the shaky ethical foundation of age of consent laws, etc.

Whether you believe the backlash deserved or not, RMS is on the record making controversial statements about Epstein. The only (currently-known) link between Gates and Epstein is that Gates took Epstein's meetings.


> referring to his victims as "entirely willing"

No no! Stallman wrote: "We can imagine many scenarios, but the most plausible scenario is that she presented herself to him as entirely willing.

What you said was the lie that spread so much that created the exaggerated backlash at the time.


I think the implication is that Jeffrey Epstein made available to his "friends" the services of under-age girls that were sex-trafficed. Is there concrete evidence that Bill Gates had relations with these girls? No.

However, if he did then I would say that is worse than bundling two bits of software together, yes.

If he didn't then, your view could be correct however I note that it is unlikely he was completely unaware of what was happening.


From "Bill Gates had some meetings with Jeffrey Epstein" to "Bill Gates had sex with underage girls trafficked by Jeffrey Epstein" is ... quite a leap, no? I mean, enough of a leap that I don't see why anyone would make it.

(In the absence of further evidence, that is. E.g., someone mentioned that allegedly Gates's acquaintanceship with Epstein was one reason for his divorce. Maybe that's nudge-nudge-wink-wink for "his wife divorced him because he was having sex with underage girls", since otherwise it seems like insufficient grounds for wanting a divorce. But this is all speculation founded on hearsay, and in any case the thing you originally linked to says no more than that Gates met with Epstein a few times.)


Billg did way, way more than meet Epstein a few times.

We have records of Epstein directing Gates to send money to people.

Clearly Epstein's primary business was extortion, with a sideline in sex slavery to generate leads for his extortion business. And, he was murdered in custody to prevent his spilling the beans on his primary victims.


Could you point me at some of those records?


Sorry, encountered back when. Don't know how I would find it again. He and Epstein went back to the 80s, not just ~2010 as usually claimed. Melinda bailed for reasons.


I think everyone has made that link, just as they have with Prince Andrew and everyone else that visited Epstein Island.

Regardless - even hanging out (and tacitly endorsing) a known pedophile is bad enough.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: