Let your phone ring at least twice

There was this time when I had to clarify something with someone, and I decided to call her (instead of emailing her). So I dialled her number, and she picked up the phone almost immediately. I mean, I was still pulling reference material together, and I was actually counting on the phone ringing a couple of times to give me time. I was pushed off balance by the suddenness of her voice.

So I developed this habit of waiting for the phone to ring twice. Because when the first ring occurs, I have to mentally shift from my programming to being able to take calls. By the time I’m prepared to take the call, the second ring occurs. I then take the time to clear my throat (the last thing people want is to be greeted by a hoarse voice). And when the second ring finishes, I pick it up, grabbing a notepad and pen in the process to take down notes if required.

People expect the phone to ring.

Letting the phone ring a couple of times also gives you time to prepare yourself. It could be an important person on the line, and you are wasting the opportunity if you sound weak, hoarse and unprepared.

Why would you sound hoarse? From personal experience, because my job is mainly programming, I seldom need to converse. My throat starts to, uh, “coagulate”. After 3 to 4 hours of non-talking, I’m going to need to clear my throat.

Or if you happen to be eating something (a piece of chocolate, a biscuit/cookie or sweets), you are going to sound like someone talking with their mouth full. Which you are! The two phone rings are going to give you time to swallow that chocolate or push that sweet to your cheek so you can speak properly.

Add to the fact that you greet the other person on the line (you do greet with a “Good morning” or “Good afternoon” right?), the phone conversation will go a lot smoother.

Master your development tool of choice

Following the spirit of “Master your programming language of choice“, is the skillful use of your favourite development environment or IDE (integrated development environment), such as Microsoft Visual Studio or Dev-C++. You need to know the shortcuts, keyword highlighting and anything else that will make your programming job easier.

For example, if you deal with strings a lot (say SQL statements), it will help if your IDE makes it easier to find on the screen. The standard seems to be red colour for strings. The default colour highlighting for Visual Studio 2003 is black. How can you find any string literal in your code quickly if the string literal is the same colour as your code?

With all the advancements in development tools (such as Intellisense), you should be focusing on the one thing that computers cannot do for you: thinking. Thinking of the algorithm that will implement your business logic. Thinking of the different possibilities that your logic can succeed or fail, and handle them. There are lots of code generation tools out there to make your life easier. That said, there will be instances where you have to do the actual coding yourself.

Your greatest asset is your ability to think.

When you have to Paint

When you’re a lowly programmer, you just clock in, do whatever your superiors tell you to do, and you clock out. When you’re a corporate programmer, aaahhh, this is where the fun part comes. You get people saying to you, “Make it more user friendly” or “The login page doesn’t look nice enough. Fix it.” Then you think to yourself, “But I’m supposed to just write code!” Think again.

When I started doing graphics work because there’s no web designer nor graphics artist in my team, I fell back on the good old Windows Paint program. Yes, I can hear people laughing from as far away as the United States…

*pause*

Now that you’ve calmed down, you have to realise that I don’t have professional graphics software, so I make do with what I have. Which isn’t much. So I branched out. I found this wonderful free software that forms the integral part of my graphics work. It’s Paint.NET, and it’s packed with lots of stuff comparable to Photoshop. And together with Windows Paint, I have in possession the basis of my image processing skills.

And for those with Photoshop: more power to you.

It’s not about you. It’s about results.

Recently, something happened that shook my confidence a little. Before I get to that, let me say that I’m a fairly competent in web applications, in particular, .Net web applications. I have done image creation/processing, CSS validations, and making sure the web applications are as cross-browser as possible. I have made the user interface as simple and as easy to use as possible. I’ve read up tons of security measures and implemented many of them on the web server and in programming too. I follow any sensible coding guideline. Database tables are designed to be relevant and scalable for as long a time as possible. I’ve even released two public web sites, all single-handedly done by me.

Now, in between doing new projects, I also try to improve existing ones. So I have this pet project. Being that it’s a pet project, I let my creativity fly on the web application. I tried out my own 3d rendered graphics. I pushed my CSS skills in managing display. I even tested out what was to me very new, AJAX, to make the web application more lively, more “real-time”.

