Early 2023 Elixir Consulting Availability
Looking ahead into the new year, I wanted to share my Elixir consulting availability.
I want to contribute to an Elixir, Phoenix, or LiveView project. An ideal engagement is around 10-25 hours per week; leaving time to maintain other active projects. Larger commitments will be considered for the right project fit.
My rate is $160-200/hour, with discounts available for perks or prepayment.
I am a senior developer and can help augment your team with skills, including:
- Mentoring junior developers (or those new to Elixir).
- Helping the product team define features, identify edge cases, and break down work.
- Support the development team with project documentation improvement goals.
- Integrate with the design team as their developer advocate, helping transform idealized mockups into a component-based design system crafted for LiveView specifics.
- Assist the QA team in identifying and resolving bugs. I am particularly good at breaking software.
Working on open-source projects and tools is a notable plus.
When evaluating a potential gig, I’ll do my best during the introduction interviews to ask questions to determine if the project values align with my personal values. Any examples you can provide to help with that determination are particularly welcome.
Elixir Demo Reel
Anyone considering hiring me will ask about my past Elixir projects. These span a mix of private contracts, personal projects, and non-personal branded blog posts. The following is an attempt to document and showcase some of my recent projects to spark consulting-related conversations. I’ve redacted some company names to keep the lawyers happy.
In recent years I’ve contributed to many Elixir-based consulting projects, including:
(Active) NAME REDACTED: Healthcare-related Platform
For this project, I am the single tech lead managing a single individual contributor. In a part-time capacity, I am actively helping this project update some historic Elixir packages into their modern versions (eg: Oban, Phoenix, LiveView) while also addressing bug fixes and minor feature additions. A significant update is on the horizon, and I’m helping the company owners break down technical risks and document estimates.
NAME REDACTED: Consumer Car Matchmaker
Part of a large team migrating a large Java codebase. As a member of the leads team, I helped build systems that would capture leads (on LiveView-based forms, as well as Facebook marketing integrations). Created workflows to process the leads through an internal delivery network that required integrations across a dozen external vendors with a wide breadth of interfaces. SOAP in 2021—-who knew? A significant priority of my time here was to help mentor other full-time developers new to Elixir.
NAME REDACTED: Text and Voice Communications Product
Roar For Good: Hotel Security
Helped build internal Phoenix web applications to track equipment (Bluetooth waypoints, routers, etc.) across hotel installation sites. Participated in code design discussions within a team where we were all pretty new to Elixir.
Client code is not open source and is hard to showcase. I have done some public/open-source things I’ll share below.
Blog Post: Webhook Signature Matching
While working on one of the above projects, I did a lot of integration with the Facebook Leads system in which we’d get webhook notifications of captured leads. We would have to process the leads and bring them into our internal format while ensuring the design was fault tolerant for downtime and other expected chaos. After working on this, I was able to extract some knowledge gained around webhook signatures which I posted on my Elixir blog:
ElixirFocus (previously Phoenix by Example)
ElixirFocus was an attempt to make an Elixir-specific blog that would be separate from my personal blog. It is kind of on hiatus as I now question how I want to manage my published work, but for the sake of skill demonstration, I’ll share a few articles I think were notable and I’m proud of:
- Personal Phoenix 1.6 Upgrade Notes
- Using Schemaless Changesets to Separate Concerns Between the Web Context and the Business Context
- Improve the Clarity of Your Elixir Code Through Expressive and Consistent Language
ElixirFocus Open Source Projects
A fundamental goal of ElixirFocus was to have open source projects that backed up the code presented in each blog post. None of these projects are exceptional on their own but can (hopefully) express my ability to produce Elixir code with clarity.
- GitHub - elixirfocus/greeter Greeter is a hello world style example app to help introduce the core concepts of the Phoenix Framework written in Elixir.
- GitHub - elixirfocus/get_shorty GetShorty is a simple open-source link shortener written in Elixir and Phoenix, built to help express project norms.
- GitHub - elixirfocus/tic_tac_toe A simple take at a TicTacToe game written in Elixir. Part of a local meetup event where we were all asked to build the same game and compare our work.
- GitHub - elixirfocus/retro_taxi Built using LiveView, this (currently incomplete and on-hold) project was created to help people run team retrospective meetings. It does showcase some meaningful LiveView code to break down components and manage state for a shared-live editable web experience for multiple users on the same “board”.
For a while, I was working on a Meetup-like product called Guildflow. It was written in Elixir and Phoenix, and while it is no longer in production, it did serve as a meaningful place where I practiced and improved my Elixir skills. You can watch some historic Guildflow demos on this Vimeo channel: https://vimeo.com/channels/guildflow.