Bruno Garcia

I am experienced in game and web development. I have leveraged cross-platform and cloud technology to reduce iteration time and increase performance and robustness.


Experience

Software Engineer, CTO

2DKit, New York

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.

Sep 2013 - Present

Teacher, Mentor

Code Nation, New York

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.

Jan 2015 - June 2015

Software Engineer

Sega Networks, San Francisco

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.

Mar 2010 - Sep 2013

Gameplay Programmer

Zynga, San Francisco

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.

Jun 2009 - Sep 2009

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

Brock University, St. Catharines, Ontario, Canada

Specialization in Software Engineering and Computer Graphics.

2005 - 2009

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
  • 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

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.

2014

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.