Solution Architect
Y Axis Inc
Fremont, United States of America
yesterday
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Fremont, United States of America
Tech stack
C Sharp (Programming Language)
C++
Communications Protocols
Computer Engineering
Software Debugging
Software Design Patterns
Hardware Design
Object-Oriented Software Development
Software Architecture
Software Engineering
Universal Asynchronous Receiver/Transmitter
Multithreading
Serial Peripheral Interface
State Machines
Job description
Semiconductor equipment software engineer focused on Embedded controls, finite state machines, and communication protocols such as I2C, SPI, UART., Key skills: Software engineering, C+, C#, Object-oriented programming, Object-oriented design, Multithreading, Finite state machines, Embedded controls, Hardware integration, Software architecture, Debugging, Semiconductor equipment. Responsibilities
- Design, develop, troubleshoot, and debug software programs for enhancements and new products.
- Implement new customer requirements and features in our existing application.
- Maintain and enhance the existing code base by investigating and resolving problem areas.
- Demonstrate, clearly communicate, and present solutions through clear documentation, flowcharts, and well-structured code.
- Collaborate with cross-functional teams to design and develop software programs.
- Provide technical guidance and mentoring for more junior engineers.
- May visit customer sites to provide support, with travel totaling less than 10% of time.
Requirements
- Bachelor's degree in Computer Engineering, Electronics, Mechanical Engineering with 12+ years of experience; or Master's degree with 8+ years; or PhD with 5+ years; or equivalent experience.
- Knowledge of Object-oriented software implementation and design, including design patterns and finite state machines.
- Knowledge of multithreading, including preemptive thread scheduling.
- Knowledgeable with communication protocols such as I2C, SPI, UART.
- Experience with distributed Embedded controls systems is desired.
- Software development skills in C+ and C#.
- Prior semiconductor equipment experience is preferred.