Team Lead, Senior Ruby Developer2012 - PRESENTMobile Defense
- Designed and built a real-time phone routing system from cell phones to CSRs in browser soft phones.
- Pushed for development workflow standards, including peer reviewing, pair programming, documentation, and code style standards.
- Led a team of 5 developers in an Agile/Scrum approach, from planning sprints to day to day execution to sprint retrospectives.
- Transformed a poorly tested, monolithic Rails app into a backtested, well-designed app.
- Led an architecture overhaul from a monolithic Rails app into a service oriented architecture.
- Google Safe Browsing v2 Ruby Library (Development)https://github.com/mobiledefense/google_safe_browsing
This gem allows easy Google Safe Browsing (GSB) APIv2 usage with optional integration into Rails 3 apps. The GCB v2 API is different from most web-based APIs in that it has a local storage requirement. Short prefixes of the hashes of the malicious websites are stored locally on the client side. This gem turns a complex implementation into a few commands to install and two public API methods.
- Simple Ruby Hasher (Development)https://github.com/chrismar035/simple-hasher
A simple, reversible hashing library. A reversible hashing algorithm is useful for temporarily encoding information and can be used in applications such as URL shorteners.
- Ruby Playing Cards (Other amazing things)https://github.com/chrismar035/card-games
This is a collection of classes that model playing cards and playing card concepts. As a bonus, some card games are implemented as terminal applications, including blackjack and some "drinking" card games.
- Vim Guitar syntax highlighting (Other amazing things)https://github.com/chrismar035/vim-guitar
A Vim syntax highlighter for guitar tab and chord files.
- Commish App (Development)https://github.com/chrismar035/commish_app
An open-source Rails application that interacts with the Football Nerd fantasy football API. It can scrape ESPN fantasy leagues for users' teams and their opponents' players. It tracks their projections week to week and allows users to see the most eligible free agents and determine if their players are over or under performing.
- Golang Concurrency Examples (Other amazing things)https://codegoalie.com/2014/06/14/go-concurrency-by-example/index.html
A blog post and accompanying (running) examples explaining basic concurrency concepts of the Go language.
FrameworksRuby on Rails (RoR), Redux, GRPC, Flux, Sinatra, Android SDK
Libraries/APIsGoogle Safe Browsing, Node.js, jQuery, React
ToolsGit, Vim Text Editor, Terminal
PlatformsAmazon Web Services (AWS), Linux, MacOS, Kubernetes, Docker, Android
ParadigmsAgile Software Development, Object-oriented Design (OOD), Pair Programming
StorageMySQL, PostgreSQL, SQLite, Redis, Google Cloud, AWS DynamoDB, MongoDB
OtherProtocol Buffers, Chrome Extensions
- Bachelor's degree in Computer Science2007 - 2011Kent State University - Kent, OH