Math Formula

Wednesday, June 27, 2012

When Your Boss Calls You, It's Never A Good Sign

My high school teacher in bookkeeping was a nice person, with our well-being in mind all the time. Even though she was a little bit inconvenient occasionally, I'm inclined to think that she did also that with best intentions.
And similar to many of my teachers (I attended a high school for IT and business administration), she had worked in the private sector several years before becoming a teacher.

Thus, she would tell us innocent students a story from the "real business world" every now and then.

"When I still worked in that company, we were afraid whenever the telephone rang and the display showed the extension from our boss.", she began one day.
The story-telling attitude she showed now awoke some of us, as it was known already that at times the bottom line of the story could be interesting. Yes indeed, sometimes even more interesting than continue playing Counter-Strike.

So, one of the motivated dudes in the first row devotedly asked: "But how's that, why were you afraid? Maybe he just wanted to inform you about something?"
"Wrong", she replied, holding her breath for a second. "For it was known, when the boss calls you, it's for one of two reasons: Either he has some nasty task for you ... or he rants at you. When your boss calls you, it's never a good sign."


I'm still surprised about the purity of Management 1.0Theory X attitude shown in that one sentence.

Do you remember #4 of the 13 top habits of how not to manage?
"4. Only contact them when something is wrong, but never praise them" (me)
I think common sense tells you how wrong that behaviour is, so let me propose something else instead:

Respect and credit what somebody is proud of! Do it frequently, at least by showing genuine interest. (me)

It doesn't matter whether it's a co-worker, a child or your parents - all of them will appreciate your interest. Even if it's something small which might seem insignificant to you, for them it's maybe not, so it least praise their effort. Maybe it was done better than the time before?

Whatever it is, let them know ... and mean it!

Wednesday, June 6, 2012

My Top 4 (Work-Related) Mistakes

When I wrote about my motivation to write this blog a few months ago, among the reasons I described there was the possibility to reflect upon my mistakes later and learn from them.

A crucial part of learning from mistakes is acknowledging them. While this is rather inappropriate for some mistakes (say, having cheated on your wife, especially when she doesn't yet know about it), others qualify for being announced publicly.
I think there are two main functions of such a public confession:

  1. You show that you are past the point where you feel ashamed, and are ready to move on.
  2. You allow others to learn from your mistakes, which not only helps them, but also establishes a certain level of trust among you

In the light of the above, I will today share my biggest work-related mistakes so far. Maybe I'll share some non-work-related ones in the future as well.

Please note that due to my IT-background, some of these might sound a little bit nerdy. I'll try my best to cover the IT-stuff as much as possible.

My biggest mistakes:

No. 4, Shopping carts

When I was in high school, I was short of money all the time. So, imagine a big shopping mall. On the entrance, dozens and hundreds of shopping carts are available for customers. However, once the customers return with carts full of stuff they don't need anyways, and loaded more of these items into the trunk of their car than fit into it, they obviously don't feel like walking those fifty meters back to the entrance of the mall. No, instead they prefer to leave the shopping carts directly where they parked their car.

So, the shopping carts have to get back to the entrance, in order to be filled with new customer's wishes. The carts being unable to move themselves, somebody is required to push them. And that somebody was me, every Saturday afternoon.

Naturally, you don't only push one cart at a time, because the continuous stream of customers would simply overwhelm you. Instead, you are required to take multiple carts at once, say, 20 to 25.
Strangely, the 25th shopping cart in the front of the queue develops something like its own will, which might be contrary to the young lad pushing it.

Thus, I once lost control over it, and the carts crashed into a brand new, golden BMW, which was parked innocently over there, and leaving a nice scratch along the driver's side.
Now, that would still be understandable; that's not the mistake I want to talk about. Yet, to make it even worse, I thought that nobody had seen me, and simply moved on without informing anybody.

However, when I was called to the information desk five minutes later, facing a rightfully upset customer kind of falsified my former assumption.
Taught me an interesting lesson about honesty, tough!

No. 3, Broke the Build

During my time as an intern in the first software development company I worked for, the senior developer was preparing a presentation of our software to some key-clients the other day. Therefore, he told us to hold back with our most recent changes, in order not to introduce new bugs that close to the presentation.
However, me still being simply inexperienced with version control systems, I could not see the potential harm of a small check-in.

Useless to say, that "small check-in" was not quite compatible with the rest of the repository, and obviously broke the build.

Cost the senior developer half a day, and me a beer :-)

No. 2, Test it faster!

