Ian Cropper

developer

Summary

I've been in this industry for 7 years now. I'm a polyglot with a particular passion for JavaScript. I love it because of it's multi-paradigm flexibility and the community surrounding it. My years of experience have a foundation of theory and fundamentals from my degree in computer science, so when I code, I'm not slapping copied code from StackOverflow together and calling it good.

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

MapLarge
Front-End Developer

September 2016 - Present

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.
  • Resolve bugs as they come in from users and push fixes to prod
  • Agile workflow

Self-employed
Programming tutor

September 2016 - Present

  • 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, algorithms and data structures, BigO and time-complexity, etc....

Markit On Demand
Web Developer

June 2013 - Present

  • 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
  • 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
  • jQuery
  • C#/.Net
  • SVN
  • HTML
  • CSS (LESS)
  • Social Media Integration
  • Git

Proficient

  • Angular
  • D3
  • Machine Learning/Data Mining
  • Java
  • Python
  • SQL, Entity Framework
  • React
  • MongoDB
  • ReSharper

Experience

  • Scala
  • Android
  • Windows Phone
  • C++
  • SOAP

Education

Brigham Young University

Bachelor of Science: Computer Science

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 news sites.

Tags: NodeJS, MongoDB, Scraping, High-Charts, JavaScript, Bootstrap

DOWECAREANYMORE.ORG 

(No longer hosted)

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