-
Notifications
You must be signed in to change notification settings - Fork 1
/
JoshuaHesketh.tex
185 lines (162 loc) · 10.3 KB
/
JoshuaHesketh.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
185
\documentclass[a4paper,10pt]{moderncv}
% moderncv themes
% optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and
% 'roman' (for roman fonts, instead of sans serif fonts)
\moderncvtheme[purple]{classic}
% \usepackage{fontawesome}
\moderncvicons{awesome}
% for web links
\definecolor{href}{rgb}{0.2,0.4,0.65}
\newcommand\weblink[2] {{\color{href} \href{#1}{#2}}}
\newcommand\cvskill[2] {\cvline{#1}{
\begin{minipage}[t]{%
\linewidth}\small #2
\end{minipage}
}}
% character encoding
\usepackage[utf8]{inputenc}
% adjust the page margins
\usepackage[scale=0.92]{geometry}
\AtBeginDocument{\recomputelengths}
% personal data
\firstname{Joshua}
\familyname{Hesketh}
\title{Software Developer}
\iftrue
\email{[email protected]}
\homepage{https://github.com/aphexmunky/CV}
\fi
\nopagenumbers{}
\begin{document}
\maketitle
\section{Personal Statement}
Pro-active problem solver specialised in the JVM software stack that has strong beliefs in test-driven development and clean code.
I pride myself on keeping my knowledge base current and skills useful to employers that require secure, supportable software solutions that can scale with the incredible demands placed upon global products.\\
I'm responsible, reliable and hold a good work ethic.
%I have strong knowledge in enterprise, mobile and web technologies and associated DSLs. The majority of which comes from personal interest solidified by practical commercial experience.
\section{Experience}
\cventry{Present\\Nov 2014}{Team Leader - Scala and Java Developer - Security Champion}
{\weblink{http://www.thehutgroup.com}{The Hut}}{Warrington}{Cheshire}{
\begin{itemize}
\item Design, prototype and developed highly-available, fault-tolerant and reactive green-field project with £100M investment - taken from initial commit, development, through go-live and now into regular maintainence and development cycle.
\item Project is combination of functional Scala, Akka, CQRS/ES domain driven design with Cassandra Database, Java 8 Spring Boot with Hazelcast and AWS Dynamo as second level persistence. Predominately Message driven architecture. Two frontend components - An Angular SPA driven by progression through Spring State Machine and a thymeleaf HTML5 application.
\item AWS IaaS solutions including EC2, S3, Route 53, ELB, VPC, IAM, Dynamo, Redshift, Kenesis Firehose, Lambda and CodeCommit.
\item Packet capture and analysis of TCP retransmission issues seen during wireless roaming between access points.
\item Typically a Scrum agile development process.
\item Regular CV review process and regularly conducting technical interviews of potential hires.
\item Reviewing github pull requests, building new release versions, managing regression issues with fixing forward or reverting as appropriate.
\item Build pipeline with Ansible / Terraform, SBT, Gradle, Docker + Fig/Docker Compose and Jenkins managing merge integration (CICD).
\item Deployed monitoring solution with grafana and graphite and VPC peering. Live support scripting typically in python.
\end{itemize}
}
\cventry{Nov 2014\\Aug 2012}{Java Developer}
{\weblink{http://www.thehutgroup.com}{The Hut}}{Northwich}{Cheshire}{
\begin{itemize}
\item Agile development using TDD, XP, Scrum and Kanban.
\item Heavy use of Spring, Tomcat, Camel, ActiveMQ, Mockito, Cucumber, JAXB, Groovy, Gradle, Jersey.
\item Components typically integrated with MSSQL Server. Making use of Redis, ElasticSearch, MongoDB, Couchbase et al as appropriate.
\item Providing weekly technical talks teaching GIT, Scala, Akka et al.
\item Designed architecture for key software components responsible for millions of pounds worth of business annually.
\item Designed and implemented label design and printing solution currently being phased into large scale use across 6 international warehouses with plans to expand beyond.
\item Designed and implemented customer secure file upload solution that has stood up to 4 years of scrutiny by regular professional pentest reporting and auditing.
\item Designed, developed and lead a team on a third party sales platforms web service integration that integrates Amazon, eBay and PlayTrade API's and has a consistent framework for new platforms to be added easily.
\item Greenfield development using Scala Play! framework for RESTful architecture of single-page webapps provided by Angular.js. Creating tools that manage component creation, management and build tools.
\item Enhancement, Maintenance and Documentation of Struts based web solutions.
\item Maintaining legacy Ruby components.
\item Regular live deployment, live Linux management and monitoring.
\end{itemize}
}
\cventry{Aug 2012\\Nov 2010}{Junior Application Server Developer}
{\weblink{http://www.cdl.co.uk}{CDL ltd}}{Stockport}{Manchester}{
\begin{itemize}
\item Primary focus on EJBs in the WebLogic application server backed with Oracle databases.
\item Secure code development and reviews ensuring PCI-DSS compliance and responsible architecture.
\item Regular development using frameworks and libraries such as Spring, JUnit, Mockito, OSGi, Apache Commons, Apache Velocity and JAX-WS.
\item Development typically using the ATERN agile methodology.
\item Designing solutions to client requirements while maintaining the integrity of secure reliable products.
\item Projects include the redesign of existing email solution; JMX tools integration; massive refactoring of document and printing engine; enhancements to many free-standing modular projects.
\end{itemize}
}
\cventry{Nov 2010\\Apr 2008}{Software technician}
{\weblink{http://www.cdl.co.uk}{CDL ltd}}{Stockport}{Manchester}{
\begin{itemize}
\item Development of insurer documentation using combination of XPath and XSL-FO.
\item Development of IDE for printer based DSL in the form of eclipse plug-ins.
\item Working closely with development teams to create tools that reduce work and increase efficiency of production division.
\item Designed the architecture for the 'next-gen' solution related to the teams primary responsibility.
\item Development and maintenance of products in Java, VB.net, VBA and Kyocera Prescribe.
\end{itemize}
}
\cventry{Apr 2008\\Nov 2007}{Web Developer}
{Self Employed}{Homebased}{}{
\begin{itemize}
\item Designing web solutions to customers needs.
\item Securing websites and webservers against vulnerabilities and any method of exploitation the client could potentially be exposed to.
\item Server-side development using PHP and Python.
\item Design, development and deployment of solutions inline with customer expectations.
\end{itemize}
}
\cventry{Nov 2007\\Jul 2006}{Customer Services Professional}
{\weblink{http://www.vodafone.com/}{Vodafone Group plc}}{Birchwood}{Warrington}{
\begin{itemize}
\item Providing technical support to high spend customers, adapting language to customers technical ability.
\item Solving issues based on the customers description of the effects of an issue.
\item Dealing with complaints, keeping calm when customers are emotional on an issue and limiting support to scope of role. Ensuring customers are satisfied with result of interaction.
\end{itemize}
}
\cventry{Jul 2006\\Jul 2001}{Repair Engineer}
{Abbey Road Computers UK}{Prescot}{Merseyside}{
\begin{itemize}
\item Repairing any computer issues customers were having, supporting Windows, Linux and Mac in both hardware and software issues.
\item Creating software tools to aid and speed up repair time.
\item Backup, recovery and migration of customer data.
\item Malware detection and removal.
\end{itemize}
}
\section{Education}
\cventry{2003 \\ 2001}{Rainhill Sixth Form}{Rainhill}{Merseyside}{}
{
A Level: 'Information and Communications Technology' and 'Business Studies'\\
AS Level: 'Maths' and 'Media Studies'
}
\cventry{2001 \\ 1996}{Rainhill High School}{Rainhill}{Merseyside}{}{
GCSE Grade C: 'English Language', 'Maths', 'Science (Double)', 'ICT', 'Business Studies', 'English Literature'
}
\section{Certifications}
\cventry{Oct 2014}{AppDynamics Pro In Action Java}{AppDynamics University}{Pass}{}{}
\cventry{July 2014}{Writing Secure Java EE Web Applications}{JBInternational}{PCI-DSS Training}{Pass}{}
\cventry{May 2013}{Functional Programming Principles In Scala}{Coursera}{Pass with distinction}{}{}
\cventry{Aug 2010}{Sun Certified Java Programmer}{Sun Microsystems}{Pass}{}{}
\cventry{Jul 2009}{Foundation Insurance Test}{Chartered Institute of Insurance}{Pass}{}{}
\section{Professional Expertise}
\begin{itemize}
\item Strong experience of REST principles and message-based EIP architecture.
\item Strong commercial experience of Spring, JUnit, Mockito, Camel, ActiveMQ, Apache Tomcat, PlayFramework, Docker, AWS.
\item Strong knowledge of XML and XML based technologies such as SOAP, X-Path, XSL-fo and XSLT.
\item Build tools such as Ant, Maven, Gradle, SBT and Make.
\item Strong knowledge of relational databases, specifically Oracle, MySQL and MSSQL.
\item Configuration, administration and use of Continuous Integration Solutions such as Jenkins CI.
\item Test-driven development following agile methodology using test and mocking frameworks such as JUnit and Mockito respectively.
\item Daily use of Bugzilla and JIRA to log, track and resolve issues. Experienced with Redmine and Launchpad also.
\item Reviewing and verifying commits through Gerrit. Code review and merging github pull requests.
\item Making and defending technical decisions and questioning the technical decisions of others to ensure the clarity and thoughtfulness of software development.
\item Network design focusing on designing application components and their placement within a larger topology.
\end{itemize}
\section{Personal Experience}
\begin{itemize}
\item Neo4j Graph Database and the Cypher Query Language.
\item Configuring, patching and building Linux kernel from source.
\item TCP/IP workings and capture/analysis through tcpdump / wireshark.
\item Use of tools such as John, nmap, netcat, aircrack, hydra, openssl et al.
\item Developing plug-ins for applications such as Eclipse and Chrome as needs arise.
\end{itemize}
\section{Hobbies and Interests}
\begin{itemize}
\item Learning the latest technologies and seeing how others solve problems.
\item Software security.
\item Proof-of-work hashing systems, cryptocoins, blockchain technology. Bitcoin, Ethereum and Monero particularly.
\item DHT systems such as Kademlia or Chord.
\item Rock climbing and bouldering.
\item Photography.
\end{itemize}
\end{document}