Embedded Software Engineer - Platform Software
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
Responsibilities
- Gathering and analyzing functional and technical requirements.
- Preparing and peer-reviewing design proposals.
- Writing and implementing source code for embedded systems and enhancing code samples of existing systems.
- Testing and debugging embedded system software using different tools/methods available to improve code quality and optimize system performance.
- Education Requirement:
- Accredited BS degree in an Electrical Engineering or Computer Engineering field required.
- What Skills You Will Have:
- Technical Excellence:
- Provides effective technical solutions to routine functional challenges via sound technical competence, effectively examining implications of events and issues.
- Effectively performs the technical job aspects, continuously building knowledge and keeping up-to-date on technical and procedural job components.
- Applies technical operating and project standards based on achieving excellence in delivered products, technologies and services.
- Applies current procedures and technologies to help resolve technical issues in one's general area of technical competence.
- Helps others solve technical or procedural problems or issues.
- Analytical Thinking:
- Approaches a situation or problem by defining the problem or issue and determining its significance.
- Makes a systematic comparison of two or more alternative solutions.
- Uses flow charts, Pareto charts, fish diagrams, etc. to disclose meaningful data patterns.
- Identifies the major forces, events and people impacting and impacted by the situation at hand.
- Uses logic and intuition to make inferences about the meaning of the data and arrive at conclusions.
- Effective Communications:
- Delivers helpful feedback that focuses on behaviors without offending the recipient.
- Listens to feedback without defensiveness and uses it for own communication effectiveness.
- Makes oral presentations and writes reports needed for own work.
- Avoids technical jargon when inappropriate.
- Looks for and considers non-verbal cues from individuals and groups.
- Teamwork:
- Explains own role and responsibility within team.
- Actively participates in team meetings.
- Shares information, knowledge, and experiences openly and proactively.
- Describes team mission and objectives in the context of results to be achieved.
- Demonstrates open, friendly, accepting, and supportive behaviors with team members.
- Requirements Analysis:
- Follows policies, practices and standards for determining functional and informational requirements.
- Confirms deliverables associated with requirements analysis.
- Communicates with clients, peers, technical experts, and technical references to elicit and gather requirements.
- Participates in the preparation of detailed documentation and requirements.
- Utilizes specific organizational methods, tools and techniques for requirements analysis.
- System Testing:
- Supports the project leader in developing and executing system test plans.
- Evaluates system documentation and user manuals for usability, accuracy and completeness.
- Executes test cases, analyzes test results and reports on findings regularly.
- Tests system components for compliance with functional requirements.
- Participates in the testing of a system's ability to recover from hardware or software failures.
- Technical Troubleshooting:
- Discovers, analyzes, and resolves hardware, software or application problems.
- Utilizes engineering tools (e.g. oscilloscopes, debuggers, logic analyzers) effectively to troubleshoot system behaviors.
- Works with vendor-specific diagnostic guides, tools and utilities.
- Handles calls related to product features, applications, and compatibility standards.
- Analyzes code, logs, and current systems as part of advanced troubleshooting.
- Records and reports specific technical problems, solving processes and tools that have been used.
- Top Candidates Will Have:
- Solid experience in research, design, develop, and test of low-layer embedded software, such as RTOS integrations, I/O drivers, boot loaders, non-volatile memory interfacing, board initializations, or communication networks (e.g. J1939/CAN/Ethernet) for electronic controls modules.
- Has experience in real-time embedded software development using C or C++ programmin
Additional Information
Career Area: Engineering Job Description: Your Work Shapes the World at Caterpillar Inc. When you join Caterpillar, you're joining a global team who cares not just about the work we do - but also about each other. We are the makers, problem solvers, and future world builders who are creating stronger, more sustainable communities. We don't just talk about progress and innovation here - we make it happen, with our customers, where we work and live. Together, we are building a better world, so we can all enjoy living in it. As a part of the Platform software team, the Embedded Software Engineer will design, develop, and deliver Low level embedded software for Next Gen ECUs used in Caterpillar NPI programs.
Your Match
How well this role fits your profile.
Company Intel
What employees say
Worked at Caterpillar? Share your experience