Managers and non-Managers

An interesting perspective on the difference between a programmer and a manager.

So here’s my theory: Managers must work shallow and wide, while programmers must work narrow and deep. People who are naturally tuned to one particular method of work will not only enjoy their jobs a lot more, but be better at them. I’m a deep guy, I should be doing deep work.

I prefer a slightly different theory.

Producers are the people who really do the work. They learn the hard stuff, they put it into practise, they take pride in their work and they concentrate on the here and now in terms of what they are doing. The “here and now” is defined as the product they are working on and isn’t meant to imply a blinkered approach, just that the concerns of other projects are not primary.

Managers need to do something that Producers do not. They need to manage resources: people, money, time. Depending on the amount of resources to be managed this may preclude them from also being producers. Managers have to not only look after the deadlines of a project and the money taken to build it up but also ensure that the producers are content. Yes, surprise surprise, managers exist to keep producers happy and not the other way round. Joel Spolsky of Fog Creek Software wrote about the Developer Abstraction Layer.

Everything we do comes down to providing a non-leaky abstraction for the programmers so that they can create great code and that code can get into the hands of customers who benefit from it.

In a small company, like a tech startup, those who are managers are often also producers. If they’re smart they’ll hire an Administrator early on, not to provide instruction but to handle the day to day running. To make sure people get paid on time, to make sure there’s coffee in the kitchen and that the toaster works. This was something that was completely lost on a previous business partner of mine. Their opinion was “Make em work harder” whereas my attitude was “Make it a nice place to work and make them proud of their work”.

Joel continues:

Management’s primary responsibility to create the illusion that a software company can be run by writing code, because that’s what programmers do. And while it would be great to have programmers who are also great at sales, graphic design, system administration, and cooking, it’s unrealistic. Like teaching a pig to sing, it wastes your time and it annoys the pig.

Let’s dispense with the idea that management are “above” the producers and we’ll start to understand why it’s usually a bad idea to promote high performing producers into a management position. Why not keep them doing what they enjoy and just reward them better? Some companies have given some lip services to this idea via positions such as Technical Specialists and Software Architects but these positions are few and far between.

Similarly the producers have to realise that there’s a whole support infrastructure that has to go hand in hand with keeping them employed. Just because the 10 code-gurus in your team create all the code you sell, it doesn’t mean they shouldn’t be aware that everyone has to be rewarded. This includes the managers, the admins, the cooks, the cleaners, the sales folk and the guy who comes in to water the faux plants. The producers are best doing what they do best: writing code, editing movies, recording tracks, building widgets. Everyone else is there to help them focus on that task but again the people cannot be made to feel like subordinates.

In my jobs I’ve constantly had to work with primadonnas. Producers who were convinced that the world revolved around them, managers who believed the producers were only there to provide them with cronies, administrators who were grumpy when you asked them to do their jobs and sales folk who thought the customer was stupid. We are all part of the same machine and it’s as important for the producer to realise that he’d be unclogging toilets and fixing chairs rather than coding or building if not for the managers and administrators as it is for managers and admins to realise they’d be useless without the help of this support infrastructure.

Navizon Buddy Finder

Navizon was one of the pioneers of application development for the iPhone and as such I think we’re going to see something cool from them come February when the official iPhone SDK is released.

The Navizon Buddy Finder is probably one of the coolest ideas I’ve seen and something I’d be interested in a lot, however I think I’d work some on the UI before I would be happy with it. We’re going to see an explosion of IM and VoIP apps for the iPhone around then and I would really like to see location based information being available too.

I want to have lists of buddies, I want to be able to name locations and I want to be able to opt out of some updates easily.

As the iPhone is, in effect, always on, I’d like to be have it send updates to my ‘Status server’ so that instead of seeing

MJ
Love Minus Zero – Bob Dylan

in my chosen IM application – I’d have something like:

MJ
Unsent – Alanis Morissette
At Home

or

MJ
She’s so Lovely – Scouting for Girls
At the Daily Grind

or

MJ
You’re the First, The Last, My Everything – Barry White
Location Private

As I said, the UI of Buddy Finder isn’t to my taste but I think that’s more a question of polish and it’s amazing what they have achieved and an indication of what they could achieve with a documented SDK and no fear of a firmware update killing their release!

US States want to riot at Redmond

As reported in Computerworld:

In a brief submitted to federal court, state antitrust regulators dismissed companies such as Google and Mozilla Corp. and technologies such as AJAX and software as a service as piddling players that pose no threat to Microsoft’s monopoly in the operating system and browser markets.

“In spite of the advantages of arguably superior products and missteps by Microsoft, Apple has been unable to raise its share of the worldwide installed base of PCs, hovering near 3%,”

“Competition in the market for Intel-based PC operating systems has not been restored by the five-year term of the Final Judgment,” he concluded.

