- Good knowledge of the C language, experiences with real-time firmware development for control applications.
- Good knowledge of Git and related source maintenance infrastructure
- Team play and English on a fluent communication level is an advantage.
- Insight into physics and/or dynamic systems or motor control is an advantage.
- Creates new applications according to the assignment, which is obtained from the service mgmt/customer support.
- Modifies existing applications according to the assignment, which is obtained from the service mgmt/customer support.
- Maintains refactors and documents existing applications according to rules defined by the core devel team.
- Provides the feedback to core devel team regarding recommended functionality change, improvement, etc.
- Provides feedback to the assignee about the work done with proper documentation.
- Define testing procedures and tests the applications (in all sorts of manners, from unit testing up to black-box hardware tests).
Notes: *The term “application” stands for the highest layer of the firmware, responsible for the mapping of controller inputs to the controller outputs.
SW Testing Engineer
We are a young and agile company operating in the dynamic field of electric traction motor control for electric mobility. To our team, we are looking for a Testing Engineer who should design a testing environment for us, as well as perform and report on tests of the device’s firmware and applied software.
- Ability to design and plan tests or willingness and ability to independently learn how to do it.
- Ability to independently write programs in C and any object-oriented language. C++ is preferred.
- Ability to independently write programs in Python or to learn the language quickly (if a person can C++, it shouldn’t be an issue).
- Understanding of software testing principles, levels, and tactics (functional and non-functional testing, unit testing, international testing, system testing, acceptance testing, validation, negative/positive tests, regression testing,
- performance testing, memory leakage testing, etc.).
- Ability to design and perform different types of tests: testing of functionality from user’s side (black-box testing, grey-box testing), testing separate functions, program modules, and libraries during developing phase (white-box testing), non-functional testing (performance, memory leakage, and security).
- Understanding of RISC MCU architecture and possible hardware.
- Ability to test firmware of RISC MCUs (logical errors, performance, etc.; see point #4).
- English communication skills to discuss and plan together, learn and report.
Nice to have
- Ability to create readable and self-explainable reports.
- Ability to read others’ code and make suggestions on improving readability and maintainability.
- Ability to write programs in Assembler.
- Knowledge about Gitlab, Gitlab runner, CI/CD.
The opportunity to work on the world’s leading, state-of-the-art products for the dynamic field of electric mobility
Responsible and independent work in implementing testing standards in the company
Workplace: Pelhřimov or Biskupice, Czech republic, Possibility of remote working
- DevOps Engineer takes care (setups, maintains, improves, secures) about the network infrastructure which contains VPN servers to establish a connection between two offices, network storages, the GitLab server, Microsoft 365 services, the VPS with Docker virtual environment, the web-site, Jira services, and others.
- Skills in team play and willingness to learn new things.
- English speaking and writing skills.
- Skills and knowledge to deploy, set up, and maintain Windows OSes, UNIX-based OSes (Linux/BSD) on desktops and servers.
- Skills and knowledge to design configure, deploy, and maintain network services (network filesystems, AD, DHCP services, DNS, NTP services, HTTP/S services, SSH/SFTP services, NAT and routing services).
- Skills and knowledge to choose, deploy, set up, and maintain servers‘ and desktops’ hardware including RAID controllers.
- Skills and knowledge to choose, deploy, set up, and maintain network hardware (cooper wiring, Ethernet switches and hubs, 2G/5G WiFi APs, routers, hardware firewalls).
- Skills and knowledge to design firewall rules and set up software firewalls on BSD/Linux systems.
- Scripting skills using PowerShell and Bash, knowledge and skills to automate processes.
- Knowledge and skills to deploy and configure GitLab services for CD\CI.
- Skills and knowledge to deploy, set up, and maintain virtual environments (Docker, Kubernetes).
- Skills and knowledge to deploy, set up, and maintain SQL-based relational databases (MariaDB).
Nice to have
- Creativity. Comes up with ideas on how to improve the system to fit the everchanging needs.
- Skills and knowledge to set up web services and mail services on BSD/Linux OSes.
- Skills and knowledge to use and maintain hypervisors.
- Knowledge of SQL.
- Skills and knowledge to deploy, set up, and maintain non-relational NoSQL databases (MongoDB, Redis).