Principal Software Engineer @ FactSet Research Systems
Summary
My professional passion is to improve the software engineering experience through advocacy, guidance, and the development of automation tooling. Typically this means one of three things: automating away daily toil so developers can focus on tasks that are more enjoyable and better aligned with their goals, deploying infrastructure to provide the appropriate layer of abstraction needed by development teams (IaaS/PaaS/SaaS), and offering my opinion when asked on topics such as engineering best practices, software sustainability, or what it takes to create a happy and productive environment for software development.
Skills
Go (Programming Language)
Platform Engineering
Technical Leadership
Continuous Integration
Disaster Recovery
Selected Projects
dotfiles
Personal shell scripts and development environment configuration files.
Technical lead for a team at FactSet responsible for architecting and building infrastructure that supports most engineers at FactSet in the areas of source control, artifact storage and distribution, continuous integration and delivery, code intelligence, and code quality analysis.
Recruited and trained a geographically-distributed agile engineering team to maintain the services and platforms our team provides to FactSet's engineering organization.
Lead for the platform that forms the foundation for FactSet's new internal developer platform.
Lead for FactSet's internal code quality analysis platform since 2023.
Lead for FactSet's internal code intelligence strategy and infrastructure since 2022.
Maintained compliance with FactSet's RTO/RPO requirements for our team's tier-0 platforms.
Skills:
Go (Programming Language)
Platform Engineering
Technical Leadership
Git
Continuous Integration
Generative AI
Prompt Engineering
Amazon Web Services (AWS)
Terraform
GitHub Actions
Linux
Packer
Bash
Mentoring
Observability
Disaster Recovery
Kubernetes
Argo CD
Prometheus
Open Policy Agent (OPA)
Principal Software Engineer –
Technical lead for a team at FactSet responsible for architecting and building infrastructure that supports most engineers at FactSet in the areas of source control, artifact storage and distribution, continuous integration and delivery, code intelligence, generative AI coding assistants, and code quality analysis.
Recruited and trained a geographically-distributed agile engineering team to maintain the services and platforms our team provides to FactSet's engineering organization.
Lead for FactSet's internal generative AI coding assistant strategy and deployment since 2024.
Lead for FactSet's internal code quality analysis platform since 2023.
Lead for FactSet's internal code intelligence strategy and infrastructure since 2022.
Led team through implementation of a disaster recovery (DR) strategy to meet aggressive RTO/RPO requirements for our team's tier-0 platforms.
Skills:
Generative AI
Prompt Engineering
AI Governance
Tool Governance
Git
Continuous Integration
Go (Programming Language)
Terraform
Amazon Web Services (AWS)
GitHub Actions
Technical Leadership
Linux
Packer
Bash
Mentoring
Disaster Recovery
Prometheus
Error Budget
Lead Software Engineer –
Contributed to a Platform as a Service internal product.
Developed shared library, and its release process, for sharing components across PaaS portals, ensuring consistent product behavior across portals.
Participated in the initial development of an internal feature-flag platform that grew to serve the majority of FactSet's products.
Skills:
Platform as a Service (PaaS)
JavaScript
Node.js
TypeScript
Docker
Feature Flags
Git
Terraform
Bash
Amazon Web Services (AWS)
Lead Software Engineer –
Led Open Source initiative for System Infrastructure department, doubling the number of Open Source projects.
Managed infrastructure for automated dependency management; including upgrading and deprecation of packages.
Developed release tool prototype capable of on-boarding many languages with automated package release workflows, all while minimizing operational overhead.
Skills:
Technical Leadership
Open Source Software
Continuous Integration
Node.js
Npm
Python
Git
JavaScript
Bash
Senior Software Engineer –
Delivered on our company's need for pre-configured tooling to build client facing web applications, libraries, and NodeJS services.
Leveraged best of breed tools, such as GulpJS, Babel, Mocha, Karma, Express, Webpack, Rollup, etc.
Reduced response time to changing business requirements for engineers, enabling them to go from new product, to shipped code, by offering project scaffolding tools based on the Yeoman framework.
Accelerated tool adoption through extension documentation, training, and regular community engagement.
On-boarded over 200 engineers within 2 years; a nearly 60% adoption by the web community within the company.
Saw an average of 113 engineers per week leveraging our build tools.
Lowered the barrier for cross-team collaboration through process and code standardization efforts.
Established a process for quick deployment of tool configuration for consistent use of best practices across software projects; such as TSLint, Babel, and TypeScript.
Authored our company's NodeJS usage policy for production processes, and fulfill role as point person for engaging the NodeJS community, including the Node LTS Working Group.
Organized a bi-weekly developer tool roundtable consisting of developers from across the company.
Skills:
Node.js
JavaScript
TypeScript
Webpack
Npm
Babel
Express.js
Gulp.js
Yeoman
Mocha
Rollup
TSLint
ESLint
Developer Tooling
Tool Governance
Guidance Group
Software Engineer –
Participated in on-call rotation for git-based GitLab source control instance, artifact repository, and continuous integration and delivery (CI/CD) platform; providing effective, and timely, support for outages and consumer needs.
Appointed to the Architecture Review Board; a group tasked with defining company-wide engineering best practices and approving standard technology solutions.
Skills:
Git
Continuous Integration
Linux
Bash
Software Architecture
Agile Methodologies
Jenkins
Architectural Review Board
Software Engineer –
Developed scaffolding tool, using Yeoman framework, to bootstrap new Analytics and Fixed Income NodeJS services.
Collaborated with engineers across multiple departments to maintain the build and deployment infrastructure for the company's web products; which included working with Jenkins and Perforce.
Assisted Analytics and Fixed Income software engineers troubleshoot build and deployment issues affecting their web products.
Researched emerging web technologies, such as the evolving ECMA-262 standard, and explored approaches to improve the developer experience.
Skills:
JavaScript
Node.js
Yeoman
Jenkins
Perforce
Npm
Bash
Git
HTML/CSS
Continuous Integration
Software Engineer –
Led retirement of key legacy application through community and product stakeholder engagement.
Collaborated on building, from the ground up, one of the first web-based products for the Analytics department using BackboneJS, before migrating to AngularJS in response to our changing requirements and needs.
Participated in a critical on-call rotation managing client portfolio data.
Provided infrastructure support for the Texas A&M University's Virtual Network Engineering Lab (VNEL).
Deployed 25 servers to 3 racks networked using 2 48-port CISCO 2960 switches.
Enabled VNEL's ability to rapidly scale by deploying an OpenNebula private cloud with GlusterFS as the storage backend.
Built a virtual network orchestrator with Python, exposing functionality through a REST API.
Sustained strong uptime at VNEL through network monitoring and alerting using an in-house deployment of OpenNMS.
Secured VNEL through VLAN segmentation and regular security patching, creating an isolated environment where hundreds of students from other colleges conducted security training.
Contributed to the development and maintenance of flight and ground support software for Texas A&M University's AggieSat2 satellite (Which flew on STS-127).
Streamlined multidisciplinary team collaboration by deploying collaboration tools, such as Trac and git, onto 4 Linux servers.
Gained experience in various engineering fields through cross functional collaboration, system operations, and embedded hardware and software teamwork.
Gained experience in management and organizational system processes.
Led year long development effort on mission critical ground support software project with a team of 5 undergraduate students following Agile principles facilitated through the Scrum development framework.
Supported various office functions including receptionist, intra campus mail delivery, organization of student documentation, and student documentation filing.