JOBSEARCHER

Embedded Software Engineer

ARCHIVED

We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.

Job Description:-The main function of an embedded software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the embedded software and systems that make computers work. A typical embedded software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.Job Responsibilities:Design and implement software of embedded devices and systems from requirements to production and commercial deployment for product lines.Write and code logical and physical database descriptions and specify identifiers of database to management system or direct others in coding descriptions.Analyze and enhance efficiency, stability and scalability of system resourcesReview project requests describing database user needs to estimate time and cost required to accomplish project.Skills:Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.Knowledge of reading schematics and data sheets for componentsBasic knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.Basic ability to troubleshoot issues and make system changes as needed to resolve issue.Basic knowledge of computer hardware and software. Solid programming experience in C or C++Knowledge of computer development software as it relates to embedded systems, such as SQL, Visual Basic, etc.Education/Experience:Bachelor's degree in computer science, software engineering or relevant field required.6+ years’ experience required.Top 3 SkillsStrong expertise in C++ (required); proficiency in PythonProven experience designing and maintaining large-scale, production software systemsDeep understanding of Linux-based development, multithreading, memory management, and performance optimization.Additional Technical Skills (Desired) Experience in development of device drivers, hardware diagnostics, non-volatile memory interfacing, board initialization, & communication networks such as J1939/CAN/EthernetExperience with industry-standard tools such as Git, GitHub, and Azure for version control, collaboration, and cloud servicesFamiliarization with core robotics principles.