HN user

noen

763 karma
Posts1
Comments56
View on HN

This article reminds me of my early days at Microsoft. I spent 8 years in the Developer Division (DevDiv).

Microsoft had three personas for software engineers that were eventually retired for a much more complex persona framework called people in context (the irony in relation to this article isn’t lost on me).

But those original personas still stick with me and have been incredibly valuable in my career to understand and work effectively with other engineers.

Mort - the pragmatic engineer who cares most about the business outcome. If a “pile of if statements” gets the job done quickly and meets the requirements - Mort became a pejorative term at Microsoft unfortunately. VB developers were often Morts, Access developers were often Morts.

Elvis - the rockstar engineer who cares most about doing something new and exciting. Being the first to use the latest framework or technology. Getting visibility and accolades for innovation. The code might be a little unstable - but move fast and break things right? Elvis also cares a lot about the perceived brilliance of their code - 4 layers of abstraction? That must take a genius to understand and Elvis understands it because they wrote it, now everyone will know they are a genius. For many engineers at Microsoft (especially early in career) the assumption was (and still is largely) that Elvis gets promoted because Elvis gets visibility and is always innovating.

Einstein - the engineer who cares about the algorithm. Einstein wants to write the most performant, the most elegant, the most technically correct code possible. Einstein cares more if they are writing “pythonic” code than if the output actually solves the business problem. Einstein will refactor 200 lines of code to add a single new conditional to keep the codebase consistent. Einsteins love love love functional languages.

None of these personas represent a real engineer - every engineer is a mix, and a human with complex motivations and perspectives - but I can usually pin one of these 3 as the primary within a few days of PRs and a single design review.

Microsoft rarely did or does anything first. They are typically second or third to the post and VC is no different.

Most people don’t know or realize that Git is where it is because of Microsoft. About 1/2 of the TFS core team spun out to a foundation where they spent several years doing things like making submodules actually work, writing git-lfs, and generally making git scale.

You can look for yourself at the libgit2 repo back in the 2012-2015 timeframe. Nearly the whole thing was rewritten by Microsoft employees as the earliest stages of moving the company off source depot.

It was a really cool time that I’m still amazed to have been a small part of.

A team in my org worked with Jet for 2+ years to help y’all scale.

It was interesting seeing the biweekly status updates, they basically all started with “This is how Jet.com broke Azure core services this week”.

As much as it sucks, this was a deliberate strategy all the way from Satya - every employee knew Azure was a joke, but the only want to actually fix shit was to get internet scale customers to break it daily and weekly.

Similar story here. 20+ years experience in leading dev, pm, and UX teams. Launched multiple 0-1 market leading products, worked with dozens of Fortune 500s.

Applied to more than a hundred positions - one phone screen and one interview.

Then I just went to my large network and within a week I have multiple opportunities - companies creating positions so they can hire me.

Spoke to a number of colleagues in recruiting and who are hiring for their teams - the number of ghost jobs, and frozen but posted positions is staggering. Something is fundamentally broken in the hiring world today.

He didn’t keep the lights on while waiting for new development to take off. He actively lost 40+ billion dollars on horrible acquisitions, and actively stifled internal innovation to ensure existing product lines weren’t threatened.

On the sales side he streamlined Microsoft into a single monolithic sales motion that killed dozens of products before they started because the target customer/market didn’t fit the EA model.

This included Azure that took nearly a decade after his departure to unwind so the sales force could actually sell consumption based products and services.

I honestly can’t think of anything substantially positive he achieved in his tenure other than promoting Satya and Scott G and a handful of others.

All of the contemporary media reports don’t know about the laundry list of near sighted, anti competitive, anti innovation shit he put on the company.

Yeah the team running the platform internally was amazing to work with and did incredible work with just a handful of resources.

The efficiency for scale of mediawiki is hard to beat.

This is so true.

