https://bayt.page.link/XTsz5QGPLSuwjDsP6
العودة إلى نتائج البحث‎

Senior Software Engineer – Data Engineer (DQME Core Layer)

اليوم 2025/07/03
خدمات الدعم التجاري الأخرى
أنشئ تنبيهًا وظيفيًا للوظائف المشابهة

الوصف الوظيفي

Career Area:


Technology, 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.


Cat Digital is the digital and technology arm of Caterpillar Inc., leveraging the latest technologies to build industry leading digital solutions for our customers and dealers. With over 1.5 million connected assets worldwide, our teams use data, technology, advanced analytics, telematics and AI capabilities to help our customers build a better, more sustainable world.


Job Summary:


This position is on the Connectivity Enabled Solutions Team in Connectivity Department within the CAT Digital organization.  This team has accountability for


  • Building common datasets to support Connectivity initiatives.
  • Streamline reporting of data through various sources, enhancing business logic to improve data reporting, and delivering visualize data in a consistent way for internal and external business users.
  • Building solutions to monitor and improve telematics data quality.

Responsibilities:


  • Contributes to design, development, code review, and deployment.
  • Understanding the business requirements for new features and working with business and business analysts for gathering & refining business requirements and to recommend any changes which could do business impact.
  • Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
  • Preparing the technical design documents based on the business requirements.
  • Design & build new features leveraging out of the box components as well as extending/customizing where necessary to meet business needs.
  • Works directly on complex application/technical problem identification and resolution.
  • Leading Development & unit/integration testing of new features for the scrum team.
  • Performing Code Reviews, Performance Assessments, Architecture discussions.
  • Ensuring team’s overall code quality and velocity
  • For newly released features, work with the support team for addressing critical production issues in a timely fashion.
  • Works independently on complex systems or infrastructure components that may be used by one or more systems.
  • Drives application development focused around delivering valuable business features.
  • Mentor and assist software engineers, providing technical assistance and direction as needed.
  • Identifies and encourages areas for growth and improvement within the team.

Basic Qualifications:


Educational Background: A four-year degree from an accredited college or university is required. A master's degree in computer science or a related field is preferred.


Python Development: 8+ years of experience in designing and developing software applications in Java, or


SQL: 6+ years of experience in SQL, relational databases such as MySQL, PostgreSQL, Snowflake, NoSQL database, etc.


Database Management : 5+ years of experience in database design, development, and administration. Familiarity with database replication, clustering, and high availability solutions.


Big data and data modeling: 3+ years of Hands-on experience in data modeling, ETL processes, Data pipeline development and data warehousing


Cloud Database Services: 3+ years of experience with cloud-based database services, particularly within AWS, Azure, or Google Cloud environments.


API: 4+ years of experience designing, building, and integrating Rest API, SOAP API


Familiarity with design patterns is essential.


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, AWS SQS, AWS SNS, Apache ActiveMQ, Kinesis
  • AWS environment such as Lambda functions, SQS, Glue, Step Functions
  • Python data libraries such as Pandas, NumPy, Airflow, PySpark, Matplotlib, etc.
  • Advance SQL such as CTEs, functions, procedures, pivoting, window functions, performance tuning, etc.
  • Snowflake environment such as task, procedures, streams, Snowpark, Streamlit, AI/ML studio, etc.
  • Defining and integrating CI/CD pipelines in the development process
  • Datastores such as Snowflake, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle, etc.
  • Container Platforms and Orchestration such as Docker, ECR, Kubernetes, Padman, etc.
  • Git repositories, code versioning, development and integration of CI/CD pipelines, etc.

Role Definition


Performs implementation, regular problem solving, maintenance and support for a agile software development.


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.

Skill Descriptors


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.


 Level Working Knowledge:


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


 Level Working Knowledge:


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


 Level Extensive Experience:


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


 Level Working Knowledge:


  • 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 linkage to alternative platforms and software packages.


 Level Working Knowledge:


•            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 the software product design.


 Level Extensive Experience:


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


 Level Working Knowledge:


•            Maintains and utilizes data related to install 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.


 Level Working Knowledge:


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

This Job Description is intended as a general guide to the job duties for this position and is intended for the purpose of establishing the specific salary grade.  It is not designed to contain or be interpreted as an exhaustive summary of all responsibilities, duties and effort required of employees assigned to this job.  At the discretion of management, this description may be changed at any time to address the evolving needs of the organization.  It is expressly not intended to be a comprehensive list of “essential job functions” as that term is defined by the Americans with Disabilities Act.


Posting Dates:


March 4, 2025 - March 17, 2025

Caterpillar is an Equal Opportunity Employer (EEO).


Not ready to apply? Join our Talent Community .





لقد تجاوزت الحد الأقصى لعدد التنبيهات الوظيفية المسموح بإضافتها والذي يبلغ 15. يرجى حذف إحدى التنبيهات الوظيفية الحالية لإضافة تنبيه جديد
تم إنشاء تنبيه للوظائف المماثلة بنجاح. يمكنك إدارة التنبيهات عبر الذهاب إلى الإعدادات.
تم إلغاء تفعيل تنبيه الوظائف المماثلة بنجاح. يمكنك إدارة التنبيهات عبر الذهاب إلى الإعدادات.