Not quite but it’s amazing that Microsoft and the DoJ are both appealing against the decision to review the monopoly ruling and see if the restorative measures decided by the DoJ were sufficient. Evidently they were not, as the US states agree.

Does anyone think there has realistically been a change in the market? Is it still not dominated by one player?

I want email everywhere

One of the coolest things about my new iPhone is the email client. It’s real IMAP email. I have absolute confidence that what it displays is what is on my IMAP server. It is, of course, in complete contrast to the mail client that shipped on my N800 which was unreservedly shit. (it was, hoever, better than the IMAP client on the K800i which was an exercise in frustration). I came to some sort of compromise with the N800 which really involved not having more than 1 email account configured on the device and that improved matters. Things started to go well when I simply stopped using it for email. We’ve both been very happy with the email handling since then. Sadly, despite the developer community around Maemo, there isn’t a good replacement for their built in Email client (a lament that really harks back to an earlier comment about how Open Source never innovates). There is a replacement. But it’s not designed for humans.

Email is still, to a degree, a killer app. I still have some friends and family who don’t use email at all and crazy as that sounds, they don’t seem too badly affected by it. Honestly it made me consider that this whole Digital Divide thing might be smoke and nonsense. I mean how can Western Europeans in 2007 survive without email? It simply cannot be. Even my Dad, who dates from about 1684 AD has email.

Anyway. The thing that flabbergasts me, as a heavy email user since about 1991 is that email is still very much the province of “computers”. There’s email on mobile phones but that’s more of a pain in the butt than anything and there’s email in your TV, as an additional subscription service. Is it just that people are more familiar with email as a Web Service a la Hotmail, GMail, Yahoo Mail as opposed to a device feature?

I’ve always hated webmail and much preferred receiving email on my workstation, laptop, handheld, whatever.

I guess I’m looking for a golden convergence. I want the portability of my email on my iPhone. But I want to have email on my TV so I can make use of the big screen as well as on my computer where I have a big screen, excellent keyboard and all the other goodness – and all accessing the same online mail stores which are also aggressively cached. There’s precious few UK ISPs offering IMAP services for a start but surely that has to change, right?

I don’t want to use something that looks like webmail (due to the 14th commandment as handed down by Moses – “You shalt not use webmail as it looks ass”)

On having half a brain

I made a mistake earlier this week and dared comment on an article on ubuntukids which reminded me of a certain gastric delicacy. We had a couple of replies, one from the author which was in English and the other which was probably in Esperanto. The author was pretty gracious (though I was most definitely mistaken!) and though he has yet to actually produce any examples of open source innovation (as opposed to straight copying), I think he’s not a bad sort. The second replier came back to add a bit more vitriolic ad hominem attacks. Apparently my arguments can be discounted because I’m an “effete arrogant Mac bastard” and I’m not artistic because I use the default WordPress theme as opposed to some pretentious brightly coloured theme hocked off a free themes site. Poor me. That’s what I get for only having half a brain.

One of the advantages of having half a brain is that, for the most part, it seems to put me in the lead (certainly compared to that resident of Illinois) in terms of sheer brain mass.

Wherein I ridicule silly people

The article The REAL Reason the Linux Community Didn’t Come Up With the iPhone starts off with an interesting premise.

Lately, there seems to an explosion of interest in Open Source.

Sure. As much as there has been an explosion in interest in the last decade.

The article is really a rebuttal of a piece about how Open Source rarely innovates. The argument wobbles between support for “wisdom of crowds” to holding up Android and OpenMoko as sterling examples of how the Linux crowd could have come up with the iPhone.

I think, sadly, the author missed the point.

Open Source rarely innovates. I say rarely because the few Open Source projects that have shown some real innovation are usually the itch of one or two smart guys.

I’ve always considered laziness to be a very important quality in someone. The desire to get things done with the minimum amount of work is central to my own work ethic. I want results and I will work for them but I have a hard time starting any piece of work where I cannot see the value in it. (Sending emailed reports is one area that is pointless when there are web tools which generate them. Go click a bloody button)

Some of the best IT guys I know are excessively lazy. They’ll work solidly for 3 days to create a script that will shave five minutes off their work day or remove some piece of work that is boring or otherwise undesirable.

The developers behind most of the Open Source apps out there are similarly lazy. They work hard until the functionality is good enough and focus on areas like stability and when they have achieved their goal, the momentum decreases. Areas of development, like user interface, often are left alone because these guys are hardcore techies. Editing text files is easy. Why should there be a nice GUI? They’ve created apps like vi or emacs to simplify an aspect of their life – it’s not meant to be taken as a life philosophy.

Read the comments. Count how many Linux-philes deride the Mac because of eye-candy without realising that eye-candy in many cases is responsible for the usability of functionality.

