Tuesday, July 30, 2013

Brain Drain and Microsoft

I've been known to say silly things like "everyone must learn to code" and "STEM education trumps all other education". BUT, hear me out on this one.

The future is pretty clear: the knowledge-worker economy. In the future, people are never cogs. We've automated everything cog-like, long ago. The people who do that automation -- who facilitate it, create it -- those people are gold. Their knowledge and ability to create is what empowers the companies that employ them.

And this is why companies like Google and Facebook put so much emphasis on hiring smart people who can create things, even if it means they sit around doing very little (or non-bottom-line-affecting "research"). It's better to have the knowledge on your side, at all times, forever. Give them money, free food, free drinks, gym, whatever it takes to keep them there and keep building the future.

The counter to this is the brain drain. In the modern world of technology and the future world of... well, everything... brain drain is going to be the #1 indicator of a company's demise. Once the net knowledge at a company begins to decrease, their long term prospects are over. It also begins to cascade. Smart people leave and other smart people leave because of it. It's like dominoes. A company may survive well after that brain drain -- it may even grow -- but when it can no longer innovate and respond to market change, then it's dead.

The thing to consider is that you cannot codify what we're talking about here. Codification does not mean innovation. Innovation requires people, always.

In any case, that brings us to Microsoft.

Microsoft is in deep, deep trouble with all of their recent product screwups, like the XBone, Surface RT sales and Windows 8 itself (as I described in my last blog post). BUT, the awesome news is that Microsoft has not significantly lost its great people. It continues to employ many of the smartest people on the planet. And they continue to do great things, one of the most interesting of which (to me) is Typescript.

So no matter what's wrong with Microsoft, they are not seriously suffering from brain drain. So you can't count them out.

Other companies though, it's worth taking a look to see what the influx/outflux looks like when evaluating their long term viability.

Tuesday, July 23, 2013

The Unmitigated Disaster That Is Windows 8 -- Part Deux

Previously: On Windows 8 (January 1, 2013)

I upgraded to Windows 8.1 preview on my home machine. It's an improvement over 8.0, for sure. The ability to actually scale Metro apps dynamically finally makes me feel like Metro has finally reached the equivalent capabilities of System 7. Maybe even GEOS.

The inspiration of this post was that I wanted to point out just how far Microsoft has gone to preserve their broken vision for this product.

1) The "start" menu

The return of the "start menu" in Windows 8.1 is no less than a pro-troll by Microsoft. 

When you click this idiot button, it gives you the same full screen crap you got in Windows 8. Just to give you an example of how ridiculous this is: let's say I have utilized Windows 8.1's split screen to set up Netflix in full screen IE on one half of the screen and Desktop on the other. When I click this "start menu" button to launch a desktop app that I might not have pinned, it stops playing my movie and takes me out of everything.

Long story short, the "start" behavior is just so, so broken. Metro has no place in the Windows desktop experience unless a user wants it there. But Microsoft doesn't care what you think. They're so convinced that this experience is right that they added back "the start menu" to troll you.

2) IE's new sandboxing breaks tons of stuff

Good news everyone, IE now has some sandboxing features that make it more secure. Bad news: people won't be able to use any legacy stuff. DirecTV, Cinemax... anyone with a custom player and DRM-y validation won't work. It also defaults to 64-bit and is (impossible?) to force into 32-bit mode. So I have not yet been able to play a video on any of my subscription TV sites through IE. Only Netflix works. 'Cos it's Silverlight, yo.

Thing is, you might think that Windows 8 is important. It's not. It's not to anyone but Microsoft. No one else cares about this thing.

We're now close to the year anniversary of Windows 8 being released -- the RTM was published on August 1, 2012. And yet if you look in the Microsoft "store", you'll see there are no official apps for tons of stuff. But one that sticks out is Facebook. Uh, isn't Facebook a partner of Microsoft's? Didn't, like, Microsoft invest in them? And yet there is no official Metro app?

So the more likely outcome of something like the above IE sandboxing is that DirecTV and Cinemax will just tell people to install Chrome. Customers who ask Facebook for an official app would probably just be told to invest in an iPad or just use the web browser. Customers who are fed up with the Start menu crap will just start buying Macs. Microsoft's vision is so poor that they're making choices that actively push people and developers towards the competition.

Truth be told, it's too late for Microsoft on this one. They needed to throw Windows 8 and its vision under the bus immediately like they did Vista. Instead, keep betting everything on it. Windows 8.1 is an attempt to actively alienate customers who hate Windows 8 with that pro-troll Start menu. They've already lost $1bn on Surface, but they're probably on the cusp of releasing another one. Their commitment to the "vision" of Windows 8 borders on zealotry.

Enterprises actively rejected Windows 8. My thought is that if Microsoft wants to hold onto any enterprise market at all through this, they do have some choices. One is that they could open source the CLR/BCL on the Apache license. At least then .NET and all of the tools that have been written on .NET would survive this whole thing. But as long as Windows and .NET are intrinsically tied to each other, and Microsoft continues to shove Metro down people's throats, the more likely even their enterprise customers are going to start jumping ship into something more reasonable. I would never recommend any company use Windows again for as long as this is their philosophy. Macs and web tools for the win right now.

Monday, July 22, 2013

Future Liability Problems of Big Data for Merchants

In the wake of the PRISM scandal, many have wondered about the trust we give to corporations that mine data. Do we trust AT&T with those same phone records? Do we trust Google with the knowledge of everything that's in our mind (by way of evaluating our searches?)

