Position: Embedded Software Engineer
Company: AVA LIMITED
Category: C++
Experience required: 3y
English level: basic

Our principle of work - from idea to launch, we work with our customers every step of the way. We offer an end-to-end platform together with a set of hardware products to run home automation. Target audience ranges from installers (architects, designers, electricians, builders) to homeowners.

We build, test and develop hardware products internally (home controllers, keypads, smart breaker controls etc.), as well as use available market products to deliver the most personalized use cases to our audiences.

We focus only on high-end products, from visual aesthetics to usability and simplicity, our products are something that homeowners want and like.

Our portfolio of objects goes from small apartments to luxury villas and houses, from condominiums to smart neighborhoods and cities.

Product development is broken down into 3 key roadmap milestones: 1 - high-end smart home hardware development (in progress); 2 - smart home platform development (will reuse existing components from the initial phase of the project); 3 - reaching out to enterprise customers like landlords, condominium owners etc.

Smart home platform includes software development for smart home products (actuators, controllers, hosts etc.), web portals for configuration, smartphone apps for end users (Android, iOS).



Position requirements:

• BS/MS degree in Computer Engineering or related subjects;

• Stack of technologies: C, CAN, FreeRTOS, Cortex M0, SPI, I2C, RS485, MODBUS
• Embedded programming experience in C, C++;
• Experience with RTOS and Embedded Linux device drivers and bootloaders;
• Deep understanding of OOP, SOLID principles;

• Good knowledge of commonly used libraries (HAL, file system (FatFS, LittleFS), networking (lwIP or similar)) ;

• Deep experience with STM, PIC, ATMega, etc ;
• Experience with hardware interfaces such as UART, I2C, SPI, ModBus, CAN, USB, Ethernet ;
• Ability to write clean, readable code with clear separation of concerns;
• Could adapt to an existing software solution and to drive implementation of new features to this solution
• Ability to interpret hardware schematics;
• Experience with common development tools (git, test frameworks, IDEs);
• Teamwork skills.

Responsibilities:

• Develop and test embedded software for high precision electronics devices;
• Embedded firmware development for the new electronics products of company;
• Work in Linux, Windows environment;
• Write code documentation;

Plus for us:

• Hardware debugging skills & experience with power supplies, signal generators, oscilloscopes and/or logic analyzers;
• Software development skills in Python, C#;
• Experience with TCP, UDP, MQTT, TLS.;
• Experience in desktop application development;
• Experience writing board support packages (BSPs).

Benefits:

Flexible work hours, flexible vacation / PTO schedule
Ability to create, raise and lead the team from the scratch in a startup environment
Work from the modern office near Kyiv. We also offer ability to work from home if needed
Professional & personal growth.