DornerWorks Embedded SW Engineer - Virtualization Technology in Grand Rapids, Michigan

DornerWorks, a leader in embedded engineering design, is pioneering the use of hypervisors and virtualization in the embedded space. Using the Xen Project hypervisor for embedded applications is relatively new and our outstanding team is partnering with customers to apply this novel technology to their products. Demand for our expertise continues to grow and we are seeking top-notch technical minds who are comfortable blazing a trail in an emerging technology. As you develop hypervisor functionality, you will become an expert in Xen, Linux, and cutting-edge microprocessors. If you are excited by the opportunity to continually hone your technical skills and long for the opportunity to build solutions for challenging problems, this is the position for you.Being part of the team at DornerWorks requires that you are talented and committed to being part of a high functioning team; that you are willing to mentor and be mentored and have the confidence to ask for and give help when needed. Success and innovation at DornerWorks comes from working and growing together.Working at DornerWorks is a little different than most companies. We get the opportunity to work with a variety of customers in nearly every industry to help them produce standout products. Our customers engage us to develop all or part of new products as well as to rework existing products. You will work with our expert Embedded Virtualization team of embedded engineers to produce amazing products. Then we get to do it over again for a new customer or project!What your day will look like:ulliEngage in the full engineering life cycle focused on embedded applications of the Xen hypervisor/liliDevise system architecture and requirements for innovative embedded software products/liliIntegrate and validate embedded systems/liliDevelop detailed designs to meet customer requirements and specifications/liliCollaborate with the team and customers to deliver standout hypervisor-based solutions/liliConduct testing and analyses/liliFocus on continuous improvement for technology, tools, and processes/li/ulWhat we need from you:ulliBS in Electrical Engineering (BSEE/BSE), Computer Engineering (BSCE), or Computer Science (BSCS)/lili5+ years of experience in embedded development for 32- and 64-bit microprocessors/liliProficiency with C/liliRecent experience with one or more of the following:/liliRTOS development on 32- or 64-bit microprocessor/liliWorking in Assembly to enable or support low-level CPU features, such as interrupt control, memory management, and cache configuration/liliBootloaders, such as U-Boot or GRUB/liliExperience with the ARM microarchitecture, preferably with ARMv7-A and/or ARMv8-A/liliUnderstanding of low level OS concepts sufficient to write software for interrupt handling, context switching, thread scheduling, virtual memory management, and protecting data coherency/liliAptitude for learning new technologies and applications/liliAbility to identify problems and develop solutions/li/ul What we like to see:ulliExposure to a variety of technologies and industries/liliExperience communicating technical details with customers/liliFamiliarity with scripting languages like Python or PERL /liliExperience working in a Linux environment using open source toolchains/liliExperience developing software for different kinds of processor families/liliExperience creating or modifying RTOS BSPs/liliExperience using virtualization technologies like Disco, Xen, Denali, E