Sr. Embedded Engineer – Direct Hire Principal Duties and Responsibilities
Develop innovative embedded solutions on a variety of platforms.
Optimize data flows from measurement hardware to application software across a variety of hardware buses, communication protocols, and algorithms
Configure boot loaders, Linux, RTOS, and/or embedded Windows to run on a variety of platforms.
Support existing embedded DSP code.
Support C and mixed mode C/C# code on Windows.
Introduce new software technologies in applicable emerging projects.
Ongoing tasks include software estimation, planning, requirements elicitation and architecture design as well as mentoring and oversight of programming team(s).
Express and capture ideas with UML or other diagram types, evaluate and trade-off software design patterns, incorporate UI/UX concepts, develop unit tests, and maintain products with software configuration management tools.
Architect and develop complex software applications following coding standards and software development processes.
Considered an expert with all aspects of software development processes, architectures, and modern software development techniques.
Expertise with boot loaders and Linux customization
Expertise with C, C, and shell scripting
Experience with kernel mode drivers and I/O optimization
Ability to express and share software designs with UML, or similar textual and diagramming approaches
Familiarity or general understanding in the application of signal processing algorithms, principles, theories, concepts, practices and standards relating to modern software-defined architectures and synthetic instrumentation designs.
Competency designing and developing flexible, high performance communication interfaces over a variety of hardware buses and communication protocols
Experienced in taking a product design from concept to production.
Experience with one or more RTOS
Experience with C# and WinForms applications
Experience with python, LabVIEW, or MATLAB
Experience with machine learning and AI technologies and platforms
Knowledge of HTML, CSS, JS, and ASP.Net
Experience designing, developing, or working with microservice architectures
Bachelor’s in Computer Engineering or Computer Science from four-year college is required, Master’s is preferred.
12+ years’ experience as a Software Engineer.