|
@@ -0,0 +1,251 @@
|
|
|
+<!--
|
|
|
+My resume in "pure" markdown.
|
|
|
+Apologies to anyone reading the source for the inline HTML required to make it work.
|
|
|
+-->
|
|
|
+
|
|
|
+
|
|
|
+| [<b class="my-name">Kyle P Davis<small>.com</small></b>](http://KylePDavis.com/) | <b class="my-number"></b> | [<b class="my-email">resume@KylePDavis.com</b>](mailto:resume@KylePDavis.com)
|
|
|
+|:----|:---:|----:
|
|
|
+| * * | * * | * *
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Overview
|
|
|
+
|
|
|
+* Software developer with considerable experience
|
|
|
+* Known for solving difficult problems
|
|
|
+* Able to master new technologies with ease
|
|
|
+* Passionate about creating software to make life better
|
|
|
+* Lover of technology, computers, programming, algorithms, databases, visualization, automation, and open source
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Skills
|
|
|
+
|
|
|
+| __I Do ...__ | _With ..._
|
|
|
+|:----------------|:----------------------------------------------------------
|
|
|
+| _Scripting_ | JavaScript / ES6, NodeJS, CoffeeScript, TypeScript, Python, Perl, PHP, Ruby, Bash, PowerShell
|
|
|
+| _Coding_ | C# / .NET / WCF / WPF / EF / LINQ, Objective-C / iOS, C++ / C, Java, Go, Swift
|
|
|
+| _Web_ | AngularJS, jQuery, Bootstrap, d3, SVG, three.js, ASP.NET, HTML, CSS
|
|
|
+| _Data_ | Lexers & Parsers, RegExp, JSON, CSV, CSON, YAML, TOML, XML, XSLT
|
|
|
+| _Databases_ | MongoDB, Redis, ElasticSearch, PostgreSQL, MySQL, LDAP, ArangoDB
|
|
|
+| _Architecture_ | Micro-services, REST, ESB, SOA, n-tier, MVC
|
|
|
+| _Misc_ | BabelJS, jshint, eslint, jscs, gulp, grunt, pep8, flake, shellcheck
|
|
|
+| _Testing_ | Web Driver / Selenium, PhantomJS, mocha, karma, protractor, istanbul, jscoverage
|
|
|
+| _Performance_ | Chrome Dev Tools, DTrace, strace, iostat, vmstat, perf-tools
|
|
|
+| _Management_ | Agile, SCRUM, Kanban, GitHub, Stash, JIRA, Bamboo, Trac, Jenkins
|
|
|
+| _Systems_ | Mac OS X, Linux, SmartOS, FreeBSD, Windows
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Experience
|
|
|
+
|
|
|
+| <b class="xp-what">Senior Applications Architect</b> | <b class="xp-where">Rivera Group</b> | <b class="xp-when">11/2011 - 6/2015</b>
|
|
|
+|:----|:---:|----:
|
|
|
+| | <b class="xp-where">Sellersburg, IN</b> | <b class="xp-when">3.6yr</b>
|
|
|
+
|
|
|
+
|
|
|
+Spearheaded software projects to solve tough problems in the R&D department with a small group of talented developers.
|
|
|
+
|
|
|
+* Built a distributed micro-services platform to extract actionable information from large and diverse data sets with real-time data collection and analysis using NodeJS and MongoDB
|
|
|
+* Developed advanced web UI using AngularJS to allow for custom data modeling and visualization
|
|
|
+* Led the effort to port the MongoDB Aggregation Framework to JavaScript / NodeJS
|
|
|
+
|
|
|
+
|
|
|
+| <b class="xp-what">Applications Consultant</b> | <b class="xp-where">Humana</b> | <b class="xp-when">1/2008 - 11/2011</b>
|
|
|
+|:----|:---:|----:
|
|
|
+| | <b class="xp-where">Louisville, KY</b> | <b class="xp-when">4.0yr</b>
|
|
|
+
|
|
|
+Team leader on an Agile development team responsible for the customer-facing websites and mobile applications.
|
|
|
+
|
|
|
+* Created cross-platform hybrid native/HTML5 single page web app architecture for mobile projects
|
|
|
+* Developed patterns and code generation techniques to greatly simplify interaction with services
|
|
|
+* Improved source code management scheme to aid the development cycle and reduce risk
|
|
|
+* Automated builds and deployments using CCNet and NAnt scripts
|
|
|
+* Served as a technical consultant to other teams on different projects within the department
|
|
|
+* Promoted standards, learning, and gave talks and training sessions on new tools and technologies
|
|
|
+* Helped build a new application for tracking attendance and participation at wellness centers
|
|
|
+* Redesigned and drastically reduced development effort for a tool to admin the augmentation of health records
|
|
|
+* Helped rewrite policy admin sites and introduced them to jQuery, AJAX, and better interactivity via JavaScript
|
|
|
+
|
|
|
+
|
|
|
+<div class="page-break"></div>
|
|
|
+
|
|
|
+
|
|
|
+| <b class="xp-what">Engineer</b> | <b class="xp-where">Win.Net Internet</b> | <b class="xp-when">2/2004 - 1/2008</b>
|
|
|
+|:----|:---:|----:
|
|
|
+| | <b class="xp-where">Louisville, KY</b> | <b class="xp-when">3.9yr</b>
|
|
|
+
|
|
|
+Primary engineer responsible for designing, implementing, and maintaining all software, hardware, and networking.
|
|
|
+
|
|
|
+* Responsible for designing, troubleshooting, maintaining, securing, and optimizing the web servers, email, DNS, LDAP, MySQL, switches, Cisco routers, NetApp storage devices, internal software, audits, and reports
|
|
|
+* Extended billing system to automatically send email, fax, and postal statements using Perl and a single HTML template
|
|
|
+* Built servers and wrote tools to integrate and automate a third-party spam filtering solution
|
|
|
+* Seamless migrations of customer services and data from newly acquired external systems to our platform
|
|
|
+* Planned and executed plan to combine and coalesce disparate IP blocks to reduce cost with minimal customer impact
|
|
|
+* Developed tool to automate the configuration and testing of a wide variety of DSL routers which dramatically reduced the time and knowledge required to prepare them for customers
|
|
|
+* Built a tool to track customers who had not
|
|
|
+* Wrote tool to automatically verify availability of DSL for potential customers and still work within the restrictive services provided to us by the telephone companies
|
|
|
+* Started as a technician but soon moved to engineer
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Education
|
|
|
+
|
|
|
+| <b class="xp-what">M.S. in Computer Science</b> | <b class="xp-where">Georgia Tech</b> | <b class="xp-when">Fall 2015</b>
|
|
|
+|:----|----:|----:
|
|
|
+| | <b class="xp-where">Online / GA</b> | <b class="xp-when">0.0yr</b>
|
|
|
+
|
|
|
+* Enrolled for Fall 2015
|
|
|
+
|
|
|
+
|
|
|
+| <b class="xp-what">B.S. in Computer Science</b> | <b class="xp-where">Indiana University</b> | <b class="xp-when">6/2002 - 5/2012</b>
|
|
|
+|:----|----:|----:
|
|
|
+| | <b class="xp-where">Southeast / New Albany, IN</b> | <b class="xp-when">10.0yr</b>
|
|
|
+
|
|
|
+* Minor in Mathematics
|
|
|
+* Placed in top 10 at regional ACM International Collegiate Programming Contest for 4 years
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+/* NOTE:
|
|
|
+ * .preview - primary; preview via Cloud9 IDE, print via build.js
|
|
|
+ * .markdown-preview - secondary; preview via Atom IDE
|
|
|
+ */
|
|
|
+
|
|
|
+/* highlight hovered for testing */
|
|
|
+html:hover, body:hover, div#preview, div.markdown-preview { background:#FFF; }
|
|
|
+div#preview *:hover, div.markdown-preview *:hover { background:rgba(128,160,192,0.5); }
|
|
|
+
|
|
|
+div#preview, div.markdown-preview {
|
|
|
+ position: inherit;
|
|
|
+ min-width: 8in;
|
|
|
+ font-size: 10pt;
|
|
|
+ line-height: 1.4;
|
|
|
+ color: #000;
|
|
|
+ background: #FFF;
|
|
|
+ font-family: "Avenir Next", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
|
|
|
+}
|
|
|
+div#preview {
|
|
|
+ padding: 2em;
|
|
|
+}
|
|
|
+div.markdown-preview *, div.markdown-preview th {
|
|
|
+ background: #FFF;
|
|
|
+}
|
|
|
+@media print {
|
|
|
+ a[href] {
|
|
|
+ color: #000;
|
|
|
+ }
|
|
|
+ @page {
|
|
|
+ size: 8.5in 11in;
|
|
|
+ margin: 0.50in;
|
|
|
+ }
|
|
|
+ div#preview {
|
|
|
+ padding-left: 0.48in;
|
|
|
+ padding-right: 0.52in;
|
|
|
+ padding-top: 0.50in;
|
|
|
+ padding-bottom: 0.50in;
|
|
|
+ font-size: 10pt;
|
|
|
+ }
|
|
|
+ .page-break {
|
|
|
+ page-break-before: always;
|
|
|
+ }
|
|
|
+ .page-break:after {
|
|
|
+ display: block;
|
|
|
+ height: 0.50in;
|
|
|
+ content: " ";
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+div#preview hr, div.markdown-preview hr {
|
|
|
+ height: 0;
|
|
|
+ margin: 1px;
|
|
|
+ border: 0;
|
|
|
+ border-bottom: 2px solid;
|
|
|
+ border-color: #777;
|
|
|
+}
|
|
|
+
|
|
|
+div#preview ul, div.markdown-preview ul {
|
|
|
+ margin-top: 0;
|
|
|
+}
|
|
|
+
|
|
|
+div#preview table, div.markdown-preview table {
|
|
|
+ display: table;
|
|
|
+ width: 100%;
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+ border: 0;
|
|
|
+ border-collapse: collapse;
|
|
|
+}
|
|
|
+div#preview table, div.markdown-preview table,
|
|
|
+div#preview th, div.markdown-preview th,
|
|
|
+div#preview td, div.markdown-preview td,
|
|
|
+div#preview tr, div.markdown-preview tr {
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+ border: 0;
|
|
|
+}
|
|
|
+div#preview th + th, div.markdown-preview th + th,
|
|
|
+div#preview td + td, div.markdown-preview td + td {
|
|
|
+ padding: 2px;
|
|
|
+ padding-left: 8px;
|
|
|
+}
|
|
|
+
|
|
|
+code.lang-js {
|
|
|
+ width: 100%;
|
|
|
+ margin: 0;
|
|
|
+ padding-right: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.my-name {
|
|
|
+ display: inline-block;
|
|
|
+ width: 40%;
|
|
|
+ min-width: 2in;
|
|
|
+ font-size: 1.5em;
|
|
|
+}
|
|
|
+.my-name small {
|
|
|
+ color: #777;
|
|
|
+}
|
|
|
+.my-number {
|
|
|
+ display: inline-block;
|
|
|
+ min-width: 20%;
|
|
|
+}
|
|
|
+.my-email {
|
|
|
+ display: inline-block;
|
|
|
+ width: 40%;
|
|
|
+ min-width: 2in;
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
+
|
|
|
+table .xp-what {
|
|
|
+ display: block;
|
|
|
+ width: 100%;
|
|
|
+ min-width: 2in;
|
|
|
+}
|
|
|
+table .xp-where {
|
|
|
+ display: block;
|
|
|
+ width: 100%;
|
|
|
+ min-width: 1in;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+table tbody .xp-where {
|
|
|
+ color: #777;
|
|
|
+ font-weight: normal;
|
|
|
+ font-size: 0.8em;
|
|
|
+}
|
|
|
+table .xp-when {
|
|
|
+ display: block;
|
|
|
+ width: 100%;
|
|
|
+ min-width: 2in;
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
+table tbody .xp-when {
|
|
|
+ color: #777;
|
|
|
+ font-weight: normal;
|
|
|
+ font-size: 0.8em;
|
|
|
+}
|
|
|
+
|
|
|
+</style>
|