˗ vsaj osnovno znanje programiranja,
˗ pripravljenost pridobit napredno znanje programiranja,
˗ zanimanje za programiranje,
˗ matematična znanja (predvsem znanje linearne algebre),
˗ poznavanje numeričnih metod (optimizacija),
˗ sposobnost samostojnega reševanja zahtevnih problemov,
˗ samoiniciativnost.
Zaželena znanja in izkušnje:
˗ napredno znanje C ali C++,
˗ poznavanje področja obdelave signalov in slik,
˗ izkušnje s programskim jezikom Python,
˗ poznavanje programerskih orodij in knjižnic: Git, Visual Studio, Qt, WinAPI,
˗ poznavanje različnih programskih jezikov in paradigm (objektno in funkcijsko programiranje),
˗ znanje iz področij: statistika, razpoznavanje vzorcev, strojno učenje, optika,
˗ optimizacija kode (SIMD, assembly),
˗ poznavanje GPGPU programiranja (CUDA, OpenCL).