Product-focused software engineer who has worked in different 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
|
Golang
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
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
|
We did not have anyone on the engineering team to ensure we could sell New Relic (or the need of an obseravablity tool).
I stepped up and helped setup monitoring on one of our product stacks outside of my work committments.
With my endeavours 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 obseravablity 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.