We are looking for a Build Systems Software Engineer to be part of creating our infrastructure for an ambitious and exciting unannounced project here in Stockholm, Sweden.
The goal for you as a Build Systems Software Engineer is to provide expertise in compilers and package managers to the teams working in our projects. Interesting right? You will work with multiple teams of programmers and have opportunity to be part of driving design and implementation of our infrastructure, to prototype and reiterate as needed.
Our plan
We know you have amazing powers and for us it is important you get to show your magic. Setting your stage, we are creating strong autonomous teams with independent decision-making, freedom to try out new things and show why it works. For us it is important that you get to shine by being creative: to take deliberate decisions, poke holes in things when required, to navigate through known pitfalls and care for your craft by honouring your commitments.
In this role, you’ll be forming a specialist duo together with our Build and Release Specialist to excel and maintain a working infrastructure for our production teams such as c++ developers. It will be important for you to create connections across the studio, create effortless channels of communication and manage daily interaction with the users of our services such as.
You will be validating and ensuring that the pipelines are properly producing the necessary artifacts as well as build and improve processes to fit our production needs.
QUALIFICATIONS
We would love if you...
- Have a background working in C++, with and understanding of Visual Studio based programmer workflows.
- Are used to be working in Gitlab, knowing best practices and a self-drive for continuous improvement.
- Comfortable in the ecosystem of CMake, Conan, Sharpmake, Visual Studio, Clang/GCC, on both Windows and Linux
- Are used to working in an international environment and to express yourself fluently in English.
ビルドシステムエンジニア、という日本ではあまり見かけないポジション。 C++開発者との連携が求められるということで、C++で書かれた巨大なプロジェクトのビルドに課題感があるのかも。 クロスプラットフォームなビルドシステムの知識が求められるのは、ゲームサーバーがLinuxで動いているからか、それともLinux向けのゲームタイトルも開発しているからか。
Gitlabを採用しているのが興味深い。CI/CDの構築や運用が求められるのかもしれない。
JOB DESCRIPTION
Your life at Ubi
As an Online Programmer, you will design and implement functionalities linking the player(s) and the online server/services.
Your main mission:
- You will be responsible for creating, debugging, maintaining and optimizing the game’s network and online services, and the related tools that are used for the game’s development;
- You will work closely together with Game Designers and Gameplay Programmers from different worldwide sites in order to develop one of Ubisoft’s major AAA titles.
- Design, prototype, and implement the connectivity services that will be offered in the game while keeping high scalability, availability and security in mind;
- Understand the online intentions of the project and collaborates with Game Designers to set out the technical possibilities for the various online features;
- Ensure clear and structured programming, keeping performance, maintenance and compatibility requirements in mind;
- Perform load tests, suggest improvements and optimize whenever necessary;
- Correct bugs found by peers and the quality control team;
- Ensure the smooth communication with the similar production teams worldwide (with both technical and non-technical parties) ;
- Document the work to transfer knowledge and enable users (other programmers and team members from other job families) to understand how to use the new systems and features.
QUALIFICATIONS
The professional value you bring:
- Minimum 1-3 years experience in client-server programming, ideally in the video game industry, or any other relevant experience;
- Strong knowledge of C++ programming. C# programming experience is a plus;
- Experience working with Docker, Kubernetes, GitLab and CI/CD pipelines
- Experience working with networking protocols (UDP / TCP / Custom protocols), client-server architecture, web server technology and protocols, (RESTful) web services, microservices approach; peer-to-peer architecture is a plus;
- Experience working with cloud providers & technologies is highly appreciated (i.e. Amazon, Google, Microsoft)
- Database programming knowledge in MongoDB; MySQL and Redis are a plus;
- Being knowledgeable about the technologies and tools used in the video game production pipeline and TRC/TCR restrictions is highly appreciated;
Online Programmerというjob titleがゲーム業界っぽい。 だけれど、C++/C#だけでなくk8sやDocker, AWSやGCPなどのクラウド技術、CI/CDの知識が求められているのは、モダンなゲームサーバーの開発に必要な技術スタックが広範囲にわたるからか。
JOB DESCRIPTION
In this role, you’ll be joining the Engineering and Platform team which is the creative powerhouse behind Ubisoft’s IT platform: a one-stop destination, offering teams access to services for leveraging cloud and infrastructure in a uniform, self-serve way. We rely on modern infrastructure, leveraging Kubernetes at its core and pushing its boundaries to host platform services in multiple variations.
From a software service standpoint, our focus is currently on authentication, authorization, API Gateway, Secret Manager, SDK, service mesh, and database – with much more to come. If you want to be able to work on services from A to Z with the capacity to push forward beautifully written code, this is the team for you.
Responsibilities
- Design and develop micro-services, large-scale web services and APIs for PaaS;
- Produce clean, efficient code based on a straightforward development process aiming at reusable, optimal, maintainable solutions as per best practices and modern architecture;
- Work alongside teammates to contribute to architecture requirements and design all while creating technical documentation with an emphasis on quality driven deliverables;
- Work alongside operations team to ensure the support of developed applications in all environments - Identifing and troubleshooting system deficiencies and recommending solutions;
- Enhance build and development tooling and improve things like CI/CD pipelines, as well as code reviews and testing;
- Stay up to date on new technologies in the online services, Open-Source communities and general technology while foster knowledge-sharing.
As part of this team, the stack you’ll be able to touch includes: Python, Flask, Go, Terraform, AWS, OpenStack, Kubernetes, Docker, OPA, GitLabCI. Keep in mind that we will help you acquire these skillsets if you don’t have all of them!
QUALIFICATIONS
- Solid experience developing large-scale software based on engineering/development best practices;
- Experience working with APIS REST, gRPC, etc. using integrating and developing them;
- Experience in Agile Development / SCRUM with distributed teams – this team is an international team;
- Experience working with DevOps philosophy, having worked with CI/CD pipeline with gitlab CI, Spinnaker or similar;
- Experience with Terraform, Docker, Ansible, Kubernetes;
- Bilingualism French and English is required both orally and in writing.
昨今だと、Platform Engineeringと呼称されている領域だろうか。 micro serviceやAPI Gateway, Secret Manager, service mesh, databaseなど、モダンなクラウドインフラストラクチャの構築に必要な技術スタックが広範囲にわたる。 アジャイル開発やスクラムなどを国を跨いだチームで実践するというのは、グローバル企業ならではの課題。