Tell me about a time you made a mistake.
- Tina Greist
Situation
Data exchange with external parties is an absolute necessity for our business. How efficiently and effectively we do this has a huge impact on our operation performance and also the reputation we have with our customers and partners. In this pursuit we were aware that our current monolith had a number of assumptions and deficiencies which made it difficult for us to scale the right way.
With the increasing number of integrations we were building, we knew this was going to become a mission critical aspect but then, considering the other priorities, it was not yet there on my roadmap. However, my engineering counterpart (who I will refer as EM) and I continued to have regular brainstorming on this subject.
As it started to impact our capabilities we decided to act on it. EM was very clear about having a microservice approach which could help us scale this arm of the product platform significantly. Having worked with him for over a year now, I had full trust in his idea and supported it fully. The question was, how will we execute on it. Who will do it?
From the look of it, it seemed like a purely technical initiative and given the number of things I was doing it at that point, I was supportive of my EM spearheading this idea. There happened to an engineer on the team who was not really a system architecture expert but someone who wanted to gain expertise in this area. EM entrusted this person to work on the initiative.
Right around this time, I was going on a 2-3 weeks vacation and I thought the timing is perfect. They could do the technical discovery and when i am back we could turn it into concrete actions. However when i got back, the work had barely started on the tech spec. With much delay the spec was ready and then we decided to build this service and set up different lambdas etc. as per the design.
Task
This is where things started getting really bad. The engineer on this initiative turned into more of an R&D with excessive delays and no real outcomes in sight. He was also not given much technical guidance and he really struggled to build something concrete. We began to be way off from the initial timelines that were proposed and I was worried it was going to impact our overall roadmap but more importantly our ability to build effective integrations for data exchange.
We had to course correct this. For a company with 50 people, an eng resource being fully invested in an R&D without concrete results was a huge expense and I had to salvage this situation.
Action
The first step I apply to any such situation is to introspect.
I somewhere down the line used my involvement in multiple initiatives as an excuse for not fully immersing myself into this initiative especially given it was a technical heavy.
One of my main responsibilities is to align the objectives between different teams especially engineering and business and I clearly did not do that by entrusting too much on my EM to drive. While assigning resource is purely his prerogative, I could have influenced it.
I strongly believe this was purely on me to shepherd it the right way. That is my job and I made it a point never to let this happen again. But coming back to this specific scenario. Here is what I did:
- Because this was still not productionized, there was no real risk in halting this initiative. I had to work with my EM and take a decision to put the initiative on pause.
- I went back to the whiteboard with my EM and tried to better understand what the solution was.
- I challenged ourselves on the approach (BLAMELESS). I was really looking for a way if we could build something bare minimum and then do a proof of concept
- Through this exercise, I also came up with a roadmap that had clear milestones embedded. This way we could prove the initiative was worth it by showing real and concrete outcomes.
In terms of resource allocation, we also happened to hire an architect level engineer who acted as the tech lead on this and help me and the engineering to design this the best possible way
Result
Though this initiative had a rocky start, I was not only able to salvage but also reap the benefits and achieve the vision we had.
As someone involved in a lot of platform related initiatives, I have immersed myself in understanding the technicalities to the required level.
With a well laid roadmap and clear success metrics, we have improved the overall efficiency of our data exchange capabilities by over 60% in that past 1 year