Friday, July 29, 2016

Be your own headhunter or how talent is found

When I finished high school, I had no idea what the next step would be. Shall I study math? It was an obvious choice, I had won some competitions. Or shall I become a rabbi? It was a somewhat provocative reaction to the pressure from my parents to seek higher education, but I was drawn to its spirituality too, not to mention I was looking for my roots. I had four or five serious ideas if I don't count the half-baked ones, like follow the traces of the main character of my favorite novel, The Tin Drum, and learn to become a monumental mason. I was really clueless, finding the right job or education was not easier than finding the right girl to date, but that's another story.
It was a rainy day when ended up in the career counselor's office. I was given a bunch of tests to fill out to measure the different aspects of my personality, from intelligence to introversion. They added some gadgets to the mix to learn about my eye-hand coordination, monotony tolerance, and other arcane properties of my psyche. I spent a few hours excavating hidden corners of my mental and emotional landscape, then I had a long break while the counselor processed the test results. I had high expectations when I finally entered his office, now I would hear the voice of authority, I would have THE answer.
The counselor wore a white robe that made him look more professional, his desk covered with my test results. After a little warm-up chat he started to convey the message, I was all ears. "You definitely have good analytical skills, you could pursue some sort of scientific career." I nodded. "At the same time, you seem to have a desire to express yourself in an artistic way." I nodded again a bit impatiently. No stunning news so far, I knew the bits, I just couldn't assemble the pieces. "You are also deeply interested in the philosophical aspects of things. My suggestions is, and this is only a suggestion, the decision is yours, of course..." I was sitting on the edge of the seat. "that you go to some university."
That was it. Test results processed, final wisdom emitted. I tried to ask clarifying questions. He was a pro, he had published books on the matter, he could pretend to respond without giving an answer. In retrospect it was like Dorothy meeting the wizard of Oz. I expected him to show me the way home and he turned out to be only an ignorant Mini Mouse.
It's easy and fun to bash him now, but it was not completely his fault. It's so easy to ask a short question. "What shall I do with my life?" "How shall I draw a five point star with a compass?" They sound so similar, they request for information on how to do something. I'd expect a simple answer in both cases, like do this first, then do that. The second question actually sounds more sophisticated, it involves special concepts. But this was only my naive teenager attitude. Ruler-and-compass construction may be challenging for some, but it's a realm of human knowledge with straightforward answers. Do this, then do that. Questions about the meaning of life and how Dorothy could get home are more complex. What both my counsellor, and the Wizard of Oz failed to do was manage expectations. They didn't tell upfront about their limitations.
As a young man, I had a simple model of how career works, and I bet many people share this model. It can be summarized in a few sentences.
If you are one of the few who was born with a talent it becomes obvious at a young age. You have nothing to do but use this talent, and you'll make it to the top of the world. If you were not born with such a talent, you are out of luck. You may have a little spark, the shadow of a talent, something that you can use to make a decent living. But let's face it, you belong to the masses, you are a loser after all.
This is a powerful mantra, it has made the lives of millions miserable. Let me repeat it, before it gets quoted as deep wisdom, this mantra is utterly wrong, it's harmful bullshit. But this was the music that was playing in my head when I went to see the counsellor, and all I wanted to hear was a single sentence. "It may have gone unnoticed, but you have an immense inborn talent of X." It was not only a piece of information I requested, it was not only the missing piece of my life's puzzle I was looking for. I needed the whole sentence so I can devour it, tuck it into my chest, wrap it around my heart to keep my soul warm in those cold days that are so frequent when you are young or when you are old. I expected him to say I was special and I wanted him to say what my exactly my specialty was. He failed on both.
He failed, because he jumped to solution mode right away, he didn't take time to lay the groundwork. He didn't ask me general questions to understand my philosophy, he didn't learn about my model, so he couldn't point out how mistaken I was. Talent is not a thing like a raincoat that you either have, or you don't. Talent is not an attribute like your body mass index that can be measured directly or calculated. Talent is not the ultimate answer to all your career-related questions.
Maybe it was not his fault after all, it was in the air at the time. This was the bullshit mantra repeated by millions that inspired scientific researches on expertise and human potential. It inspired Martin Seligman to turn away from researching learned helplessness to exploring a field that later became known as positive psychology. It inspired Anders Ericsson to explore the nature of human expertise and performance which findings were later popularized by the book "Talent is overrated". It inspired Marcus Buckingham and Donald O. Clifton to survey hundreds of thousand people to find out about their strengths and positive traits. There is a growing body of knowledge about talent.
I'm as old now as the counselor was back then. I'm not so sure about my knowledge, but at least I have a growing body around my belly. I can imagine a rainy day when the streets are empty, I walk alone with an umbrella when the fairies come. They take me with their gentle power and fly me to an institute. They change my dress, they put a light blue shirt on me and a white robe, they fix my face to be stern. When I come to my senses, I'm sitting in an office, a worn out desk in front of me covered with printouts of test results. Someone knocks on the door and enters a young man with a desperate and eager fire in his eyes. He has come to hear THE answer which I don't have. I'm afraid the answer he expects to hear doesn't even exist. What am I to say?
I'd say talent is like treasure, finding your talent or your edge is like going for a treasure hunt. You suspect something valuable is buried in the mountains, because that's what mountains are like. In tales they hide the golden of the goblins, in reality they contain limestone or coal. You just don't know what kind of treasure you are after and you don't have the faintest idea where to find it. What do you do? There are as many strategies to go for this quest as people in the world. Some start digging where the ground is easy to dig. Some go to the next village to ask the locals. Some take a sample of any mineral their shovel hits and try to sell it to see its value.
These are the first steps of a life-long quest. You may find a nugget. Was it due to your perseverance or you were lucky enough to have been born near the right mountain? You can't go back to be born again at another mountain, so you can never be sure. If a decade of dedicated work resulted in a nugget, does it mean there are more in the ground? You can never be sure. You'll face a nagging question time to time: Is it worth digging deeper or is it time to move on to another locality? And the answer is again, you can never be sure.
Talent is elusive, my friend, now you see it, now you don't. But one thing is for sure, there is treasure in the mountains. The golden of the goblins or limestone or coal.

