Software Systems Engineer Job Description

Software Systems Engineer I develops, modifies and codes software systems programming applications. Responsible for resolving less complicated problems relying on the established software systems. Being a Software Systems Engineer I has basic knowledge of the principles of existing software systems development. Troubleshoots and fixes minor problems regarding current procedures or systems. Additionally, Software Systems Engineer I requires a bachelor’s degree. Typically reports to a supervisor. To be a Software Systems Engineer I typically requires 0-2 years of related experience. Works on projects/matters of limited complexity in a support role. Work is closely managed.

Software Systems Engineer Job Description Template

Our company is looking for a Software Systems Engineer to join our team.

Responsibilities:

  • Design, implement, and update Linux Kernel based IO for Fibre Channel(FC), NVMe, and SCSI including debug and support;
  • Designs enhancements, updates, and programming changes for portions and subsystems of systems software;
  • Linux USER space IO development and debug;
  • Provides guidance and mentoring to less experienced staff members;
  • Provides domain-specific expertise and overall software systems leadership and perspective to cross-organization projects, programs, and activities;
  • Drives innovation and integration of new technologies into projects and activities in the software systems design organization;
  • Represents the software systems engineering team for all phases of larger and more-complex development projects;
  • Provide status on assigned schedule tasks;
  • Support definition of operations concepts and procedure planning and development, interfacing with personnel from other organizations;
  • Support estimation of new work efforts as required;
  • Serve as Product Owners for our DevOps teams;
  • Provide document and engineering artifact review and resolve technical systems engineering and integration issues;
  • Provide technical oversight, direction and clarification of requirements to software and hardware development teams, and test personnel;
  • Developing, reviewing, porting, testing, debugging of Linux device drivers and Android HAL implementations;
  • Integration and porting of SoC BSP to our hardware platforms.

Requirements:

  • Experience with multiple software systems design tools and languages;
  • Experience in overall architecture of software systems for products and solutions;
  • Planning and using resources effectively; orchestrating multiple activities simultaneously to accomplish work;
  • Experience with CAN bus, and extra points for experience with SocketCAN;
  • Systems programming experience;
  • Competence in C/C++
  • Previous experience writing firmware;
  • Experience with lightweight containers (i.e., Kubernetes, Docker);
  • Design, develop and modify software systems to predict & measure design outcomes;
  • Excellent verbal and written communication skills with a variety of audiences;
  • Embedded systems or firmware experience (e.g. microcontroller code, serial bus / I2C / I2S);
  • Proficiencies in Javascript, and JQuery is an added benefit but not required;
  • Experience writing or maintaining drivers;
  • 3+ years experience in full-lifecycle safety-critical software development, including requirements, design, integration, validation, and verification;
  • Experience with Windows Server environments.