A talented senior gameplay and tools engineer, I have shipped 9 titles and been part of several more unreleased and/or unannounced projects. I have 7+ years of experience in Unity and C#, 6+ years in C++, JavaScript, and other proprietary 2D and 3D game engines. I bring a well-rounded perspective to teams of any size, pulling from my professional experience with both startups and large corporations: not only in gameplay and tools, but also front and backend systems including web development using Reach.js, web APIs with Node.js, and databases in both MongoDB and SQL Server. Coupled with my experience setting up DevOps environments and pipelines, my skillset is extensive and strong.
On the soft side of things, I am a self-driven person who works easily with little direction. I have high emotional intelligence and excellent communication skills. In addition to my penchant for translating technical details with non-technical team members, I have experience in several positions of leadership, mentoring other developers and training both technical and non-technical team members. I am particularly skilled in software architecture, design, implementation, and documentation.
Complementing my skills as an engineer, I love to learn more about all aspects of game development including design, art, and narrative. I am proficient in Blender and Adobe Illustrator, and continue to improve my skills and expand my portfolio in those areas. I have a passion for language learning as well, speaking English natively, Spanish conversationally, and continuing to learn German and Russian as a current novice.
If any of this sounds of interest to you, either professionally or personally, please reach out and let's connect! I love meeting new people and sharing experiences.
Short contract for creating gameplay prototypes and demos for an unannounced product in Unity.
For this contract, I created prototypes (gameplay, animations, temp assets, etc.) for several game mechanics including:
- Flashlight
- Magnifying glass
- Simple NPC AI
- Point-to-point portals
- Floor-to-floor portals
- Doors, locks, and switches
- Fuse boxes
- Hidden information visible only through player interaction with items
- Environment collisions
- Input controls for custom device
- Provided technical direction and designs for tooling and systems extending the Unity editor, providing a game development kit (GDK) targeted toward development of real-money games.
- Traveled to the various game studios, including a brand new one in Sydney, Australia to help get them set up for development and onboard them to the Unity game engine and the custom GDK.
- Designed and implemented a system for game components to cleanly communicate in a decoupled way that empowered both game developers from a code-first perspective as well as editor users via the inspector and editor tooling to swiftly and flexibly implement game features.
- Trained and mentored new developers to the Unity game engine and its features.
- Developed proof-of-concept and prototype tooling and systems to quickly evaluate efficacy, performance, and memory use in order to effectively make determinations about further implementation without wasting company time and resources.
- Performed research and development into new Unity and third party technologies and assets in order to vet them and speed up development where possible.
- Led the efforts and development/debugging necessary to upgrade the company through two Unity versions in three years.
- Designed and implemented DevOps CI/CD pipelines to aid rapid iteration and release.
- Designed and implemented middleware systems and tools extending the Unity editor.
- Created gameplay prototypes in Unity and C# utilizing the new systems and tools we were creating to help vet them and test usage.
- Coordinated user acceptance testing and set up user feedback loops to continue improving the GDK tools.
- Analyzed systems for performance and memory utilization using Unity's profiling as well as third party profiling tools, implementing optimizations where necessary.
- Provided training and mentorship for the use of Unity, C#, and the proprietary tooling we were creating.
- Created technical and non-technical documentation for tools, systems, and prototypes.
- Evaluated new software and provided recommendations for adoption of appropriate and helpful tools.
- Created tutorial videos and informative blog posts for training and visibility purposes.
- Reviewed peer and junior engineer code.
- Set up and maintained DevOps pipelines, processes, and workflows for version control and release management.
Brought onto the team as the first hire on a project to migrate the company from a proprietary game engine to using Unity3D.
- Designed and implemented software architecture for low-level systems built on top of the Unity game engine and C# to provide a middleware game development kit (GDK), allowing the company's game developers to focus on unique features for real money slot games.
- Implemented new features in the C++-based platform system, creating a bridge for connection to the Unity middleware layer.
- Trained junior and peer software developers new to Unity and C#.
- Mentored junior software developers in best practices and advanced programming concepts and techniques.
- Reviewed peer and junior code.
- Created technical and non-technical documentation for new and existing systems.
- Created standalone tooling in Unity and C# for sending and receiving bespoke messages to/from the backend and middleware layers.
- Analyzed and optimized performance and memory utilization of low-level systems to ensure that game developers had as much resources and framerate as possible to work with in their games.
- Organized and led a committee to establish best practices and standards for the use of Unity and C#.
Soft released 1 title as full-stack game developer (gameplay, tools, backend); company closed due to loss of investments in the pandemic before full launch.
- Collaborated with translators and linguists to implement localization and native/target language dialogue in the immersive language-learning game.
- Implemented gameplay features in both 2D and 3D using Unity and C#.
- Evaluated and provided recommendations for new technologies for the company's DevOps and process/workflow needs.
- Set up and coordinated the company's candidate tracking system for the purposes of hiring a new software engineer.
- Conducted initial and technical interviews for software engineer candidates and provided hiring recommendations to the CEO.
- Designed, distributed, and evaluated Unity technical tests for software engineering candidates.
- Implemented new features for game support systems using NodeJS, MongoDB, AWS, and Google Cloud Services.
- Collaborated with external partners from Cambridge University to improve inter-business processes and workflows, to ensure success of the project.
- Trained and mentored a new software engineer
- Created and maintained both technical and non-technical documentation for the company's products.
Shipped 1 title as full-stack game developer (gameplay, tools, backend)
- Implemented new gameplay features in both 2D UI and 3D in Unity and C#.
- Maintained and updated backend support systems and web APIs connected to the game.
- Implemented new features for the game's backend APIs using NodeJS.
- Provided support and updates for the company's website based in React.
- Added new functionality and data structures for the backend databases utilizing MongoDB and NoSQL.
- Provided support and maintenance for existing pipeline tooling.
- Created new tools for workflow and processes utilizing C#, JavaScript, and serverless functions.
- Maintained, updated, and added features to the AWS and Google Cloud instances and functions.
- Designed and implemented base architecture used to create 15 different types of 2D UI exercises.
- Provided support for proprietary APIs utilizing Python's natural language processing (NLP) capabilities.
- Created and maintained technical and non-technical documentation for internal and external company resources.
- Developed, maintained, and supported Microsoft ASP.NET MVC 5 applications that support the company's internal processes.
- Implemented new features using C# and JavaScript in various sections of the manufacturing application including billing, shipping, inventory management, and invoicing.
- Provided support, updates, and maintenance for existing features.
- Worked directly with various teams to gather user requirements and feedback as well as user acceptance testing.
- Collaborated with stakeholders to ensure company needs and priorities were being met.
- Debugged, analyzed, and optimized new and existing features to keep the platform performant in critical areas.
- Designed and implemented UI for workflow automation based on user requirements.
Shipped 4 titles as gameplay programmer.
- Utilized JavaScript, C++, and XML to Implement gameplay features for video and mechanical real money slot games, following designs laid out in game design documents, in the company's proprietary game engine and backend platform.
- Created tools using C# to help automate processes and workflows.
- Analyzed and optimized game performance using proprietary and third party tools.
- Implemented and utilized shaders using HLSL to achieve performant and striking visual effects.
- Collaborated across multiple teams and disciplines to share techniques for gameplay implementation and optimization.
- Organized and led a committee to establish company-wide (across 3 game studios) coding standards and best practices for JavaScript and C#, ensuring there was proper representation from each studio.
- Mentored junior developers in general software architecture and implementation best practices for the company's proprietary game engine.
- Reviewed peer and junior software designs and code
- Co-founded a special interest group focused on learning and evangelizing for the Unity game engine.
- Designed and pitched three slot game concepts to game design directors.
- Debug, repair, and maintain the company's front-end SAAS platforms and back-end codebases
- Write and update C# (ASP.NET MVC 4 / 5), JavaScript, HTML, CSS, and ActionScript code
- Respond to Tier III support tickets using JIRA
- Collaborate with lower support tiers, ensuring client focus and timely resolution of support issues
- Lead product release testing initiatives by creating QA policies and procedures
- Administrate product testing in a beta environment to ensure product stability
- Coordinate the company's SCM setup and structure, code release and integrations, and product deployment
- Collaborate remotely with other developers and support team members
- Provide technical training and support to team members
- Create written and recorded documentation for the company's codebase, platform usage, and QA policies and procedures
- Research new development techniques and technologies for professional development
- Perform software and framework upgrades to ensure product stability and relevance
Shipped 3 titles as gameplay programmer
- Collaborated on a cross-functional team to design, develop, and release video and mechanical real money slot machine games.
- Individually responsible for the software design and development of gameplay code, including game logic, UI, and other visual game elements.
- Implemented gameplay, library, and tool systems using various languages including C++, JavaScript, and C#.
- Collaborated with developers from other teams to ensure code reuse across games and projects.
- Participated in game testing across projects and teams to provide a high level of quality assurance and issue resolution.
- Reviewed peer code and designs to identify algorithmic and performance flaws as well as ensure adherence to corporate coding and style standards.
- Contributed to shared code libraries to improve processes and maximize code reuse and data driven design.
- Considered and adhered to OOP design principles while designing gameplay systems and components.
- Provided technical support and tools instruction to artists, producers, and quality assurance team members as needed.
- Maintained and update code base documentation to reflect updates in interfaces and procedures.
- Prepared and presented tutorials and best practice standards for OOP JavaScript.
- Participated in extra-curricular events and activities such as AI robot competitions, using Java to write robot behaviors.