Ruby Developer in Calgary, AB, Canada
Lead Back-End & Payments Developer2016 - 2017AutoLotto Inc.
- Hired on a 4-month contract to develop a stand-alone payment system using micro-services.
- Integrated 3 payment partners and multiple risk and KYC vendors.
- Jumped into a problematic legacy Node.js code base and refactored, stabilized, and improved the code.
- Delivered improvements to the infrastructure including implementing production logging and monitoring.
- Mentored the team remotely via pairing, retrospectives, and “lunch & learn” workshops.
- Directed the long-term planning for PCI DSS compliance efforts.
Consultant2016 - 2016Eight Thirty Consulting
Technologies: Ruby, React, Lambda, Kinesis, AWS, Android
- Performed a software process and technology audit on a Java-based financial system.
- Developed a prototype web application with React and Ruby on Rails.
- Migrated a web microservice from Heroku to AWS using AWS Kinesis Streams and AWS Lambda.
- Acted as the CTO and adviser for startup fundraising including financial structure and development of pitch-decks.
Chief Technology Officer2013 - 2016Vogogo Inc.
- Developed a competitive REST API for payment processing and risk analysis—including credit cards, banking, KYC, IDV, and more.
- Designed, implemented, and maintained a cloud-based infrastructure on AWS including 5 services, 3 environments, and 100+ servers.
- Achieved PCI DSS Level 1 compliance certification and was the primary person responsible for PCI, compliance, and security.
- Developed a web-based portal for support staff and merchants who managed operations and accounts.
- Hired and managed a team of 10 local software engineers.
- Engaged and managed remote teams in India and Costa Rica for offshoring some development tasks.
- Integrated technology from a major acquisition and created net value to the company.
- Integrated over 20 services, APIs, and data sets from vendors, banks, payment partners, and governments.
Lead Developer2013 - 2013Canadian Pacific Railway
Technologies: Java, Dropwizard, Oracle, Ansible, AWS
- Automated deployment of a major web application, taking the process from 5+ hours to 5 minutes.
- Implemented an Agile software process helping the team move from 6 releases a year to releases every 2 weeks.
- Migrated a full-stack application from data-center hardware onto the cloud.
- Redesigned a legacy Java application migrating existing code from JBoss and Spring onto Dropwizard.
- Led a team of 10 engineers; responsible for development process, best practices and delivery timelines.
Entrepreneur2012 - 2013Protopattern Consulting
- Developed the official Stripe Android SDK.
- Developed the official Colligo Networks "Briefcase" Android Application.
- Developed (now-offline) Overlay 101 web application providing "WalkMe" like features.
- Consulted on DevOps and Agile process at companies like BarclayCard and Conquer Mobile.
Mobile Applications Lead2011 - 2012Poynt
Technologies: Android, iOS, Java
- Developed software process to support development of one app across 5 mobile platforms.
- Developed the complete Android version of the Poynt mobile app (previously on iOS and Blackberry).
- Implemented a new QA and Product Management process within the organization.
- Started automated testing within the mobile application development team.
- Managed 5 engineers directly.
Lead Developer2011 - 2011AT&T Mobile
Technologies: Ruby, Rails, Solr, Android, AWS
- Developed a massively scalable back-end to support millions of phones downloading millions of apps.
- Created a solution for search and indexing large amounts of plain-text data.
- Designed and implemented elastic infrastructure on AWS public cloud.
- Developed a hybrid Android/web application that could be delivered on all AT&T phones sold in 2012.
- Worked remotely with a customer team in Seattle, WA and team members in Calgary, Toronto, Atlanta, and India.
Lead Integration Architect2010 - 2011Shaw Communications
Technologies: REST, APIs, Java
- Responsible for the integration of 12+ teams and services communicating in a REST-driven SOA.
- Developed policies and proposals reviewed and adopted by the architectural committee (Directors) of the organization.
- Responsible for troubleshooting integration issues and hands-on development of solutions across 12 teams.
- Supervised a small SWAT team of Java developers able to jump into problem areas and address integration changes.
- Worked closely with an integration test team to develop automated solutions to test REST integrations.
Lead Consultant2010 - 2011ThoughtWorks
- Ran project kick-offs to gather requirements and build and communicate the Agile delivery process.
- Provided technical and architectural contributions to the sales process including presentations and written RFPs.
- Lead teams of 10+ developers in a hands on way, providing mentorship, process, architectural oversight and review.
- Recognized as a global expert in AWS and Android within the organization and called onto projects for advice in those areas.
- Served effectively in pure-consulting roles where I would be on site building trusted partnerships with customer executives and stakeholders to deliver advice.
Chief Technology Officer2008 - 2010Curve Dental
- Hired and managed a team of 10+ engineers throughout the early growth of a startup company.
- Installed an Agile software development process and negotiated compromise between development and executive development ideals.
- Designed, deployed, and maintained HIPAA compliant infrastructure on Amazon AWS.
Senior Software Developer2007 - 2008VoodooVox | Call Genie
Technologies: Java, VoiceXML, MySQL
- Developed leading voice-recognition platforms for telecom companies.
- Worked on the team that created #TAXI a globally successful product that connects phones to taxi services in their area.
- Created server-side solutions using Java; team lead on several large engagements with big companies including Verizon.
- Interviewed and hired senior software developers.
- Advocated and participated in the adoption of an Agile software process (SCRUM).
Software Developer2005 - 2007Solium Capital
- Developed a software-as-a-service platform for managing stock options and equity incentives.
- Scaled the product from it's first customer beyond the break-even point.
- Developed strategies for architecture and code re-use across a large team.
- Supervised interns and junior developers on the team.
- Time Entries (Development)https://github.com/protokris/time_entries
An example application showing how to integrate Ruby/Rails and React using the Rails asset pipeline, Browserify, and testing with Teaspoon/Jasmine.
- Bank OCR Kata in Ruby (Development)https://github.com/protokris/bankocr
This is an implementation of the Bank OCR Kata in Ruby in 4 hours or less.
Your manager has recently purchased a machine that assists in reading letters and faxes sent in by branch offices. The machine scans the paper documents, and produces a file with a number of entries. You will write a program to parse this file.
- Stripe Android SDK (Development)https://github.com/stripe/stripe-android
I'm the original developer of Stripe Android SDK.
FrameworksBootstrap, Ruby on Rails (RoR), Mocha.js, Dropwizard, Express.js, Android SDK, Sinatra, Serverless Framework, React Native, Apache Spark, Phoenix, Redux
Libraries/APIsReact, REST APIs, Node.js, Devise, Seneca.js, Financial Service API
ToolsGitHub, Ansible, AWS ECS, AWS ELB, AWS Auto-scaling, Amazon Virtual Private Cloud (VPC), Git, CircleCI, Papertrail, Mongoose, Nginx, Logging, AWS SDK, Terraform, AWS CloudWatch, AWS CloudFormation, Amazon SQS, AWS IAM, Rake, Babel, Jenkins, Logstash, Packer, ELK (Elastic Stack)
ParadigmsREST API Architecture, REST, Continuous Integration (CI), Continuous Delivery (CD), Management, Agile, Continuous Deployment, Object-oriented Programming (OOP), Object-oriented Design (OOD), DevOps, MEAN Stack, Microservices, Promise, Test-driven Development (TDD), Automation, Service-oriented Architecture (SOA), HIPAA Compliance, Reactive Programming
PlatformsAWS EC2, Amazon, Heroku, Linux, Amazon Web Services (AWS), AWS Lambda, Mobile, Android, AWS Kinesis, Docker, Ethereum
StorageAuto-scaling Cloud Infrastructure, JSON, PostgreSQL, AWS RDS, AWS S3, Redis, MongoDB, AWS DynamoDB, Database Replication, MySQL, Elasticsearch, Datadog
OtherPayment Gateways, Leadership, Writing, Platform Building, PCI, PCI DSS, PCI Compliance, Credit Card Processing, Public Speaking, Conference Speaking, Architecture, Software Architecture, Technical Hiring, IT Recruitment, Mentorship, Code Reviews, Team Leadership, SaaS, Relational Database Services (RDS), APIs, Policies & Procedures Compliance, Graphite, Bluebird, Financial Data, PCI/PA-DSS, Release Management, Infrastructure Monitoring, Configuration Management, Single-page Applications (SPA), Server Security, Loggly, AWS Route 53, AWS API Gateway, Banking & Finance, Security, Metrics, Encryption, OWASP, Build Pipelines, Identity, Language
- Certificate in Management and Leadership Studies2010 - 2010University of Alberta School of Business - Alberta, Canada
- Master's degree in Software Engineering2003 - 2005University of Calgary - Alberta, Canada
- Bachelor of Science in Computer Science1998 - 2003University of Calgary - Alberta, Canada