Hao Han
*** ********** ****, ***********, **, Canada, L5C 1N9
Phone: 416-***-**** Email: *********@*****.***
Education
Master of Engineering - Software Engineering Electrical & Computer Engineering
University Of Waterloo, Canada 2007 – 2008
Bachelor Of Engineering Electrical Engineering NanChang Institute of Aeronautical Technology, China 1997 - 2001
Skills Summary2 years experience as a mobile developer. More than 10 years experience of Object-Oriented analysis, design and development. Over 7 years experience as a Senior Software Developer. Design new architectures, frameworks, base classes, interfaces and functions for all mobile game projects. Evaluated existing projects and games, fast ported over to Mobile.Experience in Java, C++, C# and Object-Oriented development. Strong knowledge in Mobile Architecture, Data Structure, Algorithms and Mathematic, 3D knowledge and OpenGL.Experience in all phases of the project lifecycle: user specifications, design, development, quality assurance, implementation and testing. Strong Knowledge in UML, design Architecture and Pattern.Designed and developed several game frameworks and sub-systems for a large MMO 3D Online Project. Designed and implemented data structure, game AIs, Algorithms, game logical and solutions.As a core team developer in a MMO game project, responsible for supporting the other teams(team players) and helping them out with problematic areas.Analyze functional requirements and alternative technology solutions to meet mobile games' problems. Evaluate existing projects/games, fast ported over to mobile games.Excellent Academic Knowledge and superior analytical and problem solving skills. Ability to produce in high-pressure situations and tight schedules. Expertise in learning new technologies quickly and rapid application development.
Languages and ToolsObject-Oriented Programming Languages(C++, C#, Java), Objective-C, OpenGL, Open Inventor, .Net, MFC, Windows SDK, STL, SQL, UML, Design Architecture and Pattern, HTML, XML, JSP, PHP, ASP, JavaScript, JSONUnity3D, Visual Studio, XCode, VRML, MSDN, Visual Paradigm for UML, Eclipse, JDBC, MySQL, Oracle10g, Lotus Notes, Apache, Tomcat, X-Windows, Visio, MindMap, Perforce, TortoiseSVN, Visual SourceSafe, JUnit, Bugsafe
Work Experience
Senior Software Engineer Feb 2010 – Present
Ganz interactive Corporate, Toronto, ON, Canada
Mobile Developer Design and implement new architectures, framework, base classes, interfaces for all mobile projects.Designed and implemented message loop and callback sub-system for mobile projects. Evaluated existing projects and games, fast ported over to mobile devices. Prepared project plans, assess cost and time estimates.Analyze functional requirements and alternative technology solutions to meet iOS/Android problems.Using Unity3D APIs, Java, C#, and .net to develop 3D iOS/Android games.Using C#, Java, JSON standard data file to serialize and transmitting mobile data. Encrypt and Decrypt data over Internet transaction for security issue. Resolve data migrations, conversion and loads between different database and servers.Design and implement RESTful server and client for a mobile project. Designed UML diagrams, wrote designs, low-level and high-level design documents. Code review and improved codes for performance improvement and design.
Senior Software Engineer - Core Team Developer Designed and built the Movement/Location system for a large MMO 3D online game Designed and developed the Grid/Coordinate system and footprint framework for online Environment. Designed and developed the Path-finding algorithm and solutions for Movement/Location system. As a core team developer, responsible for supporting the other teams by creating tools and helping them out with problematic areas. Programmed Java to design data structures, algorithms and solutions for the synchronization server that receives objects locations and characters’ movement, storage and broadcast in Runtime Environment. Programmed in C# and Unity3D to develop game scenes and interactive actions between 3D character and objects. Designed and implemented game AIs, logical and algorithms. Developed the GUI interface classes and implemented the next-generation graphics GUI .Designed UML diagrams, wrote designs and low-level design documents. Code review and improved codes for bug fixing and performance improvement.
Senior Software Engineer Sept 2008 – Feb 2010
Pulse Microsystems Embroidery Software, Mississauga, ON, Canada
Senior Software Engineer Design and implement new Saving/Loading Architecture and framework for DG/ML 2010 Design and implement new UI sub-system and interfaces. Using Java, implemented MD5 algorithm and SHA-1 secure hash algorithm for security devices. Programmed in C++, Microsoft Foundation Classes, Windows APIs to design and implement graphic/punching features for embroidery software Based on user requirements, develop Librarian central parts for DGML software. Fix bugs, implement better algorithms and improve the structure, design, the stability of software.
Senior Software Engineer Jan 2001 – Dec 2006
ShineSoft Software Engineering Co., Ltd., Shang Hai, China
Senior Software Engineer July 2003 – Dec 2006Developed Archistar's graphic software library. It took 3 weeks to complete the task which was scheduled to be finished in more than 1 month. It saved more than 15 thousand dollar. Programmed in C++, OpenGL and Open Inventor languages to develop 3D modules for Archistar software Used Java and SQL database technologies to design and implement a Management Information System (MIS) Used JDBC to connect to a relational database for data storage and query executions in the Archistar Library(DataBase). Developed a web-based front-end application using PHP to support the business operations in the Archistar library(DataBase). Involved in developing module for 3D model, image processing and rendering functions. Developed and designed a wizard system and contextual help for Archistar Software using C++, HTML, XML, Help Workshop and HTML Help API. Designed and implemented functional and structural testing plan of Java code. Used CPP Unit to test parts of code. Designed the structure and theme of the test cases. Provided the full implementation of the system extensions and testing framework.
Software Developer Jan 2001 – June 2003Programmed in C++, OpenGL and Open Inventor languages to develop 3D modules for ArchistarDesigned the algorithm and developed module for 3D model, image processing and rendering functions. Integrated VRML engine as a plug-in to Archistar software. Developed new modules for Image processor – Alpha transparent, mask transparent, calculation based on image pixels to do batch processing.Developed and maintained the source code for Multi-Media system of ArchiStar software. Used the Windows Media SDK to develop the Multimedia applications.Designed, developed and maintained GUI(Graphical User Interface) on C++, MFC. Researched and utilized CJLib interface and modules.
Training and HonorsThe Department Graduate Certificate in Software Engineering - University Of WaterlooUndergraduate student Scholarship - NIAT, 2001Outstanding Undergraduate Student Award – NIAT, 20013DS VIZ - Autodesk Authorized Training Center . ShangHai, China, 2003