Open positions, Join our team

Thank you for being interested in a career in SYRMIA! Explore this page to learn more about open positions in our company. Check the details and choose what suits your skills and aspiration best.

The process of application is simple. You just need to send us your resume to jobs@syrmia.com and indicate which position you are applying for. In case you are interested in multiple positions, list all your preferences in the email. No need to apply for each position separately!

If you can not find a suitable position, you can send an email with your preferred job position. If we match your profile to a suitable job, we will notify you regarding further steps in the application process. We encourage you to regularly check up on our job positions and discover new opportunities which may interest you.

We also recommend you to check the WHY JOIN US page. There you will find needed details and information about how it looks to be an SYRMIA employee, about the hiring process and frequently asked questions.


Continuous Integration Engineer - Belgrade, Nis

We have an open position in the team which is working with the worldwide leader in computer networking on the cutting-edge technology in the domain of programmable networking devices. We are looking for a motivated engineer to help us improve the software project infrastructure and improve the quality of the product for our customer, while working in close cooperation with all of the customer’s R&D software teams worldwide.

Some of the things we have been working on so far:
  • Set-up, maintenance and ongoing development of CI/CD infrastructure inside our worldwide distributed R&D organization
  • Building the monitoring and tracking systems for assuring quality, and constantly enhancing them
  • Creation of an internal web portal for retrieving statistics and systems’ control
  • Improving the systems’ architecture, processes and overall system quality
  • Root cause analysis in cases of failure and other problematic situations
  • Audits and analysis of performance of the implemented solutions
  • Proper documentation of the systems
  • Support, training and instructions for the users of the systems

What you bring to the table:
  • Experience with Jenkins and GitHub
  • Experience with Linux and Linux shell scripting
  • Experience with make based build systems
  • Substantial, extensive and demonstrated experience in various aspects of automation
  • At least two years of related work experience
  • Degree in Computer Science or related discipline or equivalent work experience
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • Experience with database design and management for database driven CI system

If you do not have these skills, you will have an opportunity to master them.

Software Engineer - Banja Luka

Located in the very heart of Banja Luka, SYRMIA is a young and ambitious software company that tackles the most exciting challenges of embedded development. We are a team of almost 20 software engineers in Banja Luka and over 150 engineers across all our sites, including Belgrade, Nis and Novi Sad, who love low-level programming and C and C++ are the languages we speak.

We like working and spending time together. In fact, we love it so much that we are looking for new team members to join us! We have open positions for engineers of different seniority levels - ideally, it would be great if you already have some experience with C and C++, but don’t worry if you don’t – we believe that a passion for low-level programming and a desire to solve the most complex engineering problems are the key characteristics of our new team member.

Some of the things we have been working on so far:
  • Writing and modifying compilers and emulators for cutting-edge architectures
  • Contributing to the next generation of top-class networking infrastructure products
  • Designing and creating a cutting-edge compiler for programmable networking devices
  • Developing Windows and Linux graphics drivers
  • Working on GPU virtualization tools for cloud solutions
  • Developing car peripherals software for some of the most renowned car manufacturthe world
  • Working on tools for collecting, validating and analyzing petabytes of automotive data

What you bring to the table:
  • Academic education in computer technology (finished or ongoing BSc / MSc studies)
  • Experience with C and C++ or a good understanding and desire to master them
  • Good problem-solving, debugging and analytical skills
  • Positive energy, motivation to learn and ability to work as part of a team
  • High level of work autonomy and sense of responsibility
  • A desire for improvement of current skillset in a fast-paced working environment
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • Knowledge of system programming and good understanding of computer architecture
  • Experience in any of the areas we are working in (graphics, automotive, networking, virtualization, security)
  • Experience with version control tools - Git
  • Experience in an agile way of working (Scrum)
  • Experience with computer system simulation and performance evaluation

If you do not have these skills, you will have an opportunity to master them.

C/C++ Software Engineer - Belgrade, Novi Sad, Nis, Banja Luka

We are looking for motivated C and C++ developers of all seniority levels to join us and work on exciting and innovative projects. Our teams work in the domains of compilers, tools, networking, graphics and automotive. We invite you to join us and make a difference.

Some of the things you will be working on:
  • Writing and modifying compilers and emulators for cutting-edge architectures
  • Contributing to the next generation of top-class networking infrastructure products
  • Designing and creating a cutting-edge compiler for programmable networking devices
  • Developing Windows and Linux graphics drivers
  • Working on GPU virtualization tools for cloud solutions
  • Developing car peripherals software for some of the most renowned car manufacturthe world
  • Working on tools for collecting, validating and analyzing petabytes of automotive data

What you bring to the table:
  • Academic education in computer technology (finished or ongoing BSc / MSc studies)
  • Good knowledge and experience with C and C++
  • Good problem-solving, debugging and analytical skills
  • Positive energy, motivation to learn and ability to work as part of a team
  • High level of work autonomy and sense of responsibility
  • A desire for improvement of current skillset in a fast-paced working environment
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • Knowledge of system programming and a good understanding of computer architecture
  • Experience in any of the areas we are working in (graphics, automotive, networking, virtualization, security)
  • Experience with version control tools - Git
  • Experience in an agile way of working (Scrum)
  • Experience with computer system simulation and performance evaluation

If you do not have these skills, you will have an opportunity to master them.

Machine Learning Engineer - Belgrade, Novi Sad, Nis, Banja Luka

We are looking for motivated machine learning engineers of all seniority levels to join us. Machine learning is omnipresent in our projects. We deal with creating new models, modifying existing machine learning frameworks, up to developing software that enables fast and efficient execution of machine learning models on heterogeneous systems. Join us and work on something unique!

