Sunday, May 1, 2016

Promote the ones who wants to scale

I have a theory that promotions should be only for people who want to scale in the organization.

First of all, let's clear up one cliché: people that are too good in their role never get promoted. And it is the other ones who spend more time doing politics, that get these promotions. This happens (especially in fast-growing and/or immature companies) and it is almost understandable why - it is not easy to identify these people (and fire them), the senior management is clueless and actually doing the same (like a ponzi scheme), etc ...

There is a different approach possible though.

As people progress in their career, they learn about other functions e.g. about project management for an engineering team lead. They work with many different managers who all have different approaches to doing their job. They make their own opinion about what could be done for the organization to be more efficient.

To be clear, there is no one-size-fits-all for defining the most efficient way-of-working across an organization. The context differs because of the nature of the industry it operates in and its customers and also depending whether it is shareholder-driven or a family business. Therefore there isn't a unique recipe for how to organize a company for maximum efficiency.

I often have to deal with the question of who is best to promote as team manager. I think the best opportunity to promote someone as manager is when that person realizes that he could do more if he had people with him, under his direct orders. Basically he wants to scale: by giving that person a team, and if it works well (i.e. he, as a manager, successfully delegates to the team members), he suddenly multiplies his through-put. In short, to become a manager, the candidate has to have a vision and the patience to implement that vision through team-work.

An example of someone who have been promoted that way to the top is Sundar Pichai. He has grown up in the management layers of Google starting with a technical focus and expanding it to a product management & business one. I think he was trusted as someone with a vision who could to scale up the Google CEO position.

That said, there are also engineers with a vision who are unable or uninterested to manage people. They would like to scale but stay focused 100% on technical contributions. These people then typically should get promoted on the technical track (as opposed to the managerial track) but the challenge is to have them share their vision with a manager that can implement it through team-work. Not always easy but possible.

One more thing about the team: it is the role of the manager to create a common spirit inside the team. Recently, I asked one of my manager why the hell he did not have weekly team meeting. He answered that each team member was working on way-too-different work packages which made the team meeting too boring. For me, this is wrong, a team must be united and even if it is somewhat artificially done, work and responsibilities must be shared between team members. If not, that team must be reorganized.

These days, we discuss a lot about the concepts of "feature team" versus "component team". Currently, we are very much a component-driven engineering organization (which is a great improvement compared to a firefighting-driven engineering organization). That said, it is not incompatible with a feature team approach, in the sense that:
- it is the role of the team manager to spread knowledge and responsibilities between team members.
- it is so much more powerful to split work in a way that it can be fully implemented by a team even that could mean doing changes in components owned by other teams.

Final word, scaling does not mean empire building. The empire builders who build high fences around their team are the poison of all organization because they prevent adaptations to the business evolution. Promotions should be for these who genuinely put the interest of the organization before theirs and have the vision to scale.

Friday, December 18, 2015

Better browsing UI

I am a Spotify customer, but not a completely happy one. I am somewhat frustrated by the UI, particularly the mobile one. I know that Spotify invests a lot in it and that people say it is one of the best but I can't help feeling that there should be better, more intuitive ways to find what you could listen for.

I tend to be stuck in my own playlists and while the radio feature somewhat helps getting out of that, I really don't understand why Spotify is unable to directly propose some music streams that match my taste. OK I have eclectic tastes and that could be a problem, as in a given session, you don't want to mix up completely different styles of music.

At the very least, Spotify could make individual song recommendations (not stream). Why aren't they proposing such simple recommendations based on what I have listened so far? Maybe because it is too weird to play one song and stop? It could perfectly go on and play something else afterwards...

In term of personalized music streams, I can imagine Spotify has tried to implement & test this but that they finally gave up since having an intelligent agent cannot fully work in a large scale considering all the use cases without being super smart.

Another thing that pops to mind is that Spotify should really have a Siri-like agent. It would easily support next/previous/pause/start commands but also: "Spotify, play something with more punch.", "something with more metal guitar and rythm", "something more noise, less rap and no voice, please". Really nice way to interface with Spotify while driving/walking/doing sport.

Forgetting about voice and thinking pure UI (which is a permanent question at my work - what is the right TV UI?), I think that the thing to explore is a graph browsing UI (infinite depth UI). I guess this is back to a standard Apple TV-type UI with recommendations on first screen and links to associated content in each detailed screen.

Or maybe what is needed is first to ask some questions to the user: how does he feel?, what does he want to watch? to make more appropriate recommendation and then provide context to each recommendation to let the user adjust. I suppose that this also has been researched and failed, meaning that it is better not to provide any context to a recommendation as it is often weird and confusing especially to unsophisticated users.

Sunday, October 25, 2015

What is so special about Slack?

I am not a big user of Slack but after a friend told me yesterday that he dropped completely emails in favour of slack in his startup, I have been thinking what is so special about slack.
At the end, it seems to me that it is basically similar to emails that people classify in folders but exposing these folders directly to everyone. So the classification is done by the sender rather than the recipient. And the recipient can easily opt-in/opt-out from specific email topic.
My friend also mentioned good integration with other system such as JIRA. Something I need to look into.

Wednesday, May 27, 2015

Best web app ever

A full web-based audio studio:
http://www.audiotool.com/app

I don't how they did that and how it can be so efficient but we really forget that this is a web page...

Monday, January 12, 2015

ARIA

It is about accessibility but the ARIA acronym itself is not so accessible/easy to remember: "Accessible Rich Internet Applications".

I was told it can used to separate the intent/role of a widget and the way it is rendered, but actually it does not seem to be the case. A role can be defined and some extra metadata for user agents to render a page to someone with disabilities, but it is really up to the user agent.