James Lavin: My Skills

Photo by Felipe Giacometti on Unsplash

Programming Elixir, Phoenix, OTP, macros, etc.

						
						def handle_event("save", %{"book" => params}, socket) do
						  case Library.create_book(params) do
						    {:ok, book} ->
						      {:noreply,
						       socket
						       |> put_flash(:info, "created a new book")
						       |> redirect(to: ~p"/books/#{book}")}
						
						    {:error, %Ecto.Changeset{} = changeset} ->
						      {:noreply, assign(socket, form: to_form(changeset))}
						  end
						end
						
					

Teaching Elixir, OTP, metaprogramming, & concurrent programming

I enjoy spreading my love of the Elixir ecosystem

Database design, administration, & optimization (esp. PostgreSQL)

  • Wrote my first triggers & stored procedures 20 years ago
  • Built & operate a 3-server primary/standby PostgreSQL cluster using CloudNativePG & PVs

Kubernetes & Podman

  • I built & administer a bare-metal K8s cluster, which is serving you this slideshow
  • Replaced Docker with CRI-O & Podman, which don't run as root
  • Currently upgrading my cluster to be highly available, with redundant control-plane nodes and load balancers

Networking

(Computers, not People)

Since 2019, I've led a platform team with responsibility for networking across multiple environments

Linux

  • Over 20 years experience building & administering Linux servers
  • Currently manage over ten servers I built myself

Wrote two books on leadership

Fostering collaboration

Since becoming a team lead in 2019, I've focused on fostering collaboration & true teamwork

Photo by Desola Lanre-Ologun on Unsplash

Coaching & Mentoring

I've long enjoyed sharing knowledge with others and am proud of those I've mentored who have thrived

Photo by John Schnobrich on Unsplash

Microservices System Design

I believe in small, autonomous, "two-pizza" teams. Teams can operate autonomously using domain-driven design, microservices, and event-driven architecture, coordinating via thoughtfully designed APIs

Photo by Sarang Pande on Unsplash

Avid Nonfiction Reader

Education

  • Ph.D., Economics, Stanford University
  • M.A., East Asian Studies, Stanford University
  • M.Sc., Economics, London School of Economics
  • A.B. (magna cum laude), Government, Harvard University

Photo by Good Free Photos on Unsplash

Likes

  • Prioritization & getting stuff done
  • Meetings with clear objectives
  • Collaboration & teamwork
  • Brainstorming & exploring options before plunging into projects
  • Leaders who speak last, not first
  • Diversity, which improves decision-making
  • Cross-functional, autonomous teams with responsibility for & authority over their domain
  • Modern DevOps tooling & practices

More Likes

  • Teams that care for one another & provide psychological safety
  • Modifying code in small increments, keeping it constantly releasable
  • Honesty & forthrightness
  • Thoughtful tactics guided by long-term vision & mindset
  • Humility & constant desire to learn and improve
  • Wikis & other docs that communicate business intent across time & space

Dislikes

  • Unfocused, rambling meetings
  • Heavy process (e.g., fullblown SCRUM)
  • Artificial deadlines
  • Separate departments for databases, QA, Ops, planning, coding, etc.
  • Execs micromanaging non-strategic matters
  • Metrics purporting to capture individual developer "productivity"
  • Meetings to point JIRA cards & schedule long-term work
  • Treating devs as "resources" rather than people

Work I Enjoy

  • Senior/Principal Elixir Developer
  • Elixir Team Lead/Manager
  • DevOps Team Lead/Manager

Contact Me

  • https://www.JamesLavin.com
  • james@my-domain-name-immediately-above.com
  • https://www.linkedin.com/in/jameslavin/
  • https://www.youtube.com/@elixirzone6902/videos