\documentclass[11pt]{article} \usepackage{enumitem} \usepackage{hyperref} \usepackage[compact]{titlesec} \renewcommand{\familydefault}{\sfdefault} \topmargin=0.0in %length of margin at the top of the page (1 inch added by default) \oddsidemargin=0.0in %length of margin on sides for odd pages \evensidemargin=0in %length of margin on sides for even pages \textwidth=6.5in %How wide you want your text to be \marginparwidth=0.5in \headheight=0pt %1in margins at top and bottom (1 inch is added to this value by default) \headsep=0pt %Increase to increase white space in between headers and the top of the page \textheight=9.0in %How tall the text body is allowed to be on each page \setcounter{secnumdepth}{0} \setlength{\parindent}{0pt} \setlength{\topmargin}{1pt} \addtolength{\textwidth}{2cm} \addtolength{\hoffset}{-1cm} \addtolength{\textheight}{2cm} \addtolength{\voffset}{-1cm} \begin{document} \centerline{\LARGE James Martin} \centerline{Renton, WA 98056 | \href{mailto:jtmar@lijero.co}{jtmar@lijero.co} | 206-660-7633} \centerline{\href{https://lijero.co/}{Website} | \href{https://github.com/lijerom/}{GitHub} | \href{https://www.linkedin.com/in/jtmarlijero/}{LinkedIn}} \section{Capabilities} \begin{itemize}[noitemsep,nolistsep] \item {\bf Model complex real-world problems} in a way conducive to long-term growth \item {\bf Simplify code} and {\bf waste less time} with powerful, reusable, understandable, DRY abstractions \item {\bf Squash bugs} with sustainable design, clean code, unit testing, and test-driven development \item {\bf Maximize productivity} by taking advantage of build tools, continuous integration, bugtrackers, development environments, and version control \item {\bf Quick understanding} and {\bf deep conceptual connections} from a thorough theoretical background \item {\bf Read and write specifications} to communicate formal details clearly and understand terse descriptions \end{itemize} \section{Programming} \subsubsection{Technical Skills} \begin{itemize}[noitemsep,nolistsep] \item {\bf Languages}: Java, C\#, C, Forth, x86 assembly, Rust, Haskell, Scheme (Lisp), Prolog, SQL, HTML, CSS \item {\bf Tools}: Git, Haskell's Stack, Java's Gradle, Visual Studio, Eclipse, Emacs \item {\bf Bug squashing}: JUnit, QuickCheck, Jenkins CI, Travis CI, GitHub issues, and more \item {\bf Documents}: Microsoft Office (incl. Word, Excel, PowerPoint), \LaTeX \end{itemize} \subsubsection{Domain-Oriented Knowledge} \begin{itemize}[noitemsep,nolistsep] \item {\bf Exploit parallel problems} with multithreaded processes and distributed networks \item {\bf Solve optimization and learning problems} through neural networks, evolutionary algorithms, and logic/constraint programming \item {\bf Improve program and data structuring} with a powerful grasp of dataflow programming and complex control flow, including FRP, continuations, and laziness \item {\bf Get the most out of your language} with metaprogramming, macros, reflection, and generics \end{itemize} \section{Systems} \subsubsection{Server Skills} \begin{itemize}[noitemsep,nolistsep] \item {\bf Daemons}: Nginx, Bind9 (authoritative), OpenSSH (SSH, SFTP), MariaDB \item {\bf HTTP}: Caching (client-side \& server-side), CDNs, semantic URLs, REST \item {\bf TLS \& Certs}: \href{https://www.ssllabs.com/ssltest/analyze.html?d=lijero.co\&latest}{A+ rating on SSLLabs}, ECDHE, RSA, Let's Encrypt, DNS CAA, OCSP, HSTS \item {\bf Administration}: VPSes, firewalls (incl. iptables), capability-based security, disk encryption \item {\bf Operating Systems}: Linux (esp. Debian, desktop \& server), Windows (XP, 7, 8) \end{itemize} \subsubsection{Protocols} \begin{itemize}[noitemsep,nolistsep] \item {\bf Can write packets by hand}: HTTP, IRC, SMTP, FTP \item {\bf Implemented}: HTTP, IRC, Minecraft Protocol, and protocols I have made myself \item {\bf Very familiar}: IP, TCP, UDP, TLS/SSL, HTTP/2 \end{itemize} \section{Major Projects} \begin{itemize}[noitemsep,nolistsep] \item {\bf Games} \begin{itemize}[noitemsep,nolistsep] \item {\bf Minecraft clone}, written in C\# using the Unity game engine \begin{itemize}[noitemsep,nolistsep] \item {\bf Procedural content generation} using Simplex noise \item {\bf Networked multiplayer} mostly implemented \item {\bf Hand-written mesh generation} and optimization \item Map editing and world save files \end{itemize} \item {\bf Minecraft server implementation} in Rust, but not enough to be usable for gameplay \item {\bf Mario-like platformer} game with a map editor and saving \item Familar with the {\bf modern OpenGL} graphics pipeline and {\bf GLSL shaders}, but not yet in practice \end{itemize} \item {\bf Low-level} \begin{itemize}[noitemsep,nolistsep] \item {\bf Operating system}: Kernel, memory manager, filesystem, BIOS terminal IO, paging \item {\bf Minecraft redstone CPU}: 16-bit stack-based von-neumann, before command blocks were added \item {\bf Instruction set and CPU design}, though it was never physically built \end{itemize} \item {\bf Language Extensions}: The {\bf reactive paradigm}, an {\bf event system}, and a {\bf component-based object system}, for Java using reflection \item {\bf Programming Language Implementations}: Dozens of {\bf Lisp}s, {\bf Forth} (x86 asm), and {\bf Prolog} \item {\bf Web}: Personal website, hierarchical discussion board, HTML/XML DSL, HTML parser in Rust \end{itemize} \section{Education} \subsection{Formal} \subsubsection{2015 - Present | Hazen High School} \begin{itemize}[noitemsep,nolistsep] \item Multiple college-level and honors courses, including AP Computer Science \item Straight-As last semester \end{itemize} \subsection{Independent} In addition to previously listed skills, I have obtained: \begin{itemize}[noitemsep,nolistsep] \item Intimate familiarity with {\bf how computers function at a low level} \begin{itemize}[noitemsep,nolistsep] \item {\bf CPU design and implementation} \item {\bf Operating systems}: Kernels, memory management, scheduling, paging, syscalls, filesystems, network stacks, BIOS/UEFI, bootloaders \end{itemize} \item {\bf Deep understanding of programming languages} \begin{itemize}[noitemsep,nolistsep] \item {\bf Programming language theory} explains the implementation of programming language \item {\bf Type theory} (polymorphic, dependent, linear, noncommutative) is the logic and structure \item {\bf Category Theory} is the theoretical background to abstractions \item {\bf Formal languages \& semantics} describe grammar, syntax, and behavior \end{itemize} \item {\bf Logic}: Classical logic, natural deduction, sequent calculus, lambek calculus, etc \item {\bf Databases}: Relational algebra, principles such as ACID, tradeoffs like CAP and PACELC \end{itemize} \section{Experience} \subsubsection{2017 - Present | Java Developer | \it{Hazen Robotics Club}} \begin{itemize}[noitemsep,nolistsep] \item Built {\bf foundational abstractions} that drive the entire codebase \item {\bf Dramatically simplified} the manual control mode by implementing a dataflow system \item {\bf Lead programmer} for the autonomous AI-driven mode \item {\bf Improved organization and productivity} by introducing and teaching Git to the team \end{itemize} \subsubsection{2012 - 2015 | Java Developer, Admin, Owner | \it{The Mining Dead}} \begin{itemize}[noitemsep,nolistsep] \item Began at {\bf eleven years old} \item Managed a {\bf community of hundreds}, 60+ concurrent connections at peak hours \item {\bf Wrote custom functionality}, the main features of the server, with many thousands of lines of code \item Ran custom {\bf Linux VPS paid for by the community} \item Used web servers and the ``Bungee'' reverse-proxy, Technic Solder content distribution \end{itemize} \end{document}