Job Positions

At Nubificus, we are exploring systems software optimizations for deploying lightweight applications in the Cloud and at the Edge. Based on existing open-source tools and frameworks we mix and match application dependencies and tailor the Operating Systems layer to match the applications’ requirements. We are a fully distributed company working from the UK, Greece & Spain.

Does hacking the OS/application stack sound like your kind of project? Do you see yourself change the way users around the world deploy their applications? If the answer is yes, we would love to have a chat and welcome you to our team.

Please send an email to jobs@nubificus.com including:

  • a recent CV
  • a short paragraph describing why you are a good fit for the job

Make sure to include the job ID in the subject.

In all positions below, we offer:

  • the opportunity to participate in one of the most challenging projects on the technology-frontier
  • competitive salary based on skill set
  • the opportunity to participate in international conferences and meetups
  • a creative, multilingual and multicultural work environment
  • the opportunity to work in a team where your opinions are important and taken into account

Nubificus LTD is an equal opportunity employer. We want applicants of diverse background and hire without regard to age, gender, color, religion, national origin, or any other individual characteristic.

We are currently looking for candidates for the following positions:

Senior Systems Software Engineer (SSSER)

Responsibilities:

  • Develop software and research for a cutting edge technology project
  • Design and develop reusable and reliable code using at least one of the following: C / Python / GO / C++ / Rust
  • Partake in all aspects of the project’s life cycle
  • Research and solve complex engineering challenges
  • Lead a small team of engineers and coordinate effort to achieve short-term goals
  • Lead upstreaming efforts to contribute to open-source projects
  • Communicate the team’s findings & results to company’s partners

Requirements:

  • MSc degree or PhD in Computer Science/Engineering or similar
  • 6+ years of professional experience in software development
  • 2+ years of professional experience in software architecture or tech-lead role
  • Experience in Linux Kernel development
  • Proficiency in spoken and written English
  • Ability to work in a distributed team
  • Experience with EU Research Projects will be a plus

Location:

  • Remote

Software Engineer (SER)

Responsibilities:

  • Develop software for a cutting edge technology project
  • Design and develop reusable and reliable code using at least one of the following: C / Python / GO / C++ / Rust
  • Participate in upstreaming efforts to contribute to open-source projects

Requirements:

  • Minimum 3 years of experience in software development
  • BSc or MSc degree in Computer Science/Engineering, Telecommunications or similar
  • Good understanding of best practices in software development
  • Working knowledge of control systems like git
  • Working knowledge of Go
  • Familiarity with container runtimes and orchestrators (Kubernetes)
  • Proficiency in spoken and written English
  • Ability to work in a distributed team

Location:

  • Remote

Systems Software Engineer (SSER)

Responsibilities:

  • Develop software for a cutting edge technology project
  • Design and develop reusable and reliable code using at least one of the following: C / Python / GO / C++ / Rust
  • Participate in upstreaming efforts to contribute to open-source projects

Requirements:

  • Minimum 3 years of experience in software development
  • BSc or MSc degree in Computer Science/Engineering, Telecommunications or similar
  • Good understanding of best practices in software development
  • Working knowledge of C
  • Working knowledge of control systems like git
  • Experience with Linux kernel and virtualization development
  • Proficiency in spoken and written English
  • Ability to work in a distributed team

Location:

  • Remote

Software Engineer / Intern (SEITFR)

Internship title: Explore TF internal operations to be offloaded to a generic transport mechanism

Short description:

Tensorflow supports offloading computations on hardware accelerators (GPUs, TPUs). In order to use an accelerator, a Tensorflow instance currently needs direct access to the relevant hardware. Although this requirement doesn’t prevent distributed deployments (either by Tensorflow itself or by higher level frameworks like pycharm) in heterogeneous hardware, it limits flexibility of integrating hardware accelerators to virtualized setups where Tensorflow applications are executed, especially when there are latency constraints (ie. AWS Lambda/Firecracker). Adding a generic transport mechanism to Tensorflow’s internal operations could provide the necessary abstraction to efficiently use accelerators in all aforementioned environments.

Responsibilities:

  • Identify the internal Tensorflow operations performing the accelerator offloading
  • Study up on the semantics and data handling of the relevant functions
  • Implement bindings to use with a generic transport mechanism

Essential skills:

  • Comfortable programming in C/C++/Python
  • Understanding of basic Tensorflow/Machine Learning concepts

Desirable skills and experience:

  • Some experience of Tensorflow coding

Location:

  • Remote

Application Engineer / Intern (AEIBR)

Internship title: BLAS bindings to the vAccel framework

Short description:

The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix-vector operations, and the Level 3 BLAS perform matrix-matrix operations.

vAccel is a framework offering hardware acceleration primitives with focus on portability. It exposes “accelerate-able” functions to programmers and abstracts away hardware complexity by means of a pluggable design.

Adding BLAS support to vAccel enables users to enjoy efficient application execution without direct access to hardware accelerators, making the framework ideal to be deployed in a multi-tenant cloud environment.

Responsibilities:

  • study vAccel, its plugin system and the API it currently offers.
  • study BLAS and identify hardware acceleration implementations (CUDA/OpenCL etc.)
  • enhance the vAccel API to accommodate the BLAS API
  • develop vAccel plugins that implement BLAS operations

Essential skills:

  • Comfortable programming in C/C++/Python
  • Comfortable using a version control system (eg. git)

Desirable skills and experience:

  • Some experience on HPC applications and application deployment

Location:

  • Remote