BILL WHITE

Software Developer

Bill White is a Software Developer with over a decade of professional experience working with a variety of technologies. He holds a bachelor of Computer Science degree from the University of Waterloo and lives in Ontario, Canada. He is currently creating mobile and desktop games using primarily C# and Unity. Click here to learn more about Bill's games.

In recent years, Bill has also worked as an independent contractor and web developer, mostly working with C#, HTML, CSS, PHP, JavaScript and SQL. He was previously a Software Engineer for Brock Solutions where he designed and developed cutting edge software and baggage handling systems for some of the world's busiest airports with C#, .NET, SQL Server and Visual Studio. He also previously worked as a Software Developer for Competitive Edge Information Systems, developing custom software and database solutions for small to medium sized businesses using mostly VB6 and SQL Server. Bill also has co-op experience working as a Software Tester at Sybase iAnywhere and as a Research Assistant for the Computer Systems Group at the University of Waterloo.

Education

University of Waterloo

Bachelor of Computer Science with Business Option
  • C++, C, Java, Unix, A.I., graphics & real-time programming
  • Built a custom 3D graphics engine with Java
  • Competed in several school programming contests where students must complete a series of coding challenges with limited time
  • President of the Business and Investment Club (Nearly 50 members)

Skills

Software Development

Software Logos
  • 10+ years of professional experience designing, coding, testing, debugging, installing, maintaining and documenting software throughout the entire software development life cycle
  • Over 7 years of experience with C#, Visual Studio and .NET
  • Experienced with many other languages and IDE's including C, C++, Java, VB6, Eclipse and Monodevelop
  • Extensive knowledge of multiple third party libraries and tool-kits including Steam API, Firebase Cloud Storage, Infragistics, Live Controls AJAX Toolkit, Crystal Reports, JSON.NET, GWT, AWT, Swing and more
  • Experience with several revision control systems including Visual Source Safe (VSS), Perforce and Git

Game Design

Pictures of Bills games A picture of Bills space shooter game A picture of Bills game Guns and Grapples A picture of Bills game Snowball Brawl
  • 4+ years of Unity experience including shaders, materials, textures, particle effects, canvas, animations, blend trees, unity services and asset store tools
  • Five published Unity games for mobile, desktop and web
  • Experience implementing authentication, statistics, leaderboards, achievements, in-app-purchases, advertisements and cloud storage
  • Knowledge of multiple third party libraries including Steam APIs, Firebase and Google Play Services
  • Multiplayer development with PUN2 and Photon Fusion
  • 3D modeling and animation with Blender and Z-Brush (some Maya experience)
  • 2D art with GIMP and Adobe Photoshop (some Illustrator experience)
  • Experience with shader code (GLSL, HLSL, ShaderLab) and shaders for objects as well as projections
  • Extensive knowledge of virtual 3D environments (OpenGL, WebGL, PhysX, XNA, particle effects)
  • Built a custom 3D graphics engine with Java

Web Development

Web Logos A picture of several websites Bill developed
  • Extensive (8+ years) experience with Javascript/JQuery, PHP, ASP.NET, CSS and HTML
  • Over 4 years of experience with AJAX, SOAP, JSON, XML and writing web services
  • Responsive Web Design (Try resizing this website)
  • Experience hosting websites, registering domains, setting up servers, emails and SSL encryption

Database Management

SQL Server Logo My SQL Logo Firebase Logo
  • Decades of experience with multiple database technologies including Microsoft SQL Server, MySQL and MS Access
  • Expert knowledge of T-SQL, stored procedures, reporting, replication, ODBC, OLE-DB, DAO/ADO, etc.
  • Cloud Authentication and Storage with Firebase including NoSQL queries and security rules

Servers, Networks & Hardware

A picture of Bill working on-site
  • Experience maintaining equipment including keeping logs, installing, updating and repairing servers, workstations and networking hardware
  • 2+ years of traveling to customer sites to install and support large interconnected software/hardware systems including setting up servers, software, databases, networking and computer equipment
  • Developed software solutions for automating industrial machines with C#, Allen Bradley PLC's, ladder logic and RSLogix
  • Web server setup and administration for IIS and Apache Tomcat servers
  • Experience with network design and programming Cisco Routers

Other Skills & Interests