Then one fine day, it was decided that my pet project is actually going to make a difference in the team’s overall productivity. So it became a full-fledged project. Suddenly there was a deadline. Suddenly people are going to see it and use it. I mean like really see this project of mine. And then it happened. My deluge of “change this”, “that’s not right” and “I want it that way” came.

For the first few seconds, I was like outraged. I mean who are they to comment on my work? I was enraged. I was indignant. Then, I calmed down. Because I realise that it doesn’t matter what you think. Ultimately those people who said “do this and do that” are the ones who will use your application. Accept that.

It’s not personal. (Ok, sometimes it is…), so I want you to concentrate on the results. What is it that the users ultimately want? Your code can be the most elegant piece of creative work there is, but if it doesn’t do what the user want, it’s useless.

Focus on the user. And yes, sometimes, you have to let go of your code.

Master your programming language of choice

I have gone through many a program where I would stare at a section of code, trying to figure out what it’s doing. After a while, a light of understanding would flood my consciousness, and I would ask, “Why did someone write like this?”

The problem? The task at hand required a certain function, say formatting output (quite common) for displaying a string of a length of 4 characters from a number between -999 and 999, inclusive of the negative sign. I would then see code checking if the number was negative (to determine if a minus sign was required), string trimming and left/right alignment of the number and so on.

Why did anyone go through all this when there’s a perfectly functioning formatting ability within the standard library of the language? (I’m thinking C at the moment, but most other languages are still applicable) I came to one conclusion: the programmer didn’t know about it.

You can be a better programmer by simply knowing more about the language you’re using. You don’t have to remember every single function available. You just need to know where to look. Albert Einstein said something to the effect of “I don’t remember anything that’s written in a book.” There are online libraries of programming languages. Use them.

As a programmer, you are paid to think up solutions and implement them via code, not reinvent something that’s already done and then code the business logic. Your creative abilities are more important than your memorisation skills.

E equals M C squared

The famous equation of Albert Einstein has a simple elegance to it. I knew of it when I was young, but it didn’t mean anything to me. It probably warms the hearts of scholars of physics though.

The magic happens when I read about something that Robert Kiyosaki (author of “Rich Dad, Poor Dad”) said. In his book, he mentions that money is an idea. This prompted me to think of our earlier human ancestors, where barter trade was the norm. If you have herds of good cattle, you are considered rich. If your sheep produces fabulously soft wool, you are considered rich. In our modern times, if you have tons of those paper notes that your country’s mints are producing, you are considered rich.

What I realised is that, being rich has little to do with money itself. You are rich, because other people consider you to be rich. Having herds of cattle makes you rich because other people need the meat they can get from you. Since they don’t have it, they consider you to be richer than them. If you have a huge bank account, then other people consider you rich because they believe in the numbers they see and in the integrity of the bank.

Money is an idea.

Going back to the equation, I understand it as dividing our universe into two parts, energy and matter (or mass). If money is an idea, then it’s an energy form. And wealth is the material manifestation of this energy. If I want wealth, then I’ll have to materialise it from its energy form. Let’s look at the equation again:

Energy = Matter(mass) x Speed of light x Speed of light

The speed of light is 300000000 metres per second squared. That’s a 3 followed by 8 zeros. I realised that my energy level for wealth has to be extremely high in order to materialise anything.

This explains why many of the millionaires I’ve seen, heard and read about, are passionate, lively, animated and energetic. They create wealth from their ideas! To do this, they have to match their energy levels with that of wealth.

I now look at this equation under a different light.

The “2nd best” theory – Overbalancing

You might want to read part one and two first.

There is this almost obsessive need to “work on your weaknesses” pervading our lives. As a child, when I submit my report book to my dad, he would look it over, and point at some line on a page, and say something like, “How come you got a [insert low grade] for [insert some subject]?”.

After I graduated from university, I came to the “real” world. At my work reviews, my manager would go over my achievements, point at some line on his report, and say something like, “You are very good at [insert strong point], but I want you to improve on [insert weak point].”

Unless the weak point is critically hampering your progress, strengthening the weak point is a colossal waste of time!

