Generalist Programmer
Internship PHILIPPINES Energy / Materials / Mechanics
Job description
Ubisoft is committed to enriching players’ lives with original & memorable entertainment experiences. We build worlds that are a playground for the imagination, offering moments of surprise, fun and adventure as well as opportunities for learning and self-discovery.
At Ubisoft, you’ll grow and collaborate with highly talented teams from around the world. Our massively friendly work environment will inspire you to go above and beyond to create experiences and brands people will fall in love with.
The Programmer will work within a collaborative multidiscipline environment on a wide-range of areas of the game, including the engine, editor or any middleware. The incumbent will develop generic systems that will support the work of the specialist programmers (AI, 3D, physics, sound, animation, etc.) and meet the design and technical needs of the project.
Main responsibilities:
The main and routine tasks of the programmer are to:
· Produce efficient, portable and self-contained code that observes the technical constraints of the system
· Ensure coding standards are followed, and promote good programming practices within the engineering team
· Analyze existing system features, determine whether they meet project intentions and suggest improvements whenever necessary
· Diagnose and fix bugs in new and existing systems
· Support different users of the engine, game systems and related tools, both directly and with written documentation
· Bachelor’s degree in a relevant subject or equivalent industry experience
· Preferably with 1 to 3 years of commercial software development experience with significant involvement in 1 published game
· Experience of designing, developing and debugging multithreaded systems
· Excellent C++ programming skills, with excellent knowledge of object oriented development;
· Knowledge of common algorithms, data structures and patterns, and the ability to apply them to problems while keeping constraints and performance in mind
· Experience with commonly used development tools such as Visual Studio and Perforce
· Able to analyze unfamiliar code of a reasonable complexity to understand, extend the and refactor functionality of an existing module
· Ability to debug defects of a reasonable complexity, including memory related issues, multithreading, and assembly level debugging
· Strong understanding of 3D mathematics
· Excellent communication skills in spoken and written English
· Able to plan and estimate their own tasks and ensure timely delivery of work
· Self-motivated and pro-active with a strong work ethics
Pluses
· Knowledge of most areas of game development (physics, AI, gameplay, rendering, online, tools, UI, audio);
· Knowledge of console platform submission requirements (TRCs, XRs, etc.)
· Knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile etc.
· Experience with multi-platform console development
· Shipped at least one game title using C++
Please include a cover letter, CV and game portfolio/ work samples.