Built frontend and backend for the customer portal from scratch using Typescript, Next.js, Tailwind, and PostgreSQL. Developed internal and external APIs to support the creation and management of browser sessions. Created our payment pipeline using Stripe.
Team Lead / Senior Software Engineer
Focus on developing backend microservices to drive live interactions and presence detection in remote collaboration software. Services were developed mainly in Golang and Typescript, using a combination of MongoDB and Redis for data storage and caching, and mainly GraphQL for the query interface.
Also worked closely with designers to help define and develop the UI in React, again with Typescript.
Worked with a small, fully remote team to build Bakpax from the ground up using Kotlin, Python, Node, Typescript, and React, running within AWS (Lambda, Dynamo, S3, SNS, SQS, etc.).
Worked directly with CTO to define and implement product and technical direction.
Developing and maintaining microservices in AWS, using Java, Groovy, Dropwizard, MySQL, and Cassandra.
Acting as an Architect for a large scale, server-side application, supporting a team of 50+ engineers. Constantly working with Product and Engineering teams to define long-term technical direction for individual features, and the system as a whole, in order to address scaling concerns that arise daily when deploying to 1,500+ nodes, that supporting over 2 million users.
Also overseeing the refactor of the current monolithic application into a microservices architecture.
Every day duties include design review meetings, mentoring junior developers, reviewing code changes, and developing product features. In addition, continual work with the Product team to define upcoming feature requirements, and creation of user story maps. Development duties often involve large scale database queries, server-to-server messaging, data storage, and debugging/fixing issues in our production environment.
Lead development and design for several large sections of the product to communicate with many different types of hardware, including servers, switches, PDUs, UPSs, sensors, and other supporting devices, through various TCP/IP protocols, in order to allow customers to manage and configure their hardware in large data centers, and manage their energy usage.
Architected and developed tools to aid in development, test, and error detection that were used by hundreds of people throughout the company, including a hardware simulation suite and a series of automated tools to gather and data mine log files from thousands of systems.
Coordinated with many groups around the world, gathering customer feedback and developing business relationships in order to determine the best direction for the product, and then used that information to drive architectural changes into the products.
Designed and developed a Java and XML based install script framework to simplify the determination and installation of additional hardware and software dependencies.
Designed and developed a sample C++ MFC application showcasing a biometric SDK for distribution to customers for use as an example to be expanded based upon their individual requirements.