Skip to content

Instantly share code, notes, and snippets.

@hailelagi
Last active May 29, 2024 03:28
Show Gist options
  • Save hailelagi/15fa1fabcc10f1dfc48fb6ebe8cb4eba to your computer and use it in GitHub Desktop.
Save hailelagi/15fa1fabcc10f1dfc48fb6ebe8cb4eba to your computer and use it in GitHub Desktop.
resume.tex
\documentclass[a4paper,20pt]{article}
\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[pdftex]{hyperref}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} % clear all header and footer fields
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
% Adjust margins
\addtolength{\oddsidemargin}{-0.530in}
\addtolength{\evensidemargin}{-0.375in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.45in}
\addtolength{\textheight}{1in}
\urlstyle{rm}
\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}
% Sections formatting
\titleformat{\section}{
\vspace{-10pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-6pt}]
%-------------------------
% Custom commands
\newcommand{\resumeItem}[2]{
\item\small{
\textbf{#1}{: #2 \vspace{-2pt}}
}
}
\newcommand{\resumeItemWithoutTitle}[1]{
\item\small{
{\vspace{-2pt}}
}
}
\newcommand{\resumeSubheading}[4]{
\vspace{-1pt}\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{#3} & \textit{#4} \\
\end{tabular*}\vspace{-5pt}
}
\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{-3pt}}
\renewcommand{\labelitemii}{$\circ$}
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
% resources:
% https://stackoverflow.blog/2020/11/25/how-to-write-an-effective-developer-resume-advice-from-a-hiring-manager/
% https://www.reddit.com/r/EngineeringResumes/wiki/index
% https://careercup.com/resume
% TODO: rephrase to focus on accomplishments and impact vs responsibilites
% TODO: quantifiy accomplishments
% TODO: do more cool stuff !!!!
%-----------------------------
%%%%%% CV STARTS HERE %%%%%%
\begin{document}
%----------HEADING-----------------
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
\textbf{{\LARGE Haile Lagi}} & Email: hailelagi@gmail.com\\
\textbf{} www.hailelagi.com & Github: github.com/hailelagi \\
\end{tabular*}
%-----------EDUCATION-----------------
\vspace{3pt}
\section{Skills}
\resumeSubHeadingListStart
\resumeSubItem{Languages}{~~~~~~Elixir, Go, Rust, SQL}
\resumeSubItem{Technologies}{~~~Linux, Kubernetes, Docker, RabbitMQ, PostgreSQL}
\resumeSubHeadingListEnd
\vspace{1pt}
\section{Experience}
\vspace{2pt}
\resumeSubHeadingListStart
\resumeSubheading{Catalyx.io (Financial Exchange)}{Calgary, Alberta, Canada (Remote)}
{Software Developer}{Nov 2022 - Dec 2023}
\resumeItemListStart
\resumeItem{Order Execution Engine}
{Owned major parts of the rewrite/re-architecture of the event-driven order execution engine service including a new order router and the development of numerous execution strategies.}
\resumeItem{Websockets api}
{Owned the design and implementation of a distributed web socket protocol enabling subscription to near real-time market trading data broadcast via PubSub messaging from several nodes, with load-balancing, request routing, rate-limits, authentication and se(de)serialisation driving api adoption and traffic.}
\resumeItem{GraphQL/REST api}{Maintenance and contribution to the development of several multi-node elixir/phoenix servers, http client integrations, SQL query optimisations over millions of rows, event logging, account statement emails, historical data exports, fulltext search, zero-downtime database migrations and a graphQL api permissions system.}
\resumeItem{Trading and Payment Systems}
{Development of a dynamic fee tier pricing structure, maintenance of deposit and withdrawal systems, development of balance tracking systems with cache eviction and invalidation on ledger entries.}
\resumeItem{Data-Ingestion Pipelines}
{Maintenance and contribution to the development of various stream and batch job processing systems with RabbitMQ, leveraging erlang/OTP patterns such as process isolation, supervision trees, error recovery and the phoenix pub/sub dispatcher over real-time data.}
\resumeItem{KYC/AML Monitoring System}
{Owned the development of kyc requirements(FINTRAC) integrated into several parts of the trading system including execution limits, associated logs, metrics collection and supporting systems to meet overall business regulatory compliance.}
\resumeItem{Code Review/Audits}
{Introduction of static security analyses tooling sobelow into the ci/cd pipeline, driving adoption of security best practices, vulnerability identification and submitting patches improving overall system integrity.}
\resumeItem{Admin/Internal tooling}
{Development and maintenance of several dashboards built with LiveView and other tools for support and operational teams enabling resolving of customer support tickets and providing basic analytics.}
\resumeItem{Technical Writing}
{Internal documentation of systems, practices and maintenance of external api documentation.}
\resumeItemListEnd
\resumeSubHeadingListEnd
\vspace{3pt}
\resumeSubHeadingListStart
\resumeSubheading{Juicyway.com (B2B Payments Provider)}{US, Texas(Remote)}{Backend Engineer}{Jan 2022 - Nov 2022}
\resumeItemListStart
\resumeItem{Payment Gateway}
{Development of features for a collection and disbursement payment gateway processing over a billion dollars in total payment volume, integration of payment methods and channels into the payment lifecycle system.}
\resumeItem{GraphQL/HTTP clients}{Development of idiomatic elixir rest and graphQL client SDKs for various financial platforms and systems integrated e.g FalconX, BinancePay, Binance Brokerage, Fireblocks, Stitch and Korapay.}
\resumeItem{KYC/AML monitoring system}
{Integration of a risk profiling api to analyse user behaviour and metrics collection.}
\resumeItem{Peer to Peer Escrow System}{Prototyping of a platform agnostic peer to peer payment system via escrow as a RESTful api in elixir/phoenix with AWS S3, postgres and LiveView and a client SDK in typescript.}
\resumeItem{Technical Writing}{Improved internal documentation of architecture and writing of engineering best practices such as collaborative feature specifications, incident postmortem of outages and public api maintenance(docs.spendjuice.org).}
\resumeItem{Technical Support}{Responding and implementing fixes to various technical support tickets}
\resumeItemListEnd
\vspace{3pt}
\resumeSubheading{Helicarrier.studio[YC '18] (Financial Exchange)}{Lagos, Nigeria(Remote)}{Backend Developer (Internship)}{Jan 2021 - May 2021}
\resumeItemListStart
\resumeItem{Financial Exchange}
{Development of ruby on rails graphQL server API features on pro.buycoins.africa}
\resumeItem{Cross-border transfers}
{Implemented server side features enabling international transfers and user SPA discount link interface using javascript(Vue.js) on sendcash.africa}
\resumeItem{Analytics}{Integration with an analytics api (getdrip.com)}
\resumeItem{Technical Writing}
{Technical writing of public apis documentation (docs.sendcash.africa \& developers.buycoins.africa)}
\resumeItemListEnd
\resumeSubHeadingListEnd
%-----------PROJECTS-----------------
\vspace{-5pt}
\section{Open source}
\resumeSubHeadingListStart
\resumeSubItem{thumbelina}{Native image processing of images using a C binary ABI for the BEAM virtual machine, using elixir and rust. source: https://github.com/hailelagi/thumbelina, docs: https://www.hexdocs.pm/thumbelina/0.0.2/api-reference.html}
\vspace{2pt}
\resumeSubHeadingListEnd
\vspace{-5pt}
\section{Writing}
\resumeSubHeadingListStart
\resumeSubItem{A Peek Into the Beam}{An introduction to erlang's virtual machine the BEAM (https://www.hailelagi.com/writing/a-peek-into-the-beam/)}
\vspace{2pt}
\resumeSubItem{It's legos all the way down}{A walkthrough of meta-programming and compilers by creating new syntax for a constructor to a dynamic array, extending elixir a functional language.). (https://www.hailelagi.com/writing/legos/)}
\vspace{2pt}
\resumeSubHeadingListEnd
\vspace{-5pt}
\section{Education}
\resumeSubHeadingListStart
\resumeSubheading
{Federal University of Technology}{Minna, Nigeria}
{Bachelor of Engineering - Chemical Engineering}{2015 - 2021}
{\scriptsize \textit{ \footnotesize{\newline{}\textbf{Courses:} Introduction to C, Differential Equations, Transport phenomena, Process Simulation and Optimisation }}}
\resumeSubHeadingListEnd
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment