- Developer,Advocate!
- Geertjan Wielenga
- 1165字
- 2021-06-11 12:59:30
Handling the bad headlines
Geertjan Wielenga: What do you say on stage when the predictable questions are asked about something in the news?
Scott Hanselman: I do the best I can to be super straight with people. I say, "Listen, there are jerks at every company. Microsoft does some dumb stuff but we, as a whole, are always trying to do the right thing."
I also point out that we're not nearly as organized as we would need to be to be as evil as some people think we are. I've been at Microsoft for over 11 years and no one has ever been in a meeting and twirled their mustache and made a diabolical speech! We sometimes do dumb stuff but we're not evil; there's a difference. I just tell the audience that "incompetent isn't evil."
Geertjan Wielenga: There's this perception that large vendors are seamless monolithic wholes where everyone is aligned. Typically, the employees at large vendors have no clue what the people in the next room are doing. Is this true in your experience?
Scott Hanselman: Yes, to give an example, there's a Twitter account called @msdev
that's very popular. Apparently, it's not even run by one of us; it's run by a vendor. The vendor tweeted a joke after the Mueller Report came out.
The tweet was a picture of a Visual Studio Code theme that would automatically redact all of your code and make it all just black lines. It was funny, but it came at a sensitive political time. I direct messaged that account and said, "Hey, this is probably not a good look."
That started an internal thread and someone said, "Oh, that's so-and-so. He's usually funny but no one double-checked his work." That's a perfect example of us not being organized in the way people think we are. The post was pulled down within an hour.
We're always playing whack-a-mole because things are popping up and we have to whack them back down. I'm constantly doing that, whether I'm dealing with licensing issues, foolish pull requests, or even leaks. Sometimes there's a secret that another organization has. That secret will come out in a pull request or a public discussion. Of course, our solution is to do everything in the open.
My goal is to push this open-source snowball up the hill and if I can get it high enough, it'll roll back down the other side of the hill and then Microsoft can't stop it.
I'm just going to keep open sourcing stuff until they kick me out. A couple of times a quarter, I think, "Do I get fired over this? Do I quit over this? Is this the thing?"
"It's easy to quit, but, at the same time, there's a privilege in being able to quit."
—Scott Hanselman
If I'm going to quit, I can only do it once. It will be big news, so I've got to pick a good reason. Ethics are important and I'll have to quit if we do something stupid. On the other hand, as a senior leader, arguably I need to stick around because that's the hardest thing to do. I need to fix whatever is wrong. Nowadays, I think, "Maybe I need to become a vice president or someone with power so I can keep these things from happening in the first place." It's easy to quit, but, at the same time, there's a privilege in being able to quit. You hear about many advocates quitting because of bad environments, but you've got to fix the environment.
Geertjan Wielenga: If you quit, the impact of that will only last for a few weeks. Then there'll be a new cycle and you'll be completely stranded somewhere outside of the tent. You'll have no impact and you won't get back in again because you're not going to be forgiven any time this century. Have you seen that happen?
Scott Hanselman: Yes, that's a big problem. There are some people who were instrumental early on in Microsoft who are gone. I don't know what they're doing now.
Geertjan Wielenga: Would you agree that people can get overwrought about things?
Scott Hanselman: Yes, why don't people fix things that they're upset about? The drama in the open-source community can largely be fixed by simply talking human to human.
I wrote a blog post called "Software and Saving Babies" (https://www.hanselman.com/blog/SoftwareAndSavingBabies.aspx). When you're writing software, you have to ask, "Are we saving babies here?" If you're writing software that is actually helping babies to survive, then you should take your software really seriously. But if you're just making a shopping cart, you should turn it down a notch and take a breather.
People worry that something's going to get onto Reddit or Hacker News but ultimately, that's only going to be seen by a couple of thousand people, or maybe a couple of hundred thousand. There are eight billion people in the world who really don't care about your software. Unless you're Facebook, take a breath.
Geertjan Wielenga: I've been working on not taking things too seriously in terms of internal politics in particular and thinking, "The impact of this is going to be much smaller than it seems at first. Six months down the line, I'll be doing exactly what I was doing before." What's your view on that?
Scott Hanselman: That's interesting because people talk about how they want to be a senior engineer in five years, but it took many of us 10 or 15 years before we had a title like that. I look at many people's LinkedIn pages and I see that they spent one year or nine months at a company. What can you do in nine months other than get your email set up?
This might be controversial, but I feel that organizational change doesn't happen in nine months.
You've got to stick it out. I've always believed in spending three to five years at a company whenever possible. I spent nine years building banking software. I think three versions came out in three years. Windows itself is an 18-month to two-year cycle. You can't spend three to six months on Windows and say you shipped it.
Think about the people who worked on Windows 7; that was a high point. Windows 8 was a low point and now Windows 10 is a high point again. To have lived through all three of those Windows must be something amazing. Those people who are still there must have learned so much.
Geertjan Wielenga: What qualities do you need to advocate tech successfully?
Scott Hanselman: I've found myself in this position because I care deeply. I'm constantly triaging issues. There's little stuff like spelling mistakes or 404 links that I fix. People ask, "Why do you care?" I care because I want Microsoft to be successful. If you care, you can be a successful advocate.
- Python科學計算(第2版)
- Learning Real-time Processing with Spark Streaming
- PostgreSQL Cookbook
- Software Testing using Visual Studio 2012
- Mastering Spring MVC 4
- Learning Laravel 4 Application Development
- 機械工程師Python編程:入門、實戰與進階
- 精通MATLAB(第3版)
- C#開發案例精粹
- Hands-On Neural Network Programming with C#
- FFmpeg開發實戰:從零基礎到短視頻上線
- Spring 5 Design Patterns
- SEO教程:搜索引擎優化入門與進階(第3版)
- Implementing Microsoft Dynamics NAV(Third Edition)
- Java設計模式深入研究