-Designing and implementing software of embedded devices and systems -Designing, developing, coding, testing and debugging system software -Analyzing and enhancing efficiency, stability and scalability of system resources