Why is this so? Because you have little interest in it. If you had even a passing interest in it, it wouldn’t have been a weak point. You’d want to find out more more about it, even if it’s not one of your natural strengths. You have no feeling for it.

An example of a weak point worth correcting is the ability (or lack thereof) to communicate and work with fellow team members. You do want to work well with others right? Then you’d have an interest in making your relationship with them work.

This is where overbalancing comes in. In this context, it refers to improving every single skill you have, whether or not they create the most value for you. You might have heard of the 80/20 rule. 20% of your efforts produce 80% of your results. It’s hard enough finding out what your strengths are. Using the productive 20% effort on improving your weaknesses is commendable, but impractical.

Use a large part of the 80% effort on improving your complementary skills (to your strengths). The rest of the 80%? Go ahead with improving your weaknesses to do as little damage to your success as possible.

The “2nd best” theory – Finding balance

You might want to read part one first.

If you’ve played a role playing game before, then the following picture will look familiar. Skip forward a couple of paragraphs if you have no idea what I’m talking about…RPG statistics

What it means is your game character has high strength and vitality, but low reflexes and intelligence (you know the type right?) You can train the character to even greater strength to deal more damage.

The question is, how much more? How much more do you get if the strength is maxed out?

Now suppose you train a complementary skill, say the character’s reflexes. With faster reaction times, the character will be harder to catch and be able to strike more times. Hitting the opponent for tons of damage means nothing if the character gets pounded too. Being quicker on the feet makes the character much more dangerous.

I agree that the world needs exceptional people. If you’ve found what you’re great at, and you’re doing it now, congratulations! If not, but you’re pretty good at lots of stuff, then the 2nd best theory states that you are exceptional too! Because you are exceptional at balancing many things, and the world needs people like you too.

This works particularly in a team. For example, I am great at computer programming. I can write programs that are easy to understand (by the users and my fellow colleagues). But I suck at understanding the business logic driving these programs. There’s too many of them, with tons of documentation. My team leader on the other hand, can tell you how and why this system works with that system, but will have difficulty writing out program code. Together with my colleagues’ complimentary skills, the team can handle any software project.

Or look at any team sports. You may find star players, but you still need other players with different or balanced skills to complement them. This is what makes teams strong; people complement each other with their varied talents.

Carrying out this balancing act to the extreme will make you miserable though. Do your 2nd best for all your complementary skills. Focusing on improving your weak spot is useless, unless that weak spot is critical. Marcus Buckingham, who wrote “First, break all the rules”, says we should focus on our strengths. I’d like to add that we consider our skills that complement our strengths too, which usually make our strengths, uh, stronger.

The “2nd best” theory

Throughout my life, I’ve always struggled with expectations. I was not the most

  • intelligent (those straight A students get on my nerves sometimes)
  • popular (I wasn’t even with the geek crowd)
  • athletic (I still remember missing the rugby ball on my first kick)

amongst other things (let’s leave it at that, shall we?). I was doing well enough, but I was failing miserably at trying to be the best. Then it hit me.

You don’t have to be the best. You just have to be the 2nd best at everything!

Have you heard of the bell curve? It looks something like this:

Bell curve

Statistically, most people are in the middle (yellow zone), getting average results. The people with above average results are one zone to the right (green), and the high flyers are to the extreme right (blue zone).

To reach the “above average” green zone, it just takes a little bit more effort than average. Then, and this is the important part, unless you’re naturally good at it, it will take significantly more effort than average to be a high flyer.

“But this is common sense!”, you cry out.

I hear you, and well, sometimes I’m lazy, and the significantly more effort part is giving me problems. Significantly more effort means I spend more time honing just one skill. What if I can use this time and effort to bring up the level of my other complementary skills?

So I strive to be above average in everything I do. The goal? To be at the top of “above average”. To be hovering between above average and high flying at everything I do. While I’m doing this, I will inch towards high flying results.

I do what I can about things I know little about (be average) and ask for help. I focus on needed skills (be above average) and excel at my natural strengths (be high flying).

Tomorrow, I will share with you how this “2nd best” theory can make you a happier and well balanced individual.