Wednesday, July 27, 2016

What's the problem you are trying to solve?

The meeting room is dead silent, people are standing in a shock unable to grok what just happened. A few minutes ago I shared my idea with them. Mark glimpsed at me and asked a short question. “So what’s the problem you are trying to solve?” The next moment I jumped over the empty chair between us, grabbed his head, and bumped it to the desk. Two times, to be precise. There was an awful thump sound. Now we are waiting for something to happen. Mark looks up, blood smeared all over his face, his nose stands in an acute angle that doesn’t suit the original plan of the human face. He’s trying to say something, but he has difficulty breathing. He finally collects himself to utter a sentence, “I’m sorry I asked that question”. I smile and pat his shoulder, “it’s OK, dude, we are over it”.
Rest assured, it didn’t happen and it never will. This is the movie that runs in the dark chamber of my mind every time I hear that question. Bump, bump, silence, apology. I should go and see a shrink to find out why.
No, I should not. It’s a perfectly normal reaction to corporate bullshit. If you are hungry for human interaction and I offer you a bunch of low hanging fruits at the end of the day, you’ll go mad I bet. There is a list of clich├ęs, some are just innocent bla bla bla to your ears, you unconsciously filter them out. Some are boring, even slightly annoying. And yes, I am absolutely sure there is a phrase or two that could transform you to a raging monster.
Now you know my trigger sentence. But why does it go under my skin? And more importantly, what can I do about it?
After some soul-searching I realized this sentence has two meanings. The first meaning translates to “You have been talking about something that made me curious, but I can’t connect it to anywhere. Please, give me more context. Help me understand how it fits into the rest of the world I know.” This is an authentic request for information that shouldn’t make me upset. But it does.
Logically, every situation where I want to perform an activity can be formulated as solving a problem. It just feels contrived or absurd in some cases. Suppose you are queuing at a fast food booth to buy a ham and cheese sandwich. I come and grab your elbow and say “Stop, my friend and tell me what’s the problem you’re trying to solve by buying this sandwich?” Well, the problem of being hungry? Or starving? Logically, they are valid answers, but they don’t ring right. You don’t have a problem–unless you are actually starving, in which case buying a sandwich wouldn’t be a great idea, you probably wouldn’t even engage in a conversation with me. This question forces you to operate in a problem-oriented mode.
Noticing and facing problems is great, trying to solve them even greater. There is nothing wrong with this approach by itself. It just doesn’t cover the whole world around us, there are huge areas of human endeavor that won’t fit. When you have to shoehorn an idea into a framework of problems, what can you do? Admit it’s not really a problem? You don’t want to do that because it still matters to you a lot. So you’ll tend to overdramatize it, maybe by telling a shocking story of blood and violence in the office which didn’t actually happen but highlights your point.
This is the first meaning of the sentence. I don’t like it but I can live with it because it shows some genuine interest at least. The other meaning is “I see you care for this topic, but based on what I’ve heard so far I don’t care. If you think I should care, then tell me more about how it would affect me. If it doesn’t affect me, make it explicit and make it short. I’m happy to listen to what you care about but I have limited resources of time and attention.”
I’ve put a lot of effort into sharing my thoughts with you and you don’t care? Now this is what brings out the furious beast in me. And after the second round of my soul-searching I realized you have the right to not care, however bad it hurts.
If we move out of the realm of personal relationship into the jungle of business, not caring is the norm. I go to the grocery store and ignore most of the shelves and the products on them. I don’t care about the special offer on the pink gadget the removes the hair in my ears, I don’t care about the chocolate-covered Siamese chicken noodle. It doesn’t matter how much energy and money went into developing these products, I do not care. If you want me to buy them, the burden of proving their value is on you, I don’t even have to explain my indifference.
Hollywood film industry is one of the very competitive areas where a script has to go through many gatekeepers to land on the producer’s desk. Screenplay readers and their ilk handle numerous manuscripts every day. They want to save their time and energy to the most promising ones and recognize subpar work early. One of their strategies is to look for high concept, an idea that’s easy to grasp and to communicate. What if dinosaurs came alive in our times? What if people were stalked and killed in their dreams? Jurassic park was shot more than 20 years ago and we can identify by a single sentence. The success of “A Nightmare on Elm Street” started over three decades ago, it saw a line of sequels, TV series, and a remake.
Not all Hollywood blockbusters are high concept movies but they are the easiest to pitch. They don’t need pages of elaborate prose, nor expensive visuals to show their value. They need only twenty seconds of the gatekeepers’ or the producers’ time, and bang, they can recognize the potential right away.
When you ask me, “What’s the problem you’re trying to solve?”, you look for the high concept. You hear dozens of ideas every day, you have your own little idea generator in your brain, you’ll need a quick method to tell them apart. Looking for a high concept is one of those methods.
My apologies, Mark, for being so arrogant and violent with you, even if only in my mind’s movie theater. I should’ve been grateful to you, you just expressed you couldn’t see the high concept in my idea. I’ll need to work on it.

