Senior Software Engineer

Job description

At UpCloud you’ll be literally building the cloud.


Sometimes, cloud technologies can be offered as a patchwork of ready-made solutions. At UpCloud, however, you'll be working with something that we've built from the ground up. You'll know exactly what you're dealing with and you'll have an impact on how to make it even better. You'll find yourself in an environment where fresh ideas and technical discussions are encouraged and flat hierarchy is valued.

Our existing infrastructure relies on open-source Linux tools and in-house automation built with Go, Python & Perl with a heavy emphasis on moving towards a distributed microservices architecture.


In this position you would be building the very core of our cloud platform while also working knee-deep in refactoring our existing solutions, and taking part in developing more distributed and modern architecture based on microservices and workflow automation. This means navigating comfortably between different domains and actively taking part in discussions outlining our plans for modern backend architecture. You might find yourself working with our distributed resource provisioning, developing our public API, or modernising our authentication services.

A good chunk of this work also involves doing PoC’s and evaluating architectural choices while being prepared to have open discussions with your fellow engineers.

Job requirements


Our view is that to be successful in this role you should have experience working with microservices and large-scale automation, provisioning, and building system-level solutions based on open-source components running on Linux OS’s. It of course doesn’t hurt to have some exposure to the wide array of cloud technologies and public cloud providers. In essence, we expect you to have experience and interest in several of the following domains:


  • Agile software development experience, particularly with Go
  • Experience working with distributed architecture and building microservices
  • Experience in applying CI/CD- and other automation tooling
  • Data modeling and distributed SQL databases and data pipelines
  • Scalable distributed workflow automation
  • Hands-on experience with Linux server administration, preferably with large-scale systems


This role can be performed from our new office in the heart of Helsinki or remotely in Europe. If you're living outside Europe and you would want to relocate to Helsinki, you are welcome to apply too.


At UpCloud we'll provide you an easy-going environment that promotes work-life balance and self-development. You'll be encouraged to experiment, fail, learn, succeed amazingly, be brave to propose new things, agree and disagree. That’s how you like to work.

If you would like to join our journey to never become yet another cloud provider, please get in touch using the ‘apply for this job’ button.


We review all applications and we do get back to all our candidates. That is a promise.


Recruitment process

  • CV review
  • 1. interview
    (60 min)
  • 2. interview
    (60min)
  • Offer


Our benefits

Devices of your choice

Yearly equipment and training budget

Flexible, remote-friendly working hours

Offices in the heart of Helsinki and Singapore

Team lunches and company parties

Yearly company retreat

UpCloud swag

Referral bonus

Lunch card and snacks*

*available in certain locations only