Last active
January 26, 2025 05:22
-
-
Save hailelagi/15fa1fabcc10f1dfc48fb6ebe8cb4eba to your computer and use it in GitHub Desktop.
resume.tex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| \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}[t]{@{}l@{\extracolsep{\fill}}r} | |
| \textbf{#1} & #2 \\ | |
| \textit{\small #3} & \textit{\small #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 | |
| % https://jobs.lever.co/teller/dd21975a-901b-49ee-926c-336c92f8673d/apply | |
| % Writing Strong Bullets | |
| % For each role, try to discuss your accomplishments with the following approach: "Accomplished X by implementing Y which led to z:· Here's an example: | |
| % • "Reduced object rendering time by 76 by implementing distributed caching, leading to a 10 reduction in log-in time:· | |
| % Here's another example with an alternate wording: | |
| % • "Increased average match accuracy from 1.2 to 1.5 by implementing a new comparison algorithm based on windiff:' | |
| % - https://x.com/GergelyOrosz/status/1617154004877705220 & | |
| % - cracking the coding interview | |
| % search: | |
| % weworkremotely | |
| % https://getbackendjobs.com/ | |
| %XYZ RESUME FORMAT: moving forward this is how I want you to be able to write your resume bullet points. | |
| %Each Bullet point should have 3 different things (xyz), which will make your resume objective and direct, and allow hiring managers/ recruiters %- give you more opportunities to get new jobs/ and interviews | |
| % X= What am I doing ( as in why did the company hire me/ why are they paying me every day, what is my purpose at this company) | |
| % Y= How am i doing it ( who are my stakeholders i am working with, what are my kpis/ metrics, what’s the % of the time I am working on certain % things vs. this. You need to show how hands on you are in order to show the impact/ effort you are doing. | |
| % Z= Result ( what did you accomplish, did you save the company money, did you save the company time). Your result is only as strong as your XYZ | |
| %----------------------------- | |
| %%%%%% CV STARTS HERE %%%%%% | |
| \begin{document} | |
| %----------HEADING----------------- | |
| \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r} | |
| \textbf{{\LARGE Haile Lagi}} & Email: [email protected]\\ | |
| \textbf{} www.hailelagi.com & Github: github.com/hailelagi \\ & LinkedIn: linkedin.com/in/hailelagi/ \\ | |
| \end{tabular*} | |
| %-----------EDUCATION----------------- | |
| \section{Skills} | |
| \resumeSubHeadingListStart | |
| \resumeSubItem{Programming Languages}{Go, Rust, Elixir, SQL} | |
| \resumeSubItem{Technologies}{~Linux, Kubernetes, Docker, RabbitMQ, PostgreSQL, AWS} | |
| \resumeSubHeadingListEnd | |
| \vspace{1pt} | |
| \section{Experience} | |
| \vspace{2pt} | |
| \resumeSubHeadingListStart | |
| \resumeSubheading{Juicyway.com (B2B Payments)}{US, Texas(Remote)}{Backend Engineer(Contract)}{July 2024 - August 2024} | |
| \resumeItemListStart | |
| \resumeItem{Payment Gateway} | |
| {Accounts Team: Led efforts to develop a password-less key authorization flow across micro-services, enabling users to authenticate transactions more conveniently with biometrics.} | |
| \resumeItemListEnd | |
| \resumeSubHeadingListEnd | |
| \resumeSubHeadingListStart | |
| \resumeSubheading{Catalyx.io (Financial Exchange)}{Calgary, Alberta, Canada (Remote)} | |
| {Software Developer}{November 2022 - December 2023} | |
| \resumeItemListStart | |
| \resumeItem{KYC/AML Monitoring System} | |
| {Implemented kyc requirements(FINTRAC) integrated into several parts of the trading system: execution limits, associated logs, metrics collection to meet business regulatory compliance.} | |
| \resumeItem{Order Execution Engine} | |
| {Refactored systems to handle higher throughput transaction volume orders on the execution engine and router with an event-driven architecture driving API adoption, improving transaction processing.} | |
| \resumeItem{Trading and Payment Systems} | |
| {Developed a dynamic fee tier pricing structure, deposit and withdrawal systems, balance tracking systems with cache eviction and invalidation of ledger entries.} | |
| \resumeItem{WebSockets API} | |
| {Design and implementation of a web socket protocol enabling subscription to | |
| near real-time market trading data broadcast via PubSub/web sockets, handling 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}{Developed http client integrations, SQL query optimizations over millions of records, event logging, account statement emails, historical data exports, full-text search, zero-downtime database migrations and a graphQL API permissions system.} | |
| \resumeItem{Data-Ingestion Pipelines/Jobs} | |
| {Managed stream processing job systems with RabbitMQ ensuring service availability, reliability, uptime and asynchronous error recovery.} | |
| \resumeItem{Admin/Internal tooling} | |
| {Built internal dashboards for support and operational teams enabling resolving of customer support tickets, providing observability and analytics.} | |
| \resumeItemListEnd | |
| \resumeSubHeadingListEnd | |
| \vspace{2pt} | |
| \resumeSubHeadingListStart | |
| \resumeSubheading{Juicyway.com (B2B Payments)}{US, Texas(Remote)}{Backend Engineer}{January 2022 - November 2022} | |
| \resumeItemListStart | |
| \resumeItem{Payment Gateway} | |
| {Created integrations and developed parts of a collection and disbursement payment gateway processing over a billion dollars in total payment volume supporting seamless payment collection and disbursement.} | |
| \resumeItem{GraphQL/HTTP Clients}{Development of idiomatic elixir RESTful and graphQL client SDKs for various financial platforms and systems and integration of payment methods and channels into the payment life-cycle system. } | |
| \resumeItem{KYC/AML Monitoring System}{Integration of a risk profiling API to analyze user behavior and metrics collection improving security and compliance, reducing payment-related risks for users.} | |
| \resumeItem{Escrow System}{Creation of a payment escrow system as a RESTful api in elixir/phoenix with AWS S3, postgres and LiveView enabling peer to peer transaction processing.} | |
| \resumeItemListEnd | |
| \resumeSubHeadingListEnd | |
| \vspace{2pt} | |
| \resumeSubHeadingListStart | |
| \resumeSubheading{Helicarrier.studio[YC '18] (Financial Exchange)}{Lagos, Nigeria(Remote)}{Backend Developer (Internship)}{January 2021 - May 2021} | |
| \resumeItemListStart | |
| \resumeItem{Financial Exchange} | |
| {Development of GraphQL server API features for the pro.buycoins.africa financial exchange platform using Ruby on Rails and golang enhancing API performance.} | |
| \resumeItem{Cross-border transfers} | |
| {Implemented cross-border transfer features on sendcash.africa, including an SPA discount link feature using JavaScript (Vue.js). These enhancements increased transaction volume and expanded the platform market.} | |
| \resumeItem{Analytics}{Integration of analytics (getdrip.com) into cross-payments features surfacing insights and metrics into customer behavior for product research.} | |
| \resumeItem{Technical Writing} | |
| {Published public API documentation (docs.sendcash.africa \& developers.buycoins.africa) enhancing developer experience integrating with the platform.} | |
| \resumeItemListEnd | |
| \resumeSubHeadingListEnd | |
| %-----------Open Source----------------- | |
| \vspace{-5pt} | |
| \section{Open Source} | |
| \resumeSubHeadingListStart | |
| \resumeSubItem{projects}{ Contributions to open source database projects such as Apache DataFusion, ParadeDB and GlareDB in rust. } | |
| \resumeSubHeadingListEnd | |
| \vspace{2pt} | |
| \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 Optimization }}} | |
| \resumeSubHeadingListEnd | |
| %-----------PROJECTS----------------- | |
| \vspace{-5pt} | |
| \section{Projects} | |
| \resumeSubHeadingListStart | |
| \resumeSubItem{gossip-glomers}{wrote a series of distributed systems primitives in go such as broadcast/gossip, CRDTs and kafka's replicated log tested with jepsen/maelstrom and in-depth guide: https://www.hailelagi.com/writing/call-me-maybe-lol/} | |
| \resumeSubItem{bubblegum}{a b-tree indexed storage engine in go: https://www.hailelagi.com/writing/diy-b-tree/} | |
| \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://hex.pm/packages/thumbelina} | |
| \resumeSubHeadingListEnd | |
| \vspace{-5pt} | |
| \end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment