Summary
Rosenxt Group is a forward-thinking technology group specializing in engineering excellence and innovation. They are seeking an Embedded Software Engineer to develop software for prototype sensors, collaborate with interdisciplinary teams, and support internal customers with technical expertise.
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
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
Qualifications
Must Haves
- 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
Benefits
- 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