Some of the things you will be working on:
  • Developing tools that enable running neural networks on custom machine learning accelerator chips with integer and floating-point arithmetic
  • Contributing to the next generation of top-class networking infrastructure products
  • Designing and creating a cutting-edge compiler for programmable networking devices
  • Working on GPU virtualization tools for cloud solutions
  • Developing car peripherals software for some of the most renowned car manufacturers in the world
  • Working on tools for collecting, validating and analyzing petabytes of automotive data

What you bring to the table:
  • Academic education in computer technology, mathematics or physics (finished BSc / MSc studies)
  • Experience in Machine Learning
  • Good knowledge and experience with computer arithmetic
  • Good knowledge of Python and C/C++ programming languages
  • Good problem-solving, debugging and analytical skills
  • Positive energy, motivation to learn and ability to work as part of a team
  • A desire for improvement of current skillset in a fast-paced working environment
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • Experience with major machine learning libraries (PyTorch, Tensorflow, ONNX, etc.)
  • Firm knowledge in calculus, linear algebra, discrete math, numerical analysis
  • Experience in Digital Signal Processing (DSP))
  • Experience with version control tools - Git
  • Experience in an agile way of working (Scrum)

If you do not have these skills, you will have an opportunity to master them.

C++ Software Engineer In Networking - Belgrade, Nis

Demand for high-end, scalable networking devices is growing each year. To satisfy this demand, companies are working on fully programmable network processor development. These complex systems require a significant amount of software support, and SYRMIA is helping in that effort, working together with the leading company in computer networking.

We invite you to contribute to the evolution of the next generation of leading networking products. Together with our partners, we are building firmware, SDK, simulators and compilers for these devices. We offer you a unique opportunity to work in the development of cutting-edge technology.

Some of the things you will be working on:
  • Design, develop and program Linux/C++ based SDK for high-end network devices
  • Design, develop and program data-path/packet processing flows
  • Participate in the SW/HW integration

What you bring to the table:
  • Academic education in computer technology (finished or ongoing BSc / MSc studies)
  • Good knowledge of C++
  • Good problem-solving, debugging and analytical skills
  • Positive energy, motivation to learn and ability to work as part of a team
  • High level of work autonomy and sense of responsibility
  • A desire for improvement of current skillset in a fast-paced working environment
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • The understanding of computer networks and network protocols (Ethernet, TCP/IP...)
  • Basic knowledge of Python scripting
  • Software techniques for writing optimized code
  • Familiarity with the concept of unit testing

If you do not have these skills, you will have an opportunity to master them.

GPU Driver Development Engineer - Belgrade

The world of graphics is rapidly changing. Top industry players are moving high-performance graphics to the cloud, offering it as a service. We are working on developing drivers for leading graphics card manufacturer with a focus on streaming services, hardware-based media protection and GPU virtualization.

Join us in this challenging industry!

Enjoy a unique opportunity to work on cutting edge solutions for the leading graphics card manufacturer, in areas of cloud services, cloud gaming, encryption algorithms and operating systems for secure processors.

Some of the things you will be working on:
  • Working on a complete driver stack for GPU virtualization, on both host and guest side
  • Integrating graphics chips with various Hypervisors (VMWare, Xen, KVM, HyperV) and Operating Systems (Windows, Linux)
  • Implementing hardware DRM solution for Windows drivers
  • Writing and verifying low-level system software for ARM TrustZone
  • Evaluating GPU performance and other components that impact it - CPU, RAM, OS, drivers, etc.

What you bring to the table:
  • Academic education in computer science or computer engineering (BSc or MSc degree)
  • Strong C/C++ programming skills
  • Knowledge of system programming and a good understanding of computer architecture
  • Positive energy, motivation to learn and ability to work as part of a team
  • Good problem-solving, debugging and analytical skills
  • Desire for expansion of current skill set in a fast-paced working environment
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • Experience with the Windows or Linux driver development
  • Understanding of virtualization technologies
  • Knowledge of cryptography and security algorithms
  • Experience with secure computing
  • Experience with computer system simulation and performance evaluation
  • Familiarity with 3D graphics, OpenGL and/or Direct3D

If you do not have these skills, you will have an opportunity to master them.

Automotive Software Engineer - Belgrade and Banja Luka

Assisted driving and automated driving are both the present and the future of the automotive industry. Many modern vehicles include a certain degree of driving assistance, such as traffic sign detection, road condition detection, detection of driver tiredness etc.

The next big thing is the “auto-pilot” function or a completely autonomous car that can go from point A to point B without human interaction. But it needs your help to get there!

Some of the things you will be working on:
  • Designing and implementing a software simulation system for assessing object detection performance of the on-board camera
  • Developing and maintaining car peripherals software for some of the most renowned car manufacturers in the world
  • DDesigning and developing a validation system for collecting camera data (everything from detecting image quality, to quality of signals reported by vehicle)
  • Working on a distributed data processing system based on Jenkin
  • Working on tools for collecting, validating and analyzing petabytes of the data

What you bring to the table:
  • Academic education in computer technology (finished or ongoing BSc / MSc studies)
  • Good knowledge and experience with C and C++
  • Good problem-solving, debugging and analytical skills
  • Positive energy, motivation to learn and ability to work as part of a team
  • High level of work autonomy and sense of responsibility
  • A desire for improvement of current skillset in a fast-paced working environment
  • Fluent in spoken and written English

What would be great, but not mandatory:
  • Knowledge of Python programing language
  • Experience with version control tools - Git
  • Knowledge and understanding of AUTOSAR architecture and vehicle busses (CAN, FlexRay and Automotive Ethernet)
  • Experience with Jenkins and Groovy
  • Experience with software verification
  • Software techniques for writing optimized code
  • Experience in an agile way of working (Scrum)

If you do not have these skills, you will have an opportunity to master them.