Senior Software Engineer I
Role summary
New Eagle is seeking a Senior Software Engineer I to design, develop, and test high-quality software for embedded systems. This role requires strong proficiency in programming languages like C, C++, Python, MATLAB, or Java, along with expertise in embedded systems development, real-time operating systems (RTOS), and hardware interfacing. The engineer will also be responsible for software architecture, design patterns, data structures, algorithms, and simulations. Experience with control software simulation, testing frameworks, and communication protocols such as CAN bus and EtherCAT is essential. Familiarity with version control tools like Git and CI/CD pipelines is also required.
Job Description
Under the leadership of the Software Engineering Director and in collaboration with the Global Software Development team, the
Sr Software Engineer I
at New Eagle is responsible is responsible for designing, developing, and testing software that operates within embedded systems with the highest quality standards.
Essential Duties
Software Development Skills
- Strong knowledge and ability to perform routine tasks independently.
- Strong knowledge of the following Programming Languages: C, C++, Python, MATLAB, Java, or other relevant languages.
- Embedded Systems Development: Experience with real-time operating systems (RTOS) and hardware interfacing.
- Software Architecture and Design Patterns (e.g., object-oriented design, state machines).
- Data Structures and Algorithms knowledge.
- Simulations and Modelling (e.g., MATLAB, Simulink, Model-Based Design).
Real-Time and Embedded Systems
- Strong knowledge of RTOS (e.g., FreeRTOS, VxWorks, QNX).
- Embedded Firmware Development: Experience low-level programming, microcontrollers, and hardware/software interaction.
- Knowledge of Signal Processing: Familiarity with DSP (Digital Signal Processing) for real-time control.
Control Software Simulation and Testing
- Strong knowledge of MATLAB/Simulink for control design, testing, and simulation.
- Hardware-in-the-loop (HIL) Testing for embedded systems verification.
- Testing Frameworks: Unit testing, integration testing, and debugging skills for control systems.
Communication Protocols & Networking
- Strong knowledge of CAN bus, EtherCAT, and other industrial communication protocols.
- Automotive (broadR reach) ethernet for networking embedded systems. Fieldbus protocols for machine-to-machine communications.
Version Control and Software Development Tools
- Strong knowledge of software versioning tools (Git for version control and collaboration)
- CI/CD pipelines for automated testing and integration.
- Debugging and Profiling Tools: GDB, Valgrind, or specialized hardware debugging tools.
Firmware Development
- Strong knowledge of automotive microprocessors.
Control Systems Hardware Knowledge
- Strong understanding of Sensors and Actuators: Experience with feedback systems, sensors (encoders, accelerometers, etc.), and actuators (motors, valves, etc.).
- Power Electronics for controlling electric drives and motors.
Required Qualifications
- 3+ years of professional engineering experience in hardware product design.
- Bachelor’s in Computer Science, Computer Engineering, or Electrical Engineering.
- Proficiency in breaking down complex projects into clear, manageable tasks and phases, with timelines, milestones, and dependencies.
Similar roles
Software Engineer ISynergisticIT · Chicago, Illinois, United States · Onsite
Software Engineer IIridium Satellite, LLC · Chandler, Arizona, United States · Hybrid
Software Engineer ICadence · San Jose, California, United States · Onsite
Software Engineer IJobcase, Inc. · Irvine, California, United States · Onsite
Software Engineer ISundayy · United States · Remote