{"id":184529,"url":"https://alion.io/job/novanta-senior-firmware-engineer","title":"Senior Firmware Engineer","company":{"id":58917,"name":"Novanta","domain":"novanta.com","url":"https://alion.io/company/novanta","size_band":"1001-5000","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Workday","truth_index":{"grade":"B","score":82,"open_postings":15,"ghost_share":0,"stale_share":0.733,"repost_share":0,"time_to_fill_p50_days":40,"computed_at":"2026-10-19T05:45:15Z"}},"role":"Hardware","role_family":"Hardware","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":["Barcelona, Spain"],"countries":["ES"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":49000,"max_usd":111000,"period":"year","method":"global_role_cell_scaled_by_country","sample_n":1655},"experience_years_min":8,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"CI/CD","optional":false},{"name":"C++","optional":true},{"name":"CANopen","optional":true},{"name":"EtherCAT","optional":true},{"name":"Jenkins","optional":true},{"name":"Python","optional":true},{"name":"RTOS","optional":true}],"status":"live","first_seen_at":"2026-09-01T11:23:10Z","employer_posted_date":"2026-09-01","last_verified_at":"2026-10-18T12:06:00Z","board_verified":true,"closed_at":null,"days_open":48,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":48},"description":"Build a career powered by innovations that matter! At Novanta, our innovations power technology products that are transforming healthcare and advanced manufacturing-improving productivity, enhancing people’s lives and redefining what’s possible. We create for our global customers engineered components and sub-systems that deliver extreme precision and performance for a range of mission-critical applications-from minimally invasive surgery to robotics to 3D metal printing.\nNovanta is one global team with over 26 offices located in The Americas, Europe and Asia-Pacific. Looking for a great place to work? You have found it with a culture that embraces teamwork, collaboration and empowerment. Come explore Novanta.\nWe are looking for a talented, and highly motivated senior engineer who will take the lead in designing, developing, testing embedded software. You must adhere to design and coding standards in order to produce the highest quality work. Designing and developing firmware systems in compliance with industry standards.\nPrimary Responsabilities:\nDevelop and maintain firmware running on Novanta products.\nImplement new features for existing products, including additional feedback interfaces, communication protocols, and state-of-the-art motion control algorithms.\nParticipate in the design and development of new products.\nImplement proofs of concept for novel products or features.\nDevelop and maintain continuous integration/development libraries.\nCollaborate closely with the hardware team to assist with component selection and review hardware schematics.\nWork closely with the software team to create engaging libraries and applications for our customers.\nCollaborate closely with the testing team to define test plans for Novanta products.\nReview and improve external documentation (product manuals, datasheets, etc.).\nImprove internal documentation (covering architecture, continuous integration/development, detailed design, etc.).\nExperience, Education and Competencies\nMS or PhD in Computer Science, Electrical Engineering, or a related technical discipline.\nAround 8 years of experience.\nProficiency in C, including C in resource-constrained embedded environments.\nFluency in software fundamentals, including software design and maintainability.\nProficiency in microprocessor bare-metal development with real-time constraints.\nHands-on experience in new hardware board bring-up, system debugging, and code optimization.\nExperience with MCU peripherals: I2C, SPI, CAN, USB, UART, GPIO.\nUnderstanding of schematics, datasheets, and application notes.\nExperience with version control software.\nExperience in software testing procedures.\nFluent written and spoken English.\nNice-to-have Requirements:\nKnowledge of C++ and/or Python.\nExperience with object-oriented programming (OOP).\nExperience using RTOS.\nExperience in FSoE (Functional Safety over EtherCAT).\nKnowledge of software quality principles and coding standards (e.g., MISRA).\nKnowledge of motion control (motor types, feedbacks, control loops, etc.).\nKnowledge of the CANopen communication protocol.\nFamiliarity with industrial Ethernet communication protocols (EtherCAT, EtherNet/IP, Profinet).\nPrevious experience in motion control, robotics, or medical automation markets will be highly appreciated.\nExpertise with continuous integration and delivery software (e.g., Jenkins).\nFluent written and spoken Spanish.\n Travel requirements\nOccasional travel is expected, both domestically and internationally, to provide customer support and/or assist with installations.\nNovanta is proud to be an equal employment opportunity and affirmative action workplace. We consider all qualified applicants without regard to race, color, religion, sex (including pregnancy), sexual orientation, gender identity or expression, national origin, military and veteran status, disability, genetics, or any other category protected by federal law or Novanta policy.\nPlease call +1 781-266-5700 if you need a disability accommodation for any part of the employment process.","description_format":"text","description_chars":4041,"description_truncated":false,"requirements":{"experience_years_min":8,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":{"level":"master","optional":false},"security_clearance":false,"languages":[{"language":"Spanish","level":"All levels","optional":false},{"language":"English","level":"All levels","optional":false}]},"benefits":[],"hiring_locations":[{"name":"United States","iso":"US","kind":"region"},{"name":"China","iso":"CN","kind":"region"},{"name":"India","iso":"IN","kind":"region"},{"name":"Germany","iso":"DE","kind":"region"},{"name":"Japan","iso":"JP","kind":"region"},{"name":"France","iso":"FR","kind":"region"},{"name":"United Kingdom","iso":"GB","kind":"region"},{"name":"Argentina","iso":"AR","kind":"region"},{"name":"Australia","iso":"AU","kind":"region"},{"name":"Austria","iso":"AT","kind":"region"},{"name":"Belgium","iso":"BE","kind":"region"},{"name":"Brazil","iso":"BR","kind":"region"},{"name":"Bulgaria","iso":"BG","kind":"region"},{"name":"Canada","iso":"CA","kind":"region"},{"name":"Colombia","iso":null,"kind":"region"},{"name":"Croatia","iso":"HR","kind":"region"},{"name":"Czech Republic","iso":"CZ","kind":"region"},{"name":"Denmark","iso":"DK","kind":"region"},{"name":"Finland","iso":"FI","kind":"region"},{"name":"Hungary","iso":"HU","kind":"region"},{"name":"Indonesia","iso":"ID","kind":"region"},{"name":"Ireland","iso":"IE","kind":"region"},{"name":"Italy","iso":"IT","kind":"region"},{"name":"Malaysia","iso":"MY","kind":"region"},{"name":"Mexico","iso":"MX","kind":"region"},{"name":"Netherlands","iso":"NL","kind":"region"},{"name":"New Zealand","iso":"NZ","kind":"region"},{"name":"Norway","iso":"NO","kind":"region"},{"name":"Pakistan","iso":"PK","kind":"region"},{"name":"Philippines","iso":"PH","kind":"region"},{"name":"Poland","iso":"PL","kind":"region"},{"name":"Romania","iso":"RO","kind":"region"},{"name":"South Korea","iso":"KR","kind":"region"},{"name":"Spain","iso":"ES","kind":"region"},{"name":"Sweden","iso":"SE","kind":"region"},{"name":"Switzerland","iso":"CH","kind":"region"},{"name":"Taiwan","iso":"TW","kind":"region"},{"name":"Thailand","iso":"TH","kind":"region"},{"name":"Vietnam","iso":"VN","kind":"region"},{"name":"American Samoa","iso":"AS","kind":"region"},{"name":"Anguilla","iso":null,"kind":"region"},{"name":"Antigua and Barbuda","iso":"AG","kind":"region"},{"name":"Aruba","iso":"AW","kind":"region"},{"name":"Bahamas","iso":"BS","kind":"region"},{"name":"Bangladesh","iso":"BD","kind":"region"},{"name":"Barbados","iso":"BB","kind":"region"},{"name":"Belize","iso":"BZ","kind":"region"},{"name":"Bermuda","iso":"BM","kind":"region"},{"name":"Bhutan","iso":"BT","kind":"region"},{"name":"Bolivia","iso":"BO","kind":"region"},{"name":"British Virgin Islands","iso":"VG","kind":"region"},{"name":"Brunei Darussalam","iso":"BN","kind":"region"},{"name":"Cambodia","iso":"KH","kind":"region"},{"name":"Bonaire, Sint Eustatius and Saba","iso":"BQ","kind":"region"},{"name":"Cayman Islands","iso":"KY","kind":"region"},{"name":"Chile","iso":"CL","kind":"region"},{"name":"Cook Islands","iso":"CK","kind":"region"},{"name":"Costa Rica","iso":"CR","kind":"region"},{"name":"Curaçao","iso":"CW","kind":"region"},{"name":"Dominica","iso":"DM","kind":"region"},{"name":"Dominican Republic","iso":"DO","kind":"region"},{"name":"East Timor","iso":"TL","kind":"region"},{"name":"Ecuador","iso":"EC","kind":"region"},{"name":"El Salvador","iso":"SV","kind":"region"},{"name":"Estonia","iso":"EE","kind":"region"},{"name":"Falkland Islands","iso":"FK","kind":"region"},{"name":"Fiji","iso":"FJ","kind":"region"},{"name":"French Guiana","iso":"GF","kind":"region"},{"name":"French Polynesia","iso":"PF","kind":"region"},{"name":"Greece","iso":"GR","kind":"region"},{"name":"Greenland","iso":"GL","kind":"region"},{"name":"Grenada","iso":"GD","kind":"region"},{"name":"Guadeloupe","iso":"GP","kind":"region"},{"name":"Guam","iso":"GU","kind":"region"},{"name":"Guatemala","iso":"GT","kind":"region"},{"name":"Guyana","iso":"GY","kind":"region"},{"name":"Haiti","iso":"HT","kind":"region"},{"name":"Honduras","iso":"HN","kind":"region"},{"name":"Iceland","iso":"IS","kind":"region"},{"name":"Jamaica","iso":"JM","kind":"region"},{"name":"Kiribati","iso":"KI","kind":"region"},{"name":"Laos","iso":"LA","kind":"region"},{"name":"Latvia","iso":"LV","kind":"region"},{"name":"Liechtenstein","iso":"LI","kind":"region"},{"name":"Lithuania","iso":"LT","kind":"region"},{"name":"Luxembourg","iso":"LU","kind":"region"},{"name":"Maldives","iso":"MV","kind":"region"},{"name":"Malta","iso":"MT","kind":"region"},{"name":"Marshall Islands","iso":"MH","kind":"region"},{"name":"Martinique","iso":"MQ","kind":"region"},{"name":"Micronesia","iso":null,"kind":"region"},{"name":"Mongolia","iso":"MN","kind":"region"},{"name":"Montserrat","iso":"MS","kind":"region"},{"name":"Nauru","iso":"NR","kind":"region"},{"name":"Nepal","iso":"NP","kind":"region"},{"name":"New Caledonia","iso":"NC","kind":"region"},{"name":"Nicaragua","iso":"NI","kind":"region"},{"name":"Niue","iso":"NU","kind":"region"},{"name":"Norfolk Island","iso":"NF","kind":"region"},{"name":"Northern Mariana Islands","iso":"MP","kind":"region"},{"name":"Palau","iso":"PW","kind":"region"},{"name":"Panama","iso":"PA","kind":"region"},{"name":"Papua New Guinea","iso":"PG","kind":"region"},{"name":"Paraguay","iso":"PY","kind":"region"},{"name":"Peru","iso":"PE","kind":"region"},{"name":"Pitcairn Islands","iso":"PN","kind":"region"},{"name":"Portugal","iso":"PT","kind":"region"},{"name":"Puerto Rico","iso":"PR","kind":"region"},{"name":"Saint Kitts and Nevis","iso":"KN","kind":"region"},{"name":"Saint Lucia","iso":"LC","kind":"region"},{"name":"Saint Vincent and the Grenadines","iso":null,"kind":"region"},{"name":"Saint-Pierre and Miquelon","iso":"PM","kind":"region"},{"name":"Samoa","iso":"WS","kind":"region"},{"name":"Sint Maarten","iso":"SX","kind":"region"},{"name":"Slovakia","iso":"SK","kind":"region"},{"name":"Slovenia","iso":"SI","kind":"region"},{"name":"Solomon Islands","iso":"SB","kind":"region"},{"name":"Sri Lanka","iso":"LK","kind":"region"},{"name":"Suriname","iso":"SR","kind":"region"},{"name":"Tokelau","iso":"TK","kind":"region"},{"name":"Tonga","iso":"TO","kind":"region"},{"name":"Trinidad and Tobago","iso":"TT","kind":"region"},{"name":"Turks and Caicos Islands","iso":"TC","kind":"region"},{"name":"Tuvalu","iso":null,"kind":"region"},{"name":"Uruguay","iso":"UY","kind":"region"},{"name":"United States Virgin Islands","iso":"VI","kind":"region"},{"name":"Vanuatu","iso":"VU","kind":"region"},{"name":"Wallis and Futuna","iso":"WF","kind":"region"},{"name":"Hong Kong","iso":"HK","kind":"region"},{"name":"Singapore","iso":"SG","kind":"region"},{"name":"Macau","iso":"MO","kind":"region"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Lasers & Laser Systems","Motors, Drives & Motion Control","Machine Vision & 3D Cameras"],"lifecycle":[{"event":"open","at":"2026-09-01T11:23:10Z"}],"visa":[],"liveness":{"score":22,"band":"cold","label":"Long shot","p_open":1,"p_active":0.493,"p_room":0.44,"age_days":47,"expected_fill_days":40,"reasons":["conf:17","stale_co","velocity","win:tail","crowd:brand"],"computed_at":"2026-10-19T05:45:15Z"},"pay":null,"html_url":"https://alion.io/job/novanta-senior-firmware-engineer","json_url":"https://alion.io/job/novanta-senior-firmware-engineer.json","meta":{"generated_at":"2026-10-19T17:18:43Z","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":13148,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-20T00: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":58917},"rest":"https://alion.io/mcp/rest/get_company?id=58917"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fnovanta-senior-firmware-engineer"},{"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%2Fnovanta-senior-firmware-engineer"},{"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%2Fnovanta-senior-firmware-engineer"},{"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/novanta-senior-firmware-engineer\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fnovanta-senior-firmware-engineer"}]}