Careers

MagCanica offers exciting full-time, part-time, and summer internship opportunities for mechanical, electrical, computer and aerospace engineers to carry out a variety of challenging engineering projects while gaining high levels of responsibility early in their careers.  MagCanica also offers excellent opportunities for calibration technicians, test technicians, and assembly technicians to work on producing exciting and cutting-edge electromechanical products.

 

Benefits:

MagCanica works hard to allow employees the greatest possible personal flexibility while achieving our demanding engineering and business objectives.

  • Base salary, yearly performance based bonus, yearly merit-based salary raise
  • Annual vacation, 10 paid holidays per year
  • Medical, dental, workers’ compensation, disability, life insurance
  • 401K program with matching and a profit sharing program
Current Job Openings:

Software & Embedded Systems Engineer

Job Description:

Software & Embedded Systems Engineer

Full‐Time Position

 

COMPANY OVERVIEW

MagCanica, Inc., a leading provider of non‐invasive torque sensor systems to the motorsport, aerospace, and energy sectors, is actively seeking new members to join our San Diego based team as we expect continued and sustained growth during 2024 and beyond. Since the company’s inception, MagCanica has focused its efforts on the development and commercialization of its non‐contact torque sensor technology, which is used to measure torque on high performance powertrains on racecars, rotorcraft, and turbines. MagCanica is the global market leader in motorsport torque sensing and powertrain performance monitoring across a variety of automotive racing series including Formula 1, Formula E, World Endurance Championship (WEC), IMSA, ELMS, NASCAR, IndyCar, and World Rally Raid Championship. Additionally, MagCanica provides hardware, support services, and technology to the US Navy, Lockheed Martin (Sikorsky) and Vericor Power Systems. Leveraging its leading position in motorsport torque sensing and having established a proven track record in solving some of the most challenging torque measurement problems facing industry at large, MagCanica is poised to expand further in its existing markets, as well as into new markets such as electric and autonomous vehicles, and robotics and automation.

 

JOB DESCRIPTION

