DESPRE COMPANIE

Our company, CBN Agro Tech, has taken on a mission to help farmers protect their stored grains against spoilage by providing them with the latest technology and IoT equipment to remotely monitor their grain storage facilities in real-time, track inventory levels, and receive alerts if any issues are detected.

We develop custom electronics for sensing and automation, plus a cloud-based application enabling our customers to access their data from anywhere using their computer or mobile device.

DE LA ACEEAȘI COMPANIE
Junior Embedded Linux Developer
Stagiu plătit la CBN Agro Tech (1000) · Începe după sesiune
Categorii:
  • – Embedded & Internet of Things
Oraș:
  • room București

In our company, we use Linux (well, who doesn’t?) for both embedded (Internet of Things connected) devices and cloud server workloads.

We wish to train a junior to be able to develop and maintain our custom Linux setups for embedded / IoT devices and monitor / administer them from a centralized (cloud) server (using, ofc, best security practices).

You will be under the mentorship of a skilled embedded senior with over 10 years experience on Linux systems, while also having a Teaching Assistant position at U.P.B. (Automatică și Calculatoare).

You will:

  • Develop & maintain lightweight Linux distributions for IoT (with size & performance constraints);
  • Build embedded Linux images for various HW platforms (e.g., x86, ARM) with custom kernel & advanced bootloader configurations (e.g., remote upgrades with A/B failover);
  • Develop reliable system software for always-on / remotely connected systems;
  • Automate the safe deployment of embedded software;
  • Administer and monitor multiple IoT gateways / cloud server systems;
  • Employ cryptographic protocols and security good practices for connected systems (e.g., do initial key provisioning, rotations, secure tunnels for maintenance / upgrading / recovery);
  • Script all of those things (mostly, but not limited to, Bash & Python)! ;)

Required Skills:

  • Finished or currently enrolled in a relevant degree program in computer science or a related field;
  • Basic knowledge of computer architectures (i.e., x86 vs ARM), common peripheral devices (USB, serial), the usual boot process etc.;
  • Moderate Linux administration skills (installation, partitioning, package management, configuring services such as http / ssh);
  • Good programming experience, especially Python, C and shell scripting;
  • Basic experience with build systems (e.g., Makefile / autoconf) & C compilers (gcc);
  • Good English reading / writing skills (for reading / writing technical documentation);
  • Basic networking knowledge (CCNA-level IP addressing, client-server protocols, basic network administration skills);
  • Basic experience with virtualization / emulation (qemu) and containers;
  • Debugging / problem solving skills: being able to read log outputs (from Linux / compilers) and investigating (searching) for the actual cause of an error;
  • Optional: experience with configuration management tools (Ansible, SaltStack, Chef, Puppet etc.) is a big plus!