Engineer II- Frontend Software Engineer
Sierra Wireless
Software Development Engineer 3
Position Summary: The Software Development Engineer 3 position is responsible for leading software development functions for significant product areas within our semiconductor company. This position develops software architectures, manages complex implementation projects, and provides expert guidance on software design and optimization. The role requires advanced expertise in software engineering, strong analytical abilities, and leadership skills to ensure excellent software solutions while supporting business objectives in the highly technical semiconductor product environment.
Key Responsibilities: Software Architecture and Design Leadership (25%): • Develop and implement software architectures and design strategies for significant product lines or technology platforms • Create comprehensive software specifications, performance requirements, and design methodologies • Design innovative software solutions to address specialized semiconductor application challenges • Establish software quality objectives and technical metrics • Align software designs with product objectives and market requirements Advanced Software Development (20%): • Lead complex software development and implementation initiatives • Develop sophisticated software components, frameworks, and applications • Implement advanced programming techniques for performance optimization • Create reference implementations and architectural templates • Drive software excellence through innovative approaches and methodologies Software System Integration (15%): • Lead software integration with hardware, firmware, and system components • Develop interface strategies and cross-domain architectures • Create system integration approaches and validation methodologies • Implement efficient software deployment and configuration management • Ensure seamless interaction between software and semiconductor components Technical Problem Solving and Optimization (15%): • Lead resolution of complex software engineering challenges • Develop advanced troubleshooting methodologies and debug strategies • Create innovative solutions for difficult performance and reliability issues • Implement novel techniques for memory, CPU, and resource optimization • Drive continuous improvement through technical excellence and innovation Software Quality and Verification (15%): • Lead software quality assurance and verification strategies • Develop comprehensive test methodologies, automation frameworks, and validation approaches • Create advanced software verification tools and environments • Implement metrics and analytics for software quality management • Drive quality excellence through systematic approaches and continuous improvement Technical Leadership and Collaboration (10%): • Serve as software engineering subject matter expert to product and system teams • Lead cross-functional software initiatives and development projects • Provide technical mentoring to engineering teams • Build collaborative relationships with hardware engineers, product managers, and quality teams • Represent software expertise in technical forums and reviews
Education and Experience: • Bachelor's degree in Computer Science, Software Engineering, or related technical field; Master's degree preferred • 5-7 years of progressive experience in software development and engineering • Experience leading software projects and complex implementations • Advanced knowledge of software architectures, design patterns, and development methodologies • Experience in semiconductor product or embedded systems development environment required
Qualifications: • Expert knowledge of software engineering principles, architectures, and development methodologies • Advanced understanding of multiple programming languages, frameworks, and their applications in semiconductor environments • Strong knowledge of software system design, component integration, and deployment approaches • Experience with embedded software, real-time systems, and hardware interfaces • Excellent project leadership capabilities with experience managing software initiatives • Strong analytical and problem-solving skills • Superior technical communication and documentation abilities • Knowledge of software quality practices, testing methodologies, and verification approaches • Strategic thinking with ability to align software approaches with product objectives • Experience with continuous integration, deployment automation, and development operations • Understanding of semiconductor product development and manufacturing processes
Travel Requirements: • Moderate travel required (10-15% of time) • May include travel between development centers, manufacturing facilities, and customer sites
Level of Authority: • Leads software development for significant product areas or technology platforms • Makes decisions regarding software architectures, design approaches, and implementation priorities • Provides authoritative guidance on software matters and methodology applications • Approves software specifications and design approaches • May supervise software engineers or coordinate cross-functional development teams
Job Complexity: • Performs highly complex software engineering activities requiring advanced expertise and judgment • Addresses sophisticated software challenges involving multiple components and performance dimensions • Develops software solutions with significant product performance and market implications • Requires deep understanding of semiconductor technologies, embedded systems, and software architecture • Expected to balance software quality, performance, reliability, and time-to-market objectives • Navigates complex technical tradeoffs and competing requirements • Works in highly specialized semiconductor environment requiring innovative software approaches