Sapienza is looking to recruit an experienced Embedded Systems Software Engineer to fulfil the defined missions throughout the life cycle of OBC (on-board computer) embedded software development, testing, and satellite operation.
• Embedded software development, maintenance of components and systems
• Programming applications, components drivers and interfaces in C, C++ etc.
• Develop software based on satellite system specifications and other satellite component specifications
• Document design information
• Perform design reviews and code reviews
• Design and perform various tests
• Work closely with other engineering teams, partners and vendors to ensure interoperability / reusability
• Promotes co-debug and interface testing with related subsystems
• Work with hardware designers to solve any issues
• Gives support and troubleshoots problems during satellites initial and nominal operation
• If possible, perform FPGA integration by HDL or IDEs
o Educational background
Degree in electrical engineering, computer science or similar.
o One of the following:
Business-level Japanese and basic English (enough to communicate about technical topics, emails, etc).
Or, business-level English
o Investigates, questions, debates, time management, problem solving
o Work history related to embedded software development with C and C ++
o Basic knowledge or experience with computer systems, especially embedded systems
o Knowledge of at least one computer architecture. (e.g. ARM, x86 )
o Writing and reading the documents needed to review the software design. (e.g. State-machine, Sequence diagram, timing chart)
o Designing various test. (e.g. Unit test, Function test, system test)
o Reading and understand software functions to be implemented from circuit diagrams and hardware specifications.
o Knowledge of basic I/O protocols like UART/USART, SPI, I2C, etc.
o Experience developing software with high real-time characteristics on embedded OS (e.g. FreeRTOS, vxWorks, uCLinux)
o Using command line tools, GNU tools, scripting tool(e.g. Python)
o Using Version control system(e.g. git) well under console environment
o Basic knowledge/past experience of how to use an oscilloscope, multimeter, logic analyzer, power supply
o Building a build environment (e.g. Makefile, setting for compiler, linker and other)
o Experience in customizing and porting embedded OS
o Designing FPGA logic by VHDL, Verilog HDL or any IDEs.