For the Software & Embedded Systems Engineer position, we are seeking candidates whose primary interest is in (a) writing embedded firmware used for conditioning raw input signals, (b) developing peripheral drivers for multiple hardware bases (primarily in C and Assembly languages, (c) designing/implementing complex mathematical operations in low level code in a highly resource constrained embedded environment, (d) streamlining the development lifecycle using tools and automation techniques (e.g. CI/CD) and (e) collaboratively and transparently defining and executing on software development projects end‐to‐end. The candidate will also be responsible for (i) designing software used to control customized equipment used in MagCanica’s product assembly and system calibration processes and (b) designing software used for validation and testing of the torque sensor product line’s hardware and embedded firmware.

 

Qualified candidates will be capable of understanding and generating requirements from test hardware through HMI/GUI system levels, outlining and implementing the required software design/development tasks, and providing software support to other teams for hardware design tasks. This software design and development may include machine control, data acquisition, I/O, communication (such as with electromechanical or electromagnetic actuators), data storage, data processing/analysis, HMI/GUI implementation, and integrations with other software platforms used at MagCanica (e.g. LabVIEW or Python‐based). The Software & Embedded Systems Engineer will collaborate regularly with an interdisciplinary team of electrical and mechanical engineers, software engineers and data scientists and electromechanical technicians, to deliver high quality embedded firmware and desktop software using a streamlined development, deployment, and support process.

 

Typical Primary Tasks (up to ~80%):

  • Design, Develop and maintain efficient and robust embedded firmware to be used in embedded systems, primarily using C and Assembly. These systems will be composed of, but not limited to:
    • Serial communication peripheral drivers
    • On‐board data storage
    • Complex mathematical computations while abiding to strict time/data constraints
    • Built‐in software modules to recognize and gracefully recover from system faults due to internal/external disturbances
  • Design, Develop and maintain software (built primarily in Python and/or LabVIEW) that is used to:
    • Test and validate product hardware
    • Test and validate product firmware
    • Control machines and test setups used to support product assembly
    • Control machines and test setups used for product calibration
    • Contral machines and test setups used
    • Conduct data processing and analysis
  • Create supportable and maintainable software: manage software versions in GitLab, document code, including how to use the software, and provide technical support to cross‐functional teams within the Company
  • Participate in the entire software development life cycle, from requirements formalization to design to implementation to deployment, leveraging and promoting the usage of the GitLab platform for version control and CI/CD
  • Develop, create and maintain:
    • A comprehensive test suite
    • Software development lifecycle automation artifacts/practices
    • Internal software shared/re‐usable components including libraries, software testing tools, scripts to automate development and deployment processes, and coding guidelines
  • Interface with in‐house assembly technicians and calibration technicians and engineers, and with customers in the field to continuously identify open issues, help debug and improve systems, and develop solutions to maximize production process uptime and customer satisfaction.

 

Typical Secondary Tasks (up to ~20%):

  •  Design, Develop and maintain software tools used for data processing and analysis with respect to internally generated test and production data, as well as field data generated by MagCanica’s customers using our products. This includes data obtained from dyno tests, track tests and races, and aerospace flight tests. These tools are written in LabVIEW and C/C++ or Python.
    • Help to develop and maintain internal databases for integrated storage and management of manufacturing data associated with MagCanica’s sensor systems
    • Support database connectivity and network maintenance
    • Design and Develop test software for research and development (R&D) purposes including material testing, electronics and firmware prototyping, and sensor construction prototyping  
  • Analyze and professionally document laboratory testing results, dyno testing results, and track data pertaining to the systems and/or components described above  
  • Travel to client sites in Europe, the US, and Japan to provide field support at dyno tests, track tests, and races as may be required

 

JOB QUALIFICATIONS

Primary Skill Requirements

  • Proven experience in embedded software development, including being highly proficient in writing and debugging code, especially (in order of priority) C/C++, Python, Assembly, and LabVIEW  
  • Strong understanding of design constraints, especially those associated with writing embedded firmware and/or software used to control potentially safety‐critical machinery
  • Familiarity with digital communication protocols such as CAN, SPI, I2C, USB interfaces, etc.  
  • Experience with the complete software development life cycle: planning and analysis, requirements, design, development, integration, and testing
  • Familiarity with using version control systems associated with software development such as GIT  
  • Familiarity with relational database interactions and development using SQL
  • Excellent written and verbal communication skills  
  • Ability to work effectively in a multidisciplinary team environment  
  • Proven ability to manage and/or lead engineering projects

 

Secondary Skill Requirements

  • Experience designing, developing, and documenting software/firmware interfaces
  • Understanding of analog and digital circuit design and signals theory
  •  Strong understanding of foundational mathematical concepts including linear algebra, probability/statistics, and linear regression
  •  Familiarity with and/or comfort level interfacing with electromechanical sensors and actuators, including motors, valves, electromagnets, switches, thermal actuators, etc.
  •  Ability to use basic hardware and laboratory equipment, including power supplies, function generators, oscilloscopes, data acquisition systems, etc.

 

Educational Requirements

A minimum of a Bachelor’s degree in Computer Science, Electrical/Computer Engineering, or related field is required. A specific concentration in control systems, signal processing, software engineering, or a related area is preferred. At least 4 and up to 8 years of prior professional software/firmware engineering experience, at least some of which specifically relevant to firmware/embedded software development, are required for this position.

 

The Type of Person We Are Looking For

We are looking for self‐motivated and committed engineers who can learn quickly, possess outstanding interpersonal and technical skills, can execute/drive project execution with limited oversight but a high level of transparency/visibility. Our approach to engineering is highly collaborative and interdisciplinary and involves a unique combination of theory and execution. This means carrying out rigorous analysis and experimentation, and then actually building and testing functional hardware and/or software. It also means constantly pushing the boundaries and seeking continuous optimization and improvement in the product line and associated processes and validation and test equipment, with a solution‐oriented approach and a can‐do attitude. We are looking for individuals who are very well‐organized, foster transparency/collaboration in project execution, are highly flexible and can adjust to constantly evolving requirements and innovation. Such candidates can fulfill multiple roles (e.g. be a player and a coach simultaneously), and can work effectively even with limited supervision, while at the same time thriving in a dynamic multidisciplinary team environment. Successful candidates will have a strong attention to detail, a genuine concern for outstanding quality, and the ability to interact positively and effectively with clients and colleagues from all over the world.

 

COMPENSATION & BENEFITS

For this position, MagCanica offers very competitive compensation including a competitive base salary ranging from $100,000 ‐ $125,000 depending on the candidate’s credentials and experience level, a discretionary yearly performance‐based bonus, discretionary yearly merit raise, 3 weeks of paid vacation, and 10 paid holidays per year. Benefits include medical, dental, workers’ compensation, disability, and life insurance as well as a 401K program with matching and a Flexible Spending Account (FSA) program. The company works hard to allow employees the greatest possible personal flexibility while achieving our overall technical and business objectives.

 

CONTACT INFORMATION

Please send your resume in PDF format with the file name containing your full name to:  [email protected]

 

Download MagCanica Software & Embedded Systems Engineer job description

 

MagCanica is an equal opportunity employer and will consider all applicants without regard to race, color, religion, sex or national origin.