The most exciting thing about this world is its ever changing quality.

Friday, October 30, 2009

Ten most annoying things in geek's life

1. Sticky mouse, touch pad goes wild.
2. Shortcuts stop working, especially Command-W/Alt+F4/ctrl+c, z, d.
3. There is only one USB port to your laptop.
4. No chocolate within reachable distance.
5. Only one monitor.
6. No invite for stuff like google voice, wave etc.
7. Have to use windows for some strange reason.
8. Again, have to use MS Word or Visual Studio.
9. Manager just proves himself as a dumb ass, again.
10. No game and surfing in office.

Saturday, October 24, 2009

Everything old is new

Every morning when I cycle through a large piece of stretching grass land, it always gives me a sense of peace and fresh. I know it may sounds strange but I did start to enjoy the half an hour cycle trip every morning, not so much in the afternoon...

The road is the same, come across the same vans and buses, even wave to the same bunch of cyclists and morning joggers. You may have already been bored so far. Hang on, what's different on that side of the road, a hare running straight into me!

That's what happened when I sit down in the office, open up laptop, plug in all sorts of cables and re-arrange all sorts of devices and boards, all routines. I know I am good at these routines, and I also know that I can make something happen today from here. The trick is, we all start from familiar and 'boring' stuff, and many of us are also so ambitious that not willing to go through all the 'routines', to which their talents are considered to be wasted.

To me, everything old is new. Every bit of routine gives me a perfect background scene to train my eyes and mind to pick up those different, those potentially could be significant. It is those little things here and there complete every day life. It is also these little opportunities where we can pick up new knowledge, experience. There is hardly possible for us to sit in front of your shining desk and come up with a killing product idea or impulse of restructure initiative to take the organisation forward, no, no no. Things don't work that way. I realise what I have to do is to be able have a peaceful mind, accept the reality, fully appreciate what has been happening, and pick up those little lights where gold might be found. Once that happen, you bet I am right - everything old is new. You will start to look at those familiar faces differently, you will start to hold different opinions to things around you, you will notice there are so many changes quietly going on affecting the 'old' environment. Many great ideas have been generated from most ordinary moments. If you think there is a small change could benefit a design or part of the code a lot, you should do it, do it now. Do not let it pass by, as it might be the last chance you see it and after that, you will say, "today is just another boring day, nothing exciting, really.". Really?

I love to remind myself of the importance of open mind and be realistic. There is nothing wrong with one step a time, also, it is a natural steady-state evolution of how significant changes are born. Remember, everything you believe you have mastered, it has just developed, only you have missed the change, and what is coming next if you keep ignoring it.

Friday, October 16, 2009

Incompetence

Peter's principle says, in a hierarchically structured organisation, everyone will eventually be working in their level of incompetence. The reason behind is simple - promotion as reward will encourage people who has well or out performed in their current roles to new ones where they will not be familiar nor comfortable.

Scott Adam coined Dilbert's principle, in which he explains that companies tend to systematically promote least competent employee to management - to limit the amount of damage they will be capable of doing. Sounds much more fun, huh? By intentionally, Dilbert thinks the upper layers of an organisation is of no or little relevance to the productivity, which in fact is mostly achieved by the 'blue-collar' workers.

In a world where efficiency, contribution, competence are valuable attributes we are looking for in employee, how could management have been given such a bad name?

Let's see who are the managers first. Mainly there are two groups concerned. First group consists of those who have sweat and bleed on the front line enough to impress the boss and been rewarded with a manager's hat. Most of them have or had solid hands on engineering skills and confident in their interpretation and judgement over technicality of the future problems, with which they are about to be tested on regular basis. In the second group, we have people who have been given the benefit of the doubt for their background. Unfortunately, the size of this group is surprisingly and unfortunately large.

For folks who have finally fought their ways through to manager's position, it is a strange, exciting, and unease situation to be. Suddenly it seems there are way too many technical morons around you, rather than you have to sharpen your head like a nut to get boss's attention back in your engineer days; also, you feel privileged that finally you can fix all the stupid calls your boss have made in the past because he seemed to know nothing about nothing. After a while, you realise this is a completely different game - your superior technical strength will not help you surf through the tangled political mine field; your sharpness has been considered by your peers as arrogance and difficult to communicate; you have kissed good bye to the luck of having concentrated 42 minutes on one particular problem without being distracted; you also start to realise you have no fricking clue what is going on in your boss's mind or does he have one as there is just so little quantitative measurable around here.; finally, damn it, "I have missed my morning coffee again!". Being an exceptional engineer doesn't automatically qualify you to manage. If the reason you have been given the management responsibility is entirely based on the fact you appeared to have outperform in your last role, I can tell you now, it was the wrong decision. You have now been officially pushed into a strange land, to which you may not have any real interests at all. At the bottom of your heart, you are probably screaming every morning, "fuck that, I just want to hack!".

