Caterpillar
Cat Digital uses digital technologies to help Caterpillar Inc. customers build a better, more sustainable world.
Chicago, IL
Hybrid

PRINCIPAL SOFTWARE ENGINEER

Sorry, this job was removed at 1:10 p.m. (CST) on Wednesday, December 23, 2020
Find out who's hiring in Chicago.
See all Developer + Engineer jobs in Chicago
Apply
By clicking Apply Now you agree to share your profile information with the hiring company.

JOB PURPOSE:

As a Principal Software Engineer you will lead all stages of software development including refining product vision, gathering requirements, project planning, software system design, coding, testing, release, deployment and support.

 

JOB DUTIES: Responsibilities of the incumbents are across functional lines with individuals assigned in new program development and/or maintenance of existing mobile, WEB, Cloud, server, personal computer, mainframe, and/or distributed computing systems. This individual will also work collaboratively with other engineering teams to ensure cross-functional goals are met.

 

 

  1. Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
  • Lead role in complex projects spanning across multiple system components
  • Work in all phases of product creation process including creating technical requirements, project planning, identifying dependencies, system architecture and development.
  • Investigation and root cause analysis of software and system defects.
  • Focus on productivity, quality and competitiveness of major technology initiatives.
  • Apply knowledge and skills to solve most complex engineering problems.
  • Organize and drive configuration management activities of the development process
  • Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls.
  • Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
  • Drives application development focused around delivering business valuable features
  • Mentor and assist software engineers, providing technical assistance and direction as needed
  • Maintains high standards of software quality by establishing good practices and habits
  • Identifies and encourage areas for growth and improvement
  • Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
  • Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.

 

 

Qualifications

Basic qualifications:

 

  • Position requires a four-year degree from an accredited college or university.
  • 15 years or more of software development experience or at least 10 years of experience with master’s degree in computer science or related field.
  • 5 years of demonstrated experience leading software engineering projects.
  • 5 years or more of experience in designing and developing software applications in Python or Scala or at least three years of experience in Java or Scala with master’s degree in computer science or related field.
  • 5 years or more of developing customer facing services and design patterns.
  • 5 years or more of experience coding python / scala

 

 

 

Top candidates will also have:

 

  • Demonstrated leadership on medium to large-scale projects impacting strategic priorities.
  • Ability to cope with shifting priorities, demands and timelines through analytical and problem-solving skills.
  • Ability to effectively prioritize, delegate responsibilities and execute tasks in a high-pressure environment.
  • Proven experience in many of the following

 

o Designing, developing, deploying and maintaining software at scale.

o Developing software applications using relational and Nosql databases.

o   Application architectural patterns, such as MVC, Microservices, Event-driven, etc.

o   Deploying software using CI/CD tools such as Jenkins, GoCD, Azure Devops etc.

o   Deploying and maintaining software using public clouds such as AWS or Azure.

o   Working within an Agile framework (ideally Scrum)

 

  • Strong understanding and/or experience in many of the following,

 

o   Excellent programing Skills in Python / Scala

o   Ability to implement frameworks like akka , Scalartra , Spring,Django and spark

o   Batch or stream processing systems such as Apache Spark, Flink, Akka, Storm

o   Message brokers such as Kafka, Rabbitmq, AWS SQS, AWS SNS, Apache ActiveMQ, Kinesis.

o   Experience designing well-defined Restful APIs

o   Experience writing API proxies on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway

o   Hands one experience with API tools such as Swagger, Postman and Assertible

o   Test driven development and behavior driven development.

o   Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines.

o   Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.

o   Debugging and maintaining software in Linux or Unix platforms.

 

 

  • Understanding of front-end state management libraries (redux)
  • Must demonstrate solid knowledge of computer science fundamentals like data structures and algorithms.
  • Ability to work under pressure and within time constraints
  • Passion for technology and an eagerness to contribute to a team-oriented environment
  • Demonstrated leadership on small to medium-scale projects impacting strategic priorities
  • Bachelor’s degree in Computer science or Electrical engineering or related field is required
See More
Apply Now
By clicking Apply Now you agree to share your profile information with the hiring company.

What are Caterpillar Perks + Benefits

Culture
Volunteer in local community
Caterpillar Inc. participates in local volunteer activities such as the Chase Corporate Challenge
Partners with nonprofits
Open door policy
OKR operational model
Team based strategic planning
Open office floor plan
Flexible work schedule
Remote work program
Diversity
Documented equal pay policy
Dedicated diversity and inclusion staff
Mandated unconscious bias training
Diversity employee resource groups
Health Insurance & Wellness Benefits
Flexible Spending Account (FSA)
Disability insurance
Dental insurance
Vision insurance
Health insurance
Life insurance
Pet insurance
Wellness programs
Mental health benefits
Financial & Retirement
401(K)
401(K) matching
Company equity
Performance bonus
Charitable contribution matching
Child Care & Parental Leave Benefits
Generous parental leave
Family medical leave
Adoption Assistance
Vacation & Time Off Benefits
Generous PTO
Paid volunteer time
Paid holidays
Paid sick days
Office Perks
Recreational clubs
Onsite gym
Professional Development Benefits
Job training & conferences
Tuition reimbursement
Lunch and learns
Promote from within
Continuing education available during work hours
Online course subscriptions available
Customized development tracks
Paid industry certifications

More Jobs at Caterpillar

Apply Now
By clicking Apply Now you agree to share your profile information with the hiring company.
Learn more about CaterpillarFind similar jobs like this