Experience
May 2023 to present
Senior Software Engineer, M-RETS, Minneapolis, MN (Remote)
General software development of new and existing features, including architecture, design, tests, code, tools, support. Extensive technical documentation writing. Crafting and improving processes for all areas of the software development lifecycle
Accomplishments and Duties
- Find, fix, and document erroneously duplicated transactions and renewable energy generation entries in first few months on the team
- Document the transaction subsystem
- Review, enact, and update the product release procedures; train next release manager in line
- Find and fix several blocking defects, documenting their effects and resolutions, extending test suites to prevent further issues in the same area.
- Opportunistic refactoring when it made sense to simplify and clarify classes, modules, and tests
- Lead (as in plan, coordinate, drive, and document, as well as providing input and feedback) various architectural teams of senior engineers and management for reducing the considerable technical debt in the application
- Contributing as a subject matter expert in some complex areas of the application I had recently learned
- Coach other members of engineering and management in working through various procedures and general aspects of working in technical teams
- Contributing daily to the health and vitality of the company, especially with other functional areas and across contracting boundaries, promoting positive and inclusive discussions and resolutions
- Lend expertise in pairing and walk-throughs on Ruby on Rails, Sidekiq, Puma, JavaScript, React, misc. web stacks, PostgreSQL, Redis, AWS, command line tools, editors (especially JetBrains IDEs), Jira, Confluence, Slack (bots), general design, coding, testing, and debugging skills and tools, documentation
July 2022 to November 2022
Senior Rails Engineer, Wherefour, Remote
One of three full-time engineers working mainly with Rails on the back end, Vue on the frontend, adding new features.
Accomplishments and Duties
- Importing orders from a 3rd party
- Automating testing of a major new feature
- Fixing some defects and small asks from customer success
July 2020 to May 2022
Staff Software Engineer, Drip, LLC, Remote
Primarily focused on providing consumer and market analytics, insights, and guidance in the Drip app that enables Drip customers to become more capable email marketers. Acted as a project manager to plan, document, and track projects for the team. Software architecture and design for major features in the insights area, and providing mentoring, direction and guidance to other engineers in Drip.
Accomplishments and Duties
- Worked in fully scripted continuous testing, integration, and deployment system, including wiring scripts for CircleCI, AWS CodeBuild, Cloudwatch logging, Docker containers, and Terraform.
- Developed an architecture for providing recommendations, insights, and proposed next actions to Drip users (i.e. email marketers)
- Developed a microservice to deliver time scale metrics in order to speed up customer analytics pages
- Designed an architecture to provide a Guidance System that would be able to take requirements and copy for guidance from any product team and others, and provide it to the front end where needed based on metrics and benchmarks
- Member of the Diversity, Equity, and Inclusion team at Drip, and led the DEI Affinity Groups project to produce a guide for forming and running affinity groups (i.e. employee resource groups) within Drip
- Led a team to produce a mentoring and learning environment at Drip, including a guide for mentors and mentees, tools to find or offer mentoring, connecting mentees with mentors, and reporting results
- In the absence of any project management or leadership in the insights area, acted to perform discovery, planning, discussion, documentation, and create the Epics and Stories for each project, and monitored seeing it through to completion
January 2019 to present
Board Member, JavaScript MN, Minneapolis, Minnesota/Remote
Board member to help produce the monthly JavaScript users group in Minnesota.
Accomplishments and Duties
- convinced JavaScript users in the community to give talks at meetups
- coached speakers
- welcomed attendees, ensure the space is welcoming and inclusive for all comers
- reached out to underserved communities to help them participate
March 2017 to April 2020
API-driven Rubyist, React/GraphQL Maven, ReachLocal (Gannett), Kickserv Product, Minneapolis, Minnesota/Remote
Software engineering across the entire application stack from the back end in Ruby on Rails with a PostgreSQL database, implementing a GraphQL server controller with various queries, types, mutations, and resolvers to implement a GraphQL API, and create a React front end that consumes that GraphQL API with ApolloClient in order to replace the legacy JavaScript code from over a decade of various implementation styles and libraries, giving a modern, cohesive approach to front end web application development.
Accomplishments and Duties
- worked in a scripted environment for continuous testing and integation, and scripts to build containers for deployment to AWS ECS, EC2, S3, RDB, as well as some other AWS services along the way.
- created AWS Lamdas with AWS API Gateway to crunch uploaded customer files, deduplicate them, and move them to CloudFront for rapid downloads.
- developed the Rails GraphQL backend for the product.
- architected and developed the JavaScript front end code in React to provide a good separation of concerns ensuring testability and writing tests where none existed prior; lowering maintenance costs, and ensuring easy replaceability to enable new features to be added with less overall effort and more predictability.
- built Rails models, controllers, views, and React components for new Kickserv features.
- rebuilt all the tooling for building, testing, and delivering front end code with the Rails application, using modern build technology such as webpack (using webpacker), jest, and the JavaScript Testing Library
September 2015 to October 2018
Volunteer, TA, Mentor, Girl Develop It, Minneapolis Chapter, Minneapolis, Minnesota
Volunteer to help women learn web skills in HTML, CSS, JavaScript, Git, and publishing.
During my time as a mentor with GDI, my local chapter in Minneapolis had some horrible incidents of overt racism and denial at the leadership level. I count myself as culpable in this problem as I had no realization it was happening. This set of incidents festered and spread through other chapters, and on to the national headquarters.
I ended my relationship with Girl Develop It after it became apparent to me the organization leadership had absolutely no intention to repair the problems with including Women of Color and hearing the problems they spoke up about.
For information on the issues with GDI, see An Open Letter to the Board of Girl Develop It
Do not support this group. It is not diverse or inclusive. Worse, it refuses to admit and confront these failings in itself.
Accomplishments and Duties
- mentoring, teaching
October 2014 to October 2017
Organizer, Rails.MN Beginners meetup, Minneapolis, Minnesota
Train people new to Ruby on Rails how to develop web applications using the Rails framework.
Accomplishments and Duties
- Taught monthly classes
- Provided resources and support for students
- Maintained web resources
September 2001 to March 2017
Independent Contractor, Pontiki Software Crafts, Mendota Heights, Minnesota/Remote
Contract software development of web applications, websites, and tools
Accomplishments and Duties
- created a Ruby on Rails template for new applications that provided Ansible instructions to create the home development and testing environments, as well as higher level environments of QA, Staging, and Production.
- developed features for several clients' web apps, complex SQL expressions and internal stored functions, and include payment processing for websites for subscriptions and drop-shipped orders.
- Clients: Ackmann and Dickenson, Software for Good, Bluewaterbrand, Novu, Shopzilla
July 1980 to August 2001
Various positions, Hewlett-Packard (San Jose, Palo Alto, CA), Control Data (Arden Hills, MN),
Internal Process and Technology Consultant, Senior Software Engineer/Scientist, Software Engineer Manager of 10 engineers, Senior Software Quality Engineer
Accomplishments and Duties
- 10 years as Internal Cunsultant helping software teams level up in productivity and quality
- 3 years Senior Software Engineer developing tools for network configuration and management
- 2 years Software Engineering Manager with 10 software engineers
- 5 years Senior Software Quality Engineer running a networking interoperability test lab and quality engineering on a technical team producing TCP/IP