Ben Coppock

Nerves Firmware Team Lead / Elixir Software Engineer

Battle Ground, Washington, United States

About

Software engineer, collaborator, and servant leader with experience across the full stack. I love to collaborate with, learn from, and mentor other developers. I make my teams better, and I seek to build up those around me. I'm happy crafting new features or iterating on existing ones, and I love to simplify complex code. I enjoy crafting great APIs, writing well-tested backend logic, designing database schemas and efficient bulk data imports, building high quality user interfaces, and integrating with 3rd party APIs.

Experience

  • GridPoint (Remote)
    • Firmware Team Lead
      Dec 2024 - Present · 1 yr 7 mos

    • Technical Team Lead
      Jan 2023 - Dec 2024 · 2 yrs

  • Staff Software Engineer at Shift5
    Jan 2022 - Nov 2022 · 11 mos

    Shift5 is a cybersecurity startup focused on defending onboard military platforms and commercial transportation systems (planes, trains, and tanks) against malicious actors and operational failures. I joined the effort working on a customer-facing web application. I led the charge of ensuring the app was Production-ready with error monitoring, feature flagging, and efficient bulk ingestion and normalization of data. I designed multiple iterations of ERDs and wrote numerous schema and data migrations along the way. I also crafted LiveView UI components and cleaned up thousands of lines in the quickly-evolving code base. I then branched out from the web app and was a key player in researching and establishing a proof-of-concept event-driven microservice architecture. For the new architecture, I defined a range of Protobuf contracts + Kafka topics, and I implemented ingestion of data from Kafka topics. I partnered in the detection of threshold-based issues and surfaced those issues to the user. Technologies and tools: Elixir, Phoenix Framework, LiveView, Tailwind CSS, Broadway, Flow, GenStage, Postgres, RedPanda.

  • Principal Software Engineer, Core Platform at RE/MAX
    Jan 2020 - Jan 2022 · 2 yrs 1 mo

    I joined RE/MAX via acquisition of First. I continued to support the First mobile app, primarily as a back-end engineer. During my second year at RE/MAX I transitioned to the Core Platform team and lead development of a foundational new service. We chose Elixir and the BEAM as the foundation for the new service due to the significant data processing requirements of the application as well as our needs around strong uptime and predictable latency. I had been a huge fan of Elixir for several years, and it was wonderful putting it to good use as we took advantage of fantastic libraries and abstractions like Absinthe, Ecto, Broadway, GenStage, Flow, GenServers, Oban, ExUnit, Telemetry, LiveDashboard, etc. Technologies and tools: Elixir, Phoenix, Ruby on Rails, RSpec, Sidekiq, GraphQL, Amazon S3, SNS, SQS, DynamoDB, CloudWatch, Datadog, Sentry.

  • Senior Software Engineer at First
    Jul 2019 - Jan 2020 · 7 mos

    I joined the small team at First.io to help build and refine their groundbreaking tool for real estate agents. Using predictive analytics, we provided coaching based on which of their friends, acquaintances, and colleagues were most likely to sell their home within the next 12 months—a novel approach that is in stark contrast to the industry norm of working cold leads generated from real estate websites. About 6 months into my time at First, we had a successful exit via acquisition by RE/MAX. Prior to and during the acquisition, I was responsible for a number of key features and improvements: I implemented custom keyset-based pagination for both performance and efficiency; I wrote the back-end logic for features that notified agents when they missed a listing in their network (i.e. when one of their friends listed with another agent—oh no!!) and allowed us to calculate an agent’s “network efficiency” (i.e. the ratio of listings they “won” vs. the total number of listings in that agent’s personal network); I oversaw the transition and migration from a prior authentication strategy to a JWT-based authentication approach; I worked with mobile app notifications sent to end users; and more… Technologies and tools: Ruby on Rails, GraphQL, ActiveAdmin, Rspec, Sidekiq, React Native, Expo, Git, CircleCI, PostgreSQL, AWS, S3, Okta, SmartyStreets.

  • Software Director at barre3
    Apr 2017 - May 2019 · 2 yrs 2 mos

    I helped ensure that the digital services evolved in a stable and maintainable fashion through technical leadership and hands-on development. This included hiring and managing the engineering team; collaborating with internal stakeholders to build the product, staffing, and technical roadmaps; establishing coding standards and best practices; evaluating programming languages and third party APIs; providing guidance as senior software engineer and architect; writing new code; refactoring existing code; and prioritizing technical debt. In one instance, I led a multi-month project to migrate the workout library to a new provider, improving the reliability of our streaming video and reducing associated costs by 85%. Technologies and tools: Ruby on Rails, React, Postgres, Javascript, ES6/ES2015, Coffeescript, HTML5, Haml, CSS3, Git, Semaphore CI, Heroku, Limelight, JW Player, AWS S3, Stripe, Shopify, Mixpanel, Mindbody, Mandrill/MailChimp.