C & C++ & Rust Expert for writing code for ESP-IDF

Job ID: 37841653

Budget: $10 – $200 USD

We require a highly skilled C & C++ & Rust developer who can implement a set of features in different languages
- C
- C++
- Rust

Key functionalities required:
- we want to decide which programming language to choose for a ESP-IDF based project
- implement the corresponding make files with dependency management (CMake)
- implement the code for each language by best practices
- code builds&runs on ubuntu 22.04 and finally on ESP32
- provide test data into a resources folder to be able to run your implementations as unit tests
- package builds via bash script and provide runner for unit tests
- optimize the languages corresponding readability
- provide best practice documentation


Strong C/C++/Rust programming skills

After this test project, we will assign you development tasks around our real requirements. So consider this as a test project to learn us, and to show your expertise

The milestones to implement:

MS1:
- implement a GNSS / NMEA parser to parse sentences into usable data structures (structs, classes, ...)

MS2:
- fetch ESP32 states like battery SOC, RTC time every configurable seconds (default 60s)
- persist each fetch of states into a data structure (recommend if json is not okay for you), which is failsave (if one data is broken, not all datasets are broken)
- provide a transactional detection, so that other threads are only reading final written files

MS3:
- implement sending via MQTT the aggregated data from MS2 as json
- Assume you can send only random(5*60s, 30*60s), every 5-30mins
- ensure to only read finished files of MS2


Budget?
will not be disclosed, place your best bid to get considered

What is next?
We will share you a NDA and afterwards a paid test task.

Payment?
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- you implement, test and deliver
- you provide also unit /integration tests to ensure code is always working
- you document each required step to make interaction of systems to work
- we test on our premise (you maybe help to fix issues)
- we pay
(basically the rules of freelancer)

Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task.
We are sorry we will not hire you in such a case!

Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- cmake
- multiple samples of data/jsons
- bash to run build, and to run tests
- libs, need prior confirm and we prefer to use mostly latest stable versions
- run on https://packages.ubuntu.com/jammy/gcc
- your code is working on our end too
- your code passes our CI build
- you may require to help us here on setup
- we require, depending on availability and on complexity 2-4 weeks test time per milestone. Usually clearly less