When my daughter was baptized, a friend of mine read the following passage from The Prophet of Khalil Gibran.

Your children are not your children.
They are the sons and daughters of Life’s longing for itself.
They come through you but not from you,
And though they are with you yet they belong not to you.
You may give them your love but not your thoughts,
For they have their own thoughts.
You may house their bodies but not their souls,
For their souls dwell in the house of to-morrow, which you cannot visit, not even in your dreams.
You may strive to be like them, but seek not to make them like you.
For life goes not backward nor tarries with yesterday.
You are the bows from which your children as living arrows are sent forth.
You may strive to be like them, but seek not to make them like you.
For life goes not backward nor tarries with yesterday.
You are the bows from which your children as living arrows are sent forth.
The archer sees the mark upon the path of the infinite, and He bends you with His might that His arrows may go swift and far.
Let your bending in the Archer’s hand be for gladness;
For even as He loves the arrow that flies, so He loves also the bow that is stable.

While I was reading another book, the author cited this passage; it was like we received this gift and, in the thurmoil of the early years of a child, we forget it on a shelf. And then, today, while I was looking on those shelves for something quite different, I rediscovered it.

I will read this to my daughter, now that she's old enough to understand; hopefully, one day she'll find it on her shelves as well.


Have you any question?

If you ever had an interview, you know it comes the time when the interviewer asks if you have any questions or doubts.

There is one question which surfaced to my mind only recently, and I've to admit it is one which would be quite hard to do; and the question is: “Is this an honourable company?”

Of course, as soon as I receive a positive answer, I would ask: “What is your definition of honour?”

Both the questions could be addressed to a potentianl employee as well: “Are you an honourable worker?”

I would be unconfortable on both side of the table, in both cases; but these are questions which will be asked, either directly, or just inside the mind of the employer or the employee; and at least there should be an agreement on what the word 'honour' means, and by extension what an honourable man is.

I've read some definitions of honour; I'm still far from understanding them.


Diet, food and activities

Less than a year ago I decided to start dieting; in a sense, I’m quite lucky, because my metabolism just asks me to eat less in order to loose weight. When I started I was at 116 Kg; now I’m around 87, and I had a steady progress of loosing weight at about 0.5 Kg/Week.

Staying on a diet taught me a number of things.

First of all, it taught me about patience. I mean, you can think I loose weight quite fast, and indeed it was fast; but when you’re overweight (obese is the right term) and you want to regain a more healthy weight, an year can be a very long time.

But, and this was another lesson, you can’t solve a big problem in just one day; after all, it took me something like 10 years to gain all that weight. So, solving that problem in just one year was really a deal.

But, in the meantime, I remained obese. And this was the third lesson: once you’ve a problem, even if you devise a solution, the solution does not resolve the problem immediately; and in the meantime, you’ll still have your problem.  

And so, here is the fourth lesson, which is also lesson zero, because all started from that: self-discipline, or the ability to stop eating. I remember how I started this diet; I had the general idea I had to start dieting, but never really resolved to do it; then, one day, I get a small portion of pasta. Actually, I wanted more of that pasta. It tasted wonderfully, and I wanted more of it. But I decided not to take more, to remain hungry, and I tried eating some vegetables or some fruit. And then it started: I gained the ability to stop eating.

Once it was clear my diet was working (and you know it is working when people around you notice it and ask you how you did it) I thought I could apply the lessons I learned from my diet to other parts of my life. So, I thought I could devise some sort of analogies between food and diet on one side and life activities on the other side.

Just as we need food, was my reasoning, we need activities. Food gives us the energy to live, and activities both provide the money, and also fill our lives. Too much food, and you start gaining weight. Too much activities, and you start gaining stress and your backlog becomes longer and longer. Too little food, and you die. Too little activities, and aside from the potential loss of money, you enter in that state which is just surviving rather than living.

Once you get too many activities, you become overcommitted, which is the analogous of overweight. The overcommitment can become quite serious, and you can get stressed so much that you start risking your own health. Just to be clear, I’m overcommitted at the moment.  That’s the reason why I started this reasoning.

Being ‘normally committed’ means that the activities you complete are balanced to the new activities you decide to accept, and those activities are giving you a decent living. Give ‘decent’ whatever meaning you want: doing nothing all the day will give you no overcommitment, even though most probably will also give you no money, and, according to me, no fun.

Let’s review my own lessons from the food, and let’s see what I can learn.

First, there is patience: overcommitment is not the work of a day or of a week; it won’t go away in a day or in a week; it requires months of steady progression. It won’t go away in just one day.

In the mean time, and this is the second lesson, I will remain overcommitted; of course, it will improve, over the time, but it won’t disappear in just one day.

And the third lesson, which should be lesson zero, is that my activity-diet begins when I decide to say ‘no’ to another serving: a new project to do, an new interesting activity, even an online game, or a new argument to study. I can’t become ‘normally committed’ unless I learn to stop accepting every activity I stumble upon.

Oh, besides, writing on a blog counts as an activity ;)


Bikers, developers and runners

A couple of months ago I started getting to the office with the bike; it is a moderate long trip (about 40 minutes), and I’ve some slope to climb. You could say that for a real sportsman it would be quite easy, but for a couch potato like me, it requires some effort.

Anyway, while climbing the hardest slopes, I thought that there was some parallel I could draw between biking and developing software. I mean, developing software is not a leveled ride, with no slope to face. Sometimes, you’ve a leveled ride, and you employ the gears that gives you the maximum speed; then, you face a slope, and all of sudden, you’ve to change gear, you go slower and slower as the slope is harder to climb, and you go on until you reach the top, at which point you’ve to change again the gear, in order to keep control while descending the slope at full speed.

In a similar way, developing software is sometimes a leveled ride: you can use your gears to go at maximum speed; then, all of sudden, you face a slope: something tricky, a new library you don’t know, or a problem which is hard to solve, or whatever; you need time to investigate, and you slow down. Until, of course, you solve the problem, and then you can resume your development at full speed (indeed, you’ll even enjoy some push from the just solved problem).

I thought also about runners and developers; we all know that there are different type of runners: sprinters and marathoners, just to name two of them. They are well suited to their challenge, they train to excel in that, and they would perform poorly in other ones.

While we accept this for runners, we do not accept this for developers; we assume that all developers are equally suited (and trained) to accept all type of challenges: short burst projects, or long running projects. Indeed, we can’t face a sprint project and marathon project in the same way. You can’t ask developers (even if they are indeed sprint developers) to sprint for a marathon project. Way before the end of the project, they will be exhausted.