Software Engineer
ETC
- Middleton, WI
- Permanent
- Full-time
- Write and review critical code in Rust, C, and C++ for embedded and distributed applications.
- Analyze complex software problems, propose solutions, and apply unique approaches to achieve quality, reliability, and performance goals.
- Contribute to software architecture for embedded Linux systems, real-time applications, and distributed services.
- Promote best practices in Yocto, Zephyr, BSP bring-up, Linux device drivers, and OpenThread networking.
- Lead investigative work, including feasibility studies, prototyping, and research into emerging technologies applicable to ETC products.
- Provide career guidance, hands-on code reviews, and day-to-day technical support to junior and mid-level engineers.
- Lead onboarding bootcamps, workshops, and technical talks to accelerate learning and raise our collective technical bar.
- Model constructive feedback and foster a culture where everyone is both a teacher and a learner.
- Bachelor's degree in Computer Science, Computer Engineering, or equivalent field
- All levels of previous work experience will be considered
- Written and oral communications with marketing, engineering, manufacturing, and R&D management to define and modify product or process specifications
- Written and oral presentation of project schedule and status to engineering or project managers
- Demonstrates awareness and understanding of related technology development both inside and outside ETC
- Creativity and innovation skills required to solve new problems
- Demonstrates ability to make independent decisions
- Demonstrates ability to dissect problems and projects into manageable tasks
- Demonstrates ability to perform multiple tasks and set own priorities
- Well experienced in software development languages (assembler, C, C++, etc.)
- Experienced in the application of software design methodologies
- Grasps a full range of applicable software engineering principles and practices and has the ability for effectively applying accepted approaches to complex engineering problems
- Demonstrates ability to accurately estimate time to complete assigned tasks
- Performs engineering assignments of moderate technical breadth
- 7-10+ years of professional software development experience in C or C++.
- Demonstrated ability to mentor engineers and raise technical standards.
- Strong debugging and problem-solving skills in production-grade systems of significant scope.
- Proven ability to work independently and make technical decisions with limited oversight.
- Experience with Rust in production environments.
- Background in embedded Linux development (drivers, BSPs, build systems).
- Familiarity with networking protocols such as Thread or OpenThread.
- Experience in real-time or performance-critical systems.
- Demonstrated success leading research or introducing new technologies into production systems.
- Time Off: Four weeks of PTO starting your first year.
- Healthcare: Medical, dental, and vision coverage starting day one.
- Retirement: 401(k) with employer match.
- On-Site Amenities: Fitness center, at-cost deli, wellness programs.
- Employee Ownership: As a 100% employee-owned company, every team member shares in our success through our ESOP.