Critical Thinking

May 23

Selecting a Mobile Implementation Strategy

May 05

Jackson Fish: Why I won’t hire people who want to be the “user advocate” on the development team. -

What really struck me from the article was this:

I don’t care what your role is (i.e. developer, designer, tester, etc.). Everyone should be a user advocate. Everyone should have a common bar for the caliber and quality of the software the team is delivering.

It’s easy to have people advocating for users, it’s a lot harder to have a team advocating for the same user. 

May 04

[video]

May 03

Facebook tech-talk notes

Yesterday I attended a tech talk at Facebook’s Seattle office. Kent Beck and two other really smart engineers (whose names I’ve forgotten!) talked about how they build software at Facebook. Really interesting stuff.

Some thoughts I sent to my team at Microsoft..

They too have a huge code base

Kent Beck opened by showing the diffs for the changes he made to introduce “civil union” and “domestic partnership” options for relationship status. There were like 15 files involved.. Yikes! This is not to say they have a huge, old codebase though. I was told at a previous talk that a given line of code stays around in the FB code-base for < 6months on average before it’s obsolete/refactored. 

Huge emphasis on individual responsibility

Facebook engineers write their own code and their own tests. They own their code as long as it’s in the product and get paged at 2am when it breaks in production.

They have an incredible deployment / monitoring system

This is the main reason they’re able to deploy so often.  They deploy internally constantly, then to 2% .. watching to make sure everything is ok.. then out to everyone. If something goes wrong — they notice that “Likes” are down 0.5% — they can roll it back for a region, for everyone, for certain types of users etc. 

A culture of experimentation

There are some pretty famous examples of creative solutions like the HpHp compiler and pushing binaries out to production servers using torrents. What I found even more interesting though, is that both of these were only one of several completely different approaches to the problem that were built out either in full or to such an extent that the result became apparent. 

Their deployment system also enables them to A/B test features constantly. Most UI changes get pushed out in several different versions and usage patterns dictate what ends up rolling to everyone. No relying on the stubborn opinion of Canadian PMs! ;-)

Apr 28

John Cleese on creativity -

“It is easier to do trivial things that are urgent than important things that are not urgent” — John Cleese

Apr 25

Tech industry recruiting is laughably bad

I’m not recruited very often - indeed I get a little jealous of my friends who seem to be getting approached every other day by some exciting company or another. However, across my apparently desirable friends their recruiting experience is always the same - complete shit. I’d like to say that at Microsoft we do a fabulous job, but my experience on both sides of hiring decisions hasn’t been at all stellar.

In an environment where talent is in such demand, companies can’t afford to hire this core task out to clueless recruiting agencies.

Common complaints:

Some fairly basic tips for recruiters:

There is some hope though! Like travel agents before them, online tools are starting to replace incompetence and misaligned incentives with self-service. See whitetruffle, LinkedIn jobs, StackOverflow careers etc

Apr 17

What I would do to save Sony

I just finished reading Hiroko Tabuchi’s excellent article How the Tech Parade Passed Sony By. I’ve felt bad for Sony for quite a while now. Despite having started out over 60 years ago with rice cookers and having successfully adapted to several huge technology shifts, Sony is on the verge of becoming irrelevant. 

The article cites a few reasons for Sony’s decline:

I’d add to the list the following:

If I were put in charge of Sony I would do everything I could to refocus the company on becoming a world class brand in home entertainment. A few ideas:

Thoughts?

Apr 10

PHP: a fractal of bad design -

I haven’t used PHP in years admittedly, but in my first experiences with it even as an amateur developer it sure felt like something was off.

Between a thousand different, inconsistent ways of doing things and with the open source projects I encountered being hopelessly messy I quickly looked to something else. 

Apologies to the Royal Canadian Mounted Police for the undoubtedly horrific pile of PHP I left them with. 

Mar 26

Idea: Produce Spotting

More of a fun silly app than anything that could be reasonably be constructed into a business..

I’m in the middle of making a pizza and need some rosemary. I know there is a lot around our neighborhood but I can never remember where. 

This app would let people record sources of wild, edible (not always?) plants and such. 

Not sure that many would be eager to have their secret blackberry spot picked out.. maybe give something to get something?

Mar 23

Idea: flavors.me but for bars and restaurants

Restaurants and bars have really shitty web sites by far most of the time. The Oatmeal does a much better job of pointing out what they do wrong.

What does a restauranteur want out of a site? 

What does a potential consumer want from a web site? The very same stuff!

Dozens of services have stepped into this space (YelpOpenTable, Urbanspoon, ChowhoundFoodspotting etc etc) and are first stops for would-be restaurant goers. Consumers do not suffer the inability to find out about restaurants. However, through their abdication of the space, restaurants have lost control of the message. Potential customers see generic profile pages with *cell phone pictures of menus*. 

Despite this, I still think there is value in a restaurant creating a reasonable web site. I’m sure tons of people search google for where to go to dinner, and as a consumer of nearly all of the above services I still find myself landing on these wretched restaurant pages frequently. 

With so many restaurants being so poorly served by their web presence, I believe there is a business there. 

What such a business might look like:

Did I mention that in-restaurant software also sucks?