Later on in my development career, I noticed that one of the systems we were developing became increasingly slow the more data we added. Initially, it was fast enough (remember, everything is fast for small n), but the more data we added, the slower it became; to the point, where it was not test- and usable at all any more.

Now, instead of searching for the root-cause of the performance issues, I simply introduced a debug-switch which would prevent loading more than 25 entries from the database at once. Bang, problem solved!

I think you can imagine what happened once we turned that switch off again to test in a real-world environment ....

No. 1, Ignore the need for feedback

Being entrusted with managing my first IT-project on my own, we had to re-develop a legacy system, plus adding certain features. It was agreed that in a first phase, the features of the existing system should be copied, the data migrated into the new system, and the users start working on it in order to give feedback about usability issues. In a second phase, the new features should be added.

However, once we were close to releasing the first version, the client changed his mind and did not want to go to production without the new features.
In strict violation of a very important principle, "version 1 sucks but ship it anyway" (see also here), I was too weak to resist him back then.

Of course, once we finally introduced the full new version including new features, there were still several glitches, because it was the first time users started really working with it. The resulting changes caused a big delay in the project schedule and consequently, it was not quite "on budget" anymore either.


Dear former colleagues and current co-workers, bosses and clients, please excuse both my mistakes mentioned, as well as all the big and small ones I forgot to mention. If you think there is a nice complementary to this list, feel free to leave a comment below ;-)

So, these are my biggest work-related mistakes (so far) ... and what are yours?

Monday, April 23, 2012

The Long And Winding Road Of Funding A Business

A couple of weeks ago, I boldly announced that I'm claiming my share of the mobile market. As much as I already could imagine back then how naive that calculation is, I thought that if I could convince only 1% of the mobile clients, I'd make a fortune overnight. Quite surprisingly, though, this did not yet happen. What had I screwed up?

In the meantime, I started attending an online course about "Technology Entrepreneurship", provided by Stanford professor Chuck Eesley and hosted on venture-lab.org.

The course is split into two main parts: First of all, two "warm-up" activities, in order to learn first basic steps, and to build a team for the second part, in which we will perform further steps to bring a "business idea" to actual execution.

As the first part is done, I will quickly summarize what I learned up to now, and how this shapes my overall perception of founding a business.

The first warm-up activity was simply brainstorming business ideas, disregarding whether they sound anyhow promising or not. There are several techniques that help you coming up with ideas, but if your mind is on fire already, ideas of all kinds pop up automagically all the time anyways. I was outright amazed by the overall eagerness shared by all colleagues, and the funny ideas we came up with! Retailing alcohol to Saudi-Arabia? A sex shop for religious people? Or a stove made of wooden?

The next step was to agree on the five "best" and the five "worst" ideas, and create a business canvas model for it. The idea I had chosen was about a mobile application for automatically recognizing the current state of a physical chessboard. Using the business canvas forces you to think about certain aspects of turning this idea into a business, e.g., customer segments, marketing, core activities, partners and revenue streams.

Already in the course of doing this, we found that even an apparently bad idea might have certain positive aspects as well. Going even further, the second task was to take any "worst" idea of another team, and try to promote it as good as possible. Check the result:



Not that bad, after all, is it?

So, first key finding for me is: Each idea can turn into a promising one! (Chuck Eesley provides more comprehensive thoughts on the topic here.)

Next, Chuck doesn't get tired to stress the importance of team composition. Lacking experience in that field, I cannot quite judge on it, but it makes perfectly sense to me. Founding a business without knowing whether your co-founder snores would be kind of similar to marrying after a heavy night in Las Vegas.

But most of all, I'm getting more and more convinced that simply having "a killer idea" is not enough. Far from it. To be clear, it is an important prerequisite. But it is not enough, it is the actual execution that matters a million times more.

So, I don't yet know what it takes to fund a business. At least I know now that it's nothing enough to have an idea. Still, everything starts with an idea - even the long and winding road of founding a business.

P.S.: Already now, I'm very thankful to all my colleagues for the great experiences and good brainstorming made up to now. Looking forward to continue working with you guys!


Wednesday, March 7, 2012

Neophobiac Or Neophiliac ... And What Are You?

"If I had asked people what they wanted, they would have said faster horses." -- Henry Ford (despite the questionableness of this quote)
As some of you might have heard already, the upcoming incarnation of Microsoft Windows will offer a completely new user experience called Metro. It is expected to look roughly like this:

