Napoleon of technical leaders

There is no I or Me in a team. There is only the team. But team needs a leader. It’s a well known fact, human psychology, we need leaders. It is something we might not admit to or not even know about it. We will look up at a guide or a inspiration that will lead our work, correct our mistakes or give advice.

Sometimes team leaders are developing during the process of team formatting (beginning of the team) as a natural process, sometimes they are being assigned to do the job.

Us developers need a technical lead, someone who will guide us while we are doing our job. After few years of IT experience, I can say that I have worked with few good and few bad team leaders.

What makes a good team/technical leader then? Whatever makes a good leader plus strong technical capabilities.
Good Listener
Good listening skills.
It means that you will be listened and your opinion will be taken seriously. I have worked on few occasions with people who just couldn’t listen to any proposition and everything had to be done their way. It ended up usually in waste of time and slide in project delivery. I do have to admit that some of them took all the blame and did extra hours to work out the problem.

Extreme Flexibility

Flexibility and openness.
This one is a brother to good listening skills. I have worked with a tech lead whose openness and flexibility lead to many great technical discussion with entire team and brilliant ideas.

Decision MakerAbility to make a decisions in difficult moments and change any decision if necessary.
As much as flexible and opened team leader can be, she/he always needs to make a decisions when it’s necessary. All the discussion we had as a team about technical and non technical issues on a project will never end if someone did not put his feet down at some point.

Point out mistakes and appreciate good job in person.
When talking to a bigger forum or entire team should not discuss individual success or mistakes. Taping someone in a back in front of the entire team will only tell others that they have not worked hard enough to deserve it. Same with criticising anyone, will make everybody else on a team feel better then the one poor geek that got earfuls. All that destroys team spirit and integrity.Motivator

Be good motivator.
People need motivation. I do. If there is no other driver in the team at least team leader should inspire and motivate.

VisionHave vision and approach things with passion.
Passion works like a motivation sling. It gives extra boost to entire team if there is at least one person that is so passionate about the tasks that team is facing. I’m damn convinced that at least team lead should be that person.

Presence and appearance.

Technical skills.
Last on this list but equally important. I was working with team leaders that were making bad decisions because they lacked technical skills. They were also to proud to listen to the team and take suggestions on a board. It ended in a massive disaster.

I’m sure this is not the complete set. It contains some of the important factors I could think of and I’m looking for in a leaders. You are more then welcome to complete this set in comments.

The list is not in any specific order. I believe all the points are very important and you can’t have great team leader without all the skills. I am also aware that in real life this will be far away from true. Even great leaders in the world history had their flaws. After all we’re all humans 🙂

Cheers, Greg

My own, personal OS rant

This is not another “Linux is better then Windows” posts. It is just a history of few wasted hours of my life.

I got two operating systems on my laptop. Ubuntu Gutsy and Windows XP. As a choice I use Ubunty everyday for my usual email reading, internet browsing and my home development projects in either Ruby or Java. I switch to Windows if I do .Net.

Windows vs Ubuntu

About a week ago I got my usual Ubuntu system updates. This time they came with new release of Linux kernel.  When I restarted my PC, the X server didn’t come back to life. All I got was console. Not to useful when you need to do all the usuals.

As I wasn’t to keen on fixing it, looking in log files and reading Google results for I switched to Windows. After few minutes of working on Windows I was prompted to restart my system by Automatic Windows updates. When it came back my Wireless said NO. It was working for few minutes then stopped. I whacked in wired connection, downloaded latest drivers restarted and …. even worse.  No wireless at all. So, one laptop, two operating systems and no use at all.

I’ve done all possible stuff to bring back my Wireless on Windows. Tried new drivers, old drivers and even tried to dance at the midnight but no use. I guess that Microsoft decided that I don’t need to use a gift of wire free Internet connection and cut me off.

If there’s one thing that I can’t stand is not properly working network. Linux has never failed on that, Got back to Ubuntu. Downloaded NVidia drivers. I went through process of installation and … I’m back in business.

Now, why did I have to go through all that pain. Because I have a PC that is made up of all different parts and none of the operating system can support all of that out of the box. The only solution is to get MAC 🙂

All I need to do now is find some money as those guys are not cheap 🙂

Cheerios, Gregos