Piotr Figlarek, who is not only a Software Architect but also Team Leader of the Software Department, describing what is it like to be a Software Developer at GRINN who exactly are we looking for
What is GRINN
GRINN is a Design House in which we design various types of embedded devices for a wide range of clients. These are both devices in the field of IoT, Industry 4.0 as well as measuring devices, or the broadly understood area of consumer electronics.
Modest product portfolio - unfortunately, we cannot boast most of them - you can find on our website → https://grinn-global.com/portfolio/.
What does work in the GRINN look like
We listen to the client, his needs, expectations, possibilities and experiences, and we translate them into "our" engineering requirements. We try to correct all unrealistic requirements, clarify doubts, where we think it is worthwhile, we propose changes and improvements.
In the next step, the members of the Hardware Team design an electronic device, which a dedicated development team uses later during development. It doesn't always work the first time. Not always, the first hardware version is the final one; therefore, both teams work together to support each other in looking for bugs, improvements, simplifications or ordinary modifications. At the same time, we try to provide the customer with the first copies of the prototype even if it has its limitations, bugs or unfinished implementation of the required functionality.
During 14 years of cooperation with about a hundred clients, we have learned that waterfall does not work, which is why we focus on active cooperation with the client instead of extensive documentation written earlier than the first line of code.
What Is It Like to Be a Software Developer at GRINN?
We don't like boredom. We don't like patterns. We try to individually select the working environment to the specificity of a given project. This is why over the last few years, we have used: Contiki, RIOT, FreeRTOS, Zephyr Project, Linux (Buildroot / Yocto / Debian / Ubuntu), but also nRF5 SDK (Nordic Semiconductor), ASF (Atmel / Microchip), ESP-IDF (Espressif) and many other.
More and more projects are developed in accordance with the TDD supervised by the company's CI & CD. Then there are black / white-box tests, and here we use Robot Framework as well as pytest.
In addition to embedded software, our devices often need additional software. Therefore, we can also build a simple cloud (but only for demo purposes, in this area, there are better than us) or a PC application in Electron or Qt. It is very useful (but also not required) to know the basics of electronics. Working on prototypes is also discovering hardware problems. At GRINN, some of the Software Developers can find them on their own; others can always count on the help of colleagues from the Hardware Team.
What do the devices look like? What do they have in common?
Most of our devices are radio connected. The most used are LoRa, Bluetooth Classic, BLE, WiFi, LTE Cat-M, NB-IoT, Zigbee. Those connected to the Internet use standard protocols such as MQTT, CoAP, REST-API, etc. In addition to the radio, our devices enable communication via RS485, CAN, Ethernet, USB. The standard communication between the systems included in our devices is I2C, SPI, UART, USB, ETH.
Who are we looking for?
We are looking for developers who want to learn new things. Many of the above-mentioned technologies are solutions that have existed for years (so "everyone" knows how they work), but some of them are new technologies that we learn during projects.
For this reason, knowledge of technology is less important than the willingness to develop. At GRINN, we help each other, learn from each other and constantly improve our competencies.
We do not aspire to create complete solutions for our clients, i.e. embedded + cloud + mobile. However, even without "cloud" and "mobile", the number of languages and technologies we use is quite large. You don't need to know all of them, but you will meet the 100% in GRINN and have the opportunity to work with them.
It is very useful - but also not required - to know the basics of electronics. Working on prototypes is also discovering hardware problems. At GRINN, some of the Software Developers can find them on their own. Others can always count on the help of colleagues from the Hardware Team.
We are constantly on the lookout for those who want to learn new things - check our careers page to see the openings: https://grinn-global.com/about-us/career/