-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathresume.tex
184 lines (144 loc) · 8.42 KB
/
resume.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
%-------------------------
% Resume in Latex
% Author : Sourabh Bajaj
% License : MIT
%------------------------
% Resume template found here: https://github.com/sb2nov/resume
% Only minor alterations apart from contents
\documentclass[letterpaper,11pt]{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.375in}
\addtolength{\evensidemargin}{-0.375in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}
\urlstyle{same}
\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}
% Sections formatting
\titleformat{\section}{
\vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]
%-------------------------
% Custom commands
\newcommand{\resumeItem}[2]{
\item{
\textbf{#1}{: #2}
}
}
\newcommand{\resumeItemNH}[1]{
\item\small{
{#1 \vspace{-2pt}}
}
}
\newcommand{\resumeSubheading}[4]{
\vspace{-1pt}\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{\small#3} & \textit{\small #4} \\
\end{tabular*}\vspace{-1pt}
}
\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{-4pt}}
\renewcommand{\labelitemii}{$\circ$}
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
%-------------------------------------------
%%%%%% CV STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%----------HEADING-----------------
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
\textbf{\Large David Corcoran} & [email protected]\\
& +44-7794-740425 \\
\end{tabular*}
%-----------About-----------------
\section{About}
\resumeItemListStart
\setlength\itemsep{0em}
\item 20 years of software design, development and team leading experience.
\item Started two successful software companies.
\item Have designed large scale distributed systems.
\item 13 years working in commodities trading and risk management.
\item Over the years I have worked in most major programming languages.
\resumeItemListEnd
%-----------EDUCATION-----------------
\section{Education}
\resumeSubHeadingListStart
\resumeSubheading
{Trinity College, Dublin}{Dublin, Ireland}
{B.A. (Mod.), Computer Science. 1st Class Honours degree.}{1998-2002}
\resumeItemListStart
\resumeItemNH{Specialised in distributed systems.}
\resumeItemListEnd
\resumeSubHeadingListEnd
%-----------EXPERIENCE-----------------
\section{Experience}
\resumeSubHeadingListStart
\resumeSubheading
{Topaz Technology Ltd}{London, UK}
{Founder, Lead Developer - Scala, Akka, MonetDB, Docker, Kubernetes}{Jan 2016 - present}
{I am the technical lead on the Topaz commodity trading and risk management system. I helped design the system from scratch and have worked on every part of it. In four years we have written a system that is in use at some of the world's largest trading companies. Some of the more notable features I was responsible for include: }
\resumeItemListStart
\item Full valuation explanation, which allows any valuation by the system to show every input and how it was calculated. Any value on screen can be explained as a tree where the leaf nodes are raw inputs into the system.
\item Event sourcing using Akka persistence to provide an audit trail. The system runs in real time against snapshots of this audit trail. This makes every change from reference data, market data or any other input, explainable.
\item Pluggable valuation and Greeks code for oil, gas, coal, power, freight, metals, agricultural derivatives and oil physicals. This code is highly configurable, at runtime, to meet each individual company's and user's valuation preferences (models, day count conventions, interpolation types etc.).
\item Clustering and distributed job processing code (using Akka cluster) to allow the application to scale to millions of trades and hundreds of concurrent users.
\item Kubernetes for deploying and scaling the application on demand.
\item Extensive Excel integration which allows trade, reference data and market data uploads. Models, reports and valuation utilities are all exposed as functions in Excel.
\resumeItemListEnd
\resumeSubheading
{Trafigura Ltd}{London, UK}
{Lead developer - Scala, Akka, event sourcing, C++ Excel plugin}{Oct 2009 - Dec 2015}
\resumeItemListStart
\resumeItem{Metals derivatives VaR system}
{I was part of a team of three, hired to write an oil and metals derivatives VaR system from scratch in Scala. As well as reporting VaR the system had an intuitive UI that allowed you to very quickly investigate in detail the reason behind the VaR numbers. Reports were shown as a pivot that allowed you to drill down on any values to see their composition. You could also run scenario analysis reports to help explain unintuitive results.}
\resumeItem{Real time oil risk management}
{This system grew out of the above VaR system and allowed real time pricing of oil options and other derivatives. It both interacted with Excel and also had a pivot UI that made explaining P\&L and risk straightforward. The system was well liked and was extended to reporting EOD for books with complex derivative positions. I ended up as the lead developer, overseeing all development and reviewing all PRs.}
\resumeItemListEnd
\goodbreak
\resumeSubheading
{EDF Trading}{London, UK}
{Quantitative Developer - Java, Scala, Ruby, Octave, Swing}{March 2007 - Sep 2009}
\resumeItemListStart
\resumeItem{Power/gas/oil risk management system}
{I was part of a small team of front-office developers who wrote this system, initially in Java, but switching to Scala in 2008. The primary goal was to value the optionality inherent in physical assets, such as power plants and hydroelectric dams. The system could value over 40 trade types on underlyings which included oil, gas, coal, power, emissions and FX.}
\resumeItem{Grid for option valuation}
{The requirement to value physical assets on demand meant having to use a compute grid. We tried several commercial grid systems before writing our own as none of these met our requirements. The grid was written in Scala and had remote class loading, avoiding manual redeployment.}
\resumeItem{Implied vol visualiser/calculator}
{I worked with the head of the derivatives desk to write an app for live implied vol calculating. Broker prices for different oil option strategies were input, implied vols backed out and the resulting interpolated vol surface shown.}
\resumeItemListEnd
\resumeSubheading
{Demonware}{Dublin, Ireland}
{Founder, Lead Developer - C++, Python, Erlang}{2003 - December 2006}
\resumeItemListStart
\resumeItem{Games network middleware}
{I was one of the founders, with three friends from Trinity College Dublin. The libraries we wrote allowed games to quickly add network state management as well as services like game discovery and user statistics (leaderboards). The library code was written in C++ with the server side code in Erlang and Python. Activision started using Demonware in 2005, for Call Of Duty, and acquired the company in 2007. }
\resumeItemListEnd
\resumeSubHeadingListEnd
%-----------OTHER-----------------
\section{Other}
\resumeSubHeadingListStart
\resumeSubItem{Research Assistant at the Distributed Systems Group, Trinity College}
{I developed a network topology and routing simulator for peer-to-peer systems (similar to PeerSim).
The simulator provided information on bandwidth usage, average number of hops required for searches and the probability of a successful search for different P2P routing algorithms.}
\resumeSubItem{MIT Media Lab Europe}
{Designed and implemented a game to help children learn music.}
\resumeSubHeadingListEnd
%-------------------------------------------
\end{document}