Education
Pennsylvania State University, State College, PAAugust 2017 - August 2019
M.S. in Software Engineering
Boston University, Boston, MA
January 2016 - December 2016
Undergraduate Certificate in Computer Science
Georgia Institute of Technology, Atlanta, GA
August 2005 - May 2010
B.S. in Industrial & Systems Engineering
Skills
Languages: Ruby, Go, Java, Python, Scala, Rust, Perl, Javascript, SQL, PHPDatabases: MySQL, Postgres, SQLite
Frameworks: Rails, Sinatra, Scalatra, Angular, React
Experience
Kolide/1Password May 2024 - PresentStaff Rails Engineer
Lead Software Engineer
- Lead engineer responsible for Rails monolith, taking over from a team of 30
- Removed 23K lines of code within five months, simplifying the codebase by removing unused code
- Managed upgrade from Rails 5 to Rails 6 and from Ruby 2.7.6 to Ruby 3
- Sourced and hired two software engineers, including one junior
- Empowered junior developer to take lead on feature development while upgrade was ongoing
Senior Software Engineer II
- Added golangci-fmt linting to legacy API codebase, catching a number of old bugs along the way, and added a required check to CI, reducing the chances of future bugs
- Updated all on-call errors to have links to runbooks, reducing the amount of time taken to resolve errors
- Migrated multiple endpoints from the legacy REST API to new microservices using RPC (both written in Go)
- Mentored multiple interns, guiding them through our codebase and suggesting resources to help them learn Go
- Built Rails 7 Slack bot to increase cross-team communication and pairing (open source version)
- Increased testability and legibility of local development scripts by converting them from Bash to Python
- Investigated, diagnosed and mitigated a critical user facing bug that had plagued the payments team for over a year
- Worked on payments, internal content, and developer tooling teams
Senior Software Consultant
- Built internal Slack bot to act as a replacement for Donut to create "Rotating Brunch" groups every other week
- Expanded on an MVP for an onboarding application for GitHub, built in Rails 6, that heavily utilizes Octokit and GitHub Projects
- Built Slack bot to send notifications to users when an onboarding project has been created for them and to collect feedback
- Added ability for a default project template to utilize shared content, building out both card templates and placeholders
- Added the ability for users of GitHub to autocomplete emojis when editing markdown files within the GitHub Code Editor
- Built Zendesk application for Kajabi using React that enabled customer support to instantly access customer information to enable them to more quickly resolve tickets
- While working at LoopReturns (PHP monolith):
- Added Scripts To Rule Them All, converting project setup from 3 days to 5 minutes
- Increased test coverage from <1% coverage to 22.5% coverage over the course of 3 months, getting team buy-in
- Introduced a linter and wrote a custom rule to camelCase all variables, bringing codebase up to PSR-2 standards
- Set up version control pipelines to enforce linting and unit tests, making passing builds a requirement for merging
- Modeled good refactoring behaviors so the team could follow the pattern and move from a primarily procedural application to more object-oriented
- Set up Datadog and updated logs to use context to enable the team to more easily trace bugs and set up metrics
Software Engineer
- Built tool in React and Rails to allow marketers to create customer-facing vanity URLs without engaging engineering
- Added ability to handle disabled locations within a cycle count (monthly count of all inventory within a warehouse) and update locations if they are disabled after a cycle count has started.
- Involved sending a message that the location has been disabled from a Rails service that handles inventory locations and consuming that message and updating the locations within a Go service that manages binning and picking.
- Manage SOX (Sarbanes Oxley) audit with external team to ensure that we have the inventory that our systems say we have.
- Found and explained relevant pieces of code to non-technical auditors.
- Refactored Inventory Control tool (allows warehouse employees to place items within a bin outside of other processes) within Rails 4 application so it’s easier to maintain in the future (removed 450 lines of code)
- Created new Go service to manage inventory events, posting and consuming messages from RabbitMQ queues
Software Engineer - Data Pipeline
- Responsible for building an application using Rails 5 and PostgreSQL to allow users to upload their own configurations, eliminating the need for onsite support and enabling us to replace an existing third-party tool
- Started project using Scalatra before moving to Play! with Scala, creating company-wide templates at each stage
Senior Software Engineer
- Developed Angular/Rails application to allow customer care team to quickly view changes across multiple systems
- Built out the API for the release tracking application in Rails 4
- Performed Tier II support role, helping to find technical solutions to issues raised by internal customers
- Mentored junior developer on team
- Responsible for fixing bugs in Perl, Rails 2, PHP, and Rails 4 code across 8 applications
- Ported code for the primary application from Rails 2 to Rails 4
- Build out a verbose set of tools to help the support team with weekly reports
Lead Developer
- Rewrote and optimized large portions of the Rails application, enforcing best practices, enhancing speed and reducing deploy time by 33%
- Built Sinatra application to allow internal users to submit bug reports to Jira
- Managed team of two
- Instituted an Agile scrum process
- Created and implemented a custom coupon code implementation
- Created a staging environment
Software Engineer
- Developed parts of equipment tracking system in Rails 4, owning equipment requests and maintenance information features
- As part of a team, increased test coverage by 31% using Rspec and Capybara
Software Engineer
- Developed parts of primary ad-serving application in Rails 4, including creating a Sinatra application to query the database
- Made the reporting page for VMC’s new self-service portal for external users, Fabric
- Wrote migrations to move data from mysql to Vertica
Software Engineer
- Wrote Ruby/JavaScript scrapers to automate comparison of API data to live site data, crawling the page using PhantomJS and parsing the returned data using Nokogiri
- Developed adapters for partner APIs to connect to the TripAdvisor main site using Java and the Play framework
Deliverability Engineer
- Coordinate anti-abuse efforts with compliance team
- Develop python and bash scripts to find abusive users
- Write and maintain set of regex rules to combat spam
- Analyze user data within SQL database to get insight into customer activity
IT Developer
- Managed workflow project for transportation invoice submissions and approvals
- Worked with DBAs on the SQL database design
Activities
All The Nerdy Ladies Pittsburgh December 2017 - PresentOrganize monthly happy hours for nerdy women/non-binary people
Code & Supply July 2017 - December 2017
Event organizer, run monthly "All the Nerdy Ladies" events
PyLadies Boston May 2013 – April 2017
Founder and organizer, focused on Python and teaching beginners how to code
Boston Ruby Women November 2013 – April 2017
Founding member and co-organizer. Hosted weekly lunch study/support groups to help mentor and teach junior developers.