Senior Software Engineer - Embedded processor Platforms


Eden Prairie, MN

Industry: Healthcare


5 - 7 years

Posted 222 days ago

  by    Bajrang Yadav

This job is no longer available.


What you?ll be doing

  • Instruct, direct, and check the work of other design engineers
  • Translate product requirements into implementable architectures
  • Design and develop software for 8, 16, and 32-bit processor platforms
  • Develop software in assembly language, C, C++, C#, Java and otherlanguages
  • Design and develop software for bare metal, RTOS, Linux, WinCE and Windows platforms.
  • Design and develop device drivers for USB, ATA, Video, Audio, Ethernet, CAN, NAND flash, NOR flash, DDRAM, SPI, I2C, PCI and other devices
  • Conduct design analysis on software assets to assist in the development process by ensuring designs are maintainable, customer focused and reliable
  • Prepare technical data such as design verification test documents, software design specifications and software requirements specifications
  • Analyze business requirements and document a suitable technical approach for internal and external (customer) proposals
  • Complete assigned engineering projects within budgetary and scheduling guidelines
  • Communicate with engineers and project managers to coordinate and assure project completion
  • Mentor other engineers as they work through day-to-day technical challenges
  • Other duties as assigned

 What we?re looking for

  • Bachelor of Science in Computer Science, Computer Engineering, Software Engineering or equivalent
  • 5+ years experience developing software for embedded processor platforms
  • Experience with embedded systems and microprocessor based design
  • Experience with all aspects of product design including: requirements documentation, system architecture, design for manufacturing, design for test and design verification
  • Experience working in teams including engineers from multiple engineering disciplines
  • Capable of providing day-to-day technical design leadership and mentorship
  • Ability to analyze customer requirements for feasibility, cost and development timeline
  • Strong communication skills including the ability to write technical specifications and design documentation, create and author templates for engineering documents, create project proposals with technical details, present verbally in one-on-one or group settings
  • Thorough technical knowledge of application software methodologies including OOA/OOD and Design Patterns
  • Understanding of CPU functions such as L1/L2 cache, MMU, power states, bus arbiters & multiplexers, interrupts, and DMA
  • Understanding of coding for embedded peripherals including Ethernet, USB, I2C, CAN, Flash, SPI
  • Experience using Logic analyzers, Oscilloscopes, and JTAG debuggers is highly desirable
  • Experience with ARM, PIC32, MSP430, PowerPC, ColdFire and x86 processor cores is highly desirable
  • Experience with embedded Linux, Android, Windows CE and RTOSs at the application, device-driver and board support package level highly desired
  • Experience with wireless connectivity SoCs highly desired
  • Experience with MS Office products including MS Project
  • Able to work in a fast paced environment with quickly changing priorities to ensure superior customer satisfaction



Software for embedded processor platforms, embedded system and microprocessors based design, OOA/OOD, design patterns, embedded peripherals, Understanding CPU functions,  logic analyzers, oscilloscopes, and JTAG debuggers, technical design leadership and mentorship, analyze customer requirements.


Primary Skills:


Secondary Skills:


Educational Qualifications

B.E in Computer Science, Computer Engineering, Software Engineering or equivalent