Principal Engineer - Mirific Systems - Austin, Texas
(2022-06)
Chief Engineer responsible for the design of Mirific Systems Collaborative Work Management Solution.
- Design, development, build of Mirific's Mobile and Web interfaces as well as customer billing portal leveraging Flutter, Dart, and GraphQL.
- Curation and submission of Mirific Systems mobile app on the Apple and Google app stores.
- Administration of Google Cloud services used to support the Mirific System front end.
- Maintaining Jenkins pipeline jobs.
- Developed Flutter package "steelseries_flutter" and published on pub.dev.
Senior Principal Software Engineer - Triva Incorporated - Austin, Texas
(2019-06 - 2022-04)
Responsible for the design and development of cloud-hosted software offering for streamlining worksite management. Leveraging technologies including nodejs, AWS Lambda, Serverless Framework, Dynamo, Step Functions, Aurora/Aurora Serverless, IoT, SNS, SQS, Kinesis, Fargate, Docker, and Bluetooth LE.
- Responsible for the design, development, and build of Triva's mobile solution leveraging Dart and Flutter.
- Responsible for Jenkins pipeline jobs.
Principal Software Engineer - Tabrasa LLC - Austin, Texas
(2018-03 - 2019-05)
Responsible for developing Nodejs based messaging system to be used across all web and mobile applications.
- Using Kafka for inter-process messaging and Mongo/Mongoose for persistence.
- Developed integration test infrastructure using Ansible, Google Cloud and Dredd to automate REST APIs expressed using Swagger/OpenAPI.
- Developed template Java/Dropwizard based microservice using iBatis, Postgres, and Swagger. This project served as the underpinning for other developers to quickly deploy new microservices.
- Responsible for the build and deploy automation for the company's SaaS applications using Google Cloud.
- This included authoring scores of Jenkins pipeline jobs and automating deployment using bash, powershell.
- Design and development of text messaging notification support across the company's SaaS applications using Twilio.
Software Engineer - Cray Incorporated - Austin, Texas
(2017-06 - 2018-03)
Responsible for the design and development of a REST based data model service to be used by Cray's network management platform using Golang.
- Lead effort to identify and implement the infrastructure for a network management stack. Created a standard template for Cray to build and deploy microservices standardizing on the use of Docker, Golang and Swagger/OpenAPI for interface specification and service documentation. Template adopted by network team for all future microservices.
- Responsible for the design and development of the top end of a network management stack which was responsible for all model CRUD operations and an asynchronous eventing support backended by Kafka.
Engineering Manager - Idera/Embarcadero Corporation - Austin, Texas
(2016-10 - 2017-03)
Engineering manager for several products including Embarcadero's RAD Studio, DB Artisan and Rapid SQL.
- Managing internal and offshore external development resources.
- Working with sales/marketing to create product plans and roadmaps.
- Reviewed contractor work of several offshore teams to ensure adherence to schedule, budget, and scope.
Principal Engineering - Cvent Corporation - Austin, Texas
(2015-11 - 2016-09)
Principal engineer responsible for the design, development and test of a new application designed to plug-in into Cvents existing SaaS application infrastructure.
- Developed Dropwizard based microservices to create a new SaaS application stack.
- Developed front-end using React framework.
- Managed team responsible for Cvent's integration API framework.
Director Software Engineering - RF Code, Incorporated - Austin, Texas
(2007-04 - 2017-11)
Oversee the design and development of numerous software products including RF Code's flagship software for asset management, Asset Manager. In charge of coordinating the software team's efforts regarding design, development and integration with the test, hardware, and support teams.
- Principal designer and developer of Asset Manager which is RF Code's flagship asset management software. Asset Manager is a Web based application with a rich single page Javascript UI, a RESTful API, and a SQL persistence backend.
- Worked with the VP of Engineering to create a detailed software roadmap.
- Delivered numerous on time releases of Asset Manager software and several software utilities for managing RF Code hardware products
- Managed developers on my team including reporting KPI's to management and mentoring junior developers.
- Sole author of several utilities for managing hardware.
- Created two Android based applications for mobile asset management and site survey tool for determining optimal configuration of hardware products.
- Received numerous contribution awards.
Engineering Manager/Team Lead - Schneider Electric/APC/NetBotz - Austin, Texas
(2003-06 - 2007-03)
Development manager and team leader for InfraStruXure Manager. InfraStruXure Manager is a world class systems management application for monitoring and systems management of the NetBotz Physical Threat monitoring device.
- Designed and developed systems management code across the NetBotz product lines including embedded C code on the appliances, Java/C/Scripting development of a LAMP based server appliance, Java/Swing code of the InfraStruXure Manager Console application.
- Coordinated numerous on time releases on InfraStruXure Manager and the Botzware software products.
- Managed the scheduling of a 10 person development team.
- Managed the Integration of NetBotz and APC monitoring applications.
- Received two US Patents for Post-Only communication mechanism allowing HTTP based appliances to perform management operations within the confines of a firewalled network connection.
Systems Engineer - WinCom Systems, Inc - Research Triangle Park, NC
(2000-10 - 2003-05)
Lead Software Designer/Developer for next generation layer 7 content switch.
- Design/Development of a Java/XML/HTML based management application used to configure and monitor the embedded system. Designed multiple reusable Java based components for both user interface and communication to embedded system.
- Development of Java and C based graphical monitoring and eventing system used for real-time monitoring of performance and error conditions.
- Development of secure interface using SSH and SFTP on VxWorks.