Embedded Software Engineer-081366
Description
About the job you’re considering
Embedded Software Engineer - Modeling and Virtual Platforms - Sunnyvale
Embedded Software Engineer - Modeling and Virtual Platforms ResponsibilitiesDesign and implement software components at all layers of the system, including kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc Your role
Develop drivers and services that operate efficiently in constrained environments and deliver large volumes of data with low-latency and high-bandwidthLead hardware bring-up, peripheral drivers and communication, silicon integration, and power and performance management and optimization effortsDebug complex, system-level, multi-component issues that span multiple layers from kernel to application.Profile performance problems and drive optimizations across the entire software stackAnalyze, design, develop, and debug firmware for a wide variety of devices, including novel sensing and imaging systems, haptic devices, and audio prototypesCollaborate closely with cross-functional teams, including silicon architects, hardware designers, OS team, and algorithm and model development teamsUnderstand and implement power-management, boot loaders, scheduling, inter-processor communication, computer vision, and firmware/system interfaces on RTOS and/or bare-metal environmentsDesign, develop, and architect models and infrastructure building blocks of Virtual Platforms, integrating internal models and vendor IP models Your skills and experience
Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experienceWe are looking 5+ years software development experience in industry settings or PhD with 2+ years of experienceWe are looking 3+ years embedded software development experience in industry settings Experience in large-scale C/C++ code baseDemonstrated experience working across disciplines to drive optimal solutions Preferred Qualifications
M.S. degree in Computer Science or Electrical EngineeringExperience with SystemC, TLM or other simulation frameworksDebugging experience using gdb or other debuggersKnowledge in algorithms, data structures, software designExperience automating development and validation tasks using Python Experience with Python based application development interfacing with C++ Life at Capgemini
Capgemini supports all aspects of your well-being throughout the changing stages of your life and career.
For eligible employees, we offer:
Flexible workHealthcare including dental, vision, mental health, and well-being programsFinancial well-being programs such as 401(k) and Employee Share Ownership PlanPaid time off and paid holidaysPaid parental leaveFamily building benefits like adoption assistance, surrogacy, and cryopreservationSocial well-being benefits like subsidized back-up child/elder care and tutoringMentoring, coaching and learning programsEmployee Resource GroupsDisaster Relief