As we’re not a university but a company, there needs to be a balance between things you can offer and the things we offer. Like in every job description, there is a list of bullet points to explain what we seek. To make it possible to self-asses your fitness for the job, we’ve put the number of points (✪) for each bullet point.

INSTRUCTIONS. For each section, assess yourself as being a:

  1. beginner: have been in contact with it briefly
  2. junior: had some experience, but not difficult problems
  3. medior: had more experience, but cannot coach others yet
  4. senior: experienced enough to coach others to really advance on this subject
  5. lead: can teach new things to a senior
  6. principal/master/guru: one of the world’s best

You need to look for the level where you get the most points. For example, if you are a master in C++ but are a medior in C and math, it might actually be best to assess as a medior and mention your C++ knowledge specifically. Or for example, if you are sure you can successfully finish a tutorial on GPGPU, you’re a beginner.

Real question to answer before applying: do you want to become a senior in GPGPU?

If you have the imposter syndrome, don’t be too harsh on yourself. If you’re overconfident, be realistic. If you worry you’re both, pick imposter syndrome only.

Heads up. During the interviews, we ask questions for the above self-assessment. If you assess yourself as a senior for GPU-coding because you were the best-of-class, you’ll get questions. And there is no person who can be defined by lists, so do mention where you stand out.

You, as a CPU Developer (9 items, 18 weights)

We seek people with experience. This can be open source projects for first jobseekers, or past jobs for those with job experience.

  1. You are capable of designing mathematical algorithms, both serial and parallel. ✪
  2. You are strong in math and hard sciences. ✪✪
  3. You know how compilers work, and you are unfortunate enough to know when they don’t. ✪✪
  4. You are experienced in C. ✪✪
  5. You are experienced in C++. ✪✪
  6. You have experience designing performance-driven architectures. ✪✪
  7. You know how to write tests. ✪✪✪
  8. You are experienced with continuous development. ✪✪
  9. You have experience with low-level optimizations. ✪✪

You, as a GPU Developer (6 items, 15 weights)

We seek people with experience. This can be open source projects for first jobseekers, or past jobs for those with job experience.

  1. You have read “hardware architecture specification documents” or ISA-docs. ✪
  2. You know how GPU-compilers work, and you are unfortunate enough to know when they don’t. ✪✪
  3. You are experienced in CUDA and/or HIP. ✪✪✪✪
  4. You are experienced in OpenCL and/or SYCL. ✪✪✪✪
  5. You know your way around with GPU-libraries. ✪
  6. You are experienced in porting algorithms to the GPUs, without the use of any library. ✪✪✪

As the four stars indicate, we do need minimal GPGPU-experience, as you won’t learn it here.

You, as a Problem Solver (8 items, 21 weights)

Coding is only one part of the solution. Most of the time we’re solving problems, where coding is just the means.

  1. You like the ideas and theories around the “learning mindset”. ✪✪✪
  2. You have a structured problem-solving approach that you could explain. ✪✪✪
  3. You have high self-awareness and can self-observe. ✪✪✪✪
  4. You have high standards for yourself. ✪✪
  5. You test out approaches by making quick experiments. ✪✪
  6. You test out possible solutions by mentally putting them in different scenarios. ✪
  7. You regularly take time to zoom out to get an overview on the problem, to be able to balance the inputs for the solution. ✪✪✪✪
  8. You always follow through. ✪✪

If you score high here, this will compensate for any lack of technical experience. Also for continuous growth, you’ll need to score high here.

You, as a Project Team Member (10 items, 20 weights)

Our company’s strength is that we work in teams. We don’t know everything as individuals, but as a team we can solve almost any problem around HPC and GPUs. This means we highly value collaboration and thus must be efficient in project handling.

  1. You have a proven track record of being focused on results. ✪
  2. You have a talent for turning vague problems into the right actions, and you want to build on it. ✪
  3. You normally write down tasks, and then prioritize & ESTIMATE them. ✪✪✪
  4. You understand that well-defined, well-communicated delivery criteria are the responsibility of every team member. ✪✪✪
  5. You can identify something’s missing to move a project forward smoothly. ✪✪✪
  6. You speak up when the project diverges from the trajectory. ✪✪
  7. You are used to administrating your time spent on an issue. ✪
  8. You can delegate work. ✪✪
  9. You can get work delegated. ✪✪
  10. You can explain, with examples, why the above are important. ✪✪

We explicitly did not state “project management”. It is about playing your part of making an efficient team.

Us, as your team and your employer

We’re different from most development companies, and not just in the type of work we do.

We invest in our people. We have a 4-6 month onboarding period, create personal development plans and coach each other. We allocate time & provide guidance in setting goals. You earn trust by accomplishing those goals. By understanding what is blocking somebody (skills, attitude, experience, etc), we help each other to improve. As we’re not a large corporation, we seek people who already have the right attitude for such personal and professional growth.

We do more than just coding. We are still a relatively small company, and our engineers have a say in every part of the company to improve it for the long term. This means they commit time to things that are not coding.

We like to solve problems as a team, as individuals we then don’t need to be strong in all areas. For us teamwork is having conversations about what is working, what isn’t and what to do about it. It means following up and making things happen. Occasionally it means talking about feelings.

We value openness to new experiences, to people, to feedback and especially to learning. Particularly in areas where doing so is uncomfortable. How comfortable are you dealing with the unknown?

And we do actual work most of the time. We make scientific software that performs. We are specialists in performance driven software designs, GPUs and high-end CPUs. Our clients come to us when they have a scientific computing problem to solve, build GPU-software or to build complex tools. Our initial effort focuses on understanding their needs, provide clarity on potential solution paths, and work with the customer to deliver the right solution. We then build. Every project is different.

Want to know more? Get in contact!

We are the acknowledged experts in OpenCL, CUDA and performance optimization for CPUs and GPUs. We proudly boast a portfolio of satisfied customers worldwide, and can also help you build high performance software. E-mail us today