I am a passionate developer eager to learn new languages, platforms, persistence layers and scaling technologies. I love to understand, simplify and streamline complex processes while being embedded in energetic teams of engineers.
Software Engineer @ • Ruby on Rails (RoR)
– CoffeeScript / SCSS Sass
–– jQuery | Bootstrap
– RSpec
– Puma
– Capistrano
– BluePill
• iOS / Android
• MySQL
• Redis
• AWS / S3 From April 2015 to Present (9 months) San Francisco Bay AreaServer Software Engineer @ • Code in Scala / Java to support feature development and fix problems found in legacy systems
• Utilize ScalaTest for TDD
• Interface with MySQL, Redis and MongoDB for data persistence.
• Use Python and Shell scripts for build related automation
• Use Ant / Maven / SBT to compile code
• Use AWS for creating and testing new micro-services
• Migrate non-configuration driven systems to zero downtime configuration driven systems for live tuning of product based on near real-time analytics by non-technical staff.
• Optimize CPU intensive data collection operations by creating highly performant indexes of previously unstructured in-memory MongoDb backed data.
• Create highly optimized network communication with popular networking transport protocols for efficient communication pipelines between services and clients. From August 2014 to April 2015 (9 months) Client Software Engineer @ My daily focus on the War Commander team is spread between several areas:
• Security
–– Code & memory obfuscation
–– Validation / logging
• Release Engineering
–– Jenkins
–– Continuous integration
–– Automated unit testing
–– Authoring / upgrading build scripts
–– CDN integration and strategy
–– Migrate build / deployment to AWS
• Client Architecture
–– Refactor legacy code
–– Peer code reviews
–– Code performance optimization
• Tech Talks
–– GIT primer
–– CDN overview and strategy
–– Using Ant to build From August 2013 to August 2014 (1 year 1 month) San Francisco Bay AreaMobile Software Engineer @ I was on several mobile engineering teams during this time. As the company tried to move into the mobile space, I was challenged to find technologies that would re-create our gaming experiences, performance and fidelity in the emerging mobile markets, and platforms. We employed several development strategies, and technologies including PhoneGap (HTML, Javascript), Cocos2d and Objective(C++). Socket based network communications between peering users, Box2d physics engine, native Objective-C utilizing UIKit through interface Builder, TexturePacker for bundling graphics, Cocos2d (for animated cut scenes) and Unity3d paired with C#. From August 2012 to July 2013 (1 year) San Francisco Bay AreaTechnical Director @ • Supply high level engineering timelines and estimates to production staff as they might apply to new feature, and system development
• Create engineering road-maps for quarterly development projections
• Work daily with engineering staff to ensure their efficiency, dependability and quality of development
• Lead daily sprint stand-ups with engineers, producers, and other staff to provide clear expectations of development, issue resolution, and community expectations
• Report to company engineering leadership weekly on the status and roadmap for my product
• Interview Ruby on Rails and Flash engineers for the team and company
• Meet individually with engineering team members weekly in one on one’s to discuss their career development, address team issues, give praise, coach them and administer performance improvement plans when necessary
• Provide custom reporting on ad-hoc data for producers, global monetization team, and other cross-promotional interest teams to optimize our game and monetization strategy
• Aggregate, Sort and Parse server log files for forensic information used in recovering data, generating reports from non relationally stored business metrics, or profiling abusive user behavior by employing regular expressions, sed, grep and other command line tools across clustered server environments collecting data from large numbers of virtual machines over ssh
• Lead engineering triage strategy after an incident to facilitate transparency to the company and provide clear communication to the community of users about the severity of the incident, the estimated timeline for the resolution, and any planned compensation.
• Authored and ran custom Ruby scripts on game clusters to award contest winners
• Development and enhancement of deployment strategy for front-end / back-end production code pushes with emphasis on stability, rollback strategies, and forced client reloading when needed. From April 2011 to August 2012 (1 year 5 months) San Francisco Bay AreaLead Flash Engineer @ • Architect new systems and features related to the game Dragons of Atlantis
• Profile, and re-architect poorly performing, or non scaling systems within the game to increase frame-rate, and fidelity.
• Interview, hire, and mentor flash developers for the team
• Accurately estimate time required to complete programmatic tasks as they relate to agile sprint schedules
• Work with Ruby on Rails engineers to develop high performance communication between front-end systems, and persistence layer
• Facilitate sharing of code, strategy, and implementation specifics to other build teams within the company using our code as a starting template for future game development From February 2011 to May 2011 (4 months) San Francisco Bay AreaFlash Engineer @ Company was acquired by Kabam. Continuation of previously listed skills. From October 2010 to April 2011 (7 months) San Francisco Bay AreaFlash Engineer @ Create and maintain social games on Facebook, MySpace, and Wonderhill.com using Flash / Actionscript, while working with Ruby on Rails developers. Game titles i contributed code to in part or whole include:
• Greenspot ( MySpace )
• Enchanted Gardens ( Facebook / WH.com )
• Fairy Rescue ( Facebook / WH.com )
• Tattoo City ( Facebook / WH.com )
• Dragons of Atlantis ( Facebook / WH.com )
Flash technology employed:
• Flash Player performance optimization
- CPU / Memory
• 3D scene / model / texture usage ( Away 3D )
• Isometric Engine usage
• Pathfinding ( Dijkstra, A* )
• High count of animated display objects on stage simultaneously
• Blitting ( blit-sheet creation at run-time from animated source assets )
• Asset caching using Amazon s3
• Asset library management
- Lazy loading
- Cross-domain access
- Application domain sandboxing
• Socket Communicaiton
• XML / JSON server communication From July 2009 to November 2010 (1 year 5 months) San Francisco Bay AreaFlash Developer @ Develop an interactive application that promoted children to learn, while earning rewards. While contributing to the development of the main flash application one of my main responsibilities was cleaning up off-shore developed mini flash games to function properly, and to communicate with the larger game application to report stats, scores, and progress. Working at this position required that i ran a full Java web stack on my local machine which afforded me some exposure into the work of Java based web development using Tomcat, Maven, Spring, Struts, Hibernate, MySQL and JSP. While I by no means know much about these technologies, it was a completely new tech stack for me compared to the LAMP environment's i had been in formally. In addition to my actionscript responsibilities i also produced an animated video demo of the product for use by the executive, and sales teams to promote the product showcasing the value proposition in a short HD video trailer. From April 2009 to July 2009 (4 months) Interactive Designer @ Graphic Design, Flash Actionscript Development, SEM, SEO, Video Animation, Video Compression, Interactive Authoring, Photography. This company was primarily a interactive agency working with Rochester area companies as large as Kodak, Xerox, Bausch and Lomb, and many other smaller scale businesses. My primary responsibility was to create interactive training pieces for Kodak's vast network of sales associates working for Best Buy, CompUSA, and many other smaller retailers. From September 2006 to April 2009 (2 years 8 months) Adjunct Faculty Member @ Instructed students on how to create, and deliver interactive applications on mastered media, and the web via Adobe Director, and Lingo script From 2004 to 2006 (2 years) New Media Designer @ Author interactive CD's, DVD's, create video animations in Adobe After Effects, maintain a corporate website in Flash, PHP, HTML, and CSS, Video Compression of just about every format, and assist in most every aspect of video production, and post production. From 2002 to 2006 (4 years)
BFA, Visual Communications @ Kendall College of Art and Design From 2000 to 2003 NA, Engineering Management @ Western Michigan University From 1999 to 2000 Erik Ketcham is skilled in: ActionScript, JSON, Flash, JavaScript, Git, CSS, Ruby on Rails, Ruby, PHP, Objective-C, Photoshop, HTML, XML, MySQL, Node.js
Websites:
http://www.eketch.com