Our San Luis Obispo, California team primary focuses on developing both software and hardware for prototype sensors used in non-destructive testing. This involves programming near hardware-software interfaces, developing or modifying embedded device drivers on Linux and other embedded kernels, implementing signal processing algorithms, implementing hardware abstraction layers, interfacing with FPGAs, and targeting resource-constrained processors. Our Columbus, Ohio Software and Data Science team works with large data, developing machine learning models to deliver high quality solutions to our partners.
Rosenxt USA seeks to add a:Embedded Software Engineer
Location:
San Luis Obispo
This role is required to be on-site at our San Luis Obispo, California office. This is not a remote role.
Responsibilities:- Developing software for Linux and bare-metal embedded in C, Go, and Python
- Participating in code reviews
- Mentoring and collaborating with early-career developers
- Communicating with internal customers about software releases
- Writing documentation for released code
- Providing technical support for internal customers
- Aiding with project initiation by gathering requirements, defining software architecture, estimating effort and defining chunks of work
- Collaborating with electrical, mechanical, sensor, and manufacturing engineers to help integrate your software into hardware systems
- Travelling to Europe a few times per year for work
Knowledge and Skills:- 1+ years designing, writing, deploying, and troubleshooting embedded software in C or Python
- BS in Computer Engineering, Computer Science, or equivalent experience
- Comfort reading and writing C, and one or more of Go (Golang), Python, or JavaScript / TypeScript
- Strong written and verbal communication skills
- Self-motivation
- Experience with software testing
- Willingness to travel on a few short business trips per year
- Experience using version control software such as fossil or git
- Familiarity with bootloaders and the basics of how hardware boots to software
- Familiarity with network concepts and protocols: sockets, HTTP, TCP/IP, UDP, MAC address
- Experience or desire to work in a multi-disciplinary team (physicists, EEs, MEs, and SDEs - it's fun!)
- Experience developing Linux or bare metal device drivers
- Experience writing code targeting ARM processors
- Familiarity with bus interfaces such as I2C, SPI, UART, PCIe, AXI
- Comfort reading a data sheet to interface with common embedded hardware peripherals such as flash devices, eMMC, FPGAs, GPIO, sensors, etc.
- Experience with lab tools: logic analyzers, JTAG debuggers, oscilloscopes, bench power supplies, function generators
Education/Experience:- 1+ years designing, writing, deploying, and troubleshooting embedded software in C and one or more of Python, Go, C++, or JavaScript.
- BS in Computer Engineering, Computer Science, or equivalent experience
- Comfort reading and writing C, and one or more of Go (Golang), Python, or JavaScript / TypeScript
Our Offer:Rosenxt offers an exceptional working environment, salary commensurate with experience and incredible benefits package.
Benefits include:
- 401(k) matching up to 5%, immediately vested
- Generous health benefits, effective immediately
- Medical (PPO, HSA), Dental, Vision, Flexible Spending Accounts
- Flexible work schedule (Friday half-days off)
- Incredible work-life balance and flexibility
- Immediate Vacation time available, Holidays, Paid Time Off
- Travel to Europe to work with Rosenxt colleagues
- Employee assistance program
- Life insurance
- Parental leave
- Professional development assistance
- Referral program
- Relocation assistance
- Tuition reimbursement