Wednesday, July 20, 2016

The long story before "the end": How to finish a narrative essay

In the beginning there was nothing, no internet, no iPhone, no pizza, and no microwave oven. In the beginning it was easy for God to create something. He could create anything and fail, no big deal. Let there be dinosaurs, for example, if they prove to be too big and slow, we can get rid of them later. The whole creation was a six day long, non-stop party, nothing prevented God from letting his imagination loose.
It's easy to start a new project, a new essay. But how can we stop? How can we say after days or years of hard work, I see what I have made, and behold, it's very good?

It can be seen as a psychological question. We know our skills are limited, we even ended up at a party last night, heavy drinking and bad jokes included. We know our creation is far from perfect, but it's time to let it go and see if it can stand on its own feet. If it falls, well, we'll be sad and use the learnings in our next project. We'll get feedback about the weakest side of our skills, for sure. It can't be avoided and it's still painful. If God had had so many critiques back then, he might have had a hard time at the end of the sixth day, he might have put in some extra hours to give the final touches to the world to satisfy all the different needs.
But I want to approach this whole issue as a practical question. How to actually finish an essay? How to start it and how to keep going so it can be finished in a satisfying way?
The end has to justify the effort both the creator, and the reader have put into it. They have to get somewhere else than they started; if they made a circle and come back to the starting point, they have to be a changed person inside. They have to say something like "now I understand", "now I know what to do differently next time". Then have a rest and start a new project.
I know of 5 ways to finish an essay. I try each of them in turns, maybe even have a draft with some, then I select one. Here is my list
  1. Restate your main thesis and how you got there. This is the classical way of wrapping up an essay, however narrative, it still has a central statement that can be useful to reiterate.
  2. Look at it from a different angle. We understand the microscopic world of the essay, we spent ten minutes of our life in it, now it's time to return to our everyday life. Make a connection between the small world of the essay and the big world around it. If it's personal, show its general human side. If it's more abstract or about someone else, show how you reflect on it.
  3. Make a variation on your beginning. This is the artistic way, this is how pieces of classical music were composed. Take a theme, play with it, tweak it, turn it, change it until the listener doesn't remember the original melody. Then bring back the starting theme and add some variation that integrates the tweaks and turns. Words and sounds and even thoughts have their melody and rhythm, using their music can touch the reader's heart.
  4. Say why this whole thing matters to the reader. You piqued the reader's interest at the beginning, they followed you through up to the end. You want them to leave with the feeling it was worth their time they spent with you. You want to show them how your essay enriched their lives.
  5. Finish the story part. We want the story first and foremost, we are willing to read a hundred pages of the dullest prose of financial accounting if it also tells the story of a detective hunting down a corporate accountant who was bribed. Just concentrate on the story part of your essay, give it a nice closure, and the rest will take care of itself.