Right, now to the bad side, for those have developed their career by avoiding risks and responsibilities as much as possible but somehow able to sneak their way through step by step. How to identify these people? Easy enough, lines they tend to use a lot is, "yes, I have done exactly same thing before". Then when you ask just a little bit more, he will starts to wave the flags to get out of the confrontation as quick as possible with line like "I don't want to hang up on the details on this for too long". I guess Dilbert is right after all, for group B, the best thing to do is to keep them in the management position, of course if your company can afford it, that way at least he will cause no direct damage to whatever it is you are trying to achieve, hopefully.

Wednesday, October 14, 2009

Manager's chessboard

There is an underline synergy between being a manager and a chess player.

At the start of a chess game, if you were to win, one thing you would need to be certain and clear with the strategy, be it a waiting-for-mistakes-from-opponent, balanced attack and defence, or strike with all price. You also need to keep a very close eye on the strategy of your opponent, if you are not familiar with his/her style already, and adapt your counter plan.

For every move, not only you have to consider the immediate effects on material loss or gain, more importantly, you have to evaluate things like position of the pieces, support for the future development of your overall plan, maybe even traps to trick your opponent, as the big picture. Every move is a decision with consequence, as a manager, you have to make yours, with all the information available to you, given that you have your eyes and ears opened to receive them - you have to be able to read well whatever is on the 8x8 square; able to see through the moves from the pieces and predict the goal of your opponent, be it a local win on points or strategic position acquisition.

You have your resources - pieces, which are pretty much the only thing is on your side to get this game over with a desirable result. To mobilise and maximise the potentials, you have to be well aware of what they are capable of - En passant, what they could become - promotion, what the killing combinations are, how to coordinate the pieces - coordination, how to create healthy dependency and protection chains, how to double check.

Again, you have to make your decision, none of them will be easy, or else you might be better off just to get out of the game and try something else. Sometimes decision demands sacrifice, compromise, exchange of materials, concentrated attack, defend and counter attack. In other situation, it means being flexible (forcing a tie), realistic (evaluating situation and selecting the most appropriate play going forward), brave, calm (facing panics after mistakes).

There will be unhappy scenes, with pieces lost, positions given up, conflict interests and plans. In real world for managers, to create and manage a positive and healthy political environment is part of the job, critical one. However, the truth is, you can't make everyone happy, you never will or should. I like in 24 season 7 Jack Bauer answers Renee how he could live with all the decisions he has made. Sometimes you have to choose between two evils. "If you’re going commando to do what you believe is right, it doesn’t mean someone isn’t going to be pissed, but it should allow you to go to sleep at night." Apparently Michael Lopp has a term for this - Subterfuge.

Responses:
1. Thanks for Jiayao's comments. Pattern analysis and retrospective thinking is how a chess player can learn from the past and become better and stronger. This is in a way very much like skill training. Learning from the past, other players, summarise and make these patterns your own versions. This gives the chessboard another dimension - as a manager, you might not succeed in every situation with every team, the important thing is, there is no bad or good experience, it's just experience and opportunity to grow from, inc. other people's lessons.

Sunday, October 11, 2009

Get it done, and don't fuck it up!

I had the luck to work for both big size organisation, and small startup. For the former, it takes forever to carry out feasibility study, risk analysis, specification and review. In the end, after the last thread of passion passes away, you think, fuck it, it's not worth it. Every little idea takes forever to sprint out hence no surprise many aborted. Whenever this happen, it pisses me off. However, if you take a closer look at the logic behind, it does not necessary to be the wrong thing to do, it fails at execution, not the initiative. At least, there is no explicit vulnerability, everyone is on the same (firing) line.

On the contrary, small size team doesn't have such problems, especially in startups. Everything happens in very fast speed; everyone has numerous balls in the air to juggle with at any given time. What tends to happen is there is no much time to think things through, also over-thinking is certainly not encouraged in this type of culture. You don't think weeks or months to decide how you are going to design a system, not can you afford to spend hour after hour meeting to entertain product managers who obviously is an idiot. All you have is at the end of Monday, your boss came over and tap on your shoulder, "hey, we need to get this new idea up and running at the end of this week, get it done, and don't fuck it up!". Okay, it's good someone has the unambiguous responsibility. In the back of your boss's mind, maybe subconsciously, he knew that he dropped a shit bomb to you. He trusted you to turn that bag of shit into gold - that's what we do, what choice do we have? Next Monday is the only window opportunity we have to demonstrate to this guy who is potentially willing to pay big money if he likes what he sees. If you asked why it is such a short notice for something is completely not in existing product design, you will probably get something like this, "It's complicated. Life changes, product requirement changes, we need the money, shut up and get on with it". Sounds familiar? This happens everywhere! Of course it's complicate, so next time you heard this answer, think about which type of the delegation it looks like.