What the author misses is that while Linux and Mac OS X share a distant ancestry in that they’re both based on crufty old UNIX designs from 20 years ago, Mac OS X has innovated in ways that are not reliant on the underpinnings of the operating system. Through frameworks they’ve made some great functionality available to developers who want to concentrate on the business logic. Their frameworks inspire people to create new and fabulous.

This is why Android, despite being touted as an answer to iPhone, looks like ass. Might also be important to note that while it is now Open Source, it wasn’t OS during development and there remain a lot of questions about how it will be presented. It’s not shipping for another year on any handsets (if indeed it gains traction) so it’s ultimately vapourware.

Similarly, the innovation apparent in OpenMoko seems to be routed in the rounded edges and the fact it comes in two colours. There’s certainly zero innovation in the current design and based on the fact it can’t make calls or send SMS messages currently (in the GUI) it’s going to be a long while. A developer picking up OpenMoko will be saddled with hardware that barely works. His time and energy is going to be based entirely on working with others to overcome the current shortcomings and get the device to the state it needs to be to compete with the most run of the mill mobile phones. Trotting it out as an example of how the Open Source innovated is very poor show. You can Photoshop/GIMP all the screenshots you want. It currently doesn’t do any of that. (if I draw a picture of a manned rocketship on the surface of Mars, is it the same as actually building it? No, didn’t think so).

The virtue of the iPhone is not in the fact it has a phone or an internet communications device but that people actually find it easier to use. They think it looks lovely, they want to paw it and stroke it. You don’t think “looks” or “eye candy” are important?

Why has the white/orange model of OpenMoko sold out?

The whole article is so inconsistent that it actually makes me cross, gives me irritation.

However, the corporate for profit model is simply NOT how Open Source works or wants to work. In fact, innovation is not usually a profitable undertaking. Consumers fear change. What they love is incremental improvements and businesses like releasing new versions of the same thing – it helps drive sales. The only ones who are free to innovate are those with nothing to lose – like the Open Source world, for example.

Innovation is not usually a profitable undertaking?

If Innovation is, as the author describes, the very lifeblood of Open Source, then where the hell is the innovation in Open Source? The author is quick to correlate “borrowed” or bought technology with Open Source.

It’s one thing to point at Mac OS X and claim the GUI was invented at PARC and Engelbart invented the mouse – but the innovation present in the original system in the first Macintosh was so far ahead of what Xerox were offering and what Microsoft would eventually deliver that it beggared belief. The reason – a couple of really really REALLY smart guys at Apple who had a vision. The PARC design couldn’t overlap windows but the Mac developers didn’t know that. So their version had overlapping windows. What the author misses is that Apple paid Xerox for access to their lab. There was no Open Source involved, these were both companies investing in innovative research.

I’m not a critic of Open Source; quite the opposite. Open Source is incredibly important in establishing the fundamentals of a system. The guys in Infurious are very motivated to feed back patches into the frameworks they are using in order to build apps. We use Linux, we use BSD, we use MySQL, we use Apache, we use gcc – Open Source is at our core.

I am a critic of revisionism however. Trying to paint IBM as a proponent of Open Source 50 years ago is silly, as is claiming that Xerox PARC was the result of open source philosophy.

It’s a silly article.

7/100 How Best to Comment on a Corporate Blog

Now this is a tough one and really speaks to the angry raving lunatic in me (the guy who writes probably 85% of the content on here).

Companies tend to have two sorts of blogs – corporate and employee. At infurious we just really have employee blogs. We aggregate them into one but they’re really just space for us to muse loudly about the things we like to talk about which may have a tenuous connection to software development for the Mac.

Corporate blogs are slightly different. The message is controlled and often peer-reviewed. If you read a selection of “Mac” blogs out there on t’internet then you’ll see that some of them are definitely indie Mac guys who have very “employee” focussed blogs (Daniel Jalkut, Gus Mueller) and some have a more corporate line (Martian, SpanningSync, Pixelmator).

A blog is really just the new way to communicate with your customers. If updated it provides them with some transparency. It’s understood why we don’t tell everyone everything but it can really help in a PR situation (in terms of reducing costs and increasing awareness). Enabling comments means you can have fully fledged dialog with your customers – and that can only be a good thing (if you’re actually trying to please them).

Commenting on a corporate blog is not as intimate as on an employee blog but that’s because the subjects are, for the most part, more detached and drier. It should therefore be handled in much the same way. Keep to the facts – engage with them – if you’re taking time to comment you obviously care but keep your angry head locked down if the comment is going to be negative.

I guess it’s no different to any other method of communication if you’re trying to achieve something. Be on topic, be polite and be friendly. Don’t jump on their latest PR blog post with a customer complaint, they’ll likely ditch it. There’s a good time and a place for anything.

Of course, if they’ve been ignoring you then by all means! 😉

[Chris Brogan’s 100 topics]