Key Responsibilities and Required Skills for MTS Software System Design Engineer
💰 $ - $
EngineeringSoftwareSystems DesignEmbedded Systems
🎯 Role Definition
We are seeking an experienced MTS Software System Design Engineer to own system-level architecture, design, verification and delivery of complex software-enabled products. The ideal candidate will drive cross-functional system requirements, architect scalable and secure software/hardware solutions, lead design reviews, define verification strategies, and work closely with product management, hardware engineering, QA and operations to deliver high-quality systems on time. This role balances hands-on technical leadership with strategic planning and customer-facing communication.
📈 Career Progression
Typical Career Path
Entry Point From:
- Senior Software Engineer (Embedded / Systems)
- Systems Engineer or Software Architect
- Principal Engineer (software/hardware cross-functional)
Advancement To:
- Principal/Staff Systems Architect
- Engineering Manager / Technical Lead
- Director of Systems Engineering
Lateral Moves:
- Product Architect
- Reliability / SRE Lead
- Security Architect
Core Responsibilities
Primary Functions
- Lead system-level architecture and design for multi-component software systems, translating product requirements into modular, testable, and maintainable architecture blueprints that include software, middleware, firmware and hardware interfaces.
- Define and drive system requirements (functional, non-functional, performance, reliability, availability and security) by synthesizing stakeholder input, use cases and system constraints, ensuring traceability from requirements to implementation and tests.
- Produce detailed technical documentation including architecture diagrams, interface control documents (ICDs), sequence diagrams, state machines and API contracts to enable cross-team implementation and integration.
- Conduct system trade studies and feasibility analyses (performance, cost, power, latency) to recommend component choices, system topologies and design patterns that meet product constraints and roadmap goals.
- Architect and implement robust inter-process and inter-node communication strategies (RPC, messaging, pub/sub, DDS, REST/gRPC) optimized for latency, throughput and reliability in both embedded and distributed environments.
- Define end-to-end verification and validation strategies, generate system-level test plans, acceptance criteria and oversee system integration testing, fault-injection tests, and regression suites.
- Drive CI/CD pipelines for system builds, tests and releases (including firmware, bootloader, OS images and application stacks), integrating automated system-level tests, hardware-in-the-loop (HIL) and simulated environments.
- Own system performance tuning and capacity planning by profiling CPU, memory, I/O and network subsystems, identifying bottlenecks and proposing architecture or code-level optimizations.
- Design and implement secure system architectures that incorporate defense-in-depth, secure boot, encryption, key management, secure update mechanisms and threat modeling to satisfy internal and regulatory security requirements.
- Lead cross-functional design reviews and architecture governance, providing technical leadership, mentorship and clear decision-making rationale to align engineering teams and accelerate delivery.
- Coordinate hardware-software co-design and interface verification during bring-up, ensuring drivers, device trees, firmware and BSP (board support package) integration meet system-level expectations.
- Define observability and telemetry strategies for systems, specifying metrics, distributed tracing, logging, and alerting to support operational troubleshooting and SLO/SLA management.
- Manage third-party and open-source component evaluation, licensing, hardening and integration, driving vendor selection and negotiating technical requirements for system interoperability.
- Create prototypes and rapid experiments to validate architecture assumptions, measure trade-offs and inform development priorities; translate prototype learnings into production-grade designs.
- Lead reliability engineering and fault-tolerance design, including redundancy strategies, graceful degradation, failover mechanisms and deterministic recovery procedures.
- Establish system-level configuration, deployment and release management practices that support reproducible builds, rollback capability and environment-specific tuning.
- Drive cross-team alignment on system interfaces and API evolution, establishing backward-compatibility policies, versioning strategies and migration plans to reduce integration risk.
- Participate in customer and field-support escalations to diagnose system-level issues, reproduce problems in lab environments and drive corrective action plans to closure.
- Define system-level metrics and KPIs (MTTF/MTTR, latency percentiles, throughput, error budgets), track them over time and present trends to product and executive stakeholders to inform roadmap decisions.
- Mentor and grow junior engineers in system design best practices, architecture thinking, design patterns and documentation standards to build team capability in system engineering.
- Ensure compliance with industry standards and regulatory requirements relevant to the product (safety standards, communications certifications, industry-specific regulations), coordinating with compliance and legal teams.
- Drive continuous improvement of system development lifecycle, tooling, and processes (requirements management, model-based systems engineering, automated testing) to increase throughput and reduce defects.
- Serve as a primary technical contact during pre-sales, RFIs/RFPs and customer architecture workshops, presenting system capabilities, constraints and integration guidance to prospects and customers.
- Lead post-release root-cause analysis and blameless incident reviews for system-level failures, capturing lessons learned and implementing preventive engineering changes.
Secondary Functions
- Support ad-hoc data requests and exploratory data analysis.
- Contribute to the organization's data strategy and roadmap.
- Collaborate with business units to translate data needs into engineering requirements.
- Participate in sprint planning and agile ceremonies within the data engineering team.
- Assist product managers with technical backlog grooming and system-level prioritization.
- Provide input to cost-of-goods and manufacturability decisions from a system-design perspective.
- Maintain up-to-date architecture diagrams and runbooks for operational teams.
- Contribute to patent filings, whitepapers and technical publications that capture novel system solutions.
Required Skills & Competencies
Hard Skills (Technical)
- System architecture and design: system decomposition, interface definition, trade-off analysis and design patterns for complex software-hardware products.
- Embedded systems software: strong proficiency in C/C++ for firmware, device drivers and low-level middleware; experience with RTOS and bare-metal designs.
- Modern software engineering: experience with Python, Go or Java for tooling, orchestration, test automation and backend services.
- Linux systems engineering: kernel tuning, device tree configuration, bootloaders (U-Boot), kernel drivers and systemd/service management.
- Distributed systems: design and operation of scalable services, state management, consensus, messaging (Kafka, RabbitMQ), and RPC frameworks (gRPC/REST).
- Cloud platforms and services: hands-on experience with AWS/Azure/GCP for CI/CD, observability, container orchestration and scalable backend services.
- Containerization and orchestration: Docker, Kubernetes, Helm and strategies for deploying hybrid embedded-cloud systems.
- CI/CD and automation: Jenkins, GitLab CI, GitHub Actions, test automation frameworks, hardware-in-the-loop automation and reproducible build systems.
- Observability and monitoring: Prometheus, Grafana, ELK/EFK stacks, distributed tracing (Jaeger/OpenTelemetry) and log aggregation at system scale.
- Hardware-software integration: familiarity with board bring-up, serial/JTAG debugging, hardware interfaces (SPI, I2C, UART, CAN) and electrical constraints.
- Performance profiling and optimization: tools and methodologies to profile CPU, memory, I/O and network; optimize latency-sensitive paths.
- Security and secure engineering: secure boot, TPM/TEE, encryption, key management, vulnerability assessment and patching strategies.
- Model-based systems engineering and requirements tools: UML, SysML, MATLAB/Simulink, DOORS or equivalent for requirement traceability.
- Testing and verification: system integration testing, acceptance testing, stress/fault injection testing and automated regression frameworks.
- Networking protocols: TCP/IP stack, wireless protocols (Wi-Fi, Bluetooth, LTE/5G), and domain-specific protocols as applicable.
- Regulatory and compliance knowledge relevant to the product domain (e.g., telecom, automotive, medical, industrial).
- Version control and collaborative workflows: Git expertise, branching strategies, code review and release management.
Soft Skills
- Strong written and verbal communication skills for clear architecture documentation and cross-team alignment.
- Leadership and influence: ability to drive technical decisions and mobilize teams without direct authority.
- Systems thinking: holistic view of product behavior, emergent properties and long-term technical trade-offs.
- Problem-solving and analytical mindset: data-driven decision-making with rigorous root-cause analysis.
- Mentorship and team development: coaching junior engineers and promoting best practices.
- Customer orientation: translating customer requirements into pragmatic, reliable system solutions.
- Time management and prioritization under ambiguous, fast-moving project goals.
- Collaboration and stakeholder management: working effectively with product, hardware, QA, operations and external partners.
- Adaptability and continuous learning: staying current with new technologies, standards and industry shifts.
- Attention to detail with a pragmatic focus on shipping high-quality systems.
Education & Experience
Educational Background
Minimum Education:
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, Systems Engineering or related STEM field.
Preferred Education:
- Master’s degree or PhD in Systems Engineering, Computer Science, Electrical Engineering, or related technical discipline; or equivalent industry experience.
Relevant Fields of Study:
- Computer Science / Software Engineering
- Electrical or Computer Engineering
- Systems Engineering / Mechatronics
- Robotics or Embedded Systems
Experience Requirements
Typical Experience Range:
- 5–12+ years of professional experience in software systems design, embedded or distributed systems, with progressive responsibility for system architecture and integration.
Preferred:
- 8+ years designing and delivering complex software-hardware products, demonstrated experience leading architecture for production systems, proven track record of system integration and verification, and experience influencing cross-functional roadmaps.