Caterpillar
Senior Software Engineer
Caterpillar, Chicago, Illinois, 60290
Career Area: Business Technologies, Digital and Data 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. Caterpillar Inc. seeks Senior Software Engineer at its facility located at 540 W Madison Ave, 310, Chicago, IL 60661. Perform implementation, problem solving, maintenance and support for agile software development. Design, modify, develop, write and implement software programming applications for target system using agile methods. Write source codes for new applications, and/or generate and enhancing code samples for existing applications. Utilize automated testing tools to perform testing and maintenance. Analyze situations and reach productive decisions based on informed judgment. Apply assigned techniques for critical thinking in the decision-making process. Identify, obtain, and organize relevant data and ideas. Participate in documenting data, ideas, players, stakeholders, and processes. Recognize, clarify, and prioritize concerns. Assess risks, benefits and consideration of alternatives. Transmit, receive, and accurately interpret ideas, information, and needs through the application of appropriate communication behaviors. Utilize software development tools. Produce software products or systems in line with product requirements. Conduct walkthroughs and monitor effectiveness and quality of development activities. Elaborate on multiple-development toolkits for traditional and web-based software. Contrast advantages and drawbacks of different development languages and tools. Estimate and monitor development costs based on functional and technical requirements. Utilize knowledge of software development life cycle. Use a structured methodology for delivering and managing new or enhanced software products to the marketplace. Identify common issues, problems, and considerations for each phase of the life cycle. Work with a formal life cycle methodology. Explain phases, activities, dependencies, deliverables, and key decision points. Interpret product development plans and functional documentation. Utilize software integration processes and functions. Participate in the development of technology interfaces and bridges. Use knowledge of software product design; convert market requirements into the software product design. Demonstrate experience with architecture and design of major or multiple products. Describe major software architecture alternatives and considerations. Explain design considerations for commercial database systems, operating systems and web. Facilitate design reviews and walkthroughs. Analyze benefits and drawbacks of specific software designs and architecture. Use knowledge of technical aspects of software products; design, configure and integrate technical aspects of software products. Participate in defining and conducting technical acceptance tests. Participate in creating technical requirements for software development and deployment. Describe key features and aspects of specific testing disciplines or methodologies. Test software components for compliance with functional requirements and design specifications. Explain procedures for documenting test activities and results. REQS: This position requires a Bachelor’s, degree, or foreign equivalent, in Computer Science, Electrical Engineering, Information Systems or a related field and 3 years of experience in designing and developing software applications on a service layer/ backend stack, or related occupation. Additionally, the applicant must have employment experience with: (1) 2 years with Ruby on Rails; (2) 3 years in Angular application development; (3) 3 years in public cloud technologies such as AWS or Azure; (4) Development of software applications using relational and NoSQL databases; (5) Message brokers such as Kafka, RabbitMQ, AWS SQS, AWS SNS, Kinesis; (6) Test driven development and behavior driven development; (7) API tools such as Swagger, Postman and Assertible; (8) Testing tools such as RSpec, minitest or Cucumber and their integration into CI/CD pipelines; and (9) Background processing systems such as Sidekiq, Resque or DelayedJob. Telecommuting: 4 days/week. Applicants who are interested in this position should apply via www.caterpillar.com/careers , search [Senior Software Engineer / Reference R0000278406]. LI-DNI Posting Dates: October 14, 2024 - February 10, 2025 Any offer of employment is conditioned upon the successful completion of a drug screen. EEO/AA Employer. All qualified individuals - Including minorities, females, veterans and individuals with disabilities - are encouraged to apply. Not ready to apply? Join our Talent Community (http://flows.beamery.com/caterpillarinc/talcom) .