Trevor Farlow

human software craftsmanship

force dark mode

I love people and building elegant tools to delight them.
JavaScript, SQL, and Clojure, with a DevOps streak.
Interested in full-stack problem solving in distributed systems.

Values

  • human software
    Build with humility and empathy for the people whose daily lives are affected by your code. The best software is delightful, accessible, and fast. And often, the best solution isn't software at all.
  • founder mentality
    Take pride of ownership in every project. Do the right thing for the future of the application. Treat customers as people, not faceless units to be "acquired" and "retained".
  • people over process
    Team success trumps individual praise, and open communication beats knowledge hoarding. Together, devs, designers, and product experts arrive at creative ends none of them may have reached alone. Assume positive intent in others.
  • craftsmanship
    Maintainability over clever code. Confident test coverage over slinging bits at breakneck speed. Success means shipping features built out of roughly the right shapes1, not some idea of perfect code. Stay up with the fast-paced web ecosystem, but remaining grounded in unchanging fundamentals.

Skills

  • front-end
    JavaScript was my first language in 1998, and I've worked in its modern incarnations the last 8 years. From Babel to bundling, CSS to CORS, React to responsive design, semantic HTML to service workers—the web is my platform of choice.
  • server-side
    I'm comfortable in Node.js and SQL (Postgres/Oracle/MS SQL Server/mySQL) and aiming to be less awkward in Clojure. Having started my career in Java and PHP, I'm still conversational, but stale in both. I love a fluent REST API design, and find GraphQL powerful but a lot of work. Fascinated by scaled, distributed systems; both the capabilities and challenges that come with them.
  • devOps
    A Linux-only user for some years, I know my way around a terminal, write decent-ish shell scripts and database migrations, and consider continuous delivery essential. Eager to learn more about operational concerns like service scaling, zero-downtime deploys, Kubernetes, etc.
  • remote work
    After 4 years of remote work, I have a hard-won knowledge of the unique ingredients necessary for communication and collaboration in a distributed team. I have a reputation for transparent status updates, productive asynchronous work, and for fostering community within the team even from a distance.

Work

Software Engineer
Instinct Science2020 - Date.now()

Front-end React w/GraphQL development for veterinary electronic medical records in an early-stage startup. Assisting the maturation of the codebase and dev process while we continue to rapidly build features.

Team Contributions
  • Collaborated with backend engineers to improve the Front-End team's build and deploy process
  • Led a book group on the impact of electronic medical records in human health. Directly applicable to our work in animal EMR.
  • Offered insights from experience on efficient team workflow practices
Technical Contributions
  • Implemented a pattern for number and currency localization to support our international customer base
  • Improved app telemetry with Sentry tagging for discoverability
  • Overhauled our app's direct-to-label printer capabilities, adding support for multiple devices and user-friendly error reporting
  • Optimized image content on the app's most-used page, allowing our many low-end devices to download significantly less data
Software Engineer -> Senior -> Staff Engineer
Rally Software / CA Technologies / Broadcom2014 - 2020

Feature development in Rally, the $100M+ agile application lifecycle management product, working in cutting edge technologies continuously delivered against a backdrop of more legacy frameworks than you can shake a stick at. We pride ourselves on extensive test coverage and robust production observability.

Currently focused on an overhaul of our front-end (React and Redux) and helping support legacy Clojure microservices.

Team Contributions
  • Mentor teammates in JavaScript, React, and Redux best practices through code reviews, pair programming, training
  • Advise teammates in best practices for using our internal UI design system
  • Organizer of an internal Front-end Developers Guild where best practices are discussed and org-wide working agreements decided
  • Volunteer “steward” for our front-end repository, tasked with fostering developer productivity and a healthy codebase
Technical Contributions
  • Converted our overhauled app's unit testing suite to Jest with react-testing-library (from Jasmine/enzyme), pruning 800 test suites containing 9000 tests down to 130 suites containing the 1500 still-relevant tests
  • Primary author/maintainer of an internal Node-based error reporting tool for tracking client-side errors. Using this tool, engineering collectively reduced the 5-day JS error count from over 250 to about 15.
  • Implemented Bugsnag JavaScript error tracking after 3 years using the above tool
  • Revamped our front-end documentation content and build process to catch up to the current state of our app
  • Provide detailed bug reports and minimal bug reproductions to the team building our internal design system
Volunteer Frontend Developer
Colorado Citizen Software EngineersSpring 2020

Developed a COVID-19 triage hotline for uninsured Coloradans on a small team using TypeScript and Postgres, Twilio, AWS, and an electronic medical records system.

Data Analyst -> Agile Product Owner -> Software DeveloperClearwater Analytics2007 - 2014
  • Built RESTful webservices in Java using JAX-RS 2.0, including the underlying DAO and SQL stored procedures.
  • Designed and implemented a set of AJAX backoffice tools using Twitter Bootstrap in support of legacy database update operations previously performed by analysts via direct SQL manipulation
  • Personally upgraded a backoffice system from Spring 2.0 to Spring 3.0 in order to provide AJAX support in the above tools and enhance future maintainability. Migrated from the Acegi security framework to its successor, Spring Security.
  • Helped build a proof-of-concept transaction processing service with HTTP long-polling
  • As a Data Analyst, designed SQL queries to help the sales and executive teams answer questions about our customers and their usage patterns
  • Enormously grateful for the chance to pursue new roles when I wanted greater technical challenges

Education

BS Molecular Biology, Computer Science minorBoise State University2003-2007
  • Designed and developed a PHP/MySQL-powered webapp for presentation and analysis of genome data, including database design and webserver and version control (SVN) setup.
  • Performed undergraduate research in organic chemistry.
Computer Science Coursework
  • Database Theory (400)
  • Cryptology I (300)
  • Data Structures and Algorithms
  • Discrete Math
  • Calculus II
  • Intro to Computer Science I && II