I develop technology supporting games and web applications for a living.
Experience
2DKit, New York - Software Engineer, CTO
Sep 2013 - Present
Co-founded 2DKit as a successful games middleware and services company. Architected a commercial-quality game engine, asset processing tools, and cloud services backend. Focused on performance, robustness, and scalability. Wore many hats in interacting directly with customers and planning around future trends. Hundreds of games built with 2DKit exist today as web games, native apps, messenger games, and playable ads.
Code Nation, New York - Teacher, Mentor
Jan 2015 - June 2015
Taught introductory HTML, CSS, and JavaScript to students in under-funded New York public high schools. Planned lessons and led classes in design and computer science topics, as well as classes focused on industry-standard tools and practices. Connected graduates with internships in software development.
Sega Networks, San Francisco - Software Engineer
Mar 2010 - Sep 2013
Developed a variety of multiplayer web and mobile titles, including Doctor Who: Worlds in Time, Corpse Craft, Whirled, and several unreleased projects. Pitched game design concepts and iterated quickly with small agile teams to go from prototype to launch. Contributed to a strong tech culture and maintained long-lasting codebases.
Zynga, San Francisco - Gameplay Programmer
Jun 2009 - Sep 2009
Developed Roller Coaster Kingdom, a first-generation Facebook game played by millions of users. Utilized analytics-driven methodologies to inform new features and report bugs in production. Adapted to challenges faced when using bleeding-edge technologies and platforms.
Open Source
Haxe
Haxe is a cross-platform programming language. I was an early contributor to the JavaScript compiler target, implementing the SourceMap specification, performance improvements, and automatically generated external bindings to web browser APIs. 2DKit uses Haxe extensively.
Popcord
Chrome extension for watching videos with other people remotely. Built to scratch a personal itch of keeping in touch with my own friends and family during the 2020 quarantine.
Curitiba Maps
Maps of services in Curitiba, Brazil. The municipal government provides large databases of geographical data but there was a need for an easy way that everyday citizens could view it on a map. I wrote some tools that converts the database into a format that could be uploaded to Google Maps.
13 Squares
Entry to the Ludum Dare game jam, a 48 hour hackathon where the theme was “minimalism”. The renderer draws only 13 sprites, so the more you level up the less you can see the world around you.
@WikiRandomWalk
Twitter bot that steps through Wikipedia using Brownian motion to highlight interesting relationships between topics.
@PrequelScenes
Twitter bot that tweets subtitled clips of dialogue from the Star Wars prequel trilogy.
Education
Honours Bachelor of Science, Computer Science
2005 - 2009
Brock University, St. Catharines, Ontario, Canada. Specialization in Software Engineering and Computer Graphics.
Skills
Programming Languages
- Fullstack modern JavaScript, web and NodeJS
- Java, Typescript, Haxe
- HTML5, CSS
- C, C++, Objective-C
- Bash, Python, Regex
Tools and Libraries
- Web development: Webpack, Angular, DOM
- Android and iOS development and SDKs
- Popular game middleware: Box2D, Spine, SDL
- OpenGL, WebGL, GLSL
- Amazon EC2, S3, CloudFront, Lambda
- Facebook API, Stripe
- SSH, Cron, SystemD, Nginx
- MongoDB, MySQL, PostgreSQL
- Git, Mercurial, SVN
- Jira, Trello, Pivotal Tracker, Basecamp
Workflow
- Cross-platform development, testing, debugging, and profiling
- Understanding requirements by engaging with end users
- Mobile-first, responsive design
- Automated testing and continuous integration
- Agile development and scrum
Publications
HTML5 Game Development Insights
Apress Media, 2014
HTML5 Game Development Insights is a from-the-trenches collection of tips, hacks, and advice straight from professional game developers. My contribution explored techniques in migrating game animations from Adobe Flash to HTML5.
Interests
Aside from being a software developer, I am an avid aerial circus artist, rock climber, and aspiring harmonica musician. I enjoy travelling, and after escaping Silicon Valley travelled Brazil for 2+ years as a wandering software craftsman. I speak fluent English and Portuguese, and touch-type Dvorak.
I care deeply about technology and understanding its systemic impacts on individuals and society. I enjoy reading science fiction and exploring the latest tech advancements in my fields.