Updated resume for 2021 (leaving Accenture).
This commit is contained in:
parent
551f45d739
commit
b6ef976b51
@ -10,7 +10,7 @@
|
||||
|
||||
<header>
|
||||
<h1>Jonathan Bernard</h1>
|
||||
<h2><a href=mailto:jdbernard@gmail.com>jdbernard@gmail.com</a></h2>
|
||||
<h2><a href=mailto:jonathan@jdbernard.com>jonathan@jdbernard.com</a></h2>
|
||||
<h2><a href=tel:(512)777-1602>(512)777-1602</a></h2>
|
||||
</header>
|
||||
|
||||
@ -26,6 +26,13 @@
|
||||
|
||||
<input type=text name=filter style="display: none;">
|
||||
|
||||
<section id=personal-brief-section>
|
||||
<a class=anchor id=personal-brief></a>
|
||||
<h2>Personal Brief</h2>
|
||||
<p>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id=skills-section>
|
||||
<a class=anchor id=skills></a>
|
||||
<h2>Things I Know</h2>
|
||||
|
@ -1,7 +1,5 @@
|
||||
@import url("//fonts.googleapis.com/css?family=Monda|Cantarell|Exo 2");
|
||||
|
||||
$white: #EEE;
|
||||
$black: #222;
|
||||
@import url("//fonts.googleapis.com/css?family=Monda,wght@400,700|Cantarell|Exo 2");
|
||||
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;1,300;1,400&family=Karma:wght@300;400&family=Newsreader:ital,wght@0,300;0,400;1,300;1,400&family=Noto+Serif:ital@0;1&family=Rokkitt:wght@300;400&family=Sorts+Mill+Goudy:ital@0;1&display=swap');
|
||||
|
||||
// Simple HTML5 reset. Not comprehensive but sufficient.
|
||||
* {
|
||||
@ -9,26 +7,108 @@ $black: #222;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
article,aside,details,figcaption,figure,
|
||||
footer,header,hgroup,menu,nav,section {
|
||||
display:block; }
|
||||
display:block;
|
||||
}
|
||||
|
||||
html { background-color: $white; }
|
||||
html {
|
||||
--color-accent: #EEE;
|
||||
--color-primary: #222;
|
||||
--font-heading: 'Monda';
|
||||
--font-weight-heading: bold;
|
||||
--font-body: 'Cantarell';
|
||||
--font-size-body: 12px;
|
||||
--font-weight-body: normal;
|
||||
background-color: var(--color-accent);
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Cantarell;
|
||||
font-family: var(--font-body);
|
||||
font-size: var(--font-size-body);
|
||||
font-weight: var(--font-weight-body);
|
||||
}
|
||||
|
||||
#ruler {
|
||||
background: red;
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
h1 { font-variant: small-caps; }
|
||||
|
||||
p { margin: 0.5em 0; }
|
||||
|
||||
section {
|
||||
h2 {
|
||||
font-variant: small-caps;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
h4 {
|
||||
display: inline-block;
|
||||
font-style: italic;
|
||||
font-weight: var(--font-weight-body);
|
||||
}
|
||||
|
||||
&#technologies-section h4{
|
||||
margin-top: 0.25em;
|
||||
&:after { content: ":"; }
|
||||
}
|
||||
|
||||
&#projects-section,
|
||||
&#projects-section-2,
|
||||
&#technologies-section,
|
||||
&#jobs-section,
|
||||
&#jobs-section-2 {
|
||||
a.nojs {
|
||||
color: var(--color-primary);
|
||||
text-decoration: none;
|
||||
|
||||
&:after { content: ","; }
|
||||
&:last-of-type:after { content: ""; }
|
||||
}
|
||||
|
||||
ol {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
display: inline;
|
||||
&:after { content: ","; }
|
||||
&:last-of-type:after { content: ""; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&#skills-section {
|
||||
ol {
|
||||
list-style: disc;
|
||||
padding-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media screen {
|
||||
h1, h2, h3, h4, h5 { font-family: var(--font-heading); }
|
||||
|
||||
body {
|
||||
font-family: var(--font-body);
|
||||
font-size: 125%;
|
||||
margin: 12rem auto 0 auto;
|
||||
width: 50rem;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5 { font-family: Monda; }
|
||||
|
||||
header {
|
||||
background-color: $black;
|
||||
color: #EEE;
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-accent);
|
||||
|
||||
padding-left: calc(50% - 25rem);
|
||||
padding-right: calc(50% - 25rem);
|
||||
@ -43,7 +123,6 @@ header {
|
||||
|
||||
h1 {
|
||||
font-size: 5rem;
|
||||
font-variant: small-caps;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@ -88,7 +167,7 @@ nav#sectionNav {
|
||||
list-style: none;
|
||||
|
||||
li a {
|
||||
color: $black;
|
||||
color: var(--color-primary);
|
||||
font-family: Monda;
|
||||
font-variant: small-caps;
|
||||
font-size: medium;
|
||||
@ -102,66 +181,13 @@ section {
|
||||
display: block;
|
||||
position: relative;
|
||||
top: -3rem;
|
||||
visibility: hidden; }
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
h2 {
|
||||
border-bottom: solid thin $black;
|
||||
font-variant: small-caps;
|
||||
width: 100%; }
|
||||
|
||||
h4 {
|
||||
display: inline-block;
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
&:after { content: ":"; } }
|
||||
h2 { border-bottom: solid thin var(--color-primary); }
|
||||
|
||||
& > div { margin-bottom: 2rem; }
|
||||
|
||||
&#skills-section {
|
||||
a.nojs {
|
||||
color: $black;
|
||||
text-decoration: none;
|
||||
|
||||
&:after { content: ","; }
|
||||
&:last-of-type:after { content: ""; }
|
||||
}
|
||||
|
||||
div.skill {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
&:after { content: ","; }
|
||||
&:last-of-type:after { content: ""; }
|
||||
|
||||
div.links {
|
||||
background-color: $white;
|
||||
border: solid thin $black;
|
||||
border-radius: 3px;
|
||||
display: none;
|
||||
|
||||
position: absolute;
|
||||
left: calc(-0.2rem - 1px);
|
||||
top: calc(-0.2rem - 1px);
|
||||
z-index: 2;
|
||||
|
||||
div.name {
|
||||
background-color: $black;
|
||||
color: $white;
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
padding: 0.2rem;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding: 0.2rem;
|
||||
list-style: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&#jobs-section div.job {
|
||||
position: relative;
|
||||
|
||||
@ -182,4 +208,199 @@ section {
|
||||
bottom: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
html {
|
||||
--color-accent: white;
|
||||
--color-primary: black;
|
||||
--font-body: 'Newsreader';
|
||||
--font-weight-body: 300;
|
||||
}
|
||||
|
||||
body {
|
||||
align-content: start;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-rows: auto auto 1fr auto auto 1fr;
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: var(--font-heading);
|
||||
font-size: 1.75em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: var(--font-heading);
|
||||
font-size: 1.3333em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-family: var(--font-heading);
|
||||
font-size: 1em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-family: var(--font-body);
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
h5 {
|
||||
display: inline-block;
|
||||
font-family: var(--font-body);
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
nav, body > input { display: none; }
|
||||
|
||||
header {
|
||||
align-items: end;
|
||||
background-color: var(--color-accent);
|
||||
border-bottom: solid thin var(--color-primary);
|
||||
color: var(--color-primary);
|
||||
grid-column: span 2;
|
||||
grid-row: 1;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
|
||||
h1 {
|
||||
grid-column: 1;
|
||||
grid-row: 1 / span 2;
|
||||
margin-bottom: -.25rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
grid-column: 2;
|
||||
font-size: 1em;
|
||||
font-weight: var(--font-weight-body);
|
||||
text-align: end;
|
||||
|
||||
a {
|
||||
color: var(--color-primary);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
aside {
|
||||
font-size: 0.85em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
section {
|
||||
margin: 0;
|
||||
padding: 1em 2em 2em 0;
|
||||
|
||||
a.anchor { display: none; }
|
||||
|
||||
& > div { margin-bottom: 1em; }
|
||||
|
||||
.description {
|
||||
grid-column: 1 / span 3;
|
||||
grid-row: 3;
|
||||
margin: 0.5em;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
&#personal-brief-section {
|
||||
grid-column: 1;
|
||||
grid-row: 2;
|
||||
}
|
||||
|
||||
&#projects-section,
|
||||
&#projects-section-2 {
|
||||
h3, h4 { display: inline-block; }
|
||||
h4::before { content: " — "; }
|
||||
}
|
||||
|
||||
&#projects-section {
|
||||
grid-column: 2;
|
||||
grid-row: 2 / span 2;
|
||||
}
|
||||
|
||||
&#projects-section-2 {
|
||||
grid-column: 2;
|
||||
grid-row: 4 / span 3;
|
||||
}
|
||||
|
||||
&#skills-section {
|
||||
grid-column: 1;
|
||||
grid-row: 4;
|
||||
|
||||
h3 { margin-top: 0.5em; }
|
||||
}
|
||||
|
||||
&#jobs-section {
|
||||
grid-column: 1;
|
||||
grid-row: 7;
|
||||
}
|
||||
|
||||
&#jobs-section-2 {
|
||||
grid-column: 2;
|
||||
grid-row: 7;
|
||||
}
|
||||
|
||||
&#jobs-section, &#jobs-section-2 {
|
||||
& > .job {
|
||||
align-items: baseline;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto 1fr;
|
||||
margin-right: 1em;
|
||||
|
||||
.company {
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
}
|
||||
|
||||
.division {
|
||||
grid-column: 2 / span 2;
|
||||
grid-row: 1;
|
||||
margin-left: 0.25em;
|
||||
|
||||
&::after { content: ""; }
|
||||
&::before { content: " — "; }
|
||||
}
|
||||
|
||||
.title {
|
||||
grid-column: 1 / span 2;
|
||||
grid-row: 2;
|
||||
}
|
||||
|
||||
.duration {
|
||||
grid-column: 3;
|
||||
grid-row: 2;
|
||||
justify-self: end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&#education-section {
|
||||
grid-column: 1;
|
||||
grid-row: 5;
|
||||
}
|
||||
|
||||
&#references-section {
|
||||
grid-column: 1;
|
||||
grid-row: 6;
|
||||
|
||||
h2, div { display: inline-block; }
|
||||
h2 { width: unset; }
|
||||
div::before { content: " — "; }
|
||||
|
||||
div {
|
||||
font-style: italic;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
&#technologies-section {
|
||||
grid-column: 1;
|
||||
grid-row: 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
630
html-interactive/slalom.html
Normal file
630
html-interactive/slalom.html
Normal file
@ -0,0 +1,630 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Jonathan Bernard - Full Stack Developer</title>
|
||||
<link rel=stylesheet href=resume.css>
|
||||
<link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<h1>Jonathan Bernard</h1>
|
||||
<h2><a href=mailto:jonathan@jdbernard.com>jonathan@jdbernard.com</a></h2>
|
||||
<h2><a href=tel:+15127771602>(512) 777-1602</a></h2>
|
||||
</header>
|
||||
|
||||
<nav id=sectionNav>
|
||||
<ul>
|
||||
<li><a href=#personal-brief>Personal Brief</a></li>
|
||||
<li><a href=#projects>Key Projects</a></li>
|
||||
<li><a href=#technologies>Core Technologies</a></li>
|
||||
<li><a href=#jobs>Work Experience</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<input type=text name=filter style="display: none;">
|
||||
|
||||
<section id=personal-brief-section>
|
||||
<a class=anchor id=personal-brief></a>
|
||||
<h2>Personal Brief</h2>
|
||||
<p>I am a Principal-level Software Engineer and Engineering Manager with
|
||||
a deep background in product development from ideation to delivery.
|
||||
<p>I have a proven track record of leading high performance,
|
||||
cross-functional product teams and I excel at creating clear
|
||||
communication between all parties involved in product specification,
|
||||
design, and delivery.
|
||||
<p>With my broad technical expertise drawn from a wide range of industry
|
||||
experience, I am confident in my ability to guide engineering efforts
|
||||
through challenging opportunities. I am still glad to roll up my sleeves
|
||||
and put in the hard work personally to ensure that things get done.
|
||||
<p>In either a leadership role or as an individual contributor, I am
|
||||
looking for an opportunity to work in an environment that provides the
|
||||
autonomy for me and my team to do our best work. At this point in my
|
||||
career I would like to be a part of building something—product or
|
||||
organization—that will have longevity. I look forward to creating
|
||||
high-quality, fit-for-purpose software solutions that will meet today's
|
||||
business needs and stand the test of time.
|
||||
</section>
|
||||
|
||||
<section id=skills-section>
|
||||
<a class=anchor id=skills></a>
|
||||
<h2>Key Skills</h2>
|
||||
<div id=project-management>
|
||||
<h3>Project Management</h3>
|
||||
<ol>
|
||||
<li>Requirement Gathering and Analysis</li>
|
||||
<li>Estimation and Cost Analysis</li>
|
||||
<li>Communication</li>
|
||||
<li>Building Client & Customer Relationships</li>
|
||||
<li>Technical Writing & Documentation</li>
|
||||
<li>Product Planning & Prioritization</li>
|
||||
</ol>
|
||||
|
||||
<h3>Leadership</h3>
|
||||
<ol>
|
||||
<li>Team Building</li>
|
||||
<li>Remote-Friendly Team Culture</li>
|
||||
<li>High-Performance Team Culture</li>
|
||||
<li>Growth-Focused Mentorship</li>
|
||||
<li>Conflict Resolution</li>
|
||||
</ol>
|
||||
|
||||
<h3>Technical Leadership</h3>
|
||||
<ol>
|
||||
<li>Agile Development Methodology</li>
|
||||
<li>Operational Excellence</li>
|
||||
<li>Automation of Standard Process</li>
|
||||
</ol>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id=technologies-section>
|
||||
<a class=anchor id=technologies></a>
|
||||
<h2>Core Technologies</h2>
|
||||
<aside>
|
||||
For the sake of brevity this is a short list of the technologies I use
|
||||
most often rather than an exhaustive list of my proficiencies. Some of
|
||||
my favorite technologies did not make this list and I would be happy to
|
||||
discuss them.
|
||||
</aside>
|
||||
<div id=languages>
|
||||
<h3>Languages</h3>
|
||||
<ol>
|
||||
<li>TypeScript</li>
|
||||
<li>JavaScript</li>
|
||||
<li>Java</li>
|
||||
<li>C#</li>
|
||||
<li>SQL</li>
|
||||
<li>Erlang</li>
|
||||
<li>Nim</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id=web>
|
||||
<h3>Web Technologies</h3>
|
||||
<ol>
|
||||
<li>HTML5</li>
|
||||
<li>CSS3</li>
|
||||
<li>HTTP</li>
|
||||
<li>REST</li>
|
||||
<li>WebSockets</li>
|
||||
<li>Accessibility (WCAG)</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id=cloud>
|
||||
<h3>Cloud Architecture and Infrastructure</h3>
|
||||
<ol>
|
||||
<li>Amazon Web Services (AWS)</li>
|
||||
<li>Microsoft Azure</li>
|
||||
<li>Terraform</li>
|
||||
<li>Docker</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id=databases>
|
||||
<h3>Databases & Persistence</h3>
|
||||
<div>
|
||||
<h4>Relational</h4>
|
||||
<ol>
|
||||
<li>PostgreSQL</li>
|
||||
<li>Oracle</li>
|
||||
<li>MS SQL Server</li>
|
||||
<li>MySQL</li>
|
||||
<li>SqlLite</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4>No-SQL</h4>
|
||||
<ol>
|
||||
<li>CouchDB</li>
|
||||
<li>MongoDB</li>
|
||||
<li>Elasticsearch</li>
|
||||
<li>Mnesia</li>
|
||||
<li>LevelDB</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id=front-end>
|
||||
<h3>Front-End Frameworks & Libraries</h3>
|
||||
<ol>
|
||||
<li>Vue.js</li>
|
||||
<li>Angular (1.x and 2+)</li>
|
||||
<li>React</li>
|
||||
<li>jQuery</li>
|
||||
<li>Backbone.js</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id=devtools>
|
||||
<h3>Development Tools</h3>
|
||||
<ol>
|
||||
<li>Version Control (Git, SVN, CVS, etc.)</li>
|
||||
<li>Maven</li>
|
||||
<li>Gradle</li>
|
||||
<li>MSBuild</li>
|
||||
<li>Unix/Linux</li>
|
||||
<li>OpenBSD</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id=other>
|
||||
<h3>Other Technologies</h3>
|
||||
<ol>
|
||||
<li>Applied Cryptography</li>
|
||||
<li>Identity & Access Management</li>
|
||||
<li>SmartCards (ISO 7816 & ISO 14443)</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<section id=jobs-section>
|
||||
<a class=anchor id=jobs></a>
|
||||
<h2>Work Experience</h2>
|
||||
<div class=job>
|
||||
<h3 class=company>Accenture</em></h3>
|
||||
<h4 class=division>Platform & Product Engineering Services</h4>
|
||||
<span class=title>Associate Engineering Manager</span>
|
||||
<span class=duration>January 2020 - present</span>
|
||||
<div class=description>
|
||||
<p>My work at Accenture has been an extension and expansion of the
|
||||
work I was doing at Fairway prior to our acquisition. Through
|
||||
Accenture I have been exposed to larger organizations and led larger
|
||||
teams.
|
||||
<h5>Key projects:</h5>
|
||||
<ol>
|
||||
<li>Universal Weath Platform (<em>see above</em>)</li>
|
||||
<li>Enterprise IAM Migration</li>
|
||||
<li>Sales Engineering Support</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class=job>
|
||||
<h3 class=company>Fairway Technologies</em></h3>
|
||||
<span class=title>Principal Consultant</span>
|
||||
<span class=duration>April 2018 - January 2020</span>
|
||||
<div class=description>
|
||||
<p>As a Principal Consultant I led a number of successful project
|
||||
deliveries for our clients. The engagement lead role at Fairway was
|
||||
the position ultimately responsible for all aspects of project
|
||||
delivery including team leadership, timeline and budget estimation,
|
||||
requirements gathering and documentation, system architecture and
|
||||
design, and implementation.
|
||||
<h5>Key projects:</h5>
|
||||
<ol>
|
||||
<li>Next-generation Digital Mortgage Platform (<em>see above</em>)</li>
|
||||
<li>Public Utility District analytics and monitoring project</li>
|
||||
<li>Digital Library(<em>see above</em>)</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class=job>
|
||||
<h3 class=company>Sailpoint Inc.</em></h3>
|
||||
<h4 class=division>IdentityAI</h4>
|
||||
<span class=title>Senior Software Engineer</span>
|
||||
<span class=duration>May 2017 - March 2018</span>
|
||||
<div class=description>
|
||||
<p>IdentityAI was a new initiative at Sailpoint to leverage the large
|
||||
data sets of security events, activities, and information already
|
||||
capptured by Sailpoint's existing product lines to feed a
|
||||
machine-learning based system capable of automatically identifying
|
||||
critical security issues, performing real-time anomaly detection, and
|
||||
suggesting options for remediation before compromise. I was brought
|
||||
onto the team near the beginning of the project and was responsible
|
||||
for the architecture and implementation of several of the core
|
||||
micro-services that made up the solution.
|
||||
</div>
|
||||
</div>
|
||||
<div class=job>
|
||||
<h3 class=company>Edgecase Inc.</em></h3>
|
||||
<span class=title>Senior Software Engineer</span>
|
||||
<span class=duration>November 2015 - April 2017</span>
|
||||
<div class=description>
|
||||
<p>Edgecase was building a B2B service providing product
|
||||
attribution at scale enabling an Amazon-like shopping experience
|
||||
for companies expanding into e-commerce. The engineering team at
|
||||
Edgecase was responsible for all aspects of the technical
|
||||
infrastructure, product development, and last-line technical
|
||||
customer support. Because of the small size of the team, I was
|
||||
responsible for all aspects of the product we were building.
|
||||
<div>
|
||||
<h5>Responsibilities:</h5>
|
||||
<ol>
|
||||
<li>Full-stack implementation</li>
|
||||
<li>Requirements Gathering & Analysis</li>
|
||||
<li>Technical Leadership</li>
|
||||
<li>DevOps</li>
|
||||
<li>Mentorship</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Key Technologies:</h5>
|
||||
<ol>
|
||||
<li>AWS (CloudFront, ElasticBeanstalk, RDS, Redshift)</li>
|
||||
<li>node.js</li>
|
||||
<li>Ruby</li>
|
||||
<li>PostgreSQL</li>
|
||||
<li>Elasticsearch</li>
|
||||
<li>Angular.js</li>
|
||||
<li>express.js</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id=jobs-section-2>
|
||||
<h2> </h2>
|
||||
<div class=job>
|
||||
<h3 class=company>3M</h3>
|
||||
<h4 class=division>Traffic Safety Systems Division</h4>
|
||||
<span class=title>Software Engineer VI</span>
|
||||
<span class=duration>October 2013 - October 2015</span>
|
||||
<div class=description>
|
||||
<p>I joined 3M during their attempt to break into the market for
|
||||
software solutions covering all aspects of transportation
|
||||
infrastructure. With my ability to come up to speed quickly in
|
||||
complicated environments, I was often moved between projects,
|
||||
going where there was the greatest need for immediate impact.
|
||||
Finally I was attached to the next-generation tolling effort as a
|
||||
technical lead and architect.
|
||||
<h5>Key projects:</h5>
|
||||
<ol>
|
||||
<li>Next-generation tolling platform (<em>see above</em>)</li>
|
||||
<li>ScanNet</li>
|
||||
<li>Kansas DMV Back-office</li>
|
||||
<li>Internal time-reporting tool</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=job>
|
||||
<h3 class=company>HID Global</h3>
|
||||
<h4 class=division>Personalization Infrastructure</h4>
|
||||
<span class=title>Staff Engineer</span>
|
||||
<span class=duration>February 2012 - September 2013</span>
|
||||
<div class=description>
|
||||
<p>I was part of the team responsible for all software controlling and
|
||||
supporting the production process, ranging from low-level machine control
|
||||
and automation to server-oriented architecture that supplied production
|
||||
software services such as key management, cryptographic services, and
|
||||
configuration management.
|
||||
|
||||
<p>I was brought onto this team near it's inception to help build out the
|
||||
foundational infrastructure and software that would become the base of
|
||||
HID's new approach to manufacturing control.
|
||||
|
||||
<h5>Key projects:</h5>
|
||||
<ol>
|
||||
<li>Common machine control framework</li>
|
||||
<li>Emperor machine control implementation</li>
|
||||
<li>SmartCard-programming standard library</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=job>
|
||||
<h3 class=company>QuantumDigital.com</h3>
|
||||
<span class=title>Systems Developer</span>
|
||||
<span class=duration>August 2010 - February 2012</span>
|
||||
<div class=description>
|
||||
<p> Responsible for supporting the legacy order and fullfilment
|
||||
systems and migrating these systems to modern technology.
|
||||
Launched the company's first mobile app.
|
||||
<h5>Key projects:</h5>
|
||||
<ol>
|
||||
<li>Quantum Post Cards</li>
|
||||
<li>QCards Mobile</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=job>
|
||||
<h3 class=company>Gemalto</h3>
|
||||
<h4 class=division>Solutions and Special Projects</h4>
|
||||
<span class=title>Software Architect and Developer</span>
|
||||
<span class=duration>June 2005 - August 2010</span>
|
||||
<div class=description>
|
||||
<p>Responsible for finding solutions to new problems, developing
|
||||
custom solutions for customer problems, and providing tools and
|
||||
support to other development teams.</p>
|
||||
<h5>Key projects:</h5>
|
||||
<ol>
|
||||
<li>U.S. E-Passport Manufacturing (<em>see above</em>)</li>
|
||||
<li>Custom Card Procurement Service</li>
|
||||
<li>Internal Manufacturing Reporting Framework</li>
|
||||
<li>Cryptographic Service Implementation</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=job>
|
||||
<h3 class=company>Freescale Semiconductor</h3>
|
||||
<h4 class=division>Hardware/Software Development</h4>
|
||||
<span class=title>Summer Intern / Contractor</span>
|
||||
<span class=duration>June 2004 - October 2004</span>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<section id=projects-section>
|
||||
<a class=anchor id=projects></a>
|
||||
<h2>Select Projects</h2>
|
||||
<div class=project>
|
||||
<h3 class>Unified Wealth Platform</h3>
|
||||
<h4 class=for-company>Accenture - Financial Services Client</h4>
|
||||
<div class=description>
|
||||
<p>The Unified Wealth Platform (UWP) was a web-based software offering
|
||||
for financial adviser and brokerages that allowed them to trade and
|
||||
manage their customer's financial investments. Tegra was on their
|
||||
second re-write of the front-end portions of the product when I was
|
||||
brought in as the delivery lead for the project. It was again in danger
|
||||
of failing due to unclear requirements, lack of architecture and
|
||||
planning, undocumented APIs and system behavior, overly-complicated
|
||||
backend systems, and unrealistic customer-facing deadlines.
|
||||
|
||||
<p>Through concerted effort, we were able to clarify the requirements
|
||||
and align testing efforts to the documented requirements, we were able
|
||||
to document large portions of the API, adding strong typing to assist
|
||||
in correctness, and we put into place fundamental architectural
|
||||
thinking. Along the way we navigated competing stakeholder priorities,
|
||||
serious COVID disruptions, and continual environmental disruptions. At
|
||||
the same time I had to build a new team from the ground up as the
|
||||
client objected to plans of my predecessor, requiring us to go back to
|
||||
the drawing board with regard to staffing.
|
||||
|
||||
<p>In the end we were able to work with the client stakeholders through
|
||||
necessary schedule adjustments and coach their leadership through the
|
||||
trade-offs that we were forced to make given the schedule. We
|
||||
successfully transitioned the project from a waterfall-style,
|
||||
plan-every-day release schedule and deliverables with predefined
|
||||
release dates and scope to a more Agile method of rolling releases on a
|
||||
regular cadence. Despite the unrealistic internal deadlines, we were
|
||||
able to find a path to deliver almost all of the originally promised
|
||||
functionality to the customer within the original customer timeline, or
|
||||
with slight delays (on the order of weeks).
|
||||
|
||||
<p>The successful delivery of this project was a direct result of the
|
||||
continual, extraordinary effort put in by the team, and my efforts to
|
||||
provide clarity and direction across all aspects of the product
|
||||
development.
|
||||
<div>
|
||||
<h5>Responsibilities:</h5>
|
||||
<ol>
|
||||
<li>Engineering Management</li>
|
||||
<li>Customer Relationship</li>
|
||||
<li>Project Management</li>
|
||||
<li>Estimation and Cost Analysis</li>
|
||||
<li>Requirements Gathering & Analysis</li>
|
||||
<li>Frontend Implementation</li>
|
||||
<li>Team Building and Composition</li>
|
||||
<li>Project Staffing</li>
|
||||
<li>Technical Writing</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Key Technologies:</h5>
|
||||
<ol>
|
||||
<li>Angular 10</li>
|
||||
<li>Azure DevOps</li>
|
||||
<li>TypeScript</li>
|
||||
<li>HTML</li>
|
||||
<li>SCSS</li>
|
||||
<li>Kendo UI for Angular</li>
|
||||
<li>C# (.NET)</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=project>
|
||||
<h3 class>Digital Mortgage Platform</h3>
|
||||
<h4 class=for-company>Fairway - Mortgage Lender</h4>
|
||||
<div class=description>
|
||||
<p>Fairway was brought in to deliver the next generation of the
|
||||
client's core product offering (a web-based mortgage application
|
||||
platform). As a follow-on to that delivery, the client engaged our
|
||||
team to help accelerate the development of critical features in their
|
||||
existing product offering in order to meet aggressive deadlines
|
||||
communicated to their clients. As the overall delivery lead I worked
|
||||
closely with the client's engineering management to prioritize work
|
||||
and get it into the hands of our team. Our delivery of functionality
|
||||
ahead of scheduled allowedour client to regain confidence with their
|
||||
customers who had expressed concern at the anticipated schedule
|
||||
delay.
|
||||
<div>
|
||||
<h5>Responsibilities:</h5>
|
||||
<ol>
|
||||
<li>Engineering Management</li>
|
||||
<li>Customer Relationship</li>
|
||||
<li>Cloud Architecture</li>
|
||||
<li>Requirements Gathering & Analysis</li>
|
||||
<li>Full-stack Implementation</li>
|
||||
<li>Team Building and Composition</li>
|
||||
<li>Project Staffing</li>
|
||||
<li>Project Management</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Key Technologies:</h5>
|
||||
<ol>
|
||||
<li>AWS</li>
|
||||
<li>.NET (C#, ASP.NET)</li>
|
||||
<li>MS SQL Server</li>
|
||||
<li>JavaScript</li>
|
||||
<li>HTML</li>
|
||||
<li>CSS</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id=projects-section-2>
|
||||
<h2>Select Projects (continued)</h2>
|
||||
<div class=project>
|
||||
<h3>Digital Library</h3>
|
||||
<h4 class=for-company>Fairway - Education Organization</h4>
|
||||
<div class=description>
|
||||
<p>The Digital Library project was a green-field redesign of an
|
||||
existing product our client provided to their teachers based on
|
||||
feedback they had gathered. I was the delivery lead for this project,
|
||||
managing a cross-functional team including a UI/UX designer, QA
|
||||
engineers, a project manager, and several developers. Though the
|
||||
client product owner we worked with had no prior experience in
|
||||
product development, we were able to establish an effective Agile
|
||||
process for gathering requirements, prioritizing work, and gathering
|
||||
feedback.
|
||||
|
||||
<p>Shortly after beginning the project in earnest we realized that a
|
||||
majority of the assumptions the client had made about the backend
|
||||
system in place were incorrect, leading to a complete invalidation of
|
||||
the original project timeline. We were able to work with the client's
|
||||
product owner and technical teams to identify the backend gaps,
|
||||
provide guidance on a new project plan, and provide implementation
|
||||
support from our team.
|
||||
|
||||
<p>We delivered this project on time and on budget according to the
|
||||
revised project plan.
|
||||
<div>
|
||||
<h5>Responsibilities:</h5>
|
||||
<ol>
|
||||
<li>Engineering Management</li>
|
||||
<li>Customer Relationship</li>
|
||||
<li>Cloud Architecture</li>
|
||||
<li>Requirements Gathering & Analysis</li>
|
||||
<li>Full-stack Implementation</li>
|
||||
<li>Team Building and Composition</li>
|
||||
<li>Project Staffing</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Key Technologies:</h5>
|
||||
<ol>
|
||||
<li>AWS</li>
|
||||
<li>Angular 8+</li>
|
||||
<li>TypeScript</li>
|
||||
<li>HTML</li>
|
||||
<li>SCSS</li>
|
||||
<li>API Platform</li>
|
||||
<li>Terraform</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=project>
|
||||
<h3>Next-Generation Tolling Platform</h3>
|
||||
<h4 class=for-company>3M</h4>
|
||||
<div class=description>
|
||||
<p>The next-generation tolling platform was a paradigm shift for 3M's
|
||||
tolling business, moving away from devloping single-purpose solutions
|
||||
towards a cloud-based, tolling-as-a-service model. I had a wide range
|
||||
of responsibilities on this project, owning the architecture and
|
||||
implementation of functionality across the entire stack from database
|
||||
to front-end, serving as the team lead for the front-end developers,
|
||||
and providing internal operational support for our development tools
|
||||
and environment.
|
||||
<div>
|
||||
<h5>Responsibilities:</h5>
|
||||
<ol>
|
||||
<li>Architecture</li>
|
||||
<li>Full-stack Implementation</li>
|
||||
<li>Technical Leadership</li>
|
||||
<li>Requirements Gathering & Analysis</li>
|
||||
<li>Technical Writing</li>
|
||||
<li>UI/UX Design</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Key Technologies:</h5>
|
||||
<ol>
|
||||
<li>AWS</li>
|
||||
<li>CentOS Linux</li>
|
||||
<li>Backbone.js</li>
|
||||
<li>Java J2EE</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=project>
|
||||
<h3 class>U.S. E-Passport Manufacturing</h3>
|
||||
<h4 class=for-company>Gemalto</h4>
|
||||
<div class=description>
|
||||
<p>Gemalto has been a primary supplier to the GPO since the inception
|
||||
of the U.S. E-Passport. I was part of the initial team creating the
|
||||
E-Passport technology as well as extending and customizing our usual
|
||||
manufacturing process for the GPO's unique needs.
|
||||
<div>
|
||||
<h5>Responsibilities:</h5>
|
||||
<ol>
|
||||
<li>Database Administration & Schema Design</li>
|
||||
<li>Backend Implementation</li>
|
||||
<li>Performance Optmization</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Key Technologies:</h5>
|
||||
<ol>
|
||||
<li>Java</li>
|
||||
<li>Java Cryptography Architecture (JCA)</li>
|
||||
<li>Java Database Connectivity (JDBC)</li>
|
||||
<li>Oracle Database</li>
|
||||
<li>ISO 14443 Smart Cards<li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<section id=education-section>
|
||||
<a class=anchor id=education></a>
|
||||
<h2>Education</h2>
|
||||
<h3>University of Texas at Austin</h3>
|
||||
<div>100+ hours completed towards a B.S. in Computer Science</div>
|
||||
</section>
|
||||
|
||||
<section id=references-section>
|
||||
<a class=anchor id=references></a>
|
||||
<h2>References</h2><div>available on request.</div>
|
||||
</section>
|
||||
|
||||
<div id=glass-pane></div>
|
||||
|
||||
<!--<script src=https://cdnjs.cloudflare.com/ajax/libs/zepto/1.1.6/zepto.min.js></script>-->
|
||||
<script src=https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js></script>
|
||||
<script src=https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.3/handlebars.min.js></script>
|
||||
<script src=https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js></script>
|
||||
<script src=https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.3/backbone-min.js></script>
|
||||
<script src=resume.js></script>
|
||||
<script>
|
||||
window.onload = function() { new Resume.PageView(); }</script>
|
||||
<div id=ruler></div>
|
||||
</body>
|
||||
</html>
|
@ -112,10 +112,10 @@
|
||||
\vspace{60mm}
|
||||
|
||||
\item Maintaining a very old (20+ years) facility management product still
|
||||
in regular use by customers. This was a unique challenge as the project
|
||||
integrates components written in over 8 different languages, C being the
|
||||
most common, and C\# .NET being the most recent. It also required expertise
|
||||
in embedded hardware control.
|
||||
in regular use by customers (ScanNet). This was a unique challenge as the
|
||||
project integrates components written in over 8 different languages, C
|
||||
being the most common, and C\# .NET being the most recent. It also
|
||||
required expertise in embedded hardware control.
|
||||
\end{resplist}
|
||||
|
||||
\textbf{Staff Engineer} \hfill \textbf{February 2012 -- September 2013}\\
|
||||
@ -266,4 +266,3 @@
|
||||
|
||||
%______________________________________________________________________________
|
||||
% EOF
|
||||
|
||||
|
@ -283,4 +283,3 @@
|
||||
|
||||
%______________________________________________________________________________________________________________________
|
||||
% EOF
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user