Product-focused software engineer who has worked in various environments and challenges from on-prem software to SaaS in a monolithic and microservice architecture. Takes a stewardship approach to see the product right through production and beyond. Subscribes to the Agile manifesto (isn't just scrum), CUPID properties, and the DevOps movement. I am passionate about mentoring my peers to become future tech leads.
|
Basics
Understand fundamentals, concepts and principles and have moved beyond 'getting
started' guides. Able to complete work with minimum assistance
|
Ruby
Nginx
Kubernetes
|
|---|---|
|
Capable
Can be relied to complete tasks, such as maintaining code, commencing new work on a
professional level,
or tackling complex challenges
|
Docker
MSQL
NodeJS
Azure
Devops
Postgres
AWS
Golang
Java
|
|
Knowledgeable
Able to participate in discussions on a seniority level and provide relevant ideas
and coach
|
CSS
SASS
Terraform
NestJS
ReactJS
|
|
Expert
Provide guidance, foster greater understanding, and be counted on as the point
person
|
C#
HTML5
Angular
TypeScript
Javascript
|
Implemented new processes and tools (e.g., mobbing session, reading parties, and execution package) to rapidly upskill the team and ensure alignment with goals and technical direction.
Redesigned team workflows to ensure consistent production output, building stakeholder confidence by providing clear visibility into progress and delivery pace.
Developed a library to handle foundational tasks such as logging and secret management, enabling the team to focus on business logic for new services rather than an unfamiliar framework.
Mentored two of the juniors in the team through a boot camp program I created.
Assigned to analyze Engineering's role across various business operations and domain.
Devised a strategy to optimize the utilization of four teams and streamline work areas, ensuring seamless collaboration and independent value delivery.
We did not have anyone on the engineering team to ensure we could sell New Relic (or the need of an observability tool).
I stepped up and helped setup monitoring on one of our product stacks outside of my work commitments.
With my endeavour, we had a working workload that we could present to show the benefits of NewRelic, which we are now currently using.
I started lunch and learns again to bring knowledge to the rest of the team.
I've given three talks so far:"writing integration test with TestContainers", "better observability with NewRelic" and "using event storming for better design"
The company lost its tech team as it went through its administration. They needed someone to help the business document the entire distributed system.
With a strategy and a plan laid out, I was able to document its key workflows and interaction between the microservices. With that report, I was able to provide the team a high confidence for future developers to maintain Ellume Cloud.
Ellume Cloud uses MartenDB as its document DB. API requests were triggering schema migrations which caused the application to hang.
I built a CLI tool (using DBUp and Oakton) that helped succeed in running the migration out of the application's runtime while assuring our blue-green deployment functions.
Revived the e2e project. Aid the team by winning sprint time to complete "happy path" tests, which has enabled the team's confidence in maintaining the front-end and back-end code.
Introduced structured logging. This improve the time to trace and troubleshoot production issues through Datadog by hours, as previously it was a manual process of sifting and stitching through multiple CloudWatch log groups.
Created a new release environment that enabled the team to deploy changes (especially the authorization service) without impacting customers while testing internally.
It was the highest learning curve for me. I mastered NestJS, AWS stack, and Terraform in two months.
By then, I was refactoring platform code, improving Terraform and serverless framework configuration for API Gateway, and understanding the nuances of AWS Lambda.
Prioritized and governed tech debt and new features; whilst guiding the web development team through best practices and the overall technical vision of the app.
Architected three major complex features: metadata-driven search filter, a finite state machine wizard-like component, and a Serilog inspired logging platform.
Improved the CI/CD speed and efficiency by 12% using package caching, parallel jobs and githooks.
Research, design, and implement an ETL-like system to present the platform's data to the client in a more meaningful way.
Help pivot to SQL views after hitting limitations.
Started a chatbot on Hipchat to deploy microservices through Octopus (CI/CD). Minimize a 3-step process to a 1-step process.
The chatbot was able to recognize flaky services and prompted the team's chatroom.
Created a CLI that helped scaffold the developer's local environment (in Kong).
Mentor and advice across teams through workshops and informal discussions.
Key contributor in educating Angular, and coaching better code structure (ie: feature module structure), advance toolings (eg: reactive forms), and architecture decisions.
New clients were calling in too many times on support issues. I identified what knowledge was lacking; and revised the training material to focus on their needs.
Improvements were noticed with less support calls and better feedback from client's technical staff.
Spearheaded the project to modernize the RPC SOAP API to a minimal REST JSON API, which allowed clients to integrate better. It was a massive undertaking with changes in implementation and documentation on a system that could not have supported it at that time.
Led and self-managed the deployment of our first mobile App from design to publishing (using Cordova and BackboneJS). First beta version was out in 2 weeks.
Instead of going to a physical digital signage situated around the city to upload news, images, and videos, I came up with a solution to automate content delivery via pull notification.
I was able to comprehend Client's requirements and made queries that allow for quick feedback and clarification.
End result was an application (using VB) that ticked the boxes and, surprisingly, went straight into production usage.