Updated resume for 2021 (leaving Accenture).

This commit is contained in:
Jonathan Bernard 2021-05-25 05:36:40 -05:00
parent 551f45d739
commit b6ef976b51
6 changed files with 2279 additions and 139 deletions

1284
data.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
<header> <header>
<h1>Jonathan Bernard</h1> <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> <h2><a href=tel:(512)777-1602>(512)777-1602</a></h2>
</header> </header>
@ -26,6 +26,13 @@
<input type=text name=filter style="display: none;"> <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> <section id=skills-section>
<a class=anchor id=skills></a> <a class=anchor id=skills></a>
<h2>Things I Know</h2> <h2>Things I Know</h2>
@ -197,7 +204,7 @@
for the problem, and I continue to enjoy working with tools and for the problem, and I continue to enjoy working with tools and
languages that build on the JVM and the Java ecosystem. I feel languages that build on the JVM and the Java ecosystem. I feel
very confident about my ability to immediately contribute in very confident about my ability to immediately contribute in
this language. this language.
</div> </div>
<div class=skill-detail data-skill=groovy> <div class=skill-detail data-skill=groovy>
<h4>Groovy</h4> <h4>Groovy</h4>
@ -271,7 +278,7 @@
existing solution. In my time with QuantumDigital I had the existing solution. In my time with QuantumDigital I had the
oportunity to futher my understanding of modern PHP by oportunity to futher my understanding of modern PHP by
enrolling in Zend's advanced PHP training courses. enrolling in Zend's advanced PHP training courses.
While it has been several years since I have worked regularly While it has been several years since I have worked regularly
in PHP I am confident in my past experience and ability to ramp in PHP I am confident in my past experience and ability to ramp
up quickly to an expert level. up quickly to an expert level.

View File

@ -1,34 +1,114 @@
@import url("//fonts.googleapis.com/css?family=Monda|Cantarell|Exo 2"); @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');
$white: #EEE;
$black: #222;
// Simple HTML5 reset. Not comprehensive but sufficient. // Simple HTML5 reset. Not comprehensive but sufficient.
* { * {
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
margin: 0; margin: 0;
padding: 0; } padding: 0;
}
article,aside,details,figcaption,figure, article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 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 { 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%; font-size: 125%;
margin: 12rem auto 0 auto; margin: 12rem auto 0 auto;
width: 50rem; width: 50rem;
} }
h1, h2, h3, h4, h5 { font-family: Monda; } header {
background-color: var(--color-primary);
header { color: var(--color-accent);
background-color: $black;
color: #EEE;
padding-left: calc(50% - 25rem); padding-left: calc(50% - 25rem);
padding-right: calc(50% - 25rem); padding-right: calc(50% - 25rem);
@ -42,138 +122,84 @@ header {
z-index: 3; z-index: 3;
h1 { h1 {
font-size: 5rem; font-size: 5rem;
font-variant: small-caps; text-align: center;
text-align: center;
} }
h2 { h2 {
bottom: 1rem; bottom: 1rem;
font-family: Cantarell; font-family: Cantarell;
font-size: 1.5rem; font-size: 1.5rem;
position: absolute; position: absolute;
&:nth-of-type(2) { right: calc(50% - 25rem); } &:nth-of-type(2) { right: calc(50% - 25rem); }
a { color: #888; } a { color: #888; }
} }
} }
header.fixed { header.fixed {
padding-bottom: 0; padding-bottom: 0;
position: fixed; position: fixed;
h1 { h1 {
display: inline-block; display: inline-block;
font-size: 2rem; font-size: 2rem;
text-align: left; text-align: left;
} }
h2 { h2 {
display: inline-block; display: inline-block;
right: calc(50% - 25rem); right: calc(50% - 25rem);
bottom: 0.5rem; bottom: 0.5rem;
} }
h2:last-of-type { display: none; } h2:last-of-type { display: none; }
} }
nav#sectionNav { nav#sectionNav {
position: fixed; position: fixed;
left: calc(50% - 45rem); left: calc(50% - 45rem);
text-align: right; text-align: right;
width: 18rem; width: 18rem;
ul { ul {
list-style: none; list-style: none;
li a { li a {
color: $black; color: var(--color-primary);
font-family: Monda; font-family: Monda;
font-variant: small-caps;
font-size: medium;
text-decoration: none;
}
}
}
section {
a.anchor {
display: block;
position: relative;
top: -3rem;
visibility: hidden; }
h2 {
border-bottom: solid thin $black;
font-variant: small-caps; font-variant: small-caps;
width: 100%; } font-size: medium;
text-decoration: none;
}
}
}
h4 { section {
display: inline-block; a.anchor {
font-style: italic; display: block;
font-weight: normal; position: relative;
&:after { content: ":"; } } top: -3rem;
visibility: hidden;
}
h2 { border-bottom: solid thin var(--color-primary); }
& > div { margin-bottom: 2rem; } & > 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 { &#jobs-section div.job {
position: relative; position: relative;
span.duration { span.duration {
position: absolute; position: absolute;
right: 0; right: 0;
top: 0.6rem; top: 0.6rem;
} }
} }
} }
#glass-pane { #glass-pane {
display: none; display: none;
position: fixed; position: fixed;
top: 0; top: 0;
@ -181,5 +207,200 @@ section {
right: 0; right: 0;
bottom: 0; bottom: 0;
z-index: 1; 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;
}
}
}

