Resume
github.com/tobych linkedin.com/in/tobych
Recently: Python, Terraform, SaltStack, Linux, AWS Lambda, AWS DynamoDB, Jenkins, Consul, MQTT, Vagrant, Embedded
Well-rounded, organized software engineer with a strong computer science background and a passion for Python, continuous integration and coaching developers. Enjoys building things and helping others build things to solve difficult problems for ambitious enterprises, big-thinking start-ups, intense political scientists and exhausted research students. A clear communicator with strong writing skills, bountiful perseverance, and a gentle English manner.
2022-2023 (Aug-Jan) American Family Insurance
- Consulting contract via Motion Recruitment Partners
- I joined a team full of Ph.D.'s in AmFam's Data Science and Analytics Laboratory (DSAL)
- DSAL, part of Biz Dev, uses ML and analytics at scale to help AmFam save money and its customers reduce risk
- The lab started in 2014; the group spun out a new company in 2018; still sees itself as a start-up
- Experimental code can quickly move into production; teams have a mix of data scientists, software/data engineers
- I was hired to help refactor a legacy, fragile, undocumented codebase; improve code quality; write unit tests; add features
- Helped new hires get productive sooner by providing a trove of detailed feedback on DSAL's onboarding process
- Helped engineers be less frustrated with data scientists' code quality, and data scientists be less irritated by feedback: interviewed members of each group; wrote and presented material on these cultures and how they're different and why
- Participated in onsite meetings at DSAL's HQ in Madison, WI; built relationships across product teams, DevOps, IT
- Helped focus efforts to improve developer documentation by interviewing developers about their pain-points and presenting feedback in engineering meetings
- Improved developer productivity and job satisfaction by reducing the amount of time developers had to spend asking around
2022 (Jan-Apr) Winnebago (e-RV all-electric motorhome)
- Consulting contract via Beacon Hill Staffing
- Hired as the Python expert on the multi-agency team bringing Winnebago's e-RV motorhome to reality
- Working on the custom tablet-based embedded application used by customers to control and monitor the coach
- Led effort to break a monolithic codebase into Python packages to reduce coupling and non-coronavirus-related headaches
- Made developers' lives easier by creating and building consensus around Python coding and packaging standards
- Automated boilerplate package creation to make it easy for inexperienced developers to get that stuff right first time
- Supported the 100% remote team who are using MacOS, Windows and Linux, targeting prototypes using various ARM CPUs
- Accelerated development and QA by proposing and implemented a standardized, virtualized development environment
- Built virtualized environment using Vagrant, VirtualBox, Docker; VM provides live HTML build of Sphinx documentation
- VM connected to remote prototype vehicle and multiple, automated camera monitoring using VPN, SSH tunnels
- Documented installation and use of the VM. Team members were able to install and use it without my help.
- Initiated and implemented effort to bridge laboratory CAN bus with developer machines using MQTT via SSH tunnel
- Initiated, designed and built Python package on top of python-can and cantools to create and parse RV-C messages
- Increased team's agility by building code-generation tool to help integrate in-flux vendors' equipment with our system
- Consulted as needed with UI designers, hardware engineers, Program Manager, Project Manager, vendors
- Enjoyed learning about Azure DevOps, Scaled Agile, PI Planning; failed to learn the appropriate use of sarcasm in resumes
2020 (Jun-Nov) EveryoneSocial (employee advocacy platform)
- Contracting via Telegraph Hill, a boutique consulting firm in San Francisco
- Part of a small team hired to help stabilize the platform and support scaling out in time for closing on financing
- Performed comprehensive review of their Python code and AWS infrastructure, to figure out what to focus on
- Refactored Terraform code, to allow things to change without breaking things
- Built GraphQL client (Python) authenticating with AWS AppSync, to support automating testing of their API
- Built small server framework (Python) for their GraphQL server, so invalid data would make things fail faster
- Demystified enough AWS Lambda magic to uncouple business logic from Lambda, so we can write faster tests
- Analyzed their DynamoDB schema, to make recommendations on saving money and improving end-user experience
- Worked with CEO, customer support team, front-end team, and end customer to specify requirements for new feature
- Wrote user stories and planned implementation for new feature; helped our team do this without us breaking things
- Initiated and implemented a move from parameters in text files to using AWS SSM parameters, to let things change
- Implemented Sphinx documentation system with automated build, with extensions including PlantUML diagramming
- Initiated a move away from pip to poetry (Python packaging and virtual environment tools) to avoid obsolescence
2017-2019 Phyn, Seattle (Belkin's laboratory), and Torrance, CA (IoT domestic and industrial water leak detection)
- Brought in as the Software Engineer working with scientists on the Data Science and Machine Learning team
- Initiated and led team-wide migrations from Python 2 to Python 3, and MS Windows to Mac for developer machines
- Architected AWS clusters, automated using SaltStack, with Vagrant VMs built using the same Salt state tree
- AWS clusters include Docker containers on ECS Fargate, Ubuntu machines on EC2. Experimented with AWS Lambda.
- Refactored scientists' Python code, made it more testable, wrote unit and integration tests
- Developed, documented and evangelized coding standards, with templates for Python packages
- Built a continuous integration pipeline using Jenkins 2, with a shared library in Groovy
- Built a reliable AWS Kinesis consumer in Python with a stupendous amount of logging
- Initiated and led an effort to consolidate code from several projects into a well-documented Python library
- Documented this Python library, using Sphinx, with PlantUML diagrams and integrated Jupyter notebooks
- Wrote friendly HipChat and Slack bots for customer support to save time having to navigate several other applications
- Spiked proof-of-concept internal web applications using Flask and various Javascript libraries in the browser
- Screened and interviewed and onboarded other developers
2012-2016 RECON Dynamics, Kirkland
- Helped design and build radio-based IoT asset management SaaS solution for vehicles, equipment and materials
- Major impact on the company, team, development culture and product
- Team lead on the web app; mentored new developers; ensured they committed code on their first day
- Brought dozens of tools, techniques and processes into the mix based on my copious and continuous studying
- Wrote unit tests for Python and Javascript, using Node.js, Selenium and a headless browser for in-browser testing
- Heavily involved in hiring and on-boarding
- Brought in developers in my network who contracted with RECON under my guidance
- Wrote libraries used across the company, including a Finite State Machine (FSM) in Python (for Django)
- Had patches merged into several open-source project, including bug-fixes and new features
- Contributed answers to StackOverflow questions on topics around Python, Django and SaltStack
And another 20 years of software engineering before that, on-and-off, including participation in various industry organizations and conferences, mostly around Agile, especially Extreme Programming: I helped get the UK's first Agile advocacy organization started, and started the country's first regular Mob Programming gathering in Seattle. I love Domain Driven Design and detest Scaled Agile.
I also compose and produce music (available on Spotify, iTunes and Amazon Music), volunteer for several local community theater organizations (sound design; sound and light engineering; operating lights and sound and helping out backstage during performances); make short radio documentaries; write funny things on Facebook and coparent my teenage son.
B.Sc. Computer Science (First Class Honors), COGS, University of Sussex, Brighton, UK
Top grades across the curriculum. Students used a fake UNIX login screen to hack my account so they could steal my work.