I feel fairly confident that corporations will try to act in a responsible way with that information, at least within their own corridors (maybe not when forced to give it to the government). I expect it more than I would expect unelected, unaccountable people in a black cube in Maryland to act responsibly with the same information. At least with corporations, abuse is likely easier to prove--since jailtime is not a threat for someone who exposes it--and will be countered with harsh consumer ramifications. In government, the information could be much more surreptitiously used to, for example, keep Bobby Jindal or Hillary Clinton out of the next Presidential election.

So I'm not that worried about corporations abusing our data compared to government.

However, I had a thought experiment today that started when I was buying groceries at Safeway.

Safeway has tracked every purchase I've made for probably 10 years now thanks to their rewards card. Today I got a printed offer for those yummy Mio drink thingies with my receipt, since I bought a bunch of Mio like 2 months ago and Safeway's Skynet thinks it must probably be high time to replenish (turns out, it's right! That delicious Black Cherry Mio needs replenishing)

Guess what? I also buy wine at Safeway. Occasionally, those little print-out things offer me discounts on wine. (Godawful brands I wouldn't buy, but nonetheless, it does it)

Now, most states have what's called Dram Shop liability. This is that whole thing where a bartender can't serve people who are visibly intoxicated or else risk being sued when they run over someone with their car or do something harmful under the influence.

Connecting these thoughts together. If I'm a person clearly having an alcohol abuse problem... that is, if I'm a customer buying two bottles of vodka per day or something... won't Safeway be able to tell of the person's issue from the data? I bet they can.

So could we headed towards a future where merchants like Safeway--having used "big data" to create personalized rewards shopping--can be held liable for the effects of those rewards? In essence, if I become an alcoholic and develop cirrhosis, or become obese and diabetic, can I then turn around and sue Safeway for their incentivizing these purchases?

I'd say the answer is of course, yes, their liability will someday be challenged this way if they keep it up. I'm not at all for tort law, but it does always push the boundaries of blame. And when merchants are using this kind of data to key into people's habits for something harmful or addictive, the computer may be opening them them up to lawsuits down the road.

We'll see. Food for thought (pun intended)

Wednesday, July 17, 2013

The easiest ways in the world to screen engineers

There's been a lot of talk about technical interview questions and such on the interwebs. Google has concluded that brainteasers don't work. There are libraries of interview questions out there, Glassdoor keeps a record of interview questions, etc. etc.

You know what? Technical prowess matters, but there are much, much easier signs of whether someone will be a great engineer or not. I wish I had the hard numbers to back this up but for now you'll have to take my word for it.

  1. They show up on time / take your call when scheduled

  2. So far, this is the number one indicator I've found. People cancel interviews at the last minute with no explanation or apology. They don't answer their phone when a phone screen is scheduled. They don't respond to email for odd periods of time. 

    A really good example is a candidate who did not respond at all to his offer letter for about a week. It exploded during that time. When this person finally got back to me, I had to rewrite it with a new date. In all, this behavior was absolutely indicative of work ethic. 

    In any one of these cases, it's better to err on the side of believing it's an issue and not proceed further. 

  3. Can have a conversation about code

  4. Example: "Explain to me why you chose this stack to solve this problem?"  The person talks and talks around the answer, explaining what these off the shelf components do. Ask again: "I'm familiar with the stack. But what are the requirements that led to this being the best solution?" Again, talks around and around without giving the requirements.

    I understand people feel like they need to prove how smart they are. But show me that you can actually hold a 15 minute conversation about some cool work you did, wherein both people can participate equally in said conversation. I ask a lot of "why" questions just to see if I can get people to show an opinion about something and have a conversation.

  5. Can follow directions

  6. Follow directions when it comes to solving a whiteboard problem, or whatever. There are lots of examples for this, but here's a really, really basic one. I once had someone who was 2 hours late to the interview because they had gone to an address in South San Francisco instead of San Francisco. Which brings me to my next point:

  7. Has done their homework

  8. I'm more than happy to pitch people on our company. One thing I've never understood though is why I'm pitching people about stuff they can easily have looked up before stepping in the door. People are asking me about VC funding as part of the Q/A portion of an interview. That stuff is on Techcrunch. Candidates should be reading this and making decisions before stepping in the door. If you want to ask about it, say something like "I saw So-and-so is an investor, who else is in that round that I haven't heard about and how are they helping you?" Something that at least shows you've done the homework.

    Second part is, if this really influences you, please use public info to decide before walking in. Don't ask me to convince you.

    For example, when I walked into Groupon to interview, I knew up front that the founders had taken most of a $1bn round off the table for themselves. I had judged that and decided to go forward with interviewing at Groupon anyway. Never asked about it. But while working there, I had to talk about this SO MANY TIMES with candidates at Groupon: "Well what about the founders taking money off the table?" My response was always "I knew about it. Didn't care." Then I actually questioned how much real consideration this person had given to Groupon. Are they serious at all, or just using us for a practice interview?

  9. Shows signs of life

  10. Assuming you've showed up on time, in the right place, can hold a conversation and have done some research, then the final bad thing you can do in an interview is show me you don't care. Don't care about the company, don't care about solving problems, what you're doing right now, wanting to be there, etc.

    A couple of times, I've had candidates just shrug at the whiteboard and say "I don't know." They don't want hints, they don't want to talk, they just seem uninterested.

    People get stressed, or just hit a mental block when at the whiteboard. I get that. I've had it! I've had it in interviews where I nailed all 7 and then on the 8th had a complete mental block.

    But IF you run into that, you'll need to show us something else. Show enthusiasm for the problem. WANT to solve it. Show enthusiasm for the company. Anything! Because if you put on the cap, put down the marker, say "I don't know" and leave it at that, then you might as well just walk out. Which is fine, maybe you have concluded it's not the right fit. But there's no reason to stay if you really don't want to.