When I am referring to the team guru. I am referring to the lead developer that is responsible for the skills, education and technical well being of his team and project. There is a skill that a team lead has to continuously work on. This skill has its roots based in knowledge and experience but this skill comes with a expiry date.
Knowledge comes with time and experience but keeping up with the latest developments and technology is an almost impossible task. Dozens of new technologies comes out on a daily basis. Some make the headlines and then disappear never to be heard of again and others become the primary building blocks. As team guru you are expected to have at least a rudimentary understanding of each, what it does, where to use it and where not to use it. But how to do that while having a balanced life?
How to keep up with the latest and greatest?
There is simply just too much to learn. How do you know what to look at? What is going to be a waste of time? What is cool but ultimately useless? Time is one of those things that we do not have a infinite amount of. As IT professional you can’t waste your time learning the wrong skills. Do you give the technology some time to mature first and risk becoming antiquated?
How do you know, what you don’t know?
Even at this point in my life I come across something new every now and again and I think to myself;
“How have I missed this technology? How did I not know that this is out there?”
The longer you have been in a specific field the more you start to specialise in a certain area. Specialization is dangerous as it can mean that you lose touch with reality. You need to specialise but also keep an eye on what the rest of the world is doing before you find that your specialization is obsolete.
How to maintain your guru skill.
From this point on it is a personal discussion of what i have tried.
- When I was a younger developer I made it a conscious decision at work to volunteer for work that seemed arcane and magical. I consumed books and spent my weekends behind the PC nurturing pet projects. I took on small after hour contract work that exposed me to different technologies while I had a sturdy normal job in the day. This worked and I quickly became very valued and skilled but this was hardly a balanced life and as time moved on I met a girl and started a family and these tricks came to an end.
- You can try and learn new technologies at work but ultimately it will not work. At work you work within a specific range of technologies while the world outside moves on and 3 years later you are still working in the same tech that your project requires and guess what – It is now outdated!
- Join a open source project in an area of interest. This is something I haven’t done yet but the idea has been in my head.
- I have tried attending public talks, presentations and workshops but in general this has turned out to be mostly people trying to sell me something.
- I have tried spending the first 15 minutes of work everyday just to scan the blogs and news article and this has proved successful to some extent.
- I took the reading idea further – to far actually. I subscribed to a few technical blogs and got the RSS feed delivered directly to my kindle. This has not worked – I never got time to read it all and fell behind. I started feeling pressured and guilty and It started feeling like another job – Something which I could not maintain. There are too many topics I wanted to follow.
- Use twitter and follow some amazing people like Anders Hejlsberg, Scott Hanselman and Rick Stahl.
- I installed a google drive on my work and home pc – this allows me store and sync little snippets or samples in my sand box for future reference or to continue with as a POC when I have time.
- I created this blog and tried to keep myself up to date by blogging about what I see out in the world and by doing small actual POC’s to see how the basic technology works but in the end I think we have to accept that you can not know it all. There is too much out there.
Something that I have found works wonderful is to employ help from others to do the research for me.
- This is something I learned from my previous company, NetReady which provided systems for the Direct Selling and Network Marketing industry. Why try it all yourself when you can action an army? I started a bi-weekly team meeting at work that is time boxed at 1 hour long, we call it “Dev Tech Friday”.
Dev Tech Fridays
How it works; The meeting consist out of all developers and testers. All team members continually submit topics that they want to know more about to me. These topics get added to a randomizor that pairs up a presenter and a topic. This does mean that a tester or junior might get an advanced topic; Now before I loose some of you cause you think the presenter will do a poor job.
The idea of the presentation is technology awareness and not to receive a presentation from an expert.
The presenter has 2 weeks to prepare for his presentation in which he has to provide either a POC or a presentation of slide shows;
During the meeting the following questions must be answered.
- What the technology is
- Where to use it? / Where it is used?
- Where not to use it?
After the meeting the material is mailed to all attendees. With this presentation everyone including myself will get an basic overview of the technology and as team we grow and become stronger.
Not all topics are always selected at random. If you have a person in the team that is a guru himself with a technology that person will present the topic.
In Conclusion
Being a team lead is hard work; You can not just sit back and let the world pass you by. You have a team to guide and educate furthermore it is your responsibility to recommend or suggest a specific technology when you recognised where it should be used. In the end it’s a battle to keep ahead and not one single solution will work and you will have to draw on multiple methods and sources to keep yourself skilled and knowledgeable.