Resumé - Topher Hunt
Summary
- Experienced full-stack developer in Ruby on Rails and Elixir / Phoenix
- Thorough, transparent planning process to ensure the product meets user needs
- Focus on client & end-user needs in addition to technical details
- Loyalty to my projects & clients, and their long-term success
- Well-organized, highly maintainable code with minimal "cleverness"
I consider myself good at
- Full-stack web development (favorite tools include: Elixir, Phoenix, Ruby, Rails, Git, Heroku, PostgreSQL, React, GraphQL, Apollo, LiveView)
- Writing expressive, well-factored, un-clever code that's easy to understand, maintain, and grow
- Building a clean, robust, low-maintenance test suite
- Designing, querying, growing, optimizing complex relational databases
- Communicating with colleagues and clients thoroughly, professionally, and proactively
- Staying centered on end-user needs throughout the process of planning, building, delivering, and maintaining the application
- Finding ways to make elegant use of existing tools, rather than rushing to integrate new ones
Things I've done
Co-founder & lead developer, Reassembling the Line
2016 - present
- Planning, blueprinting, prototyping, releasing, and maintaining an experimental research application
- Courting clients, planning & budgeting projects, money stuff, legal stuff
- It turns out the entrepreneurship world demands different skills than the freelance web development world. Go figure.
- Tackled the fascinating problem of how to both 1) represent the current structure of an organization, and 2) represent proposed structural changes to the org structure, in a way that makes it easy to a) craft in a friendly "proposal builder" UI, b) detect conflicts between proposals, c) validate and execute, and d) summarize in human-readable terms after execution, even if the referenced records no longer exist.
- Slack integrations (announcing proposals and collecting accept/reject responses; syncing an organization's roles to Slack usergroups; making and responding to requests to a role via Slack)
- ActiveCampaign contact list sync with heavy caching layer to work around ActiveCampaign's highly-throttled api
- Logic for importing organization data from other Holacracy support tools, validating, and transforming the data to fit our schema
Freelance developer and consultant
2014 - 2017
-
Broadened my experience / skill set and consolidated my programming style by working on projects in a variety of domains, including:
- Capturing user micro-interview recordings via HTML5 and processing them in a qualitative coding system
- Used custom AMIs and ephemeral EC2 instances to offload CPU-intensive tasks
- Planned & implemented the UI and data flow for a complex data processing pipeline (for ex. administering developmental assessments, scoring & analysis, generating and delivering reports), including thorough sanity checks & security constraints
- Generating PDFs with complex styling & layouts
- Scraping any website and storing newly found content in a database
- Machine learning (Prediction.io): training, querying, and evaluating accuracy
- Dynamically generated charts using D3.js
- Detecting visual changes on a page by diffing before/after snapshots using ResembleJS
- Time tracking, project & client management, and invoicing
Intern → junior analyst → senior web developer,
Lectica
2010 - 2014
- Developed Excel VB scripts to generate colorful heatmaps etc. from raw rubric data, allowing dramatically faster research & analysis cycles
- Maintained & troubleshot on-site computer issues, PHP website code, MySQL databases, and server hosting
- Planned & developed web interfaces & database structures for taking assessments, managing the coding rubrics, processing student performances into result data, displaying reports, project setup & student management, and client billing & invoice management
- Learned to value modern web development practices by working on a LAMP stack fully unsuited to the complexity of the app being built on it
- Receiving and processing requests using our horrid old ticketing system
- Computer diagnostics, cleaning, and hardware repair
- New workstation setup and deployment
- Writing and organizing documentation for use by the entire college; teaching others how to write in the wiki
English teacher, Project Chacocente, Nicaragua
2006-2007
- Lived and worked in a rural Nicaraguan community
- Taught daily English & computer classes to 40 students from preschool to 6th grade
- Designed multi-year curricula using research on ESL teaching techniques
- Hand-hacked ten donated laptops to display interface in Spanish instead of English (this was before Windows supported changing the OS language)
- Learned some hard lessons about cross-cultural communication, developmental psychology, poverty, and NGO politics