I know that you believe you understand what you think I said but I am not sure you realize that what you heard is not what I meant.
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 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!
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?