Job Description
Ubisoft Halifax is looking for a new addition to our Programming Team! As a Senior Generalist Programmer, you will work alongside our Lead Programmer to design, build, maintain and operate client-side and / or back-end services and features that keep our popular live titles running optimally.
Our studio is looking for an enthusiastic developer who loves games as much as the technology that drives them. This person will bring their curiosity, ingenuity, and positive attitude to a small, diverse, and close-knit team. A good sense of humour is also a plus!
Key Accountabilities
- Work autonomously alongside the Lead Programmer to meet the needs and goals of the project
- Work with client-side or server-side stakeholders in Design and Production to plan, and execute software which meets the needs of our live mobile games
- Help guide and inspire more junior and intermediate developers in best practices and architectural approach
- Translate your ideas and designs into technical documentation
- Work with junior developers to help solve issues, track down bugs and improve systems performance.
- Develop software in multiple languages either for services and microservices or client-side interfaces to those services.
- Collaborate with team members for the development and improvement of processes and tools to be used across the Programming Department
- Design, plan and implement key game systems and architecture
- Solve problems with build pipelines and monitor systems for efficiency, improvement and iteration
Autonomy
Prioritize effectively and be able to recognize and report tasks that require immediate attention throughout developmentEstimate and communicate timeframes, schedule tasks, and draw attention to unexpected delays as the come upWork unsupervised to meet the goals of the project and the studio acting as support to the lead server developer.Qualifications
A graduate degree in Computer Science, Computer Engineering, or equivalent work experienceA minimum of five (5) years professional experience in an applicable Programming roleSenior-level knowledge of general programming concepts, patterns, methodologies and technologiesProficiency in C#, C / C++ and some knowledge of scripting languages such as Python, JavaScript, and TypeScriptExperience with game design patterns and game engine systemsPassion for quality software architecture and best practices such as SOLIDA strong capability working in Data Structure & Algorithms.An understanding of client-server architecture and the implications of large scale service operations, and client interface design for scalability.A demonstrated track-record of critical thinking, resourcefulness, and versatilityExperience and understanding of source control using gitA positive attitude and a good sense of humourAn excitement for problem-solvingBonus Experience :
Experience building mobile applications for Android, iOSExperience with Unity game development engineExperience writing services or microservices in Go