Sunday, October 30, 2011

Progress report on my new job

It is now roughly half a year since my new job was announced so I thought it might be a good idea to reflect on how my new role was working out. This blog posts summarises what I have done and perhaps equally importantly, how I felt about it.

First, what I did:
  • Before starting my new job, I had been using Sametime for many years and I had developed a number of Sametime client plugins, but I had no experience at all of installing or configuring Sametime servers. So, I needed to learn a lot about unfamiliar technologies. As well as taking formal courses, I spent a lot of time doing test deployments so that I got a good feeling for how the process works and what can go wrong.
  • I joined the Sametime install team and I fixed a number of bugs. Many developers hate bug fixing work because they consider it unglamorous. However, I though that it was an important part of my familiarisation with the code (you really only fully understand code when you are able to fix bugs). In addition I thought it was important to make it clear to my colleagues that I was not shirking the unglamorous tasks.
  • I was given special responsibility in relation to a new feature which we refer to as "Install on existing Websphere" - where the Sametime installer does not install its own copy of Websphere Applications Server, but instead uses a pre-existing instance that was installed previously. The feature had been developed before I got involved with the team, but I had to test it and do some tweaking of the user interface.
  • Around this time I was assigned as a representative of the development  team for a small number of key customer accounts.
  • One of  the most important things I did was lead a deployment task force  that looked at what are the main issues encountered by users installing and configuring Sametime family of products. This task force produced a report that summarised the main issues (in priority order) and outlined steps that we could take to tackle these issues. This report was published inside IBM and reviewed with senior executives. I am now working on transforming the report into an agreed development plan where we will address the issues identified. The roadmap for my new role is now becoming clearer.
  • The report itself is naturally IBM confidential, but it is available on the IBM intranet. Given recent trends in the industry it will surprise nobody to hear that one of the top priority recommendations is to make Sametime more friendly to cloud deployments. 
  • One of the first steps on this journey is to allow users clone an image of a running Sametime server and get it working with its new host name. My recently published article on the DeveloperWorks site describes the manual steps required to do this. I was surprised myself with how complex the process is (the article is 20 pages long) and so now I am working on automating the procedure. These are the first baby steps in making Sametime more deployable for our increasingly important cloud customers.
Next, how I felt (which followed a pretty typical cycle):
  • Initially I was in a honeymoon period where I was delighted to free from personnel management responsibilities. As people came to me to tell me about some personnel issue with the team, it was    a great relief to be able to pass them on to my replacement as manager of the team to handle it. At the same time nobody really expected me to be up to speed in my new role yet.
  • However, after about a month and a half, I began to enter what is typically called "The trough of despair". As I said earlier, I initially found my new role very challenging.  There were times when I was definitely overwhelmed by how much I had to learn and there were times when I doubted if I would ever master the technology. 
  • Fixing bugs in the installer can be very difficult - first you need to understand how the server needs to work once installed, then you need to understand how the installer needs to work in order to achieve that results and then finally you need to understand the complex Sametime build process (if customers think the deployment process is complex, it is nothing compared to the complexity of the build system). At times I spent over a week solving what seemed like relatively trivial bugs.
  • It was even more challenging to chart a long term strategy for an area where I was only really a beginner.
  • At this stage I was very determined not to admit defeat and I was careful to maintain a narrow focus and not allow myself get distracted by anything outside of the core job. Eventually this determination paid off. I learned more and began to gain some confidence. I also realised that other people also find the technology complex so I don't feel so bad.
  • I hope this does not come across the wrong way, but when I started working with customers I immediately I became relatively much more of an expert. Previously I was speaking with people who had worked on Sametime for several years so I felt like a novice, but speaking to customers who were only beginning to deploy Sametime I realised that I knew quite a bit. It also was great to learn first hand about how customers experience the Sametime deployment process.
  • At this stage I would say that I have finally got up to speed in my new role (but I still have a lot to learn) and I am more comfortable in my new role. I knew when I took on the job that this choice would be a long term one and so I am definitely going to stick with my decision.
  • I was surprised by how little time I spent actually writing code. If anything I spend much more time testing than coding. Any developer needs to also test their own code, but the length of time involved in testing an installer means that the development/test ratio is highly skewed towards testing.
  • One thing that surprised me is that I am missing the social aspects of being a manager. People often need to inform their manager about what they are doing and hence the manager is well aware of what is happening in the wider team. An individual contributor on the other hand only gets informed about things that directly affect their work.
  • My decision to consciously narrow in my focus probably made me even more isolated from the social life of the team. It was probably the right decision back when I was starting my new role, but now I think the time has come to widen my focus a little again.

No comments:

Post a Comment