Principal Software Engineer, Radical Imaging
2019-02-29 - Present
[Remote] As a Principal, my mission is to spread the culture of test-driven development, metrics-driven performance, and evidence-based software engineering practices for all the teams in the products I work on.
[Remote]
2021-01 - 2022-08 Lead platform (backend) performance engineer Change healthcare
My duties include finding and investigating platform scalability bottlenecks and mentoring and pairing senior engineers from all teams in Canada, the USA, and Israel to ensure the performance of the different components.
As the performance Tech Lead engineer I delivered:
-
Built from scratch an open-source-based performance framework using Argo Workflow running on top of Kubernetes (GKE), making it scalable horizontally as needed. Moreover, running as a single test instance, I performed calling from a simple form and ran tests of several different technologies including but not limited to Jmeter, K6, Puppeteer and TestCafe.
-
Reduced the time to prepare performance tests from several hours to a few seconds with the click of a button.
-
Introduced the metrics-obsessed culture, leading front-end and backend engineers to create and watch performance metrics.
-
Built several Grafana dashboards to watch the performance on the Platform, Customer, and User levels; the same dashboards are used today from Dev to Prod to observe performance at all levels.
-
Provide glue work from Architecture, Development, and SRE teams. With expertise in all three areas, I help the information flow from all teams smoothly and help all to speak the same language.
2019-11 - 2021-01 Tech Lead DevOps engineer Nucleus - acquired by Change healthcare
As the Lead DevOps, I delivered, among other things:
-
Migrated all services from Azure to Google Cloud. After the Change Healthcare acquisition, I lead the migration of AKS to GKS(Google Kubernetes Service), Azure Blobs to Google Cloud Storage, and Azure Service Bus to Google PubSub.
-
Migrated the 4 major environments from legacy deployment using Azure VM to AKS (Azure Kubernetes Service), creating and reviewing all k8s service, deployments, and configmap definitions.
-
Built from scratch, the CD pipeline, including database migration, terraform/infra upgrade, image update, post-deployment functional tests running, and notifications in all steps.
-
Built from scratch, the Mongo database seeding infra to run natively in K8s.
-
Automated with Node.js, the Mongo reindex process reducing the time to reindex the database manually from 40 minutes to less than 10 minutes automatically. The process included two primary elections and several server connections orchestration.
-
Mentored the Development team in the migration from Mongo-based queue to Azure Service Bus and creating a service only dedicated to events processing.
-
Built a tool to generate diagrams of deployment environment in real-time for each release to avoid differences between design and reality in DevOps docs.
-
Built a monitoring infrastructure using Prometheus, Kibana, Grafana, and Linkerd (Service Mesh) to operate the AKS infrastructure in all environments.
2019-02 - 2019-11 Tech Lead Nucleus - acquired by Change healthcare
As the Tech Lead of a team of 4 engineers working in medical imaging applications development project, I delivered, among other things:
-
Developed a Medical device software distribution system from scratch in TypeScript, React, and Meteor.js.
-
Join the Nucleus app (Startup main product) team with the mission to introduce CI and tests practices. With a team of 3 SET created the API test frameworks for Nucleus openapitest, and built from 0 to +200 API test, fully covering the external API testing. Deliver +300 end-to-end tests in TestCafe integrated with CI and CD pipeline, introduced the concept of CI in Jenkins being the first team in the organization to fully use Jenkins.
Technology stack: Performance Engineering, Kubernetes, Google Cloud, Azure, NodeJs, React, Mongo, Dicom