Senior Embedded Software Engineer

Responsibilities:

  • Development of new concepts and firmware in the area of embedded and (or) desktop software platforms
  • Collaboration in the creation of software architectures from specification to implementation
  • Creation of detailed designs as well as coding, mainly in C and C++
  • Development of firmware components for single-core and multi-core systems
  • Development of low level (peripheral HAL and drivers) software components
  • Implementation and maintenance of configuration management
  • Unit tests, integration tests and cooperation in system tests
  • Creation of development documentation
  • Collaboration with HW and QA teams over the entire life cycle

Must have:

  • 5+ years of professional experience in embedded software development using C and/or C++.
  • Professional understanding of micro-controllers and embedded systems;
  • Professional knowledge of general software engineering concepts: design patterns, algorithms, data structures, complex software applications
  • Professional knowledge of embedded software design principles;
  • Professional experience in low level (peripheral HAL and drivers) software implementation
  • Professional understanding of protocols such as TCP/IP, UDP, HTTP, TLS
  • Experience with boot loaders, initialization code;
  • Good knowledge of embedded hardware (ARM development boards, Single-Board Computers)
  • Software development lifecycle experience and performance optimization
  • Experience in profiling and analysis of systems using Linux/some RTOS.
  • Familiarity with communication protocols such as Ethernet, CAN, LIN, SPI, I2C and etc.
  • User knowledge of requirement management and revision management tools
  • Knowledge of measurement instruments for testing and development (Oscilloscope, Multimeter, etc.)
  • At least good technical English

Nice to have:

  • Experience with boot loaders
  • Experience with Yocto or similar build systems

Personal skills:

  • Solid analytical skills
  • Strong problem solving skills
  • Excellent communication skills and proactive approach to work
  • Good organizational skills and self-discipline

20 Excellent Reasons To Join Balkantel: