Development has been my forte. I have worked hard and smart to deliver solutions.I have worked at startup, middle tier organisation and so called an enterprise (where I started my career). I have served positions like consultant, senior consultant, software engineer, principal consultant, senior software engineer, SDE-2, PSD etc. In all these positions the teams have varied over sizes from 2 ppl to 10 people at maximum. I had done project processes like waterfall, agile, kanban etc. I have been an open source contributor, occasionally working with a few communities. So that should be enough to set my background.
After doing all of this I thought of making a leap into Management. I had a brush with management before which fizzled out at the start. I aim elaborate the issues I faced, the feelings within the boiling soup and how I see them after picking the ruins. I will try to build this as a log of events, because these happen on a daily basis. I often practice hard to apply some of my learnings. But these leanings need to be re-enforced until they become natural to your behaviour.
First Encounter
Couple of months back I have left my middle tier senior software position. I was in discussions with one other so called startups. They were building a collaboration platform for a particular set of users. The organisation was having some trainees recruited right colleges(I wasn’t aware of this until I joined them). They were promoted as SE and were struggling to get to solution in place with AWS, Solr and other cloud technologies. Well, the initial discussions were good, they wanted someone senior to get the solutions in place. The offer was fine, so I joined the company.
In such companies the staff is really thin, the development was of 20 people(1 guy for operations, 1 manager, 2 business analysis, 2 testers and the some 12+ developers(including the senior-most ME)). The remaining functions were outsourced to one of the investors. The application had parts in Java and Drupal. So, I started the journey with them. My first set of tasks to get Solr in place. I tried to work with the juniors, but soon found hard-time in explaining them. So I took the complete ownership to get the solution and deployed it to production.
Now, in such places you realise that we are missing rules to follow. In the absence of rules people will perform at their will. They will copy past code from ebooks or from stack-overflow. If tit works then it is fine else people come back saying that “it doesn’t work”.
I had the horror to find out that many of them are even unaware of the J2EE technologies like servlet, jdbc etc. So rather spending time with every problem, I thought it may be better that I explain them the involved technologies.Thus besides working on the solutions, I was taking J2EE sessions daily.
The first impediments were addressed and the CEO was enthusiastic. Now, the next task was to do some image processing, so I picked openCV and started working with one of the better guys. There were times of anguish, when you feel like why the simple things are not finished. I practiced pairing trying to explain the other guy. The CEO often came over asking me the progress and shared his new plans. Eventually we finished it, but there were scars of the in-experienced team.
Shake-Up
In next couple of days I learnt that the PM is leaving and the CEO is supposed to ask me to takeover some of his duties. The guy had been handling people issues as well the PHP side of the application. There were still a few weeks left, so he delegated a few things to me. This was a scarecrow for me. Every-time a task was shifted, my anxiety raised the bar. At one point, I was training the team, pairing with a few members, discussing the next steps, supporting the older version, doing people issues etc. All of this ate my whole day, sparing no me-time. I was starting my day at 8 and closing at 7, Saturday inclusive.
The CEO delegated more duties to me, and I did not had a clue whom should I delegate. To me the team was not up to the mark. The sheer amount of workload shook me. Eventually, after grinding like this for 1 month I took the call to move. Thankfully the HR was an outsourced function so I was not confirmed of my position till then. Now the CEO was shaken, the PM was gone and the senior engineer was also leaving (immediately).
I was jobless, but that was good for me as I slept quite soundly.
Learnings
When I was in the middle of the things, I had the feelings of Fight OR Flight. I was questioning every task at hand. When there are so many things, you can’t devote time to all of them and you must take support from the staff. So this bring me to the leanings around
Team Composition
Over the period of time many structure have been developed :
It is essential to pick a team structure which best suits the needs. There is no perfect way of doing things. Some structures are best suited to work for Offshoring partners while some are more aligned to product companies. But no one size fits all. Thus as a manager we must pick the kind of organisation which works for our case
Experience
Next, it is important to have experienced people around. The required experience will vary based on the technologies and the risk involved. While working with Python, a 5 years experienced can deliver most of what is expected. But if we are working with Java , very few 5 year experienced people while be able to deliver the required. Thus the complexity-at-hand determines the team average experience.
Similarly, if we aim to deliver a collaboration platform it may be developed with a lower experienced team as we can afford a few mistakes. But if we are building an investment-engine we can’t afford major bumps.
Self-Confidence Damage Control
Often when I fail I try to introspect. But when faced with such a pile of tasks, which are bound to fail, the introspection leads to self doubt. It is okay to have self-doubt at one or two items, but if there is failure at most of the fronts then this raises the anxiety levels. Anxiety leads to loss of sleep and other health issues. The mind despair’s to see ease of workload.
The above triggers fight-or-flee response. As stated above I chose to flee after a while.
Of late, I have been part of other high pressure projects. I have seen people leave it at different levels. It is fine to leave such a ship, I have done so. People should not be self-doubt after leaving the ship. Seek some help if the feeling persists. I find socialising as a major way to boost the self-confidence. It feels good to take breaks with family and friends.