Source: microsoft.com
Apparently, they are trying to create the same experience on all devices in the future - be it a desktop PC, a tablet, or a smartphone. As for all things newly invented or changed, the press, current and potential users, bloggers, ... are pretty divided into two groups
  • The ones defending what is today, opposing change, willing to stick to what they've come to know over the past decade.
  • And then there are the others, who are outright nuts for the new style, ignoring it's potential glitches and shortcomings
In psychology, two technical terms are used to describe the two extremes of the spectrum:
  • Neophobia is "the fear of new things or experiences", on the contrary to 
  • Neophilia, which describes a person with strong affinity to novelty.
However, a person is not always purely the one or the other, but might be rather neophile regarding certain questions (for example, enjoying the new immediately iPhone once it's released), and rather neophobe regarding other (for example, denying that humans are descendants of apes). Also, one's attitude towards novelty is most likely to change over time. Who might have been wildly seeking for change and revolution in early years might take exactly the opposite stand once he's older (and in some rare cases, vice versa).

I'm quite convinced that each society and organization needs both types. People who drive innovation and change on the one hand, but at the same time, others who do not follow them blindly, but see to some reality check every now and then and throttle the craziest ideas.

All in all, this makes me wonder, which stand you should take? Should you promote change and new ideas? After all, you will not be able to stop change anyways ... like it or not, your children will not even know what this VHS was back then, so better get rid of it now and start adopting new things accordingly!
Or should you rather wait and see what happens, for many new ideas and technologies are doomed to disappear after a couple of years anyways, so why adopt at all? Something in between? If so, when and under which circumstances?

As you see, dear reader, I cannot come to any conclusion on this (maybe there is none). So for me, the question remains, neophobiac or neophiliac ... and what are you?

Friday, February 17, 2012

Free Auto Currency Converter Now Available On the Android Market

Dear all,

I am happy to announce that as of now, my first mobile application Auto Currency Converter is available on the Android Market (totally free of charge).

Taken from the description there:

Automatically convert currencies! Just start the app, and see immediately the conversion between your most probable currencies. A totally simple and easy to understand screen handling.
Further features:
  • Support for more than 170 countries and more than 130 currencies
  • Automatically maps your native and the current country to a currency
  • On app start, automatically provides conversion between your most probable choice
  • Keeping track of your most recent conversions, and thus providing even better suggestions
  • Capability for offline conversion (NO Internet required)
  • Fully automated update of all exchange rates
  • Conversion in both directions (from base to target currency, and vice versa) at the same time

Thanks to your feedback, I was able to improve the user interface a little bit. The final version looks like this:

First screen of Auto Currency Converter

If you have Android, you might want to check it out.

Each comment and rating on the market would be highly appreciated. Thanks for your support!



Wednesday, February 8, 2012

Progress Report: My First Mobile Application

A couple of weeks ago, I made a bold claim on this place: I want a tiny little piece of the mobile development cake. So, three weeks later, how am I doing with my first mobile application? Time for a quick update!

As I indicated in the last post already, I'll try to sharpen the knife on a simple, yet maybe useful application: a currency converter. Unlike other converters, though, on mine it is NOT required to select base and target currency yourself. Instead my converter has the ability to automatically "guess" your most probable conversion (based on your native and current location), and consequently I call it Auto Currency Converter.

Key features are:

  • Support for more than 170 countries and more than 130 currencies
  • Automatically maps a country to a currency
  • On app start, automatically provides conversion between your most probable choice
  • Keeping track of your most recent conversions, and thus providing even better suggestions
  • Capability for offline conversion (NO Internet required)
  • Fully automated update of all exchange rates
  • Conversion in both directions (from base to target currency, and vice verse) at the same time


In order to get feedback from potential users as early as possible (remember, I want to fail fast and fail often), here is the first draft of the user interface:


First draft of the user interface of the Auto Currency Converter
Even if you are not interested in my self-estimation of the progress and don't continue reading, I want to ask for your first impressions on that draft. You like it, you hate it, you would never use an app with such awful a background color, or you would love an icon of an unicorn in the upper right corner - whatever it is, please drop a comment below.

I'll describe the progress against three different dimensions: 1.) State of achievement; 2.) Problems encountered; 3.) Future activities.

1. State of achievement
I familiarized myself with the development environment (Eclipse with Android SDK). Running the device emulator is a bit slow at time, but it's doing a fairly good job.

The Android documentation is pretty good either, and for all the things that are not fully covered there, odds are that somebody else encountered a similar challenge already. For most questions arising I found an answer on the web very fast.

Accessing the Yahoo Finance service for exchange rates is not a big deal, either. I am happy to say that all calculation-related modules are in a proper test harness, as simple as they may be.

What I'm really impressed about is the great, flawless, built in SQLite database in Android. Easy to use and just working! I'm using the database both for the exchange rates and keeping track of the user's last conversions.

So, most features envisaged are in place. Also, I managed to provide a first draft of the user interface.

2. Problems encountered
As expected, the biggest challenge for me will be the user interface.

For a small application like this, providing the required functionality is a piece of cake; providing a good-looking user interface for me is not. Not only are there some challenges unique in mobile development, but even more, it is simply time consuming.

Ensuring the application

  • looks good several different devices (imagine a smartphone vs. a tablet screen) and
  • different operating system versions (most smartphones still run Android 2.x, but some nice features were added in 3.x, which I want to use if available)
  • supports both landscape and portrait screens (and ideally, also the transition between those two)
  • finding proper free icons
  • supporting different user-languages and preferences (what should be displayed as "08.02.2012" in most European countries should better be "02/08/2012" in the US)
etc. ... it simply sums up.

Some of the other potential challenges I did not face up to now (such as marketing and the likes), simply because I did not yet publish my application.

3. Future activities
Most features are in place; what remains to be done is polishing up the user interface.

What I have not yet decided, is whether to include ads (the easiest choice probably being Google's AdMob) in that first application, or not. I guess users are most likely much more opposed to ads if they are introduced later, compared to having seen them from the very beginning.
On the other hand, if I keep seeing this first app as a pure learning field, and may be a "reputation builder", there is no need for ads at all.

Oh yes, and then, finally, I should publish the app as well, and make people aware of it.

Apart from that, there is another thing that concerns me: I think that I totally lack any vision of what exactly I actually want to achieve (not with this first application, but with the others yet in the pipe). What can I provide?
Even though I know I should have a clear picture on that upfront, I hope it will work the opposite for me and will evolve over time.

For the moment, I'm just interested in getting my first mobile application done, and I feel that I'm on a good track. In order to progress further, I need your help. I would be very grateful for a brief comment about your first impression of the screenshot above.

Wednesday, February 1, 2012

Keeping Your Mind On Fire

As I mentioned in my memories about Mexico, among the things I value most during travelling is having time to think about topics apart from my daily routine. In his excellent essay How To Be A Free ThinkerScott Berkun recognizes that  "... many of history’s great spiritual leaders chose to step away from their cultures and their worlds for a time." Clearly, there aren't too many things more inspiring than foreign cultures and environment.

For the good or for the bad, however, most of us are more or less bound to their place of living, and their daily routine (which, I guess, for most people is working, unless you adopted a 4 hour workweek). So, that made me wonder, what can you do to keep your mind on fire, even in a potentially mind- and idea-suppressing environment?

In the last week, I paid close attention to what does inspire me, and what provokes me to think about issues that really matter to me. Of course, people care about different issues, and consequently, for many of them different approaches might work out.

However, here are my thoughts:
  • Reading, ideally about a variety of different topics. What I'm onto these days is Mindfire (again by Scott Berkun; obviously a primer for this article) a master thesis about the political and economic transformation in Central-Eastern Europe, Management 3.0 (Jurgen Appelo) and I just finished novel price winner Ivo Andric's masterpiece The Bridge on the Drina
  • Physical exercises. Long hours of sitting in office do not only cause pain in the back, it's also pain for your brain. After jogging, swimming, skiing, mattress-sports or maybe just a walk my mind is not only open, but actually even full of energy for new stuff.
  • Wandering around with open eyes and open ears. I'm trying to re-invent the curiosity which I used to have as a child (pretty much to the sorrow of the people facing my constant questions).
  • Make notes. Since a few weeks, I don't leave home without my pocket Moleskine anymore. Whenever something interesting catches my attention, I write it down to came back to the issue later, or to discuss it with somebody who might be interested as well, or may be even offer some explanation. Since I'm doing that, I'm also surprised myself about how many questions are around in that brain over a day. It simply doesn't stop anymore once you've started!
  • A beer. Or maybe two. I'm fairly certain that this is absolutely necessary to re-adjust your body every now and then, and I think there is more than one example of a great thing that was initiated over a couple of pints in a bar.
  • Discussions with other curious or passionate people. Ideally ... well, see the point before.
  • Theater and exhibitions. Totally diving into another time or place might have impacts similar to travelling. Just that it's much cheaper, closer by, easier to reach, and in the morning you'll still wake up in your own bed again.

In case you look for some inspiration or idea on anything, you might try one or two of these approaches. 
Of course, there might be many and more approaches ... so I wonder, what are yours?

Search This Blog