You will be working with Rust programmers which are developing mining software. You will also be developing support system services, maintaining and updating the distribution and porting it to new platforms (so far they are all different ARMs), and writing tests and building automation as well.
Linux - development takes place primarily on computers with Linux distribution (Debian, Ubuntu, ...). It is not assumed that you would work on another system.
Rust - in the current project it is the primary language.
Bash - this language is not our priority and most of the time we do not use it, but it is supported by the built-in Linux distribution so we expect some knowledge from you(grep, sed, awk, ...).
Lua - some parts of the OpenWrt/LEDE system are written in Lua and it is better if you are at least familiar with this language and will not be surprised if you encounter it.
C - there will not be any future development in this language, but you should know it at least at the level of understanding the code.
Docker - you do not have to actively use this technology, but should have an idea of its existence and be ready to use it.
PyCharm / CLion - only recommended, not required. It does not prevent anyone from using any development tool.
Gdb - knowledge of general principles and the ability to debug applications on a remote system using a gdb server.
Git (GitLab, GitHub) - used for versioning and managing source code. You should be familiar with the Pull/Merge Request Policy and Code Review.
Cross-compilations - general knowledge of translation issues for different architectures (ARM).
Embedded protocols - basic overview of communication protocols GPIO, I2C, SPI, USART and their use in Linux at the application level. The advantage is an understanding of their functioning at the kernel level, where occasional intervention in their functioning is expected.
JTAG / Logic Analyzer - HW debugging capability is welcome, but not required.
FPGA - Knowing that this technology exists is sufficient.
Being familiar with Git and Linux.
Experience with Unix Shell (Bash).
Being capable of working in C/C++.
Experience with Embedded programming.
Experience with Rust programming is welcome.
Ability to work in a team as well as solo.
Ability to prioritize.
Be accountable for the quality of your work.
For the beginning it will be mainly about scripting and maintaining the Linux distribution with a little automated testing.
What we offer to you
Full-time position with flexible working hours and possibility of Home Office few days in a week.
Both possibilities to work as an Employee or Freelance.
5 weeks of vacation and 3 sick days.
Company events, regular Braiins brunches in the office and a snack bar.
Relaxing room, a shower, and a parking spot.
Contribution for a computer/notebook.
Modern offices in the center of Prague, Czech Republic — the heart of Europe.
Work on long-term projects in an interesting area of cryptocurrencies.
We’re looking for skilled developers to be part of our international team. You can work remotely, or join us at our headquarters in Prague, Czech Republic — the heart of Europe. We are happy to accommodate your preferences.
We will love you even more if
You are interested in cryptocurrencies or have active experience with them.
You are interested in new technologies and development procedures.