Senior Back-end Engineer
2021 - PRESENTAnjuna- Developed and maintained back-end services written in Go.
- Deployed Kubernetes clusters on Amazon EKS and Azure AKS using Terraform.
- Built and maintained complex CI pipelines using Jenkins and Groovy.
- Maintained low-level, customer-facing applications written in Go, Rust, and C.
- Wrote automated system tests using Python and Pytest.
Technologies: Go, Kubernetes, Amazon Web Services (AWS), Azure, Docker, Scripting, Jenkins, Test-driven Development (TDD), Rust, PythonData | Java Architect
2021 - 2021Yara- Designed a migration path for a web application from monolith to microservices. The web application has more than 100,000 users.
- Led a team of four developers to implement the designed application migration path.
- Took ownership of all PostgreSQL changes related to the migration.
- Designed the database table structure to allow Outbox pattern implementation to stream data to Apache Kafka.
Technologies: JavaScript, Java, PostgreSQL, TypeORM, GraphQL, Apollo, Microservices, Test-driven Development (TDD), Apache KafkaDatabase Architect | Java Lead | AWS Architect
2018 - 2021Open Practice Solutions- Designed a database, optimized queries, indexed, and performed administration work for MySQL.
- Designed and deployed a new MySQL database environment to an AWS-based Galera cluster with ZFS storage.
- Led the design and development of new micro-services environment using Java and Spring WebFlux, and implemented services for payments and notifications.
- Containerized all application deployments and migrated to Docker.
- Built the AWS cloud environment from scratch, including site-to-site VPN, cross-site DNS, AWS Auto Scaling, database deployment, Redis caching, and more.
- Designed and implemented a monitoring platform for all AWS and private cloud servers and applications using Graphite, ElasticSearch, logstash, Telegraf, and Grafana.
- Built an event-driven streaming data pipeline solution using Java, MySQL, Debezium, and Apache Kafka.
- Designed and implemented an OLAP data analytics platform using MonetDB columnar database and the Pentaho Mondrian OLAP server.
Technologies: Amazon Web Services (AWS), Docker, Elasticsearch, Grafana, Graphite, Galera Cluster, MariaDB, WebFlux, Spring 5, Boot, Spring, Java, MySQL, MonetDB, OLAP, Test-driven Development (TDD)Technical Writer
2017 - 2020IOD (via Toptal)- Wrote technical articles, whitepapers, and blog posts for NetApp relating to their latest cloud offerings, including ONTAP Cloud and Cloud Sync.
- Worked with stakeholders to create ideas for new articles, determine article scope, and review changes.
- Performed proof of concept and performance testing work in AWS with ONTAP Cloud in order to provide statistics and test results for various articles.
- Ensured the technical accuracy of articles produced by other writers.
Technologies: Amazon Web Services (AWS), Database Management Systems (DBMS), Azure, NetAppDatabase Architect | Node.js Developer
2018 - 2019Perdoor (via Toptal)- Designed and implemented a back-end RESTful API for mobile property app, including a database design and development using MySQL.
- Developed Node.js and JavaScript API using Express.js and Swagger.
- Worked with project owner to aid in product development and design of the iOS mobile app UI.
- Deployed all back-end services to AWS and the setup of cloud-based dev/test environments.
Technologies: Amazon Web Services (AWS), JavaScript, Node.js, MySQLAWS RDS | Database Developer
2018 - 2018Quick, Inc. (via Toptal)- Designed new, relational database schema in PostgreSQL for migration to AWS RDS from existing Firebase system.
- Created the full documentation, including database diagrams, design overview, additional functionality, such as for encryption-at-rest & field-level encryption, etc.
- Built models in JavaScript using the Objection.js ORM for access to the database with tests created for basic CRUD operations.
- Constructed a mechanism for automatic PostgreSQL types to JSON handling in JavaScript which allows for easy data manipulation in the client and structured storage in the database server.
- Created other JavaScript database maintenance functions such as for adding values to PostgreSQL enums, generating unique user-friendly ID values with efficient duplicate handling, etc.
Technologies: Amazon Web Services (AWS), Objection.js, JavaScript, Node.js, Firebase, PostgreSQLDatabase Designer | Node.js Developer
2017 - 2018Humanlytics (via Toptal)- Completely redesigned an MS SQL database system created by Chinese developers which required working with the team in China through translated Skype sessions to understand the requirements.
- Wrote migration scripts to populate the new database schema from the existing data as well as performing a reconciliation to ensure migrated data was accurate.
- Developed a RESTful API from scratch using Node.js (ESLint, Flow, Jest, Sequelize) and based on the newly developed database system.
- Created API endpoints for reporting that enabled users to specify custom data warehousing style aggregate queries to return data for the dashboards and reports.
- Implemented Apache Solr to provide search capability for customers, personnel, departments, and more. Developed independent business logic modules for salary calculation with full unit test coverage.
- Managed the set up and deployment of the API and front-end UI in AWS and Ali Cloud using Docker. Created a daily database refresh mechanism for the new database system hosted in Ali Cloud RDS.
Technologies: Reporting, Business, JavaScript, Node.js, Microsoft SQL ServerData Engineer | BI Developer
2017 - 2017Cartful Solutions, Inc. (via Toptal)- Developed complex reporting functions in SQL for event data stored in Amazon RDS for PostgreSQL.
- Made significant use of PostgreSQL JSON support to query event payloads.
- Designed a reporting schema for the data to be hosted on Amazon RedShift.
- Developed an ETL process for the event data to be loaded into the reporting schema.
Technologies: JSON, SQL, Redshift, Relational Database Services (RDS), PostgreSQLCTO
2015 - 2016Vedel IT Sdn Bhd- Developed a back-end REST API for an in-house recruitment system using Java and PostgreSQL.
- Took ownership of the technical evaluation for new hires in various technology areas.
- Provided presales technical consultations for prospective clients.
- Performed structured evaluations of competing third-party software platforms for the company's back-office processes.
- Implemented the line management for the company's internal IT team.
Technologies: AngularJS, REST, PostgreSQL, JavaSQL Server BI Architect
2015 - 2015Cubic Transportation Systems Ltd.- Designed and implemented a project that involved an accounting and operations data warehouse using SQL Server 2014 Analysis Services.
- Developed a web application to manage invoicing information using ASP.NET MVC and AngularJS.
- Built a back-end SOAP web service in C# to support the invoicing application's front-end.
- Implemented an SSIS ETL process to pull data from multiple data sources, including Oracle.
- Performed on-call support for the TfL's (Transport for London) SQL Server infrastructure.
Technologies: Oracle, AngularJS, Model View Controller (MVC), SOAP, ASP.NET, SSRS, SSAS, SQL Server Integration Services (SSIS), Microsoft SQL ServerMySQL Database Administrator and Developer
2013 - 2015City Link, Ltd.- Migrated and upgraded MySQL servers from a physical to a virtual cloud—including a configuration review, performance testing of new servers, and setup of replication for high availability.
- Developed a message processing back-end system using Java, RabbitMQ, and Memcached for the processing of over a million real-time messages per day.
- Built a WebSockets-based web front-end dashboards for real-time reporting using D3.js.
- Assessed various NoSQL solutions, including Redis and Riak, to be used alongside MySQL.
- Designed and implemented a financial data warehouse using SQL Server Analysis Services.
Technologies: SSAS, Microsoft SQL Server, D3.js, WebSockets, Memcached, RabbitMQ, Java, MySQLDatabase Architect
2006 - 2013Aspect Capital, Ltd.- Rearchitected the legacy environment from multiple platforms, including Oracle and MySQL, to a single MS SQL environment with OLTP and reporting clear separation.
- Implemented a system on top of the NetApp SAN infrastructure to provide a snapshot-based backup/restore and the instant creation of writable clone copies for databases of any size for testing.
- Set up a database mirroring for high availability as well as implementing PowerShell scripts to perform failovers.
- Developed a transformative transactional replication system using C++, CLI, and MS SQL features, such as CDC and Service Broker, to implement a real-time reporting system.
- Performed a POC for three competing platforms to host a financial tick database holding row volumes in the billions, including Oracle Hybrid Columnar Compression (HCC) and Vertica.
- Applied a PowerShell-based SQL Server build system for performing repeatable server builds, allowing for full operating system and database server configuration.
- Implemented a Windows service using C++ and CLI to manage the MS SQL database environment, including backups, maintenance, archiving, monitoring, and documentation.
- Used XSLT to create code generators for Java, C++, CLR, and SQL.
Technologies: Windows PowerShell, Zenoss, Vertica, NetApp, C++/CLI, C, C++, Java, Oracle, Microsoft SQL Server, C#, PythonMS SQL | DBA | Developer
2003 - 2006Newchurch Ltd.- Administered an MS SQL server for a two-node failover cluster environment hosting externally-accessed reporting back-end.
- Maintained Oracle development servers as well as provided support and advice to .NET and database developers.
- Designed and implemented a large-scale Oracle batch processing system using PL/SQL and Java.
- Implemented a data transformation system for hospital episode statistics using Oracle and featuring complex multi-row calculations.
- Used XSLT to perform PL/SQL code generation for data cleaning and transformation service in Oracle and create XML data reports.
Technologies: Clustering, Linux, DTS, .NET, Java, PL/SQL, Oracle, Microsoft SQL ServerDeveloper
2000 - 2003The Retail Experience, Ltd.- Developed a handheld-based productivity system for a major footwear retailer.
- Built a PoC for using MS SQL replication for managing the distribution of data to 300 remote sites.
- Implemented a complex reporting SQL for the company's back-end MIS reporting system.
- Implemented the commission part of the system—including application development and back-end SQL reporting.
Technologies: Microsoft SQL Server, Visual Basic