View 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&mdash;product or
organization&mdash;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 &amp; Customer Relationships</li>
<li>Technical Writing &amp; Documentation</li>
<li>Product Planning &amp; 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 &amp; 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 &amp; 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 &amp; Access Management</li>
<li>SmartCards (ISO 7816 &amp; 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 &amp; 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>&nbsp;</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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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>

View File

@ -67,7 +67,7 @@
\item Performing DevOps responsibilities wrt. our deployed environments on \item Performing DevOps responsibilities wrt. our deployed environments on
AWS, AWS,
\item Direct implementation of the web-based application that is the gateway \item Direct implementation of the web-based application that is the gateway
to our primary product, to our primary product,
\item Mentoring junior devs and being responsible for overall code \item Mentoring junior devs and being responsible for overall code
quality. quality.
\end{resplist} \end{resplist}
@ -112,10 +112,10 @@
\vspace{60mm} \vspace{60mm}
\item Maintaining a very old (20+ years) facility management product still \item Maintaining a very old (20+ years) facility management product still
in regular use by customers. This was a unique challenge as the project in regular use by customers (ScanNet). This was a unique challenge as the
integrates components written in over 8 different languages, C being the project integrates components written in over 8 different languages, C
most common, and C\# .NET being the most recent. It also required expertise being the most common, and C\# .NET being the most recent. It also
in embedded hardware control. required expertise in embedded hardware control.
\end{resplist} \end{resplist}
\textbf{Staff Engineer} \hfill \textbf{February 2012 -- September 2013}\\ \textbf{Staff Engineer} \hfill \textbf{February 2012 -- September 2013}\\
@ -150,7 +150,7 @@
FoxPro table files. FoxPro table files.
\item Creating several tools to reduce the time spent managing support \item Creating several tools to reduce the time spent managing support
requests made of the development team. requests made of the development team.
\item Participating in the planning and design of the next generation \item Participating in the planning and design of the next generation
of the core order placement and fulfillment software of the core order placement and fulfillment software
(see \texttt{http://quantumpostcards.com}). (see \texttt{http://quantumpostcards.com}).
\item Designing and developing the companies first mobile application, with \item Designing and developing the companies first mobile application, with
@ -192,7 +192,7 @@
\item Developing hardware diagnostics scripts pertaining to Intel 31154 PCI \item Developing hardware diagnostics scripts pertaining to Intel 31154 PCI
bridge chip, DDR memory test. bridge chip, DDR memory test.
\item Performing schematic capture activities using Mentor's Design \item Performing schematic capture activities using Mentor's Design
Architect. Assistance helped to accelerate and beat schedule requirements. Architect. Assistance helped to accelerate and beat schedule requirements.
\item Designing high quality schematic symbols for use by the hardware \item Designing high quality schematic symbols for use by the hardware
design community. design community.
\item Misc. endeavors - Assisting lab technicians in customer shipments. \item Misc. endeavors - Assisting lab technicians in customer shipments.
@ -234,12 +234,12 @@
%__________________________________________________________________________ %__________________________________________________________________________
% Referees % Referees
% \section{\mysidestyle Referees} % \section{\mysidestyle Referees}
% {\sl Available on request.} % {\sl Available on request.}
%______________________________________________________________________________ %______________________________________________________________________________
%\section{\mysidestyle Referees} %\section{\mysidestyle Referees}
% %
%\begin{tabular}{@{}p{6cm}p{6cm}} %\begin{tabular}{@{}p{6cm}p{6cm}}
%\textbf{Ben Benson} & \textbf{Mridul Sharma} \\ %\textbf{Ben Benson} & \textbf{Mridul Sharma} \\
@ -266,4 +266,3 @@
%______________________________________________________________________________ %______________________________________________________________________________
% EOF % EOF

View File

@ -43,10 +43,10 @@
ASP.NET, JSF, Ruby on Rails \\ ASP.NET, JSF, Ruby on Rails \\
\textsl{In-browser}: Angular 1, React.js, Backbone.js, jQuery,\\ \textsl{In-browser}: Angular 1, React.js, Backbone.js, jQuery,\\
\textsl{Data Processing}: Amazon Kinesis, Apache Flink \textsl{Data Processing}: Amazon Kinesis, Apache Flink
\textbf{Web Technologies}\\ \textbf{Web Technologies}\\
HTTP, REST, WebSockets, SOAP, WSDL HTTP, REST, WebSockets, SOAP, WSDL
\textbf{Development \& Testing Tools}\\ \textbf{Development \& Testing Tools}\\
Git, Gradle, Apache Ant and Gant, Apache Ivy, Apache Maven, Jenkins, Git, Gradle, Apache Ant and Gant, Apache Ivy, Apache Maven, Jenkins,
JUnit (xUnit, EUnit), Cucumber JUnit (xUnit, EUnit), Cucumber
@ -60,11 +60,11 @@
\textbf{Databases}\\ \textbf{Databases}\\
\textsl{RDBMS}: SQL, PostgreSQL, AWS RDS, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\ \textsl{RDBMS}: SQL, PostgreSQL, AWS RDS, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\
\textsl{NoSQL}: AWS DynamoDB, MongoDB, AWS Redshift, Mnesia, LevelDB, CouchDB, \textsl{NoSQL}: AWS DynamoDB, MongoDB, AWS Redshift, Mnesia, LevelDB, CouchDB,
\textbf{IDEs \& Environments}\\ \textbf{IDEs \& Environments}\\
VI(m), Eclipse, VisualStudio, NetBeans VI(m), Eclipse, VisualStudio, NetBeans
%__________________________________________________________________________ %__________________________________________________________________________
% Professional Experience % Professional Experience
\section{\mysidestyle Professional\\Experience} \section{\mysidestyle Professional\\Experience}
@ -109,7 +109,7 @@
\item Performing DevOps responsibilities wrt. our deployed environments on \item Performing DevOps responsibilities wrt. our deployed environments on
AWS, AWS,
\item Direct implementation of the web-based product that is the gateway to \item Direct implementation of the web-based product that is the gateway to
our primary product. our primary product.
\item Mentoring junior devs and being responsible for overall code \item Mentoring junior devs and being responsible for overall code
quality, quality,
\end{resplist} \end{resplist}
@ -189,7 +189,7 @@
\item Developing a Java library to interface directly with legacy \item Developing a Java library to interface directly with legacy
FoxPro table files. FoxPro table files.
\item Automation of common support requests fielded by the development team. \item Automation of common support requests fielded by the development team.
\item Participating in the planning and design of the next generation \item Participating in the planning and design of the next generation
of the core order placement and fulfillment software (see of the core order placement and fulfillment software (see
\texttt{http://quantumpostcards.com}). \texttt{http://quantumpostcards.com}).
\item Developing the company's first mobile application \item Developing the company's first mobile application
@ -223,7 +223,7 @@
\textbf{Summer Intern / Contractor} \hfill \textbf{June 2004 -- Oct 2004}\\ \textbf{Summer Intern / Contractor} \hfill \textbf{June 2004 -- Oct 2004}\\
\textbf{Freescale Semiconductor (Hardware/Software Development)}, Austin, TX \\ \textbf{Freescale Semiconductor (Hardware/Software Development)}, Austin, TX \\
Notable accomplishments included: developing hardware diagnostics scripts, Notable accomplishments included: developing hardware diagnostics scripts,
schematic capture using Mentor Degisn Architect, assisting lab technicians. schematic capture using Mentor Degisn Architect, assisting lab technicians.
%__________________________________________________________________________ %__________________________________________________________________________
% Ongoing Personal Development % Ongoing Personal Development
@ -236,7 +236,7 @@
church's yearly Vacation Bible School. This tool was used over a ten-year church's yearly Vacation Bible School. This tool was used over a ten-year
period primarily by non-technical volunteers and received praise for its period primarily by non-technical volunteers and received praise for its
ease-of-use and for increasing productivity. ease-of-use and for increasing productivity.
Over it's lifetime the tool evolved from a desktop-based application Over it's lifetime the tool evolved from a desktop-based application
coordinating with a centrally-managed database to it's current SaaS coordinating with a centrally-managed database to it's current SaaS
architecture: a single-page web application written primarily in React.js architecture: a single-page web application written primarily in React.js
@ -263,7 +263,7 @@
%__________________________________________________________________________ %__________________________________________________________________________
% References % References
\section{\mysidestyle References} \section{\mysidestyle References}
\begin{tabular}{@{}p{6cm}p{6cm}} \begin{tabular}{@{}p{6cm}p{6cm}}
\textbf{Ben Benson} & \textbf{Cameron Cooper} \\ \textbf{Ben Benson} & \textbf{Cameron Cooper} \\
@ -283,4 +283,3 @@
%______________________________________________________________________________________________________________________ %______________________________________________________________________________________________________________________
% EOF % EOF