Senior Software Engineer

Caterpillar Caterpillar · Industrial · Chicago, IL

Senior Software Engineer responsible for designing, developing, and implementing software applications using agile methods. This includes acquiring client requirements, resolving workflow problems through automation, writing and enhancing source code, utilizing automated testing tools, and ensuring software product quality. The role also involves designing and maintaining interfaces, converting market requirements into product design, and integrating technical aspects of software products.

What you'd actually do

  1. Design, modify, develop, write, and implement software programming applications for target systems using agile methods.
  2. Acquires client requirements resolving workflow problems through automation optimization.
  3. Writes source codes for new applications, and/or generating and enhancing code samples for existing applications.
  4. Utilizers automated testing tools to perform the testing and maintenance.
  5. Produces software products or systems in line with product requirements.

Skills

Required

  • Java application development
  • Relational databases (e.g. PostgreSQL)
  • Non-relational databases (e.g. MongoDB)
  • Python application development
  • Data management
  • Test-driven development (TDD) practices
  • Agile development methodologies
  • Service layer/backend stack development

Nice to have

  • Software programming applications
  • Workflow problems through automation optimization
  • Source codes for new applications
  • Generating and enhancing code samples for existing applications
  • Automated testing tools
  • Software products or systems
  • Structured methodology for delivering and managing new or enhanced software products
  • Interfaces and linkage to alternative platforms and software packages
  • Market requirements into software product design
  • Technical aspects of software products
  • Testing strategies and tactics to ensure software product quality

What the JD emphasized

  • master’s degree or foreign equivalent in Computer Science or a related field and 1 year of experience in designing and developing software on a service layer/backend stack or related occupation
  • 1 year of experience in Java application development
  • 1 year of experience in Development of software applications using relational databases (e.g. PostgreSQL) and non-relational databases (e.g. MongoDB)
  • 1 year of experience in Python application development and data management
  • 1 year of experience in application of test-driven development (TDD) practices
  • Agile development methodologies