A picture of Bill working on a car A picture of Bill traveling in Thailand
  • Experience working with customers gathering requirements and understanding business objectives
  • Excellent written and verbal communication skills
  • Proven ability to problem solve and troubleshoot independently
  • Very quick to learn new technologies and concepts
  • Comfortable performing most automotive and household mechanical and electrical repairs
  • Enjoys investing, running, boating, closed course (track) auto racing, golf and traveling (Has been to 40+ states/provinces, China, Thailand, Multiple Caribbean and Mexican destinations)
  • Excellent credit score
  • Enthusiastic, motivated, hardworking and genuinely enjoy programming and technology
A picture of Bill at a charity run A picture of Bill driving his race car

Experience

Jan 2019 – Present

Bit Shifters Studios
◾ Kitchener, Ontario

Lead Unity Developer

  • Published several games including Guns and Grapples on Steam as well as Asteroid Encounters and Infinite Ninja on Google Play
  • Currently completing a contract building the multiplayer card game Gothest for mobile
  • Multiplayer development with PUN2 and Photon Fusion
  • Unity Services and tools including In-App-Purchases, Advertising and Statistics
  • Steam API's including Leaderboards, Achievements and Cloud Sync
  • Authentication and Cloud Storage with Firebase Firestore
  • Developed 3D virtual environments, characters, graphics, shaders, materials, animations, projections, particle systems, colliders and game physics

Key Technologies Used:

  • C#, Unity, Visual Studio, Git, Blender, GIMP, Firebase, NoSQL, Photon Fusion, Steam APIs, Google Play Services, Android, iOS
April 2012 – Jan 2019

Independent Contractor
◾ Kitchener, Ontario

Web Developer

  • Developed websites and technical solutions for small businesses including media companies, accountants, personal chefs, weddings, retail sales, etc.

Key Technologies Used:

  • HTML, PHP, JavaScript, ASP.Net, XML, Git
Nov 2009 – April 2012

Brock Solutions
◾ Kitchener, Ontario

Software Engineer

  • Designed and developed cutting edge software and baggage handling systems for some of the world's busiest airports (JFK, ATL, DTW, YVR) using primarily C#, SQL Server 2008, Microsoft .NET and Visual Studio
  • Developed real-time scanning and tracking systems
  • Participated in the requirements gathering, design, development, testing, debugging, shipping, installation and support of systems working both independently and as a member of a team throughout the entire SDLC
  • Designed the UI, back-end code, databases, reports and web services
  • Frequently worked on-site at airports installing servers and network equipment as well as testing and debugging live systems
  • Occasionally provided technical support and training to end users
  • Often worked with clients discussing their needs, suggesting solutions and putting together Functional Specifications, Change Orders, Test Plans and other contract documentation
  • https://www.brocksolutions.com

Key Technologies Used:

  • C#, .NET, ASP.NET, Visual Studio, SQL Server 2008, 3rd party libraries (Infragistics, GTP.NET, jQuery, LiveControls AJAX Toolkit), XML, HTML, Crystal Reports, web services, Subversion (SVN), Allen Bradley PLCs, RSLogix
Mar 2005 – June 2009

Competitive Edge
Information Systems
◾ Waterloo, Ontario

Software Developer

  • Full-stack developer of custom software and database solutions for small to medium sized businesses using primarily VB6 and SQL Server
  • Designed the UI and back end code throughout the entire software development lifecycle
  • Occasionally worked independently at clients offices discussing their requirements, suggesting solutions and installing systems
  • Developed an airport management system used at several airports, sales forecasting and inventory management systems for a large international manufacturer, a web based reservation and feedback system and numerous other information and business management systems for clinics, retail stores, municipal governments and other organizations
  • http://www.competitive-edge.on.ca

Key Technologies Used:

  • VB6, ASP.NET, Visual Studio, SQL Server 2005, MS Access, T-SQL, XML, Crystal Reports, web services, Visual Source Safe (VSS)
Sept 2002 – Jan 2003

Sybase iAnywhere
◾ Waterloo, Ontario

Software Tester (co-op)

  • Hired to manually test software for bugs and functionality
  • Independently developed a system to perform the test procedures automatically instead of needing a person to manually download the latest build, install the software and run the test streams
  • http://www.sybase.com