In a normal essay you would feel we are just past the middle part and getting close to the end. But let me eat my own dog food and try to close this essay in each of the 5 ways.
  1. What's my main thesis? It's easy to start an essay and more difficult to finish it. When you are stuck, generate 5 ideas and select one. When finishing an essay, take the 5 possible ways to finish, brainstorm, and select the best one.
  2. There are three types of people, starters, continuers, and finishers. I am a starter. The closer I get to the end, the more uncomfortable I feel. I don't explicitly finish my things, I drop them, or rather I get stuck, then I let it sit for a while until it becomes so stale I can't even touch it. Termination by avoidance. I have this little theory, the more I can finish an essay, the better I become at closing things in my life. I think it works in both directions.
  3. In the beginning there was nothing. We now have internet, iPhone, pizza, and microwave oven, thank's God. What else can we wish for? Let's call it a day.
  4. What happens if you cut out the first 10 minutes of a movie? It happens incidentally too when you are late for it. Cutting out 10 minutes from the middle doesn't matter much either. This is actually what editors do before a film gets to the audience, keep cutting minutes from the middle. But what if you get a very important phone call just before the end and you miss the last 10 minutes? You'll get mad. It is the end you will remember. Make it last.
  5. After God created the internet, the iPhone, the pizza, and the microwave oven, he had enough, he had nothing more to say. He watched a mediocre sitcom at the TV and had a good sleep. I wonder what his next project was.
In a normal setting you wouldn't see all these options, they would stay in the shadow, I wouldn't let them out into the open. I would triage the paragraphs and pick the one that's most alive and kicking (or most dead if it's that kind of an essay).
Next time you are about to finish an essay and you can't think of a single way to do it, write 5 endings instead. Just the way God did. He had an ending with the dinosaurs ruling the earth; he had another one with people before the Flood living happily ever after. I hope he selected this version we are living in right now.

