Archive for August, 2006
Even though I’m still young (trying to repeat this more and more recently, a bit of couÃ©ism never hurts), I’ve been working with several managers through various projects. I’ve met the good, the bad and the ugly. Optimistics say you learn from hard situations. I’ve learnt a lot.
I’ve seen many posts here and there about “alpha programmers” or “super hackers”: how to find the geek who’s going to save both your life and your project. Does he know Python? Does he have a retirement plan? Having good developers is important, now what about good managers? Let’s bring some developer perspective into this.
However management bashing is far too easy and I leave this for the cynicals, always looking for defenseless victims. Trying to keep a positive state of mind I’m going to try to describe the top 10 qualities managers should have to escape mediocrity. Gosh it’s so hard to be positive sometimes…
- Thou shalt be a good communicator. I’ve had a manager who wasn’t even looking at you when saying hi in the morning. On the brink of autism. So just try to be the normal nice guy, naturally interested in people. I’m not saying you should harass them about what they ate the last evening, just try to know what they’re interested in. Get to know them a bit.
- Thou shalt help, not blame. I found out that was a rare quality. The most harmful thing for a project is a manager always looking for victims and not for solutions. People start spending more time accusing than actually working. Or just stop working so they don’t get accused. Don’t get into the blame game.
- Thou shalt not scheme in the darkness. Let your team know what’s happening. If you plan to promote someone, just let everybody know. If the project is going bad (or good), tell them. Don’t bring politics within a team.
- Thou shalt trust. Trusting people is hard. However as a manager you should always trust your people. Especially the ones you just hired. This has 2 positive consequences. First people naturally don’t want to disappoint you, they always do their best and feel in charge of their work. Second, trust fosters creativity. But that doesn’t mean being blind, don’t hesitate to be hard with people betraying this trust repeatedly.
- Thou shalt have strong nerves. Many projects come with high pressure. And as a manager you’re first in raw. However, even if this is really hard, you shouldn’t transmit this pressure to the developers working for you. A developer need a clear head and some can’t work well under stress. I’ve endured more than one sweaty manager, staring at my screen behind me even if he couldn’t understand any line of code. Just trying to calm his nerves by seeing others working.
- Thou shalt know that people make mistakes (including you). This has a lot to do with rule #2 and #4. Hope for the best but expect the worse and plan for it.
- Thou shalt not try to understand. Dealing with managers who are under the impression that they understand the details of programming is a pain in the ass. They want to know about every nitty gritty detail, get most of it wrong (after all it’s not their job) and you end up with endless misunderstandings and idle discussions. See #4 again.
Before leaving you, one more thing. One-size-fits-all generalizations are mostly stupid. I’ve also had a very good manager who was constantly breaking rule #7. But he was smart enough to be aware of it and knew when to end it. Last rule for me.
I’ve just learned today that, in one more blow to stop small crooks from stealing money from the honest and established music industry, the National Music Publishers’ Association has forced many guitar tablature sites to shut down. Like the Online Guitar Archive.
It’s pretty upsetting. A little background for those of you who don’t care much about music playing. A tablature is a way to write down music in a simple way for guitar players. Much easier for kids learning to play. As people often try to play what they listen to, they also write down the tablatures for these songs. And as the exercise of listening for every single note and writing it down can take time, and is also hard for beginners, nice guys (and gals) share online.
Now it’s nothing like the music books you can buy in stores. It’s just a rough sketch of the songs, not so many details, just a global impression. So it’s in no way competing with these fairly complete books, that are often out of reach for kids beginning on an instrument (both because of the playing level required and the fact that these kids would never buy the book, they’ll rather learn a line from a friend).
Let me quote the Music Publishers’ Association defending their position:
We have also heard that it would be too expensive to purchase legitimate tablature or sheet music for all of the songs that a player may want to learn. We are sure that these same individuals would not feel entitled to steal a sheet music book or a guitar from a music store simply because they want it but cannot afford it. Yet, anyone who patronizes these illegal web sites is stealing just as if he or she walked out of the music store with sheet music or a guitar. And by doing so, those people are taking money from the creators of the music they say they love.
I’ve heard the “you little thieves” argument one time too much. Especially here, the “stealing a guitar” comparison is ridiculous. If the music producers (that these associations represent) really cared about the music creators and the money stolen from the creators pockets, they would pay them decently. Instead of getting the lions share to support their own inefficiency. Only the ones selling A LOT are decently paid because of the volume, but the great majority of musicians who don’t sell much, get even less. I’m thinking of jazz musicians here for example. So out of decency, stop using that lousy argument.
Anyway the tablature sites don’t really fall in the same category as P2P. Would you think it fair, from companies selling raviolis in supermarkets, to sue you because you posted a ravioli recipe on your blog?
Note: picture from noamgalai.
I came across the following post from Nick Carr (linked from Assaf, credit must be given) which sounded familiar to me. Why familiar? Do I suffer from the same described bitterness on blogging? The same quest for readers and recognition? Not really. I’m a musician. Let me elaborate…
Internet is a media, a channel, and like many other channels it gives you the ability to create and share your creativity. I don’t see much difference between some blogs and great books, paper doesn’t make a great difference. So there’s Creation (yes, capital letters) out there. And any artist (with both a small and a big ‘a’) knows about the dangers of seeking recognition or audience before everything else: you won’t last.
I play guitar and bass guitar. Guitar is a very demanding instrument, at first, when you just start playing, you’ll feel that your fingers are weak, numb and clumsy. Then you’ll finally play your first 5s of guitar that roughly sound like something known. And it will take months, years before you can get anything that people will like out of the instrument. If you started because of a desire of fame and recognition, you will give up far before that point. And it’s also a race for attention. Eventually people get tired of you playing always the same thing, you’ll have to learn new stuff, do always better. You may even be humiliated by your 16 years old cousin who managed to play much better than you after just 2 years of restless practice. Oh and did I mention that making your original creation instead of plagiarizing makes getting attention even harder? You need to learn the colossal gap between yourself and a wonderful musician like Sting for example.
So it’s mostly the same for blogging: attracting an audience when you start from nothing takes time. You have to hone your writing skills and style, find new subjects, be sharper than the others. And you can still discover after 2 years that you have no particular talent in writing. Another guy who started just 2 months ago will get much more audience than you, either because he’s just talented or he’s been lucky enough to write on a hot subject before everybody else (which could be a talent too; or not). Most likely, you’ll see that others have more success because they are much, much, much better.
So why bother? The first answer is often ego: “I’m better than everybody else and will conquer the world!”. But ultimately ego doesn’t bring you far and the fall is hard. Why did Van Gogh continue painting even if nobody cared during most of his life?
My answer to this question is pleasure and enjoyment. You just have to like it for yourself, selfishly. That’s the difference between those giving up after 2 months and those playing for their lifetime. How many people do you know who started music and gave up? How many people do you know who started blogging and gave up? It’s easy to underestimate the amount of work necessary to start a blog.
Just think about what it takes to write a book. Everybody can take a pen and a sheet of paper. And nowadays everybody can get published freely on the web. But still, that doesn’t lower the barrier of success. So how many real writers are there among us? Who would be published? Who would be read? And who would be Baudelaire? Just take your own pleasure first and let the audience be.
As for myself, I just enjoy writing a bit sometimes just like I enjoy playing a bit of guitar, amateurishly. Again, for myself.
This post from Assaf reminded me a of book written by M. Goldratt that I read a while ago: The Goal. It’s about industrial production, which isn’t really like software development buy hey, apples and orange look different but they both grow out of a tree. So here is the setting as given by Wikipedia:
The main character is Alex Rogo, who manages a metalworking plant where everything is always behind schedule. His distant acquaintance, Jonah, who represents Goldratt himself, helps him solve the company’s problems through a series of telephone calls and short meetings. A second story line, which only occasionally intersects with the main topic of the book, describes Alex’s marital life.
So basically this Alex Rogo runs the worst factory ever. They’re losing money but he can’t figure out why as all the indicators are green. His production line is efficient, all indicators on each link of the chain are close to optimal (in production there’s well known formulas to optimize the throughput of each single machine), sales are good and there’s enough stock to back that up. So why are they always late?
What we discover in the book with Alex Rogo, is that the final goal of his company is (very surprisingly) to be profitable, not to optimize how many pieces can be produced by machine #12 operated by Joe and Bill. Seems pretty obvious said this way but it’s also really easy to forget when you’re deep down into numbers. Sometimes, when it’s part of a bigger system, making a machine slower can actually increase the global throughput. Think about freeways, where forcing the traffic to slow down can prevent the creation of jams.
Most performance measurements have the same flaws: your assumptions. Be it the performance of your complex software, of your site to attract traffic and of your development team to release on time. Always think of the bottom line first, check which detail influences the bottom line (you just don’t care about the others) and when you’ve found an improvement, get back to the big picture. Just to make sure that your improved local measurement doesn’t cause an overall degradation. There are many traps in efficiency.
Note: amazing photo borrowed from Saanidhya.
Apache Ode now has a website! Well, something that could look like a website, if you don’t pay too much attention. I’ve just uploaded it yesterday, it’s really temporary (hopefully not the kind of temporary that lasts 6 months).
Just as an introduction, as I will probably blog about it again, Ode is a cool WS-BPEL (tutorial) server. It’s pretty stable (code donated by Intalio), features hot deployment, invocation with Axis2, monitoring APIs and supports both BPEL 1.1 and 2.0. If I were you I’d give it a try instead of surfing idly.
I’m moving out of JRoller to come here, in WordPress. Why? Because:
- JRoller is ugly
- JRoller isn’t really user-friendly
- JRoller is ugly
I couldn’t even read my own weblog with its nasty presentation. So if you don’t mind about aesthetics and are curious about what I’ve written before, just look there: http://www.jroller.com/page/mriou
These days everyone seems to have his own â€œMicrosoft will dieâ€œ scenario. I just wanted to contribute mine for the sake of posterity:
1. Online services replacing Office continue spreading, making MS Office and Windows useless (except for the browser of course).
2. Google partners with Apple to build and sell minimal (and really cheap) boxes including a reduced version of Mac OSX only including a (decent == firefox) web browser.
3. Nobody buys any MS product anymore.
4. MS is dead.
I have a variation with 2 being Google developing its own OS bundling Firefox and making a partnership with Dell for the cheap box.
So what about you? Whatâ€˜s your best â€œMicrosoft will dieâ€ scenario?
- note: I’d like to come up with a nice Google will die scenario as well, just for equity, but I don’t have much imagination.