Principal Software Engineer
Date: Nov 11, 2019
Location: San Jose, CA, US
Company: Cypress Semiconductor Corporation
Requisition Id:- 18123
Responsible for the architecture, development, testing and support of embedded software for IOT platforms using MbedOS, FreeRTOS etc.. Initial focus will be developing/supporting the Power-Management software for existing and new silicon.
Major Duties:
- Design, develop and support RTOS modules, device drivers , Networking Software, power-management software and other BSP Software for various Cypress IOT platforms/MCUs
- Designing, implementing, testing, integrating and debugging real-time embedded system software
- Participate in system engineering / Architectural activities
- Analyzing and enhancing system efficiency, power consumption, stability and functionality
- Manage ongoing software requirements definition and prioritization to keep pace with customer design requirements
- Participate in design/code reviews
- Provide support to internal and external customers
- Interface with silicon and HW design and development - Work closely with design engineers and marketing to develop new features that integrate with the RTOS environment
- Work with and/or access third party/open source tools and software
- Manage project plans, development backlogs, timelines, milestones, and priorities
- Mentor junior engineers
- Generate documentation including diagrams, charts, and other tools to ensure the delivery and maintainability of a quality product
Ideal Qualifications:
Demonstrated experience with embedded software design, development, debugging, documentation and testing
8+ years of experience in software engineering with the following:
- Proven working experience in embedded software engineering
- BS degree in Computer Science or Engineering
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++ and assembly languages
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems
- Experience with Multi-threading and multi-processor platforms
- Familiarity with software configuration management tools, defect tracking tools, and peer review such as GIT, SVN, JIRA and Gerrit
- Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
- Experience in bare-metal development environments and platform bring up
- Experience with pre-silicon SW development and validation
- Knowledge of IO interfaces and device drivers such as I2C,SDIO, UART, Flash drivers, USB etc.
- Knowledge of 802.11, Bluetooth and TCPIP protocols and hands on experience with developing Network stack componenets
- Working experience with ARM and other MCU architectures
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills
- Strong Debug skills (JTAG, GDB etc.)
- Team player
Experience mentoring junior engineers
Knowledge of high-level software architectural patterns and best-practices
Bachelor’s degree in computer science or related field
Highly self-motivated with excellent communication and interpersonal skills
Good organizational skills with the ability to multi-task, prioritize and track project activities
Cypress is an Equal Employment Opportunity employer and does not discriminate in recruiting, hiring, training or promoting, on the basis of race, ethnicity, color, creed, religion, sex, sexual orientation, gender, gender identity, genetic information, national origin, physical or mental disability, pregnancy, medical condition, U.S. military or protected veteran status, union membership, or political affiliation.
TO ALL RECRUITMENT AGENCIES:
Cypress Semiconductor does not accept unsolicited agency resumes. Please do not forward resumes to our jobs alias, Cypress Semiconductors employees or any other company location. Cypress Semiconductor is not responsible for any fees related to unsolicited resumes.
Nearest Major Market: San Jose
Nearest Secondary Market: Palo Alto
Job Segment:
Developer, Engineer, Software Engineer, Embedded, Computer Science, Technology, Engineering