C/C++ Junior Developer (NEXTGenIO project)

Job Reference:



C/C++ Junior Developer (NEXTGenIO project)

Closing Date:

Monday, 31 July, 2017

Job Description:

About BSC

The Barcelona Supercomputing Center - Centro Nacional de Supercomputación (BSC-CNS) is the leading supercomputing center in Spain. It houses MareNostrum, one of the most powerful supercomputers in Europe, and is a hosting member of the PRACE European distributed supercomputing infrastructure. The mission of BSC is to research, develop and manage information technologies in order to facilitate scientific progress. BSC combines HPC service provision and R&D into both computer and computational science (life, earth and engineering sciences) under one roof, and currently has over 460 staff from 44 countries.

Look at the BSC experience:

BSC-CNS YouTube Channel

BSC-CNS Corporate Video

Let's stay connected with BSC Folks!


Context and Mission

In the context of the NEXTGenIO European project, the Storage Systems Research Group is looking for a C/C++ Junior Developer willing to work on the development of a distributed filesystem prototype. This filesystem will run in the compute nodes of a High Performance Computer cluster and will rely on next-generation non-volatile memory (NVM) technologies to improve the I/O performance of parallel applications. The group is searching for a motivated and talented developer with excellent programming skills and a background/interest in storage technologies and High Performance Computing. The candidate will participate in the design of the filesystem and will take the responsibility to implement and evaluate it guided by the project leader.


Key Duties

  • Collaborate in the design and implementation of a distributed, NVM-based filesystem prototype
  • Identify bottlenecks and bugs, and devise solutions to these problems
  • Help maintain code quality, organization, and automatization



  • Education
    • MSc in Computer Sciences, Computer Engineering, Telecommunication Engineering or equivalent


  • Essential Knowledge and Professional Experience
    • Strong proficiency in C with thorough knowledge of the ANSI/ISO standard library
    • Strong proficiency in C++ with thorough knowledge of the STL containers and algorithms
    • Good understanding of memory management in non-garbage collected environments
    • Knowledge of low-level threading primitives
    • Knowledge of network communication mechanisms


  • Other Knowledge will be valued
    • Knowledge of the Linux kernel and especially of the VFS subsystem
    • Previous experience developing in-kernel/user-level filesystems
    • Knowledge of the architecture of current distributed filesystems
    • Familiarity with language tools, such as Valgrind
    • Proficient understanding of code versioning tools such as Git, SVN, and Mercurial


  • Competences
    • Excellent written and verbal communication skills
    • Fluent in English
    • Capacity to interact and build strong relations with a diverse members/stakeholder/staff base
    • Ability to work both independently and within a team



  • The position will be located at BSC within the Computer Science department
  • We offer a full-time contract, a good working environment, flexible hours, Tickets Restaurant and a medical insurance
  • Salary will depend on the qualifications and experience of the candidate


Applications Procedure

All applications must include:

  • A motivation letter
  • A full CV including contact details


Diversity and Equal Opportunity Employment

BSC-CNS is an equal opportunity employer committed to diversity and inclusion. We are pleased to consider all qualified applicants for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, disability or any other basis protected by applicable state or local law.


Application Form

Please, upload your CV document using the following name structure: Name_Surname_CV
Files must be less than 3 MB.
Allowed file types: txt rtf pdf doc docx.
Please, upload your CV document using the following name structure: Name_Surname_CoverLetter
Files must be less than 3 MB.
Allowed file types: txt rtf pdf doc docx zip.
Please, upload your CV document using the following name structure: Name_Surname_OtherDocument
Files must be less than 10 MB.
Allowed file types: txt rtf pdf doc docx rar tar zip.
** Consider that the information provided in relation to gender and nationality will be used solely for statistical purposes.