After the divestment of McCrae Tech (opens in a new tab) from Orion Health (opens in a new tab), I was offered the role of Lead Software Engineer at McCrae Tech based on my previous work at Orion Health. I was tasked with leading the Site Reliability Engineering (SRE) and deployment aspects of Indexity (opens in a new tab) data-planes, ensuring high availability, scalability, and reliability of the platform. Additionally, I worked on various development tasks across other areas of Indexity, contributing to the overall platform architecture and functionality.
At Orion Health (opens in a new tab), I spearheaded the deployment of Indexity (opens in a new tab) data-planes on AWS (opens in a new tab), along with other development tasks. This involved designing and implementing cloud infrastructure solutions on AWS, ensuring scalability and reliability of the data platform. I handled all the design work as well as critical security and operational aspects such as Threat Modeling and Disaster Recovery Planning.
My Threat Modeling work involved identifying potential security vulnerabilities, analyzing attack vectors, and designing mitigation strategies to protect the platform and customer data. For Disaster Recovery Planning, I designed comprehensive recovery procedures, backup strategies, and failover mechanisms to ensure business continuity and minimal data loss in case of system failures or disasters.
I led the technical aspects of the Observability area and it was considered one of the most stable areas in the Choreo (opens in a new tab) platform during that time. Moreover, I guided multiple engineers and helped them improve. I also contributed to other areas such as growth hacking, UX, SRE and other aspects of the Choreo platform.
Apart from the Observability Area, I also led the effort on the Choreo Online VS Code (opens in a new tab) Editor and implemented a significant portion of it. This feature was also finished on time while adhering to code quality, architectural and security standards. This involved implementing a secure environment for users to edit their code.
I always thought out of the box and contributed to many other technical and architectural decisions of the platform as well. Through all these, I still worked at the level of other engineers and kept up with the technical aspects of the platform.
I completely owned the Observability area of Cellery and mentored a few interns as well as other junior engineers. I have also implemented parts of the CLI, VS Code (opens in a new tab) extension and other tools of Cellery (opens in a new tab) which involved different new concepts and technologies which I learned within short periods of time. Later when project Choreo (opens in a new tab) was started, Cellery was adopted by the initial version of it as well, until later the project Choreo was rebooted and project Cellery was discontinued.
When the Choreo project initially started (rebooted from the very first implementation), I was again selected for the small team of engineers who were tasked to make it a reality. Two more engineers were also added to the Choreo Observability subteam and I was tasked with leading the implementation of Choreo Observability. I designed the core architecture of Choreo Observability and also worked on improving Ballerina (opens in a new tab) Observability to support Choreo Observability better. While generally this level of responsibility is not given to a Senior Software Engineer, I was trusted with it and I handled these responsibilities quite well, earning the top performance award for each year.
The source code of Ballerina Observability was not actively maintained when I took over as the lead of the Choreo Observability Team. Therefore, I took over the responsibility of going through the code base and revamping the Observability instrumentation as well. The Ballerina compiler level instrumentation was previously performed at the lowest level of the compiler while writing the Java bytecode into the Java class files. However, this approach had its limitations as these instructions were not aware of scheduler level operations at this level. This resulted in some of the instructions getting executed twice due to the way Ballerina scheduler handled I/O-bound operations. To solve this issue, I worked on completely rewriting the Observability instrumentation at Ballerina compiler backend level by transforming the Ballerina Intermediate Representation (BIR) during the compilation. While this task was quite challenging due to the technologies it involved, the fact that almost no one knew the source code well and the strict deadlines, I managed to complete this on time and with good quality.
After the initial PoC was completed, the Choreo product also evolved and the Observability Team also gained new members. I was entrusted with continuing to lead the Observability Team while some of the product management aspects were handed over to others. I guided the team into implementing most of the core features of Choreo Observability and I helped and encouraged the engineers in my team to grow and improve themselves as well.
At the start of my employment, I worked in multiple teams as part of the probation period. During one of these assignments, I implemented a password policy authenticator which is an authentication extension for the WSO2 Identity Server (opens in a new tab). It would validate a user login and enforce password policies.
After completing this feature, I worked on a Customer Success Enablement project by analyzing customer data to provide insights for the support teams to better work towards improving the customer experience and ensure that proper support is provided to them. While I cannot disclose a lot of information on this task, I worked on generating several reports on demand by querying data from multiple sources and analyzing them. I also revamped the portal which was built to request a report and rewrote the portal using React (opens in a new tab) which was quite new for me at that time as well.
After being instated as a permanent employee, I joined the Cloud Team at WSO2 (opens in a new tab) and worked on the WSO2Serverless Platform which was a new product being developed at that time. I worked on the Observability aspects of the platform and while this was a new area for me at that time, I managed to learn the observability space in a short time and implement a considerable amount of it along with another engineer. I also contributed ideas for the platform as a whole as well. The WSO2 Serverless Platform was based on Apache OpenWhisk (opens in a new tab) and it allowed running any Docker (opens in a new tab) image in serverless mode which was a new concept at that time. However, almost near the time when we completed a basic but complete version of the platform, Knative (opens in a new tab) which offered a similar experience was announced. As a result, the serverless platform was not offered as part of the product line of WSO2 and it was discontinued.
Afterwards, I spent a few more weeks within the Cloud team including a month of customer support rotation, which helped me gain valuable experience in handling customer requests and also gain insights into other aspects of the business apart from the technical side of it.
After Serverless Platform was discontinued, WSO2started another project named VICK (later named as Cellery (opens in a new tab)) which was aimed towards making deployments in Kubernetes (opens in a new tab) easier. I was selected to be part of the initial research team to implement the product. I worked on this project for some time and it evolved and along with the Cell-based architecture, later became project Cellery. I mainly worked on the Observability aspects of the platform, but I contributed to almost all the other areas of the product with thoughts and ideas as well. While working on project Cellery, I was able to gain in-depth knowledge on Kubernetes (opens in a new tab) as well and this helped me immensely in my role as a software engineer later in my career.
I worked as a Software Engineering intern at WSO2 (opens in a new tab) as a required part of my B.Sc. (Hons.) in Engineering (Computer Science and Engineering) degree. I started working as a member of the Data Analytics Server (DAS) product team building a prototype Notebook for analyzing data collected by the DAS. However, the project was aborted and was not added to the DAS product as the company decided to discontinue the DAS product.
Afterwards, as part of the Complex Event Processor product team, I implemented several stream processing extensions under the extrema namespace for calculating maximum and minimum values in data streams. Afterwards, I worked on a prototype for generating suggestions in the editor component of the Siddhi (opens in a new tab) IDE using data annotated into the Siddhi extensions through Java custom annotations. Moreover, I designed some of the initial wireframes of the Siddhi IDE as well before the end of my internship.