Key Technologies Used:

  • Java, Eclipse, HTML, SQL Anywhere, T-SQL, scripts/batch files
Feb 2002 – Sept 2002

University of Waterloo:
Computer Systems Group
◾ Waterloo, Ontario

Computer Research Assistant

  • High school co-op placement until June 2002, then hired full-time as a summer job
  • Contributed to several group projects including a mapping system where users can define landmarks and zones on an image of a map through a web interface
  • http://csg.uwaterloo.ca

Key Technologies Used:

  • Cold Fusion (a web server language similar to PHP or ASP), Sybase Adaptive Server Anywhere, HTML, XML, SQL
Nov 2000 – July 2004

Zehrs Markets
◾ Kitchener, Ontario

Grocery Clerk

  • Part-time job throughout high school
  • Learned responsibility, communication, teamwork, attention to detail, time management and the value of hard work

Portfolio

Guns & Grapples

  • Bill's latest Unity game is a 2D precision platforming game featuring grappling hooks, gun fights, competitive leaderboards and epic boss battles
  • Play as a Ninja grappling, swinging, speed running and shooting your way through 96 levels across 8 unique worlds each packed with different enemies, obstacles and challenges to master
  • Compete online against daily challenges in procedurally generated levels
  • Includes Steam Leaderboards, Achievements and Cloud Sync

Asteroid Encounters

  • This action packed space shooter is one of Bill's Unity games that can be found for free on the Google Play Store
  • The game features dozens of unique and upgradable ship and weapon combinations for players to choose from, an engaging story, epic boss battles, over 60 campaign levels as well as an endless high score mode
  • Includes Google Play Services in-app-purchases and advertisements

Infinite Ninja

  • This endless side scroller is Bill's first published freemium mobile game available on the Google Play Store
  • The game was created for a game jam in just 1 week by 2 people using Unity and C#
  • Players run, jump, slide and climb their way through an infinite combination of increasingly difficult level segments
  • Abilities like grappling hook, speed burst, wall climb and glide can be unlocked and upgraded by collecting coins

Snowball Brawl

  • This unreleased solo project is another mobile game made with Unity and C#
  • It features custom built art, 3D models and animations that Bill made with Blender and Unity
  • 2D artwork and textures were mostly created with GIMP
  • Google Play Services are used for achievements and leaderboards on Android
  • This game also includes in-app-purchases and advertisements
  • Available soon on Google Play for Android and the iOS App Store

Gothest

  • Bill was contracted to complete all of the Unity development and C# programming for the mobile adaptation this multiplayer card game
  • Online multiplayer implemented with Photon Fusion
  • Cloud storage with Firebase Firestore
  • Unity Services are used for in-app-purchases and advertisements
  • Available soon on Google Play for Android and the iOS App Store
  • www.gothest.com

Tic-Tac-Toe

  • Bill recreated this classic game with Unity to demonstrate complex A.I. problem solving
  • The game can be played with another human or against various difficulties of computer opponents, with the most difficult being unbeatable
  • A minimax algorith is used by the computer player to recursively search all possible game outcomes

Falling Tetrominoes

  • Falling Tetrominoes is a java applet that Bill created in 2009 so that he could learn more about graphics programming and java applets/servlets
  • The visuals in this game are all drawn with a 3D graphics engine that Bill created using just the java.awt.Graphics class
  • Everything is drawn with manual calls to drawSprite(), drawLine() and fillPolygon() with no help from a commercial game or 3D engine
  • The game also features a high score system with global top scores hosted on an online server running a java servlet connected to a SQL Database
  • Gameplay is similar to Tetris with a few additional elements thrown in to take advantage of the 3D view
  • Unfortunately, java applets are now obsolete for security reasons so it can no longer be played online

Web Design

  • Bill is also a skilled web developer with extensive experience in HTML, CSS, Javascript, JQuery, PHP and ASP
  • He has developed numerous websites for a variety of businesses as well as custom wedding websites for couples
  • Here are some examples:

3D Models & Animation

  • While his focus has always been on the programming side of game development, Bill has also learned how to make some of the art
  • Bill has created dozens of 3D models and animations with Autodesk 3ds and Blender. Here are some examples of his work:

Contact

Bill can be contacted by email at mail@billwhite.ca or by using the form below: