Thomas Bak


http://www.thomasbak.com
tom (AT) thomasbak.com
+66 (0)87 088-1171

SUMMARY OF QUALIFICATIONS

· University of California, Berkeley. BA Computer Science / Cognitive Science Double Major. GPA 3.5
· Professional software developer with 15+ years of programming experience on diverse projects, including 11 years of video game experience with numerous published console game titles.
· EU work permissions.

COMPUTER SKILLS

· PC, PlayStation, XBOX, DS, GameCube Development
· C, C++, Python, Ruby, Java, Assembly, Lisp, Pascal, Basic, Prograph
· Django, Rails, HTML, jQuery, AJAX, PHP, JavaScript, CSS, LAMP, XML, ASP, VBScript
· MySQL, Amazon AWS, Microsoft Access, Oracle Server, Gupta SQLBase, Borland dBASE
· Unreal, Unity, DirectX, OpenGL, MFC, OWL, Zapp, Crystal Reports
· Windows, Linux, Android, Windows CE, OS/2, DOS · Artificial Intelligence: Individual/Team Behaviors, Decision Making, A* Path Finding, State Machines, Scripting, Animation Systems, Perception, Team Sports

EXPERIENCE

· Project Lead + Senior Programmer, Virus Studios, Bangkok, Thailand
(April 2010 to November 2012)
  • Successfully and competently managed 12-person development team for the release of a free-to-play PC online shooter. Planned schedule for entire team and ensured that all team members were on target towards meeting their deadlines. Met with upper management to discuss business arrangements with publishers, future project direction, and company policy.
  • Architected and built from scratch a fully scalable C++ client/server networking and MySQL database framework, including lobby system, shop, items, profiles, messaging and clans. Wrote server monitoring tools and automated scripts. Maintained database code and implemented the client and server patching process.
  • Implemented new gameplay features using UnrealScript and native C++ Unreal Engine code. Networking optimizations. Weapons. Animation refinements. Worked closely with level designers and artists to support new features.
  • Designed and implemented an online trading platform with functional REST API using Ruby and the Rails framework. Built numerous prototype mobile apps to demonstrate usage of the API. Built commercial quality client/server native Android app.
· Founder, SuperDonate, Inc., New York, NY
(August 2008 to November 2015)
  • Managed successful development and release of professional quality application. Initial concept, design, prototype, evaluation, deployment. Business operations. Marketing. Press releases. Documentation.
  • Wrote full-featured software application in Java. Distributed computing network with over 2 million computing minutes performed to date. Administrative tools and daily update utilities running on VPS. Automatic online update system. Extensible library. Installer. Windows, Linux, Mac builds.
  • Developed the dynamic product website in Python using Django on Linux VPS. JQuery + JavaScript. User accounts and statistics on MySQL database. Integration with Google charts and Facebook web services.
· Lead Programmer, DiscoPixel, San Francisco, CA
(July 2007 to August 2008)
  • Conceived original DS game concept and developed a playable prototype. Worked together with a small international team to manage concurrent development of two prototype games and the supporting library. Adapted commercially available level editor to work with the code base.
  • Designed and implemented Nintendo DS game library from scratch. Created and improved modules to handle sprites, animation, memory management, input, infinite backgrounds, particles, audio, menus, fonts and special DS optimizations.
  • Wrote supporting documents for the project: gameplay specs, storyline, art style guide, tech requirements and marketing sheets. Maintained the project schedule.
· AI Programmer, Activision / Treyarch, Santa Monica, CA
(April 2005 to October 2006)
  • Developed intelligent character behaviors for Call of Duty 3. Improved upon the previous code base: Enemy and environment perception and analysis, goal planning, combat strategy, A* path finding improvements, animation selection / playback. Provided scripting support as needed by the level scripters.
  • Designed and implemented enemy character AI systems for the final boss battles in Ultimate Spiderman. Developed modular AI system to quickly generate unique enemy AI characters with minimal repeated code. Improved on numerous AI systems including decision making, locomotion, path finding, state machines and scripting.
  • Worked closely with animators and level designers in a rapid iterative process to develop unique, engaging and enjoyable battles. Maintained excellent communications with team members throughout development of the project. Stayed in control of all deadlines. Provided extensive documentation through source code comments and online Wiki page updates.
  • Consoles: PlayStation 3, XBOX 360, PlayStation 2, XBOX, GameCube.
