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

PRINCIPAL SOFTWARE ENGINEER, CAT DIGITAL at Caterpillar (Chicago, IL)

| Chicago, IL | Hybrid
Sorry, this job was removed at 8:53 a.m. (CST) on Monday, August 23, 2021
Find out who's hiring in Chicago, IL.
See all Developer + Engineer jobs in Chicago, IL
Apply
By clicking Apply Now you agree to share your profile information with the hiring company.

CAREER AREA:

Digital

JOB DESCRIPTION:

We at CAT digital are building a state-of-the-art platform to support a wide range of customer-focused applications. We are looking for a strong Principal engineer to join our Platform Services team to develop detailed designs for multiple complex distributed systems. This person will work closely with software development teams to bring the designs to life and bridge any gaps in the integration phase.

JOB DUTIES: 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. Responsibilities of the incumbents are across functional lines with individuals assigned in new program development and/or maintenance.

  • 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.

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 12 years of experience with master’s degree in computer science or related field.
  • 7 years of demonstrated experience leading software engineering projects.
  • 8 years or more of experience in designing and developing software applications in Java or Scala or at least Five years of experience in Java or Scala with master’s degree in computer science or related field.

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,
    • Designing, developing, deploying and maintaining software at scale.
    • Developing software applications using relational and Nosql databases.
    • Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
    • Deploying software using CI/CD tools such as Jenkins, GoCD, Azure Devops etc.
    • Deploying and maintaining software using public clouds such as AWS or Azure.
    • Working within an Agile framework (ideally Scrum)
  • Strong understanding and/or experience in many of the following,
    • Batch or stream processing systems such as Apache Spark, Flink, Akka, Storm
    • Message brokers such as Kafka, Rabbitmq, AWS SQS, AWS SNS, Apache ActiveMQ, Kinesis.
    • Experience designing well-defined Restful APIs
    • Experience writing API proxies on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway
    • Hands one experience with API tools such as Swagger, Postman and Assertible
    • Test driven development and behavior driven development.
    • Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines.
    • Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.
    • Debugging and maintaining software in Linux or Unix platforms.
  • 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

Visa sponsorship available for eligible applicants.

EEO/AA Employer.  All qualified individuals - Including minorities, females, veterans and individuals with disabilities - are encouraged to apply.

Not ready to apply? Submit your information to our Talent Network here .

See More
Apply Now
By clicking Apply Now you agree to share your profile information with the hiring company.

Technology we use

  • Engineering
  • Product
  • Sales & Marketing
    • JavaLanguages
    • JavascriptLanguages
    • PythonLanguages
    • RLanguages
    • ScalaLanguages
    • SqlLanguages
    • ReactLibraries
    • ReduxLibraries
    • Backbone.jsFrameworks
    • Ember.jsFrameworks
    • HadoopFrameworks
    • Node.jsFrameworks
    • Ruby on RailsFrameworks
    • SparkFrameworks
    • SpringFrameworks
    • AWS ElasticSearchFrameworks
    • AWS Code PipelineFrameworks
    • DockerFrameworks
    • ApigeeFrameworks
    • FlinkFrameworks
    • AkkaFrameworks
    • Amazon ECSFrameworks
    • MySQLDatabases
    • OracleDatabases
    • PostgreSQLDatabases
    • SnowflakeDatabases
    • DynamoDBDatabases
    • RDSDatabases
    • Google AnalyticsAnalytics
    • TableauAnalytics
    • SalesforceCRM
Previous
Next

An Insider's view of Caterpillar

What are some social events your company does?

Whether we’re working virtually or in-person, we are always looking for ways to have fun and grow as a team. Team dinners, coffee chats, ax throwing, chess club, and virtual happy hours are just a few of the activities we do to make work more fun and connect with colleagues around the world.

Madison

Recruiter

What kinds of technical challenges do you and your team face?

It’s amazing to be able to work in an architectural framework where we can negotiate between speed to market and a solid application – software that is well-built, well-designed, well-tested. I find this negotiation both challenging and exhilarating.

MacGregor

Lead Software Engineer

How does the company support your career growth?

I’ve been with Caterpillar for 20 years now, and I’ve been lucky to work on teams that have different focuses. I’ve worked on everything from engineering applications to the latest and greatest digital technology applications.

Rakshan

Digital Product Manager

How do you make yourself accessible to the rest of the team?

The team should be comfortable approaching me with any kind of issue — like improving a process, getting rid of unnecessary ceremonies or something else — and know that I will address it. I believe a manager should be the first line of defense against bugs and conflicting priorities, and my team needs to know that I have their back.

Stan

Software Engineering Manager

What projects are you most excited about?

Deep learning algorithms, popularized in the past five years, allow us to scan huge volumes of data from Caterpillar's fleet of connected engines and machines for unusual patterns. We're now able to make sophisticated predictions that wouldn’t have been possible 20 years ago.

Dan

Analytics Director

More Jobs at Caterpillar