ABOUT

SYSTEM PROFILE // DORGAN

PROFILE

Overview

Lucas San Román

Senior Software Engineer

I'm a Senior Software Engineer currently specialized in the Elixir programming language and the BEAM runtime. I have experience building and maintaining backend systems in complex domains, and I have a strong interest in the development of tools and libraries to help other developers to build more maintainable systems.


I volunteer as a moderator for the Elixir Discord server, where we provide assistance to other members of the Elixir community ranging from beginners to experts working on large scale projects. I'm the author of the Sourceror library for AST-based Elixir source code manipulation, which helps to solve the long lasting issue of the lack of refactoring tools in the Elixir ecosystem.

EXP

Professional experience

Expert LSP
Full-time collaborator

Expert on Github

I unified the Lexical and NextLS codebases and core features into a single LSP. I implemented features like Workspace Folders, support for Windows and on-the-fly builds of Elixir projects and several new code actions. I also maintain related projects at the core of Expert like Sourceror(code manipulation) and Spitfire(error tolerant elixir parser).

Felt
Senior Software Engineer

felt.com

I developed and maintained the backend and realtime systems for the Felt mapping application. I also developed the Felt API to allow developers to programatically interact with the maps, and built the foundations for the live connections to external data sources. During this time I also developed tooling to help the team to maintain the codebase, like ChannelHandler, library to help with the maintenance of complex channel modules, and ChannelSpec, a library to specify JSON Schemas for Phoenix Channels, and test utilities to ensure the correctness of the system.

Packlane
Senior Software Engineer

packlane.com

I maintained and improved a legacy Elixir and JavaScript/React codebase for the coordination of manufacturing and logistics of custom packaging solutions. I participated in all stages of product and feature development, from idea, to design, to implementation and deployment. I also regularly engaged in several investigations about complex domain problems and urgent/critical bug fixing. My work also involved the constant evaluation of access patterns to optimize our usage of the PostgreSQL database.

OSS

Open Source work

Sourceror

github.com/doorgan/sourceror

Sourceror is a toolkit to work with the Elixir source code. It's the first library in the Elixir ecosystem that empowers Elixirists and tool authors to build refactoring tools and migration scripts, similar to what jscodeshift has to offer for the JavaScript world. It provides an annotated Abstract Syntax Tree for the Elixir language, and a fork of the Elixir parser to backport features I contributed to Elixir 1.13 to older Elixir versions.

Elixir Core

I contributed a series of pull requests to core Elixir to enable programmatic manipulation of the source code. Through PRs #10990 and #10988 I helped solve the lack of the primitives required to build refactoring tools, an issue that was affecting the whole community since the early days of the language, in an incremental an backwards compatible way.

Embers

github.com/EmbersPlatform/embers

Embers was an exploratory project to build a social network platform built from the ground up with Elixir and the Phoenix Framework, where users could share a variety of multimedia content with their followers. Some of its features included a personal feed updated in real time, a private messaging system, real-time notifications, and asymmetric tracking of online presences.