My First BillG Review (2006)
joelonsoftware.com
joelonsoftware.com
> 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.
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.
That does sound like a lot of effort to clone the branch from the F# team.
His brain seems to operate on a much higher level from most other people.
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
Did he steal the money?
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.
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?
> 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.
>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.
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!
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...
> 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.
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.
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.
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.
Even extreme IE bugginess was to try to defend their installed-app business.
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/
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.
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...
I still remember my only windows phone. Horrible thing. Had a Start menu and a stylus FFS.
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...
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.
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.
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.
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!
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.
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.
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.
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.
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
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...
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
My managers actually deliberately tried to interfere with my technical competence. I'm an ornery cusshound, though, so it didn't work.
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.
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.
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."
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.
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.
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)
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.
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.
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/...
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.
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.
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...
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.
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)
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.
When you already have 6 levels of hierarchy, 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 ...
> 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-...
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.
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.
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.
> Watching non-programmers trying to run software companies is like watching someone who doesn’t know how to surf trying to surf.
You mean everybody who runs software companies then?
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.
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.
I found it a bit odd, coming from a much bigger company, but if that's what sounds good to you, we're hiring. :)
Either this one was unusually good, or The Howler in this one was too subtle for my weak brain.
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.
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?
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.
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 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."
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?
Isn't the goal of any (every?) exam to attempt to distinguish between how good the candidates are?
Only artificial, meaningless exams like olympiads are really meant to asses how good someone is.
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.
> 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.)
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.
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-...
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.
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.
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.
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.
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.
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.
(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.)
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.
Regardless - even hanging out (and tacitly endorsing) a known pedophile is bad enough.