Company:
Kasmo Inc
Location: Schaumburg
Closing Date: 04/12/2024
Hours: Full Time
Type: Permanent
Job Requirements / Description
Client
Menomonee Falls, Wisconsin (onsite/hybrid day 1)
Hire off video intevew
Embedded Software Engineer
Pay $70/hr
5+ years exp
1.) C++ with embedded systems....too many people say they have C++ but haven't done it for embedded product or have actually been working more in C or Matlab and not actually C++. The interviewers will ask technical questions about C++ and object oriented programming and understanding of embedded systems
2.) RTOS experience and multithreading...understanding concepts of operating systems and synchronization...ability to talk about what RTOS they have experience in, and demonstrating understanding of RTOS
3.) Someone who has worked in a Test Driven Development environment.... "How do you test? Do you do unit testing? Do you have Google Test experience or what do you use? " This is NOT QA testing. This is demonstrating experience in a fast-paced development environment where you have to do your own unit testing before handing it over to QA
4.) Have you ever written code where you had to do something to ensure your code was secure? This code is going into embedded controls that are out in the field and developing secure code is an initiative and expectation.....are you familiar with secure coding guidelines? When have you written secure code? How did you determine if it was secure?
JD:
What you'll do:
The Lead Embedded Software Engineer will develop embedded software/firmware for high performance, real-time controls and protective relays used for smart grid applications in the electrical power distribution industry.
In this role, you will collaborate with a multi-discipline engineering team (software, hardware, and test) to perform the following functions:
In this function you will:
. Define requirements between hardware and software subsystems.
. Design and implement features for power system intelligent electronic devices, including power system protection algorithms, system diagnostics/prognostics, communication protocols, cybersecurity, and other relay, control and monitoring functions using C/C++.
. Lead high-level design activities for new product features.
. Lead system interface design activities and lead the resolution of integration issues.
- Participate in tasks related to new product development/feature development including planning, task estimation, design, programming, unit testing, peer review, integration and release.
. Collaborate with external and internal customers, such as Marketing, Service, Operations and other engineering teams throughout the product development life cycle.
- Participate in the analysis and specification of embedded software subsystems.
. Design and implement unit test in support of developer testing activities and integration with Continuous Integration (CI) pipelines.
. Participate and lead design and code reviews.
. Plan and execute tasks in collaboration with the product team to ensure project objectives are met.
. Evaluate and recommend software development process improvements in collaboration with engineering management.
Qualifications:
. Bachelor's degree in Engineering, Computer Science, Physics or Mathematics from an accredited institution.
. Five (5) years' experience working in embedded software.
. Experience with C/C++
. Embedded Linux experience.
. Ability to work effectively in an Agile Scrum (or other iterative development) environment.
. Strong understanding of Object Oriented Design (OOD) principles.
. Strong understanding of real-time operating system (RTOS) concepts.
. Experience with test-driven development (TDD) and a good familiarity with unit test frameworks (e.g. GoogleTest, GoogleMock, xUnit++, etc.).
. Experience with multi-core embedded systems
Menomonee Falls, Wisconsin (onsite/hybrid day 1)
Hire off video intevew
Embedded Software Engineer
Pay $70/hr
5+ years exp
1.) C++ with embedded systems....too many people say they have C++ but haven't done it for embedded product or have actually been working more in C or Matlab and not actually C++. The interviewers will ask technical questions about C++ and object oriented programming and understanding of embedded systems
2.) RTOS experience and multithreading...understanding concepts of operating systems and synchronization...ability to talk about what RTOS they have experience in, and demonstrating understanding of RTOS
3.) Someone who has worked in a Test Driven Development environment.... "How do you test? Do you do unit testing? Do you have Google Test experience or what do you use? " This is NOT QA testing. This is demonstrating experience in a fast-paced development environment where you have to do your own unit testing before handing it over to QA
4.) Have you ever written code where you had to do something to ensure your code was secure? This code is going into embedded controls that are out in the field and developing secure code is an initiative and expectation.....are you familiar with secure coding guidelines? When have you written secure code? How did you determine if it was secure?
JD:
What you'll do:
The Lead Embedded Software Engineer will develop embedded software/firmware for high performance, real-time controls and protective relays used for smart grid applications in the electrical power distribution industry.
In this role, you will collaborate with a multi-discipline engineering team (software, hardware, and test) to perform the following functions:
In this function you will:
. Define requirements between hardware and software subsystems.
. Design and implement features for power system intelligent electronic devices, including power system protection algorithms, system diagnostics/prognostics, communication protocols, cybersecurity, and other relay, control and monitoring functions using C/C++.
. Lead high-level design activities for new product features.
. Lead system interface design activities and lead the resolution of integration issues.
- Participate in tasks related to new product development/feature development including planning, task estimation, design, programming, unit testing, peer review, integration and release.
. Collaborate with external and internal customers, such as Marketing, Service, Operations and other engineering teams throughout the product development life cycle.
- Participate in the analysis and specification of embedded software subsystems.
. Design and implement unit test in support of developer testing activities and integration with Continuous Integration (CI) pipelines.
. Participate and lead design and code reviews.
. Plan and execute tasks in collaboration with the product team to ensure project objectives are met.
. Evaluate and recommend software development process improvements in collaboration with engineering management.
Qualifications:
. Bachelor's degree in Engineering, Computer Science, Physics or Mathematics from an accredited institution.
. Five (5) years' experience working in embedded software.
. Experience with C/C++
. Embedded Linux experience.
. Ability to work effectively in an Agile Scrum (or other iterative development) environment.
. Strong understanding of Object Oriented Design (OOD) principles.
. Strong understanding of real-time operating system (RTOS) concepts.
. Experience with test-driven development (TDD) and a good familiarity with unit test frameworks (e.g. GoogleTest, GoogleMock, xUnit++, etc.).
. Experience with multi-core embedded systems
Share this job
Useful Links