jasons at wumple dot com
http://jasons.wumple.com/resume/
Highlights of Skills and Knowledge
- Technical leadership and management of engineering teams, including building startup engineering teams from the ground up, starting and managing a small business, improvement of engineering practices and quality, and working across multiple multidisciplinary teams.
- Development leadership experience in all phases of online product development: early concept, pre-production, production, internal testing, public testing, deployment, production support, live product enhancement, new markets and business models, expansions and sequels, etc.
- Architecture and implementation of high availability, high performance software, infrastructure, and shared technology on a variety of platforms, including cloud IaaS (Infrastructure as a Service).
- Extensive experience with network programming (including TCP/IP sockets and UDP), client/server and distributed systems, WebSockets, security, cryptography (encryption and decryption), and multi-process and multi-threaded programming (POSIX pthreads and Win32).
- Experience architecting, deploying, automating, and running services on Google Compute Engine, Rackspace Cloud, and Amazon AWS EC2 cloud IaaS providers.
- Virtual Reality (VR) development including Oculus Rift, SteamVR/HTC Vive, and OSVR.
- Profiling, modeling, and optimizing server and client performance, and measuring and reporting results of improvements.
- Extensive programming experience in C++ and C. Development using the C++ standard library (including STL), templates, RTTI, ASIO, and ACE, including use of design patterns and UML.
- Debugging and profiling tools including Valgrind, Insure++, Purify, dmalloc, VTune Amplifier XE, tcpdump, Wireshark, Adobe Monocle, and others.
- Development using Javascript/ECMAScript 2015 (ES6), WebSockets, JSON, AJAX, XML, HTML, CSS, memcached, FastCGI, MySQL/mariadb. Reactive async web development.
- node.js (including ES6 additions via Babel) development with extensive npm module usage. Server and client JavaScript/ECMAScript experience. Development under Wordpress, Drupal, Joomla, IPS.
- DevOps, system and network administration, automation, and development experience with Unix systems including Linux, Solaris, and Irix. Physical machine and VM creation and management. DNS, DHCP, NFS, SMB, DLNA, firewalld, iptables. Set up, administered, and scaled source control systems for small to large teams including git, Perforce, and CVS.
- Multi-platform Unix development with GNU toolchain including GCC and G++, and LLVM toolchain including clang. Microsoft Windows programming with Visual C++.
- Development experience with Java, ActionScript3 (AS3)/Flash, C#, Python, PHP, Perl, bash, Pascal, BASIC, MS Visual Basic, COBOL, Intel x86 assembly language.
- Game development under Unreal Engine (including plugins and Blueprint), CryEngine, and proprietary game engines.
- Extensive Agile and Scrum development experience. Certified Scrum Master.
- Three projects listed in the Guinness Book of World Records (Ultima Online, Star Wars: The Old Republic, and Star Citizen).
Products Shipped
- Descent: Underground, Star Citizen (various modules), The Ville, Star Wars: The Old Republic, Ultima Online, Klingon
Academy, CJK Update, UO: The Second Age, Third
Dawn, Lord Blackthorn's Revenge, Age of Shadows, UO: Seventh
Anniversary Edition, Samurai Empire, Mondain's Legacy, The 8th Age, Kingdom Reborn.
Experience
- Chief Technical Officer (CTO) and Co-Founder, Descendent Studios, 11/2014 to 12/2017
- Crowdfunded Descent: Underground, a six-degree-of-freedom vehicle shooter game, with partners via Kickstarter and project web site.
- Created and implemented dynamically scaling, cloud-based platform architecture for web site and game services. Evaluted, chose, and integrated technologies.
- Rapid development: released first version to backers within six months of starting development, and for sale via Steam Early Access within seven months.
- Hired technical team and mentored new engineers. Ran both web engineering and game engineering teams.
- Game client and server development under Unreal Engine 4, including Blueprint, C++ plugins, and engine modifications. Submitted engine fixes (accepted) to Epic Games. Handled engine upgrades via vendor merging process in Git.
- Extensive use of Google Cloud Platform for web site and game service, including dynamic autoscaling to handle service load on demand while also reducing costs.
- Implemented real-time movement prediction, weapon prediction, web and game service autoscaling, multiple game features.
- Developed Virtual Reality (VR) support including Oculus Rift, SteamVR/HTC Vive, and OSVR.
- Implemented multi-platform build system (Windows, Linux, and MacOS) using Buildbot. Created completely automated build and deployment systems for rapid development and release.
- Created development and IT infrastructure for company from scratch, including Kolab (email/groupware), GitLab, Joomla.
- Additional tech used includes: node.js (including babel, sequest, async, winston, nconf, express, async, and Google Compute APIs), Herd/Murder, torrent, bbcp, supervisord, nodervisor, mariadb, memcached, Joomla, NFS.
- Chief Technical Officer (CTO), Cloud Imperium Games, 1/2013 to 10/2014
- Developed the crowdfunding-record-breaking Star Citizen space combat and trading game.
- Played a critical role in the project from inception of the company as a startup to crowd-raising over $50 million.
- Grew engineering team to over 40 engineers (internal and external) across multiple locations. Recruited, interviewed, and hired engineers across the company.
- Instituted distributed development processes to ensure communication, efficiency, and quality across team of over 200 developers.
- Designed the software architecture of the project end-to-end, including client and server, launcher/patcher, automation, deployment, build, web, automated and load testing.
- Set technical standards and practices, including technical design and review process, coding standards, and code reviews.
- Performed technical design, review, and implementation across the project.
- Reviewed feature proposals for technical feasibility and rough costing. Recommended changes to reduce risk and/or implementation time.
- Instituted agile development methods and continuous deployment to speed project development and increase nimbleness. Released first product version to customers 7 months after company inception, with over 20 major and minor releases within two years.
- Evaluated, chose, and negotiated contracts with cloud computing providers, CDN providers, external developers and companies.
- Advised other executives, studio heads, and production staff on development and production processes, technical decisions and risk, scoping and scheduling, tools, IT needs including hardware and networking.
- Monitored and assessed current and new technologies. Led adoption of open source technologies, DevOps practices, and agile development methods.
- Taught teams (including engineering, production, and QA) how to release online projects by creating a rapid development and release process.
- Developed code and debugged development and production issues in emergencies and as needed.
- Set up vendor drop merge process. Integrated vendor engine code drops into project.
- Principal Software Engineer, Zynga, 5/2011 to 10/2012
- Released The Ville, a social game on Facebook with over 60 million monthly users as of August 2012.
- Served as studio CTO, architect, and engineer at different times during the project.
- Technical design, review, and implementation across the project.
- Interfaced with engineers, leads, and studio CTOs throughout Zynga to provide and gather information and diagnose platform issues.
- Authored technical design template document and review process. Reviewed technical designs and performed code reviews.
- Reviewed feature proposals for technical feasibility and rough costing. Recommended changes to reduce risk and/or implementation time.
- Fixed critical client and server/backend bugs and performance issues.
- Designed, implemented, and/or improved many systems including relationships, AI, reactions, collision, pathfinding, interactions, radial menus, effect sequencing, group actions, flash sales, gardening expansions, and pets.
- Technical Director, BioWare studio of Electronic
Arts, 2/2009 to 5/2011
- Development on Star Wars: The Old Republic, an MMO (online game).
- Technical design, review, and implementation across the project.
- Authored technical design review process, coding standards, and code review process. Improved software engineering processes across project and groups. Performed code reviews.
- Evaluated technical project risks and provided recommended mitigation and corrective actions to project management.
- Identified technical systems and tasks missing from project schedule, authored user stories, and advocated for resources.
- Evaluated and advocated re-use of shared internal and external libraries, especially to correct or improve technically weak areas of the project code. Adoption increased code performance and stability.
- Evaluated and provided profiling tools to use during optimization efforts, and implemented support for profiler-specific features in project code base. Profiled code base using the tools and wrote profiling directions for team use.
- Fixed critical server, client, and infrastructure bugs. Found and fixed critical Linux server port and profiling bugs.
- Facilitated technical relationships with outside partners and vendors. Obtained discounts on tools and technology, and technical assistance from partners. Managed updates and feature requests with external technology vendors.
- Additional areas of concentration included patching (automatic update) system, installation and digital distribution, login, automated build and test system, deployment system, performance and profiling, asset management, security, game server, Linux, optimization.
- Senior Software Engineer, BioWare studio of Electronic
Arts, 1/2008 to 2/2009
- Server software development on Star Wars: The Old Republic, an MMO (online game).
- Technical design and implementation of network replication system and patching system. Found and fixed critical server and client bugs.
- Implemented large address aware support in client, tools, and server to double available memory space and avoid out of memory errors. Upgraded DirectX, ported shaders, and tested support under various Windows versions and environments.
- Technical Director, EA Mythic studio of Electronic
Arts, 9/2007 to 1/2008
- Technical oversight of Ultima Online/Dark Age of Camelot group.
- Designed and implemented character database improvements to allow large character data sets and prevent near-future critical downtime.
- Designed a technical architecture to support a significant new market.
- Evaluated security, patching, and other systems of the product and created improvement recommendations for engineering teams and management.
- Managed source control system and tools.
- Part of team which coordinated project move from California to Fairfax, VA, including movement of development hardware and planning for movement of critical backend systems.
- Senior Software Engineer, Electronic
Arts, 5/2004 to 9/2007
- Released UO: Seventh Anniversary Edition, UO: Samurai Empire, UO: Mondain's Legacy, and UO: The 8th Age, and UO: Kingdom Reborn.
- Remote employee based in Austin, TX, working with teams in Redwood City, CA and Fairfax, VA.
- Technical design, review, and implementation on Ultima Online projects.
- Researched, prototyped, and modeled new online game technology, including asset streaming systems and networking systems.
- Profiled and modeled server performance, predicting maximum user loads and CPU usage growth. Modeled growth of subsystem performance and growth. Integrated lightweight profiling system.
- Led optimization of server code, coordinating several engineers optimizing different systems. Personally optimized server CPU usage by ~25% during high player loads. Measured improvement and recommended future work. Optimization contributed significantly to smooth launch of expansion product.
- Modeled server CPU and memory usage for possible future products with different performance characteristics, and other situations.
- Implemented expansion promotional item framework, sixth character slot support, and additional game features.
- Restructured server runtime directory layout to enable deployment via software configuration management tool. Improved organization and setup of server software to increase management efficiency. Involved large code changes throughout server software.
- Fixed critical, difficult to find issues such as a ship object duplication exploit, back end data warehouse process instability, and network library error checking. Provided Operations with information, investigation, and production issue resolution 24/7.
- Managed source control system and tools.
- Director of Technology, Origin Systems studio of Electronic Arts, 6/2001 to 5/2004
- Released UO: Lord Blackthorn's Revenge and UO: Age of Shadows.
- Received Origin MVP (most valuable player) company award for 2001.
- Responsible for technical strategy and architecture of studio projects, including Ultima Online and UXO. Worked with studio management to implement strategy.
- Worked closely with engineering and management of UO Live, UO Expansion, UXO, and QA Engineering teams, with dotted line reporting of all engineering leads.
- Led architecture and technical design of Ultima X: Odyssey, a massively multi player online game.
- Led the technical requirements, architecture, and design of new projects. Led evaluation of technologies to use in new and existing products.
- Worked with team leads to plan future tasks. Investigated and recommended improvements and necessary changes, and identified future risks. Created engineering project schedules with team leads.
- Conducted engineer interviews and made hiring recommendations.
- Worked with Producers and multi-discipline team leads of multiple projects, providing technical evaluation, risk identification, and advice.
- Interfaced with Technical Directors, engineers, and CTOs throughout Electronic Arts to provide and gather information, and evaluate shared technology for reuse.
- Led the creation of engineering/coding standards. Worked with multiple teams of engineers for input and feedback.
- Led creation of software development process. Documented and formalized existing processes and worked with team leads to improve processes.
- Implemented code review process and led code review sessions to improve engineering quality.
- Created a technical library for reference and educational use by engineers. Organized training in software engineering for programmers. Trained customers in requirements creation.
- Dramatically increased uptime and stability of the Ultima Online service with a variety of improvements, refactoring, analysis, debugging, engineering process improvements, and engineering quality improvements. Increased performance of the service with a variety of optimizations.
- Analyzed and diagnosed kernel panic traps and core files. Documented and taught system administrators.
- Managed multiple source control systems (CVS and Perforce) and tools. Unreal Engine development experience.
- Senior Software Engineer, Origin
Systems studio of Electronic
Arts, Ultima Online, 8/2000
to 6/2001
- Released UO: Third Dawn.
- Redesigned and implemented new distributed, parallel world
state save and load system, reducing state save times from 1-2 hours to
5-15 minutes and making startup 2-5 times faster.
- Optimized compilation of proprietary scripting language,
making
script compilation six times faster. Created standalone script compiler
which increased designer efficiency.
- Fully ported distributed server software to Linux. Involved
researching kernel source code.
- Added network metrics tools to client, allowing dynamic
monitoring of bandwidth usage and packet statistics.
- Created dynamic gameplay update range, allowing players with
lower quality connections to play on more equal footing by reducing
their update range.
- Automated setup of server machines by creating setup scripts
and data images.
- Designed and implemented a server-side movement limiting
system that works with the existing protocol lacking time synchronization.
- Designed and implemented internationalization assistance program to automatically replace static strings with string ids and new function calls, and
create string files for localization.
- Designed and implemented inactive and canceled character
deletion.
- Troubleshooted and fixed hardware problems, such as finding
and
removing incorrect memory type, configuring RAID arrays, etc.
- Discovered and fixed many server crashes and potential crashes
and exploits, thus increasing service uptime.
- Designed and implemented various other optimizations and
improvements.
- Independent contractor from 8/2000 to 1/2001.
- Principal Software Engineer, President, Wombat Games, Inc.,
9/1998 to 8/2000
- Released Klingon Academy.
- Game design, technical design, and programming on Dark Zion, a
massively multi player online role playing game.
- Provided Origin Systems,
Inc. and Ultima Online: The Second Age
with general programming, networking, performance, patching, bug
fixing,
systems programming, documentation, training, and deployment services,
and with 24 hour on call engineering support.
- Developed multi player support in Klingon Academy
for Interplay Productions.
- Extensive use of C, C++, templates, STL, RTTI, Python, and
Bourne shell with development under Linux and Windows. TCP/IP networking and NAT busting.
- Implemented and used the R+-Tree
and OBB-Tree
(Oriented Bounding Box Tree) spatial data structures.
- Configured Apache web server with virtual servers, IP
aliasing,
sendmail, SSH, and Samba.
- Started business with partners, managed business of 5
employees,
including payroll, taxes, hiring, personnel, dismissal, budgeting,
scheduling, contract negotiations, proposals, press releases, and
corporate meetings.
- Senior Software Engineer, Origin
Systems studio of Electronic
Arts, 12/1997 to 8/1998
- Released Ultima Online: The Second Age.
- Lead Programmer, Ultima Online:
The Second Age, the first expansion of Ultima Online, and UO Live,
the continuing maintenance and improvement of the UO service.
- Managed programmers, defined requirements,
developed
specifications, created task lists, scheduling, reported progress.
Created project schedule.
- Initiated effort to replace Sun servers with Intel based
servers (which offered the same performance and reliability for almost
1/10th the cost), resulting in savings of over $1 million per year in
hardware leasing costs.
- Designed or helped design automatic translation support,
internationalization, chat system GUI.
- Responsible for task assignments, time estimation, schedule
tracking, bug assignments, performance reviews, reviewing resumes,
coordinating interviews, technology evaluation, improving software
engineering practices.
- Senior Software Engineer, Origin
Systems, studio of Electronic
Arts, 11/1996 to 12/1997
- Released Ultima Online, the award winning massively multiplayer online game.
- Programmer, Ultima
Online, an award winning
massively multi player online role playing game supporting tens of
thousands of simultaneous players.
- Designed and implemented auto patching system (client and
server), interprocess script communication system, multiobj system,
boats, player housing, global hint system, game master tools, object
decay, communication crystals, magic item creation system. Worked on
most systems in the game.
- Extensive use of C++, templates, STL, TCP/IP (sockets),
Win32, MFC, Win32 threads and POSIX pthreads with development under
Linux, Solaris, and Windows.
- Lead Programmer from 1/1998. Maintained task lists, reported
progress, managed small team of engineers.
- On call 24/7. Fixed many critical problems whenever they
occurred.
- Made numerous CPU and memory optimizations which greatly
improved performance of game servers. Improved stability of service.
- Additional Experience and Projects available
Activities
- Speaker & Panelist, Game Development Conference - Austin 2009. "Defending the Realm: Resisting Exploits and Hacks to MMOs and Other Online Games"
- Speaker, CESA Developers Conference (CEDEC) 2009 (Tokyo, Japan). "Handling Code and Assets for Huge Projects with Agile and SCM"
- Speaker/Panelist, CESA Developers Conference (CEDEC) 2009 (Tokyo, Japan). "What I've Learned from Japan"
- Speaker, CESA Developers Conference (CEDEC) 2008 (Tokyo, Japan). "Recent Trends in U.S. Game Development Processes"
- Speaker and Co-Chair, NPSOT-NPAT 2007 Joint Symposium: Texas Prairies: Celebrate a Natural Treasure. "We Can Make A Difference"
- Speaker/Panelist, Game Development Conference - Austin 2007. "Taming Online Scaling Issues"
- Speaker, Univeristy of Central Florida, Florida Interactive Entertainment Academy, 2006. "Engineering Online Games"
- Speaker, Austin Game Conference 2004. "Best Practices in Online Game Development"
- Program Committee, NetGames Conference (ACM SIGCOMM) 2004.
- Program Committee, ACM SIGCHI International Conference on Advances in Computer Entertainment Technology (ACE) 2004
- Speaker, Austin Game Conference 2003. "Using Software Engineering Practices in Game Development"
Education
Volunteer Work
- Board Member, Native Prairies Association of Texas (a land trust), 1/2005 to 1/2011, 1/2016 to 1/2022
- Served as President (2009 to 2011) and Treasurer (2005 - 2008)
- Co-chair of conservation conference which attracted ~400 attendees from throughout Texas.
- Performed fundraising and grant writing resulting in over $750,000 for the organization's programs, including hiring staff.
- Donor and fundraiser, protecting multiple important conservation properties.
- Managed multi-region tallgrass prairie county survey project involving multiple contractors around the state until staff were hired.
- Presented quarterly financial reports and annual budget at board meetings and annual meeting.
- Responsible for financial accounts, planning, budgeting, and reports. Paid bills and handled reimbursements.
- Prepared and filed Form 990 and related IRS reporting forms.
- Created and moderated email announcement list. Redesigned web site with appealing prairie images of native prairie flowers, grasses, and wildlife.
- Webmaster, Austin Chapter and Williamson County Chapter of the Native Plant Society of Texas, 12/2000 to 12/2007.
- Designed and maintained chapter websites.
- Added and updated web pages with monthly meeting, project, and other useful information. Created and moderated email announcement list.
References
- References available upon request.