JOBSEARCHER

Software Engineer

About SwitchBoxSwitchBox is a full-service engineering consulting firm delivering hardware, software, and systems solutions for advanced mobility, energy, defense, and industrial applications. We work with startups, Tier 1 suppliers, OEMs, and emerging technology companies to solve complex engineering challenges from concept through production.Our engineers combine strong technical fundamentals with practical execution. We value curiosity, ownership, collaboration, and a willingness to learn.What Makes This Role DifferentAs a Software Engineer at SwitchBox, you will contribute to a variety of customer projects, technologies, and stages of product development.One project may involve developing embedded software for a vehicle control system. Another may require defining interfaces, building a simulation, troubleshooting hardware on the bench, or supporting integration in a prototype vehicle.You will work alongside software, controls, systems, electrical, mechanical, and validation engineers to understand how the complete system should function, not just how the software should be written.Primary ResponsibilitiesDesign, develop, test, and maintain embedded software and controls applicationsDevelop software primarily in C and C++, with opportunities to work in other languages and environmentsTranslate system requirements and interface definitions into working softwareDevelop modular, maintainable, and testable softwareImplement application logic, device interfaces, diagnostics, communication protocols, and control functionsDebug software and support root-cause investigationsParticipate in code reviews and incorporate technical feedbackDevelop and execute unit, integration, and system-level testsIntegrate software with controllers, sensors, actuators, communication networks, and prototype hardwareSupport bench, hardware-in-the-loop, vehicle, machine, and prototype testingCollaborate with multidisciplinary engineering teamsParticipate in technical discussions, design reviews, and customer meetingsMaintain software documentation, version control, release records, and requirements traceabilityCommunicate progress, risks, and technical concerns clearlyCore CompetenciesTechnical Problem Solving: Approaches unfamiliar problems methodically and uses data to identify root causes and practical solutionsSoftware Engineering Fundamentals: Understands software design, interfaces, state-based logic, testing, debugging, and maintainabilitySystems Thinking: Considers how software interacts with hardware, networks, timing, sensors, actuators, and the broader systemOwnership and Follow-Through: Takes responsibility for assigned work and follows issues through to resolutionCommunication and Collaboration: Communicates clearly and works effectively across engineering disciplinesLearning and Adaptability: Comfortable learning new tools, technologies, platforms, and applicationsCustomer Awareness: Understands how assigned engineering work contributes to the customer’s broader goalsQualificationsBachelor’s degree in software engineering, computer engineering, electrical engineering, computer science, or a related technical fieldExperience developing software in C or C++Understanding of embedded software development principlesExperience debugging software and investigating technical issuesFamiliarity with version control and structured development practicesStrong written and verbal communication skillsAbility to work effectively in a collaborative engineering environmentInterest in working directly with hardware, prototypes, test equipment, and customer systemsAdditional Experience That Would Be ValuableEmbedded software experience in automotive, mobility, defense, energy, or industrial applicationsFamiliarity with CAN, CAN FD, LIN, Ethernet, J1939, or UDSExperience with microcontrollers, real-time operating systems, embedded Linux, or AUTOSARExperience with MATLAB, Simulink, Stateflow, or model-based developmentExperience with software-in-the-loop, hardware-in-the-loop, bench, or vehicle testingFamiliarity with diagnostics, fault handling, functional safety, cybersecurity, or failure-mode analysisFamiliarity with ASPICE, ISO 26262, the V-model, or similar development processesExperience with automated testing, scripting, or continuous integration toolsYou’ll Thrive Here If You...Enjoy solving technical problems that do not always have an obvious answerWant to understand the complete system, not just the code assigned to youAre comfortable moving between coding, testing, debugging, and documentationWant to see your software operate on real hardwareAsk thoughtful questions and are open to feedbackAre energized by variety and continuous learningTake pride in producing practical, high-quality engineering workSwitchBox is an equal opportunity employer. We are building a team that reflects the diversity of the customers, industries, and engineering challenges we serve.