{"id":3269654,"url":"https://alion.io/job/span-device-software-engineer-functional-safety","title":"Device - Software Engineer (Functional Safety)","company":{"id":5825,"name":"SPAN","domain":"span.io","url":"https://alion.io/company/span","size_band":"51-200","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Ashby","truth_index":{"grade":"A","score":95,"open_postings":16,"ghost_share":0,"stale_share":0,"repost_share":0,"time_to_fill_p50_days":102,"computed_at":"2026-10-29T05:49:05Z"}},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":"full_time","work_mode":"on_site","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Bengaluru, India"],"countries":["IN"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":18000,"max_usd":43000,"period":"year","method":"role_seniority_country_remote_cell","sample_n":168},"experience_years_min":6,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"C++","optional":false},{"name":"Cortex","optional":false},{"name":"DO-178C","optional":false},{"name":"Doxygen","optional":false},{"name":"FMEA","optional":false},{"name":"FreeRTOS","optional":false},{"name":"Git","optional":false},{"name":"Human-in-the-Loop","optional":false},{"name":"IBM DOORS","optional":false},{"name":"IEC 62304","optional":false},{"name":"IEEE 1547","optional":false},{"name":"Python","optional":false},{"name":"RTOS","optional":false},{"name":"STL","optional":false},{"name":"Prometheus","optional":true}],"status":"live","first_seen_at":"2026-10-26T06:51:47Z","employer_posted_date":"2026-10-26","last_verified_at":"2026-10-29T20:55:45Z","board_verified":true,"closed_at":null,"days_open":3,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":3},"description":"Our Mission\nSPAN develops products that accelerate the rapid adoption of renewable energy in the home. The flagship SPAN Smart Panel is the first true evolution for the traditional home electric panel, harnessing enhanced technology for metering, monitoring, and control. An expanded product suite of intelligent, integrated solutions radically lowers the cost and complexity of energy upgrades-including solar, batteries and EVs-empowering homeowners to be active, resilient and informed players in the energy market.\nThe Team and Role\nSPAN's Device Software team is responsible for all of the software that is physically embodied in our hardware products. The Gen3 SPAN Panel is a distributed system of STM32H5 (Arm Cortex-M33) microcontroller modules that talk over CAN, meter power in real time, and open or close relays that sit directly between the grid, the home and its solar, battery and EV equipment. When that firmware makes a decision, real current moves.\nWe are building a dedicated Functional Safety (FuSa) firmware capability to take Gen3 firmware through certification as a Power Control System under UL 3141 and as Class B control software under UL/IEC 60730-1 Annex H. This is not a checkbox exercise: FuSa at SPAN spans how we architect and partition the firmware, how we detect faults and drive the system into defined safe states, how we test and prove coverage, and how we document and trace every safety requirement back to code. You will work alongside the Gen3 firmware team, systems/compliance engineers and our certification lab to make the panel provably safe.\nWhat You'll Work On\nSafety architecture & partitioning - isolating safety-critical code on ARMv8-M TrustZone (Secure / Non-Secure) and MPU privilege levels; defining safety, interface and application thread classes; building the data/work-transfer layer across the safety boundary; packaging safety code as controlled, versioned static libraries.\n\nFuSa RTOS & toolchain migration - moving every module from FreeRTOS/GCC to a certified RTOS (Keil RTX5 FuSa RTS, CMSIS-RTOS2) and the ARM Compiler 6 for FuSa, including thread safety classes, priorities and clang/newlib porting issues.\n\nDiagnostics & self-tests - integrating the ST Self-Test Library (CPU register, clock, incremental Flash CRC and March-C RAM tests), internal/external and software watchdogs, program-flow and interrupt monitoring, and root-causing the hard faults that currently gate safe-state responses.\n\nPCS safety functions - feeder and busbar protection, grid-outage detection and PLL/grid transitions, power and voltage rationality checks, relay feedback verification, and fault state machines that transition the panel into defined safe states (SS1-SS4) within required reaction times.\n\nSafe inter-module communication - CAN heartbeat supervision and safety-message redesign with CRCs, receiver addressing and sequence numbers.\n\nVerification & evidence - unit tests with enforced coverage in CI, HITL tests for nominal and abnormal PCS behaviour, fault-injection, static analysis, and the system tests used for certification witness testing.\n\nProcess & documentation - software FMEA, Jama requirement-to-code traceability, coding standards audits, and the Annex H deliverables (development plan, safety requirements, architecture, module design, test reports) submitted for certification.\n\nRole A - Senior / Staff Firmware Engineer, Functional Safety\nYou will be the technical owner of Gen3's firmware safety case. You'll turn standards clauses and FMEA outcomes into concrete architecture and code, make the hard trade-off calls (what goes in the safety partition, what the safe response to a failed self-test is, what \"periodic\" means to an assessor), and defend those decisions in front of the certification lab. You'll lead by doing - writing the most critical safety code yourself - while setting the patterns, reviews and standards that the rest of the team follows, and mentoring the Junior FuSa engineer.\nAt Staff level, you'll also own the FuSa technical strategy across product lines - setting the safety architecture and process that future hardware inherits, being the final technical voice on safety trade-offs, and growing the team's safety expertise beyond yourself.\nRepresentative Projects\nFinalising the partitioning design across every module in the panel (Secure/Non-Secure, privileged/unprivileged, safety classes) and driving it to a working, HITL-tested implementation without destabilising a shipping product.\n\nOwning the software FMEA for each module with systems engineering - declaring detection times and fault responses for every failure mode and producing the verification evidence behind them.\n\nDesigning the safety-related CAN message protocol (CRC, sequence number, timeout supervision) and the reaction logic on each module.\n\nActing as the firmware point of contact for the certification lab (e.g. Intertek / UL) through document review and witness testing.\n\nRequired Qualifications\nSenior: 6+ years writing production firmware in C and C++ for microcontrollers, with at least 2-3 years on safety-related products. Staff: 10+ years, including technical leadership of a safety-certified product from architecture through certification\n\nHands-on delivery of firmware through a functional safety standard such as IEC/UL 60730 (Class B/C), IEC 61508, ISO 26262, IEC 62304, DO-178C or UL 1998 - including producing the safety evidence, not just following the process\n\nDeep experience with ARM Cortex-M: MPU configuration, fault handlers and hard-fault analysis, and ideally ARMv8-M TrustZone\n\nStrong RTOS fundamentals - priorities, priority inversion, ISR/thread interaction, stack sizing, deterministic timing\n\nPractical experience implementing MCU diagnostics: CPU/RAM/Flash self-tests, watchdog strategies, program-flow monitoring\n\nExperience with safety analyses (FMEA/FMEDA, FTA) and requirements traceability tools (e.g. Jama, DOORS, Polarion)\n\nSolid test discipline: unit testing with mocks (GoogleTest or similar), coverage targets, HIL/HITL testing, static analysis and coding standards such as MISRA C/C++\n\nDebugging with JTAG/SWD, logic analysers and oscilloscopes; comfortable with CAN, SPI, I2C, UART\n\nAble to take an open-ended safety problem, break it down, drive decisions to resolution across firmware, systems, hardware and product, and explain the reasoning clearly to non-specialists and assessors\n\nBonus Qualifications\nSTM32 (especially STM32H5/U5/L5) and the ST X-CUBE-STL self-test library\n\nKeil RTX5 / FuSa RTS, ARM Compiler 6 for FuSa, SafeRTOS, or similar certified toolchains\n\nUL 3141, UL 1741 / IEEE 1547, or other grid/inverter/power-control standards\n\nMCUboot or secure boot / OTA in safety-relevant systems\n\nExperience leading witness testing or audits with a certification body (UL, Intertek, TÜV, CSA)\n\nEnergy metering ICs, relay/contactor control, or power electronics\n\nRole B - Firmware Engineer (Junior), Functional Safety\nYou will build and prove the safety mechanisms that keep the panel safe. Working closely with the Senior FuSa engineer and the Gen3 firmware team, you'll implement well-scoped pieces of the safety design, write the tests that demonstrate they work, and help produce the evidence that gets us certified. This is a rare chance early in your career to learn functional safety on a real, shipping, grid-connected product - you'll come out of it knowing how safety-critical firmware is actually designed, verified and certified.\nRepresentative Projects\nWiring the incremental Flash CRC and RAM March-C self-tests into the self-test runner on a module, including the post-build CRC script, linker changes and exclusion of DMA regions.\n\nExpanding unit-test coverage on safety-partitioned code until it meets the CI coverage gate, and writing mocks/fakes for hardware interfaces.\n\nBuilding HITL and fault-injection tests (e.g. loss of heartbeat, corrupted CAN CRC, stuck relay feedback) that verify the correct safe-state transition and reaction time.\n\nRunning code audits (coding standard, interrupt/callback, assert/result usage) and bringing code and Doxygen documentation into compliance.\n\nRequired Qualifications\n1-3 years of experience (including substantial internships or thesis work) writing firmware in C and/or C++ for microcontrollers\n\nDegree in Electronics, Electrical, Computer Engineering, Computer Science or a related field\n\nGood grasp of embedded fundamentals: memory layout (stack/heap/linker sections), interrupts, volatile and concurrency hazards, bit manipulation\n\nWorking knowledge of an RTOS (FreeRTOS, Zephyr, RTX or similar) and at least one of CAN, SPI, I2C or UART\n\nComfortable debugging on real hardware with a debugger (JTAG/SWD) and basic lab equipment\n\nWrites unit tests as a habit; familiar with Git and code review workflows\n\nCareful, detail-oriented and genuinely interested in why things fail - you'd rather prove something works than assume it does\n\nBonus Qualifications\nExposure to any functional safety standard (IEC 60730, IEC 61508, ISO 26262) or to MISRA C\n\nARM Cortex-M / STM32 experience, MPU or TrustZone exposure\n\nGoogleTest/CppUTest, CI pipelines, Python for test automation\n\nHardware-in-the-loop test rigs, or power electronics / energy metering projects\nBenefits at SPAN India\n\nGenerous paid leave\nComprehensive Insurance & Health Benefits\nCentrally located office in Bengaluru with easy access to public transit, dining, and city amenities\nInterested in joining our team? Apply today and we’ll be in touch with the next steps!","description_format":"text","description_chars":9518,"description_truncated":false,"requirements":{"experience_years_min":6,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[]},"benefits":[],"hiring_locations":[],"hiring_excludes":[],"relocation_offered":false,"industries":["Smart Home Devices","Energy Management","EV Charging"],"lifecycle":[{"event":"open","at":"2026-10-26T11:00:10Z"}],"visa":[],"liveness":{"score":86,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.86,"p_room":1,"age_days":2,"expected_fill_days":102,"reasons":["conf:2","win:early"],"computed_at":"2026-10-29T05:49:05Z"},"pay":null,"html_url":"https://alion.io/job/span-device-software-engineer-functional-safety","json_url":"https://alion.io/job/span-device-software-engineer-functional-safety.json","meta":{"generated_at":"2026-10-29T22:34:44Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":33403,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-30T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":5825},"rest":"https://alion.io/mcp/rest/get_company?id=5825"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fspan-device-software-engineer-functional-safety"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fspan-device-software-engineer-functional-safety"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fspan-device-software-engineer-functional-safety"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/span-device-software-engineer-functional-safety\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fspan-device-software-engineer-functional-safety"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":3269654}},{"tool":"search_jobs","arguments":{"company":"span.io","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":3269654},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}