This position will require collaborating with a multi-disciplinary team to provide embedded software for custom hardware solutions. Analyze, design, program, debug and modify the firmware for the execution of drivers, board support packages, and other custom embedded platforms. Work often involves analog and digital hardware and real-time operating systems. The position requires knowledge of and exposure to hardware design and strong C/C++ programming skills.
In this role, you’ll:
Design and implement systems using C, C++, and a variety of languages (e.g. bash, Python). Experience with various frameworks & OS including bare-metal systems.
Write code from high-level embedded applications down to register-level device drivers
Utilize a variety of processors and hardware peripherals (e.g. PWM, ADC, DAC, CAN, UART, etc.)
Write and execute complete testing plans, protocols, and documentation for assigned portion of the application; identify and debug, and create solutions for issues with code and integration into the application architecture
Develop and modify BSPs (including porting and integrating kernel device drivers)
Board bring-up as well as debugging and validation of new hardware
What we expect from you:
3+ years of degree experience in software development required
Strong C, C++ programming skills
Knowledge of firmware testing methodology, including writing and execution of test plans, debugging, and testing scripts and tools
Full understanding of SPI, I2C, USB 2+, RS232, CAN
Knowledge of basic principles of the kernel, DT, bootloader, and how the system works
Experience with RTOS (real-time operating systems)
Experience with communications protocols in a low-power environment, for example, Bluetooth LE
Experience with collaboration tools (i.e. GIT, JIRA, and Confluence) and software configuration tools
Demonstrated ability to take initiative to identify and solve complex system-level issues
Excellent analytical and empirical problem-solving and troubleshooting skills. Ability to apply statistical methodology in evaluating the design and system performance
Ability to plan work and accomplish challenging objectives with a minimum of direction
Demonstrated ability to work collaboratively, both within and outside one’s own workgroup
Strong written and verbal English language communication skills
Bachelor’s degree in Computer Science, Electrical Engineering or related field
What we offer?
Multicultural team, non-routine work, and a place for your ideas;
Hybrid work model – remotely and from our office;
Vacation of 24 (and up to 27) working days per year;
Your English is not the best? You will get free English language courses!
We love learning! You will get compensation for educational activities (training courses, conferences, workshops, you name it!) and professional certifications
Into sports? You will get compensation for sport activities of your choice!
We care about employees' wellbeing! You will get compensation for psychological support (counseling/psychotherapy/online mental health platform)!
Working as a freelancer/B2B? You will be compensated for bank commission fees!
Into team events? You get covered for any company event, party, team building...you name it.
You get compensation in the event of child birth and/or marriage
You will get company equipment (PC/laptop) or receive compensation for your work equipment.
IF based in Vilnius, you will also get..
Health insurance and paid sick leave
Lithuanian language courses (if you want to)
Free gym in the office!
Additional office supplies/IT gadgets needed for your work
Softeq started in 1997, and now we have offices in Houston, Vilnius, Munich, and Mexico. As a full-stack company, we help clients create turnkey smart gadgets and standalone components of IoT systems. We have our own Startup Venture Fund and collaborate with MIT. Come join us!
Senior Embedded Engineer
Loading application form
Already working at Softeq?
Let’s recruit together and find your next colleague.