Lead Software Engineer

CaterpillarIrving, TX
6dOnsite

About The Position

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. Lead Software Engineer Role Summary: This position will help Caterpillar solve its customers’ toughest challenges while building a better and more sustainable world. This person will deliver technological initiatives inside of the Commercial Process Division (CPD), part of the Power and Energy Group. This business segment focuses on the development and delivery of services, solutions, and processes to support the Caterpillar commitment to our customers including our Dealer Network. The incumbent will collaborate with business partners and enterprise teams in creation of Business relevant IT & Business Strategies for CPD. The Lead Software Engineer is expected to spend 50% of their time on development work and 50% of their time leading other engineers.

Requirements

  • Agile Mindset and experience working in Product Teams.
  • Experience working in Azure DevOps Framework.
  • Experience working .NET Framework.
  • Automation & AI first thinking is a must.
  • Engineering languages (Python, Java/JavaScript, C#, PHP, Ruby, SQL, ASP.Net, Snap logic, DataStage)
  • Cyber Safe approach.
  • Dev Ops, CI/CD practices, and Automated Testing.
  • Decision Making and Critical Thinking: Knowledge of the decision-making process and associated tools and techniques; ability to accurately analyze situations and reach productive decisions based on informed judgment. Applies an assigned technique for critical thinking in a decision-making process. Identifies, obtains, and organizes relevant data and ideas. Participates in documenting data, ideas, players, stakeholders, and processes. Recognizes, clarifies, and prioritizes concerns. Assists in assessing risks, benefits, and consideration of alternatives.
  • Effective Communications : Understanding 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. 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 drafts reports needed for own work. Avoids technical jargon when inappropriate. Looks for and considers non-verbal cues from individuals and groups.
  • Software Development: Knowledge of software development tools and activities; ability to produce software products or systems in line with product requirements. Conducts walkthroughs and monitors effectiveness and quality of the development activities. Elaborates on multiple-development toolkits for traditional and web-based software. Has participated in development of multiple or large software products. Contrasts advantages and drawbacks of different development languages and tools. Estimates and monitors development costs based on functional and technical requirements. Provides consulting on both selection and utilization of developers' workbench tools.
  • Software Development Life Cycle : Knowledge of software development life cycle; ability to use a structured methodology for delivering and managing new or enhanced software products to the marketplace. Describes similarities and differences of life cycle for new product development vs. new release. Identifies common issues, problems, and considerations for each phase of the life cycle. Works with a formal life cycle methodology. Explains phases, activities, dependencies, deliverables, and key decision points. Interprets product development plans and functional documentation.
  • Software Integration Engineering: Knowledge of software integration processes and functions; ability to design, develop and maintain interfaces and link to alternative platforms and software packages. Has experience with designing data exchange interfaces to and from software product. Describes tools and techniques for extraction, transformation and loading of electronic data. Cites examples of common linkage requirements for software products and vendors. Works with integrating software into the customer or partner framework and infrastructure. Participates in the development of technology interfaces and bridges.
  • Software Product Design/Architecture: Knowledge of software product design; ability to convert market requirements into software product design. Demonstrates experience with the architecture and design of major or multiple products. Describes major software architecture alternatives and considerations. Explains design considerations for commercial database systems, operating systems and web. Displays experience in estimating the cost of a specific design of a proposed product. Facilitates design reviews and walkthroughs. Analyzes benefits and drawbacks of specific software designs and architecture.
  • Software Product Technical Knowledge : Knowledge of technical aspects of a software product; ability to design, configure and integrate technical aspects of software products. Maintains and utilizes data related to installing base configurations and environments. Solicits customer feedback; reports and monitors bugs and implementation issues. Participates in defining and conducting technical acceptance tests. Participates in creating technical requirements for software development and deployment. Explains basic environment and product configuration options.
  • Software Product Testing: Knowledge of software product testing; ability to design, plan, and execute testing strategies and tactics to ensure software product quality and adherence to stated requirements. Participates in test readiness reviews, functional, volume, and load testing. Describes key features and aspects of a specific testing discipline or methodology. Tests software components for compliance with functional requirements and design specifications. Explains procedures for documenting test activities and results (e.g. errors, non-conformance, etc.) Conducts functional and performance testing on aspects of assigned products.

Responsibilities

  • Designing, modifying, developing, writing, and implementing software programming applications for target system using agile methods.
  • Acquiring client requirements; resolving workflow problems through automation optimization.
  • Writing source codes for new applications, and/or generating and enhancing code samples for existing applications.
  • Utilizing automated testing tools to perform the testing and maintenance.

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