Sunday, July 17, 2016

The weekly post challenge

We entertained the idea for weeks. No, months now. Then it happened, my friend challenged me. This is what he wrote me.

I hereby challenge you to blog once a week, on the same day of each week, between midnight at the beginning of that day until midnight of the following day. We must announce on our blogs that this is our plan; that we will publish weekly on the same day.

It does not matter how long the posting is. Even a few sentences making up a short paragraph.

We will refer to one another's blogs in the first posting announcing weekly publishing. I choose Wednesday. It would be good if you would publish on Wednesdays too, but you can choose another day.

Challenge taken. I hereby announce I'll publish a post every Wednesday... until September. Then I'll re-examine how much I like the idea. Follow me. And follow my friend at The Dream Warrior.

Monday, November 3, 2014

Morning greetings

I work for DreamWare. We greet each other with a handshake or a kiss on the cheek every morning (well, it's a kiss only when at least one woman is involved). There are occasional hugs, too. We are happy to see each other and we are not afraid of letting others know it.

Tuesday, August 12, 2014

How we plan to use Trello for Scrum



  • Time spent and estimated
  • Burndown chart
  • Last release: v1.3 2014-02-16
  • No website, no source


  • No screenshot
  • Based on Scrum for Trello
  • Last release: 1.87, 2014-06-11
  • Links to developers provided
  • Not really suitable for project management


  • Last release: 2013-01-02
  • Wrong github link provided
  • Looks inactive

Points for Trello

  • Points are not always calculated
  • See Points for Trello - Combined edition for a more stable implementation

As an addition

Background Colors Cards for Trello

  • Uses only the six colors available for labels
  • When a card has more labels, the rightmost color is picked
  • Use it as an addition to a project management extension

Kanban WIP for Trello

  • You can add WIP limits to lists
  • The list becomes red when you exceed the set limit
  • Open source:

Progress for Trello

  • Display a progress bar using cards or points from Scrum for Trello or checklist items
  • Open source:

Trello Card Dependencies

  • Graph visualization
  • Click on cards to add or remove dependency between them

Projects for Trello

  • A card can be tagged with multiple project names
  • You cannot view cards for a tag
  • Based on Scrum for Trello
  • Open source:

OGD’s enhancements for Trello

  • Summarize points
  • Different display of cards without points
  • Highlight cards with label color (they call it separator cards)


  • Sort cards by title, votes, due date, labels
  • Save cards in sorted order or revert to original order
  • Developer’s email provided
  • No source

Maybe (in descending order of how sophisticated it is)

Plus for Trello

  • Most sophisticated

Points for Trello - Combined Edition

  • Add points to card title, sum of points are displayed for each list, grandtotal for the whole board
  • Three types of points, depending on the parenthesis used
  • Based on Scrum for Trello and Points for Trello
  • Open source:

Scrum for Trello

  • Source:
  • Summarize points for a list and for the whole board
  • Two types of points, depending on the parenthesis used
  • When cards are filtered, only the points on filtered cards are summed

The selected combination

Tuesday, July 29, 2014

Big refactoring

I started to refactor a file of a few hundred lines of code. I had a vision how clean it will look. It took more days until I realized it takes more time to refactor the whole file. My tech-lead suggested to cut the task which I did and refactored only one class. It became really cleaner. It could've been used as a base class but people didn't use it but continued to use the quick and uglier way of the other classes.

I started to refactor a file of similar size now because it always takes some mental effort for me and for me coworkers to understand the structure of the file. It was written by one of the coding heroes of the company, it's dense and tangled and still verbose at the same time. It takes a few minutes to run all the tests for it so I made a relatively big change that didn't look harmful, I was just factoring out some helper functions. When I finished, I ran the tests and they failed. I got frustrated. It took me quite some time to find out that I had forgot to set an environment variable before running the tests. There was even a warning printed that could've suggested that but it was lost in the many lines of other logging output.