Chris Dosé Staff Software Engineer Software Engineer with over 17 years of experience developing web applications, back-end APIs and software systems using Elixir & Phoenix, Ruby on Rails, and Node.js. - chris.dose@pm.me - (985) 502-6163 - Seattle, WA - github.com/doughsay - linkedin.com/in/chris-dose ------------------------------------------------------------------------ Personal Open Source Projects & Talks   - Introducing Plox - ElixirConf US 2024 talk where I introduce and talk about the server-side rendered SVG graphing library I wrote, Plox. - Ambry - A self-hosted audiobook streaming server with an accompanying mobile app. The server is built using Phoenix LiveView, Tailwind CSS and PostgreSQL. The mobile app is built using React Native. - nerves-keyboard - A project created with several colleagues to build an open source / open hardware mechanical keyboard running Elixir using Nerves. - Elixir MIX Podcast featuring me as guest speaker where I discuss nerves-keyboard, my other open source projects, and my experiences using Elixir at Peek. - ElixirConf 2019 Lightning Talk in which I discuss EctoDiff and why I built it. Work Experience 2022 – Present Staff Software Engineer @ GridPoint (Remote - Seattle, WA) 1. Elixir 2. Phoenix 3. LiveView 4. PostgreSQL 5. TimescaleDB Projects & Responsibilities - Working on the core platform that ingests and processes real-time telemetry data from GridPoint’s IoT devices (powered by Elixir & Nerves). - Optimizing the platform’s PostgreSQL + TimescaleDB database for querying of large time-series datasets. - Acting as a mentor to junior engineers on the team through pair-programming and thorough code reviews. - Building real-time graphing components for the platform using SVG and LiveView. - Gave a talk on Plox, the server-side rendered SVG graphing component library at ElixirConf in August 2024. Open Source - plox - Server-side rendered SVG graphing components for Phoenix and LiveView 2022 – 2022 Staff Software Engineer @ Blitz (Remote - Seattle, WA) 1. Elixir 2. Phoenix 3. PostgreSQL Projects & Responsibilities - Worked on Blitz Pro subscriptions. - Built a new payment integration for subscriptions with PayPal. - Implemented continuous integration tests for the Stripe payments integration. 2021 – 2022 SDE III @ PagerDuty (Remote - Seattle, WA) 1. Elixir 2. Phoenix 3. Ruby on Rails 4. Kafka 5. Docker Projects & Responsibilities - Maintained and extended various Elixir services relating to incident response. - Identified, planned and executed on software upgrades needed to run Elixir services on Apple M1 hardware. - Worked with the team to fix bugs in escalation policies. - Collaborated with teammates on a new feature that allowed cancellation of responder requests on incidents. 2014 – 2021 Senior Software Engineer @ Peek (San Francisco, CA - Seattle, WA) 1. Elixir 2. Phoenix 3. Ruby on Rails 4. Node.js 5. MongoDB 6. PostgreSQL 7. RabbitMQ 8. Docker & Docker Compose Projects & Responsibilities - Explored various roles and technologies that helped to solve a diverse set of problems for the tours and activities space. - Solved real-time tour and rentals availability based on complex resource constraint configurations. - Built a robust e-commerce platform with credit card processing, split payments, and complex order management features. - Created a docker-compose based local development environment that all engineers in the company used. - Spearheaded the transition from legacy Ruby services to Elixir & Phoenix. - Initiated, maintained, and significantly contributed to Peek’s open source projects at a new GitHub organization “peek-travel”. Open Source - cocktail - Elixir date recurrence library based on iCalendar events - ecto_diff - Generates a data structure describing the difference between two ecto structs - excal - NIF bindings to libical providing iCalendar RRULE expansion - lurch - A simple Ruby JSON API client 2012 – 2014 Web Developer @ Immense Networks (Baton Rouge, LA) 1. Node.js 2. MongoDB 3. GitLab 4. Socket.io 5. CoffeeScript 6. Knockout.js 7. Ruby on Rails 8. MySQL 9. Magento 10. WordPress Projects & Responsibilities - Created eCommerce websites for clients using the Magento platform. - Developed several web applications using Ruby­ on ­Rails for clients. - Established a new workflow and platform for developing web applications using a complete Node.JS + MongoDB stack. - Used and maintained a self hosted GitLab instance to organize all code, track issues and bugs, and perform code reviews. Open Source - immybox - An autocomplete-like jQuery plugin 2011 – 2012 IT Application Programmer II @ Governor’s Office of Homeland Security and Emergency Preparedness (GOHSEP) (Baton Rouge, LA) 1. Google Earth Enterprise 2. Google Fusion Tables 3. KML 4. PHP 5. JavaScript 6. MySQL 7. PhoneGap Projects & Responsibilities - Rebuilt and maintained Virtual Louisiana, GOHSEP’s private Google Earth Enterprise globe. - Created an internal use web application for publishing new content onto Virtual Louisiana. - Replaced the GOHSEP website with updated architecture, utilizing more efficient, modern programming techniques. - Developed iPad web applications as well as other small software projects for the agency. Open Source - sungem - Fast, lightweight web application framework in PHP 2008 – 2011 Senior Web Applications Developer @ SCI Research (Baton Rouge, LA) 1. PHP 2. JavaScript 3. MySQL 4. Node.js 5. JQuery Projects & Responsibilities - Recruited and managed a small, motivated team of programmers and designers in developing a web application devoted to building and administering online studies and web surveys. (Features of the software included respondent database management, mass mailing, interactive reporting, and an engaging visual aesthetic.) - Administered the company’s many Linux, UNIX, and Windows based servers including: Apache web servers, DNS servers, MySQL database servers, and an Exchange 2007 mail server. Education 2004 – 2008 Computer Science @ Louisiana State University (Baton Rouge, LA) ------------------------------------------------------------------------ - pdf version - txt version - html version [github.com/doughsay]: https://github.com/doughsay [linkedin.com/in/chris-dose]: https://www.linkedin.com/in/chris-dose/ [Introducing Plox]: https://www.youtube.com/watch?v=C7HeKbc_-1Q [Ambry]: https://github.com/doughsay/ambry [nerves-keyboard]: https://github.com/nerves-keyboard [Elixir MIX Podcast]: https://topenddevs.com/podcasts/elixir-mix/episodes/emx-102-nerves-powered-mechanical-keyboards-with-chris-dose [ElixirConf 2019 Lightning Talk]: https://www.youtube.com/watch?v=CtfcLdlUY7A [GridPoint]: https://gridpoint.com/ [plox]: https://github.com/gridpoint-com/plox [Blitz]: https://blitz.gg/ [PagerDuty]: https://www.pagerduty.com/ [Peek]: https://www.peek.com/ [cocktail]: https://github.com/peek-travel/cocktail [ecto_diff]: https://github.com/peek-travel/ecto_diff [excal]: https://github.com/peek-travel/excal [lurch]: https://github.com/peek-travel/lurch [Immense Networks]: https://immense.net/ [immybox]: https://github.com/immense/immybox [Governor’s Office of Homeland Security and Emergency Preparedness (GOHSEP)]: https://gohsep.la.gov/ [sungem]: https://github.com/doughsay/sungem [SCI Research]: http://sciresearch.com/ [pdf version]: https://chris.xn--dos-dma.com/Chris_Dose.pdf [txt version]: https://chris.xn--dos-dma.com/Chris_Dose.txt [html version]: https://chris.xn--dos-dma.com