There are roughly two types followups to this - hit and run or escort run.
In essence, the delegation would succeed or not, is largely decided by the way how it is done. In hit and run situation, you got an instruction and from that point on, you are pretty much on your own. The interesting thing is, if the delegation was made because he/she doesn't really have a clue how to proceed at all, you will be almost certain in the dump land with what is going to happen. It's might not be totally true that your boss is deliberately set you up for disaster, but for sure, you have just been shafted even he is genuinely hoping for a miracle. The priority goal for your boss right now is to get someone and shift the shit over with. How the task is going to turn out, it's entirely your responsibility. However, you are officially one man band, so make no mistake that whose ass is on the line if you do fuck it up. If your boss is an escort runner, you are a lucky man! He wants you to succeed, for whatever reasons you are bought into. He will make sure all the relevant information are promptly passed on to you with the best of his judgement. He will also run with you side by side to make sure you have sufficient support and what it takes actually to make this a success. If he is a manager, there might not be much he can do technically, but there are tons of stuff need to be in place to make the development going smoothly, keeping organisation around you up and running. If he is a technical authority or team leader, he will do his homework too, to make sure you don't just have an instruction, but also have the direction. Now the odds is good that you might be able to make it. Not just to make something happen, but make something right happen.

Now you decide, which part of the world you want your engineers to be, deep shitty place eventually losing trust to you or a place with blood and swear but your eyes on the ball - a successful result, and working with them to make it happen, make it real?

Saturday, October 10, 2009

Everything is personal

I like to stay clear mind and be genuine about the work I do, people I love and respect, and myself. Common sense tell us about professionalism that nothing is personal, just business. To me, everything is personal (not necessary you have to take any comments towards evidence as personal offence or compliment). In business, everything starts from personal interactions, personal impact, personal contribution to a large group, personal development.

Today I have sent my wife with Sophie, the little one in her tummy right now back to the other part of family cross the planet. Suddenly it makes me realise how much I miss just to be with them, to know and worry about our coming baby, to try to build up and give her everything we deem as good, healthy and interesting. There you are, I have gone all emotional already :).

Life is such a wonderful thing full of surprises and up and down that we might never be able to understand the meanings of it, if there is one. Family is truly something we can not live without, a sense of responsibility, sense of belonging, something makes our everyday struggle and pursue come with a purpose. Good friend is a gift, what I would really willing to exchange anything else for, life time treasure. There are not much else I think could have such profound meaning in one's life.

Human society has developed till today, we hold family and friendship in our heart. What about work, what about profession? To me, I love every step I have been through, hardship or thrilling emotion, or simply a peace of mind and an hour relaxing but meaningful talk. As cheesy as it might sound, our lives deserve more than living through the time we have been given, the rights we were born with. To create something worth leave to our children, to help someone when they are lost, to have impact on life more than ourselves, to contribute to what we belong.

I love my work that makes my life worthwhile and meaningful; I want everything good for my daughter, to whom her life will surely be another wonderful journey; to my wife, everyday she has spent and will be with me; to my very dear friends, who help me to be better every step along the way; to parents, now I understand how little I was and how much they have given.

If you don't love what you do, maybe you need to find it.

Tuesday, October 06, 2009

Manage time or manage achievement

Most people are driven by calendar; some manage it; a handful of people keep an eye on time, but focus on deliverable.

I have always felt sorry for those staring at their calendar on a Monday morning, trying to figure out what is happening next. In the same time, jamming calendar with pre-booked hours is nothing more than a desperate driving instructor who could not help worrying about how to fill his hours.

You might have heard of GTD practice (get things done). You might be also a fan of prioritised to-do list. The pitfall is, organising resource could easily slip into you focus area, as you spend more than enough efforts in feeding the time machine, rather than actually get things done!

I keep a very reasonable calendar, too much available slot that my boss would not normally be impressed from the first look of it. It almost too simple and easy to say, what matters is what has happened, what has been transformed, what has been produced from nothing to something, what has been delivered. To keep boss happy is very important because only that way you can have the support you need to carry out your mission. However, to those who believe that's the core of their jobs, you probably want to click away from this blog. It's also important to manage expectation and show due diligence, especially for management or leadership role. Unfortunately, many bosses have failed to recognise that at the end of day, one thing matters the most, more than any fluffy gestures, is deliverable. No matter what roles you are playing, you are supposed to deliver something. Time you have, time you have been paid for, is the ultimate resource you have, absolutely the same to everyone else in quantity.

I guess there is little to argue that people who can manage their time tend to be more organised and efficient. However, being organised is completely different concept to being in control of what's happening; being efficient is also not equivalent to being effective. Interestingly, being able to deliver, are largely depended on the amount of control you have over the matters which you are responsible for, and how effective you are in processing what is required to actually produce desirable results, being a receptionist or a chief architect.

How to maximise the output given limited resource (time)?
  • Hit those big ones.
  • Hit those will cost a lot if not happening on time. (penalty)
I have had this illusion long time ago that once I resolve all known problems, done all planned tasks, it is the end. We all have to live to realise that you can not possibly finish all the work at any possible points. The truth is, you will have no need to exist if that happens :-). So pick those which have higher return of (time) investment or those with higher penalty. To manage around this point of view, you will not be swerving about and lose clue of what you were trying to achieve, by putting too much love in your calendar.