· Software Engineer, Visual Concepts, San Rafael, CA
(May 2001 to October 2004)
  • Developed the following published "ESPN" and "Sega Sports" console video games: ESPN NBA 2K5, ESPN NFL 2K5, ESPN NBA Basketball 2K4, ESPN NFL Football 2K4, NBA 2K3, NFL 2K3, NBA 2K2, NFL 2K2.
  • Led development of the innovative NBA "24/7" game play mode, which has gotten consistently good reviews.
  • Designed and implemented numerous new features and improvements throughout the games, including: "Director" presentation management system (overlays, commentary, synchronized replays, dynamic crowd audio, game flow, music, SFX); AI (player/referee behaviors); full/partial game simulation and statistic generation; player animations; multi-player networking; debugging tools; ESPN presentation elements (in-game reports, daily wrapups); art tweaks; GUI updates; new free throw and kick meters.
  • Consoles: PlayStation 2, XBOX, GameCube. Wrote all game code in C and Windows tools in C++/MFC. Provided ample documentation to aid in future code maintenance.
· Web System Programmer/Administrator, Medical Staffing Services, Carlsbad, CA
(Summer 2000 to Summer 2001)
  • Personally conceived and implemented an interactive web application for a hospital staffing company to eliminate paperwork. Features include dynamic, database-driven ASP code, session management, administrative tools, and search/sort capabilities.
· Programmer/Analyst, WorldLink Media, San Francisco, CA
(Summer 1999, Summer 2000)
  • Produced from scratch the travel information web site, "The Adventure of Travel." Updated and fixed the "Expedition Internet" website, which was used by AARP as an interactive internet tutorial.
  • Provided bug fixes for the Windows version of "Interactive Earth" using Prograph. Created Access reports to analyze website feedback responses. Processed website and application image files using Photoshop.
· Research Intern, Lawrence Berkeley Laboratory, Berkeley, CA
(September 1999 to March 2000)
  • Helped develop a secure network bandwidth reservation system in C++ for Solaris and Linux machines. Responsible for the "restriction point" node classes.
· Programmer/Analyst, ARvee Systems, Bohemia, NY
(June 1996 to August 1997, Summer 1998)
  • Personally designed and implemented a client/server employee and project tracking Windows application with MFC in Visual C++ 5.0, which was then used by almost all employees to help the company accurately bill customers.
  • Created the company web site, incorporating Java applets and frames into the project. Converted an existing SQLBase Windows application to dBASE. Developed a prototype Windows CE golf scorekeeper application. Created integrated ReportSmith and Crystal reports for many of the company's database applications. Prepared presentations for clients interested in company applications. Made numerous improvements and bug-fixes for many other applications.

INDEPENDENT WEB PROJECTS

· SocialScripter (2010)
Wrote and documented a proprietary scripting language to generate dynamic expressions. Deployed a public web application that allows storing, editing, running and debugging scripts. Twitter and Facebook API script integration included. Implemented in Python using Django on Linux VPS.
· ThaiTour (2009)
B2B website that allows tour operators to efficiently exchange information with travel agents. Implemented in Python using Django. Set up and maintained LAMP VPS. Documentation. Presentations. Payment system integration.
· Charitii.com (2008)
Online word game that donates money to charity for each correct answer. Written using PHP and MySQL. Used Photoshop and Illustrator to process art. Wrote C++ tool to preprocess data.
· Crosschoice.com (2008)
Unique crossword puzzle game. Features special bonuses, safeties and a high score listing. Uses PHP and MySQL.

LANGUAGES

Native: English, Danish
Beginner: Thai