I adopted mediawiki to run a knowledge base for my organization at Microsoft ( https://microsoft.github.io/code-with-engineering-playbook/I... ).

As I was exploring self-host options that would scale to our org size, it turned out there was already an internal team running a company wide multi-tenant mediawiki PLATFORM.

So I hit them up and a week later we had a custom instance and were off to the races.

Almost all the work that team did was making mediawiki hyper efficient with caching and cache gen, along with a lot of plumbing to have shared infra (AD auth, semitrusted code repos, etc) thst still allowed all of us “customers” to implement whatever whacky extensions and templates we needed.

I still hope that one day Microsoft will acknowledge that they use Mediawiki internally (and to great effect) and open-source the whole stack, or at least offer it as a hosted platform.

I tried setting up a production instance af my next employer - and we ended up using confluence , it was like going back to the dark ages. But I couldn’t make any reasonable financial argument against it - it would have taken a a huge lift to get a vanilla MW instance integrated into the enterprise IT environment.

This is why McDonalds literally spends tens of millions of dollars per quarter giving away free food to attempt to get more people to just use the app.

Their plan longterm is exactly this - have a robot box with a window that only accepts orders through your phone and removes all humans from the process.

You might be surprised how many people absolutely hate using apps, and do not want to interact with a business through a mobile phone. Older folks especially, but also there is a large portion of the population that only use technology when necessary.

We build a heuristic model from scratch. We used BART for some NLP bits and Azure speech to text for the basic mic -> raw text. My memory is very muddy on this bit as I didn’t work on the algo portion of the project, I was working on the UX workflows and interaction / conversational workflow design and validation.

Fun fact, McDonalds menu is a graph database that tracks every single ingredient as purchasable entity. You can order damn near any combination of elements and they will sell it to you - want 32 pickles and the bottom piece of a bun with a chocolate chip cookie on top? No problem.

And every promotional item and name ever put on sale is persisted in the menu forever.

Yes, but not in the ways you think. Humans can do about as good a job as a computer in understanding poor audio quality in context, but the compute needed for the latter, in realtime, is pretty substantial.

As the commenter says below, a human can intervene in many more ways when equipment malfunctions or customers have special needs that an AI just gets blocked by.

There are literally hundreds of edge cases where a voice powered drive through just stops working, from high winds to pouring rain, to thick accents, broken equipment, out of stock or seasonal items not available. Just a few of the ones I encountered personally in the wild tagging 15,000+ orders.

Edge compute requires field IT for servicing. You can hire 3-4 employees for the price of a single field service specialist.

Servicing industrial edge compute is insanely expensive for B&M businesses. This is a big part of why so many companies have spent the last decade offloading everything humanly possible to public cloud workloads.

I worked on this project at my former employer for nearly 8 months. We worked as a good faith partner with McDonald’s, only to find out eight months in that McDonald’s had never had any intention of working with us and we’re only using us as a negotiating tactic for the acquisition they eventually made for this technology.

I learned two things from this project. Our team built a complete English language model for every possible permutation of ordering every menu item. No LLMs, no gpt required.

The hilarious part is that McDonald’s stopped responding to our team and abandoned the project only about a month before we were going to tell them that it was not technically feasible to do it scale. The problem is not bad AI nor a lack of data. The problem is all of the real world interface challenges, keeping speakers and microphones working outdoors across many different climates and weather conditions, and temperatures and humidity is incredibly expensive. And on top of that, the hardware needed per store at the edge and the permanent network infrastructure required to keep everything running makes the whole system substantially more expensive than just having a single human being running drive-through even have much higher wages than minimum wage.

So McDonald’s never got this conclusion from us and instead spent several billion more dollars and another six years of R&D to come to the same conclusion.

My other take away from this project was that I will never give McDonald’s another dollar of my money. Working with over 200 fortune 500 companies in my career McDonald’s is far away the most evil heartless and ruthless company I’ve ever dealt with.

They don’t care about their customers, their users, their franchisees or their employees. The only thing they care about at all is their stock price.

Slightly tangential but I want to throw out the blog of my previous team/organization at Microsoft- https://devblogs.microsoft.com/ise/

I happened to be one of the engineers that designed and help launch this blog in July 2015.

Despite many attempts by marketing overlords it has remained pretty pure for 9 years - all the authors are engineers writing production code with real customers, and almost every blog post contains a direct link to a GitHub repo with the full code context to reproduce the article - again with production* quality code.

The same org also publishes the entirety of their engineering process here https://github.com/microsoft/code-with-engineering-playbook that has been continuously refined since 2018.

About 7 years ago I was in a meeting with a former Windows core graphics engineer.

My team was attempting to figure out some extremely obtuse workflows with MediaFountain and DirectX.

We had a meeting with this guy and a couple of the other engineers that wrote the APIs and the implementation underneath.

This particular guy literally chuckled as we aired our frustrations and this was his response:

“Yeah you won’t figure those APIs out from the documentation. It was on purpose. You have to go buy the book.”

Proceeded to explain to me that this was how he, and many other core Windows engineers lined their pockets for years - write complex implementations, do the absolute bare minimum documentation, then take a 6 month sabbatical and publish a reference book that was absolutely required to actually use the API.

Apparently many of these guys made 10-20x their salaries on this grift and it didn’t really stop until the mid 2000’s.

I had the same reaction. Why not improve on a platform with immense adoption and data history rather than starting over again.

Microsoft has already proven this model with their investment in Git - git works today in large part because MS refocused their TFS team into oss git, long before the GitHub acquisition.

Agreed about the seemingly rudderless direction of OSM. Hopefully there will be some transition path between the two.

This was written by the organization I used to work for in Microsoft. It was developed over the last 6 years by the Commercial Software Engineering organization through hundreds of real, production ready, engineering engagements with Microsoft customers and partners.

There’s nothing groundbreaking for seasoned engineers but it serves as a very robust set of reminders, especially the secondary and tertiary elements that often fall off when projects get stressed to move faster/cheaper/more featured.

Also important that this isn’t Microsoft’s home grown process - rather an amalgamation of working with hundreds of companies - some tech companies, many not - with wide ranges of software engineering maturity. It’s also written and maintained by the engineers directly and with a singular purpose. No marketing, no fluff, no technology or vendor implementations.

No. I tried. For weeks. Filecoin is the mechanism for this. And they do everything humanly possible to both technically keep the ecosystem open, while at the same time making it practically impossible for any non-data center vendor to take part.

The min hardware specs are absurdly large. Most of the services required are not prepackaged alum any way, the exercise is left to the implementer for almost everything.

If you don’t have 100k+ to drop in hardware, there’s no community help for you.

It’s a shame because ipfs is well structured from the other end, but it’s not really decentralized in any way other than naming.

No it didn’t. I worked at Microsoft for 14 years. I know exactly how Windows 8 UX design was designed and built.

There was almost zero HF research, and the brunt of UX research done was trying to justify and fix fundamental issues with an already decided design direction, not to inform a valuable direction in the first place.

It’s yet another effort by Microsoft to make Windows relevant to touch form factors at the expense of productivity, desktop, and keyboard/mouse/touchpad.

It’s astonishing how little (close to zero) human factors research is done, much less sought out or taken into consideration by PM or engineering on the software side of Microsoft.

Through my childhood I would agree with you. By the time I was in high school this was no longer the case. Had many black friends, and once we all pass puberty and got cars, the world changed.

The first time I was with a black friend who got pulled over for no reason, and seeing the cop visibly change his demeanor when he saw me (white clean cut male) in the passenger seat, changed me. Talked with my friend after - this was already normalized for him. I was angry beyond belief.

It’s a useless proxy for judgement and yet US society does it to black and hispanic people with alarming consistency and frequency. It hasn’t gotten better since my youth.

This is the crux of white privilege and why “cancel culture” is bullshit for snowflakes who can’t imagine that the world is as systematically unjust as it really is.

I’ve listened to many black activists who ARE anti-white, who do self segregate, and I don’t blame any of them for a second nor hold any animosity towards them. They spent their lives being lied to, despised, tricked, and crapped on. Why would anyone want to continue that cycle?

WebRTC is much, much faster. 21ms round trip “glass to glass and back” is the lower limit we demonstrated in practice from data center to headset with 3dstreamingtoolkit. There are a lot of reasons that you gain latency in large scale videoconferencing apps, but it ain’t because the tech is lacking.

It remains a major issue without end because there are no punitive consequences.

Facebook could out, shame, and be a significant aid to prosecution of the individuals who post illegal and obscene content.

But there are no regulations compelling them to do so. There's no business incentive to do it themselves.

And maybe most important, it's very clear that Facebook has no ethics in their own internal culture to take a stand on principle.