DEVeloper, tutor, Conversationalist
Summary
I've been in this industry since 2011.
Veteran engineer with emphasis on the front-end, but spanning the whole stack. My approach to execution is to give the code, process, and people their respective dues with solid individual contributions, making work visible, and proactively unblocking others.
I believe in over communicating, that process and priorities change when focusing on the outcomes, and I can diffuse nearly any contentious issue.
I believe in the use of patterns, code reviews, mentorship, well-researched 3rd-party libraries, the persistent pursuit of knowledge, good music to code to, good culture within teams, and that a 10 minute walk will solve nearly every problem (coding or otherwise).
Experience
Trainingpeaks
Senior front-end Developer
July 2019 - Present
Tech lead on delivering a new payment solution to democratize our marketplace
Leading the integration of Stripe with a modernized checkout experience capable of processing payments for a true marketplace where users are the sellers
Lead the technical release of a new pricing initiative that failed after the first day from an early poor assumption, but was able to rally an immediate & long-term fix, demonstrate hussle, and display proper engineering practices with documentation, communication, and ceremonies.
Rebuilt our entire site navigation (across multiple projects & sites) in order to drive traffic to purchase TrainingPlans with immense success
Identified and mitigated bottlenecks in our publisher/creator process by working directly with users themselves.
Managed creation of company-wide style-guide/component library for site consistency
Introduced and built end-to-end testing using Cypress and integrated it into CI/CD flow
MapLarge LLC
Front-End Developer
September 2017 - June 2019
Fully remote position that required self-discipline and initiative to communicate with team members across the country and deliver results.
Reduced potential bugs in our data-bound proprietary front-end framework by increasing type dependencies and building automated testing pages.
Managed a team of developers in a timezone 11 hours away to build out a modernized refresh of our proprietary suite of components.
Built out a style/usage guide for our internal developers to better familiarize them with our framework and speed up the on-boarding process.
Added features and debugged several client projects including Shell, UPS, and the military.
Self-employed
Programming tutor
September 2016 - July 2019
When I was learning how to code, I always appreciated someone who was willing to sit down for a bit and walk through concepts I wasn't understanding. Years later, I know I'm a good programmer and I like teaching so I decided to advertise myself as a programming tutor to help people who have the drive but lack the support.
I tutor several students across the front-range. The majority of students come from coding boot camps and are needing someone to explain the concepts they cover from class a little slower.
I've helped tutor students with JavaScript, Angular, D3.js, Node.js, Python, Java, environment and machine setup/configuration, Mac issues, PC issues, admin issues, as well as general programming concepts such as functional vs object-oriented programming, let vs const vs var, closures, scope, algorithms and data structures, BigO and time-complexity, etc....
Homeaway
Full stack Developer
November 2016 - September 2017
Built fully functional Feature Toggle service and Feature toggle client as a NuGet package from scratch to implement dark launches and speed up release time. This allowed us to speed up our release schedule by weeks by only releasing new features to a subset of users.
Resolve bugs as they come in from users and push fixes to prod
Agile workflow
Markit On Demand
Web Developer
June 2013 - November 2016
Tech-Lead for multiple projects including new builds, site additions, and redesigns requiring skills in managing people, mitigating time-loss, and creating estimates on top of writing the code
In charge of organizing team tech presentations to discuss the advantages or issues with new technologies on the horizon that may prove useful to implement into our process
Tech Lead for multiple projects including new builds, site additions, and redesigns requiring skills in management, mitigating time-loss, creating estimates, on top of writing the code
Build sites that get thousands of hits per day and some that process millions of dollars requiring carefully implemented code scalable code and error handling
Routinely deliver projects on time, the most recent being scheduled for 12 weeks and was finished 3 weeks early
Promoted to Assistant Vice-President
AVANTAR
MOBILE APP DEVELOPER
April 2012 – Sept 2012
Pushed several significant milestone updates that fixed bugs increased functionality
In charge of debugging / updating the official “Yellow Pages” and “White and Yellow Pages” app for Android
Migrated the White and Yellow Pages app code from one environment to another requiring both code and config updates.
Built in many new RESTful calls to the backend API.
Brigham Young University
Web Developer
November 2011 – April 2013
Developed an accountability web-site / system for managers
Helped implement Agile as a workflow
Primarily focused on front-end development with jQuery, JavaScript, HTML, and Angular
Skills
Expert
JavaScript (ECMA 6)
NodeJS
TypeScript
React
CypressJS
Git
C#/.Net
HTML
CSS/LESS/SASS
Social Media Integration
Proficient
AWS
Elastic Search
D3
Machine Learning/Data Mining
Java
Python
SQL
Experience
Scala
Angular
Windows Phone
C++
SOAP
RELEVANT COURSES
Machine Learning and Data mining
Algorithm Analysis
Software Design and Testing
Graphics and Computer Animation
Data Structures
Artificial Intelligence
Computer Networking
Internet & Network Programming
GROUPS
Association for Computing Machinery (ACM) : Webmaster
Increased attendance in meetings from an average of 15 attendees to over 100
Organized logistics, problems, and prizes for several extramural coding competitions
Regularly participated in “weekend of code”, a group effort over weekends to use our coding ability for charity events including creating websites for non-profit organizations
PROJECTS
Feature Toggle
I was asked to create a way in which my team could release into prod, changes to our apps without them being visible to the user. This was accomplished by creating a centralized UI and backend, and a client nuget package that would be included in our different apps. This allowed a developer, for example, to push code that depended on other teams into prod and later, use the UI to toggle the functionality on, once the dependent work was completed.
Since the project went live, we have drastically increased the frequency of our releases, and have done so without fear of customer dissatisfaction.
Tags: SQL, C#, JavaScript, Nuget, Linq, bootstrap, UX, IOC, Dependency Injection, Knockout
Trump Volume
I was curious one day to see how much press mentions Trump was receiving, so I built a little app that scrapes and tracks the number of times "Trump" appears on the front page of 15 different major news sites.
Tags: NodeJS, MongoDB, Scraping, High-Charts, JavaScript, Bootstrap
DOWECAREANYMORE.ORG
After the shooting in Roseburg, Oregon (just a 1.5 hour drive from where I grew up) I decided to create a website that streams tweets with gun-violence related hashtags, averages the count over 20 minutes and displays the number of tweets in a graph that helps people to see how quickly such tragedies are forgotten about.
Tags: NodeJS, MongoDB, TwitterAPI, JavaScript, Bootstrap, PureCSS, Web Sockets, Streaming
CHARLES SCHWAB - FIXED INCOME ANNUITY CALCULATOR
Created a site that gets loaded into Schwab's public facing site that collects basic user data and provides an estimated annuity payout amount. Or, the site can create an estimate of a deposit needed in order to obtain a specified monthly amount.
Tags: C#, SOAP, HTML, LESS, JavaScript, XML Parsing
SOCIO-NOMICS
A rudimentary attempt at predicting stock performance using real-time data from Twitter, news sources, and blogs. This program performs sentiment analysis on the text from the different data sources, compares it with current stock prices, stock price momentum using a Kalman-filter, and outputs a prediction of price direction and magnitude of change. I'm no Carl Icahn yet, but I'm getting there.
Tags: Machine Learning, Data Mining, Sentiment Analysis, Natural Language Processing, Twitter API, NodeJS, MongoDB, Financial Analysis
DINGO
A video streaming app that allows users to geo-tag photos and video. The idea was to create a geographical network rather than a social network. Anyone can open up the app and see the riots in Baltimore, the beaches of Italy, or a political party's convention.
Tags: Java, MongoDB, NodeJS, Amazon SW3, Amazon Elastic Transcoder, JWPlayer API, AndroidSDK, Web Sockets
TCP / NETWORK SIMULATOR
Simulates the delays and behaviors associated with sending data packets over the web. Network conditions considered were race conditions, packet loss, load, bandwidth, etc.... The program simulated the network layer and up.
Tags: Python, TCP, UDP, IP