Embedded Software Senior Engineer - Productivity

CaterpillarMossville, IL
1d$112,710 - $169,060Onsite

About The Position

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. This is a position for a Senior Software Engineer to design , develop, configure, build, test and troubleshoot Productivity software used in Electronic Controller Modules for Caterpillar machine applications.

Requirements

  • Analytical Thinking: Knowledge of techniques and tools that promote effective analysis; ability to determine the root cause of problems and create alternative solutions that resolve these problems. Level Extensive Experience: Seeks discrepancies and inconsistencies in available information; explains variances. Organizes and prioritizes the sequence of steps to be taken to remedy the situation. Identifies many possible causes for a problem based on prior experience and current research. Quantifies the benefits, risks, and chances for success before recommending a course of action. Approaches a complex problem by breaking it down into its component parts.
  • Effective Communications: Understanding of effective communication concepts, tools, and techniques; ability to effectively transmit, receive, and accurately interpret ideas, information, and needs through the application of appropriate communication behaviors. Level Working Knowledge: 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: Knowledge of the necessity and value of teamwork; experience with; ability to work cooperatively towards shared goals and being supportive of others at all levels. Level Working Knowledge: 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.
  • Technical Excellence: Knowledge of a given technology and various application methods; ability to develop and provide solutions to significant technical challenges.
  • Extensive knowledge in embedded systems and modular architecture software design.
  • Extensive knowledge using Linux and RTOS.
  • Proficient in programming with C, C++ (with emphasis on C++11/14), and Python programming languages.
  • Experience with Azure DevOps, GIT, IVY, Conan.
  • Extensive experience with developing Unit Tests, Test-Driven Development, HIL and SIL testing
  • Technical Troubleshooting: Knowledge of technical troubleshooting approaches, tools, and techniques; ability to anticipate, recognize, and resolve technical issues on software, application or operation. Level Working Knowledge: Extensive knowledge with CAN, J1939, TCP/IP and other data link protocols Extensive knowledge using CAN based tools like CANoe and CANalyzer Discovers, analyzes, and resolves software or application problems. Works with vendor-specific diagnostic guides, tools and utilities. Records and reports specific technical problems.
  • Extensive knowledge using Object Oriented Design
  • Extensive knowledge working in a fast-paced, large, and global Agile team environment.

Nice To Haves

  • Experience with Matlab/Simulink
  • Experience with linux-based autonomy system architecture such as ROS
  • 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.

Responsibilities

  • Interact with the productivity system engineers and other software development teams to define software requirement and validation details.
  • Interact with the UI/UX team, UI development team and Display team for webapp design, development, validation and deployment.
  • Provide upfront design approach guidance to all software feature work, conduct design and code review for software developed and support software technology and development strategy and roadmap development.
  • Write software to meet application needs in line with prioritized backlog from project lead engineer.
  • Design and develop unit-level and automated regression tests.
  • This position also involves interaction with machine electronics system, machine product development teams, and other software development teams globally.

Benefits

  • Medical, dental, and vision benefits
  • Paid time off plan (Vacation, Holidays, Volunteer, etc.)
  • 401(k) savings plans
  • Health Savings Account (HSA)
  • Flexible Spending Accounts (FSAs)
  • Health Lifestyle Programs
  • Employee Assistance Program
  • Voluntary Benefits and Employee Discounts
  • Career Development
  • Incentive bonus
  • Disability benefits
  • Life Insurance
  • Parental leave
  • Adoption benefits
  • Tuition Reimbursement
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service