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.
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.
Technologies and tools I often work with include Git, AWS, Terraform, Packer, Bash, Golang, Lua, Linux, and a whole lot of different package managers.
–
Contributed to a Platform as a Service internal product.
Developed shared library, and its release process, for sharing components across PaaS portals.
–
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.
–
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.
–
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.
–
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.
–
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.
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.