Develop and refine embedded software systems, focusing on reliability and performance;
Design and implement high-level software architectures to optimize system functionality;
Ensure robust and precise software integration with hardware components for various applications;
Apply advanced programming techniques such as multi-threading, real-time processing, and memory management in embedded systems;
Collaborate with a multidisciplinary team to integrate embedded software with hardware platforms;
Conduct rigorous testing and validation of software algorithms on simulators and real hardware;
Work on the implementation of software models on microcontrollers, FPGAs, or dedicated hardware platforms, learning and applying new skills as required;
Engage in software debugging, profiling, and optimization to enhance system performance and efficiency.
Basic Qualifications:
Bachelor’s degree in Software Engineering, Computer Engineering, Electrical Engineering, or a closely related field;
Strong foundation in embedded systems concepts and architecture;
Proficiency in low-level programming languages such as C/C++ or Rust;
Knowledge of a high-level programming language like TypeScript or Python;
Experience with real-time operating systems (RTOS) such as Zephyr OS or FreeRTOS;
Familiarity with hardware-software interfacing and communication protocols (e.g., I2C, SPI, UART);
Knowledge of software testing methodologies, including unit testing, integration testing, and system testing;
Strong foundation in electronics and experience using debugging tools for embedded systems, such as oscilloscopes and multimeters;
Proficiency in using version control systems (e.g., Git) and experience with Gitflow for versioning and CI/CD pipelines.
Preferred Skills:
Proven expertise in embedded software development, including low-level programming and high-level software design;
Experience with hardware description languages such as Verilog or VHDL;
Strong analytical and problem-solving skills, capable of working independently or as part of a team;
A strong GitHub profile with various projects showcasing relevant experience;
A passion for technology and a continuous drive to learn and apply new software engineering practices;
Excellent communication skills, capable of articulating complex technical concepts to a diverse audience.
Don't forget to mention Space-Careers when applying.