logo

JobNob

Your Career. Our Passion.

Software Engineering Specialist


Trimble Inc.


Location

Chennai | India


Job description

Title: Software Engineering Specialist

Location: Chennai

About Our CTCT Division

The CTCT division (a joint venture between Trimble and Caterpillar) develops positioning and control products for earthmoving and paving machines in the construction and mining industries, using technologies such as GPS, optical total stations, lasers, and sonics. The products are used in a range of applications where the operator of the machine benefits from having accurate horizontal and vertical guidance.

For more information on currently developed products, see construction.trimble.com/earthworks

Role

The C++ software architect takes the lead in designing the software system, defining the components, modules, and their interactions. Responsible for creating high-level and low-level design documents that outline the structure and behavior of the software. Involvement in the full life cycle of software development activities including new product releases, upgrades, functional enhancements, defect resolution, and performance improvements using sound software engineering principles and established methodologies.

What You Will Do

Works with the Leadership team to drive initiatives

Design and develop high-performance and scalable C++ applications by collaborating with product teams.

Identify and address performance bottlenecks and optimize the performance of C++ applications

Troubleshoot and debug software issues, identifying root causes and implementing effective solutions.

Stay updated with emerging trends and technologies in the C++ ecosystem and evaluate their potential applications to improve software development processes

Provide technical guidance and mentorship to developers, assist in their growth and learning

Collaborate on cross-platform development projects, ensuring compatibility across different environments and operating systems.

Conducts periodic meetings with the dev teams to understand their pain points and requirements

Key member of platform development and release

Effectively communicate results to peers and leaders

Works with development staff to document new features, system deployment, and management

Define and communicate project milestones, service level agreements, and resource allocation to the management team, department leads

What You Will Bring

Bachelor's or Master's Degree in Electrical, Electronics, or Computer Science, or equivalent industry experience with 8+ years of experience in C++ development.

Working Knowledge of the latest C++11 to C++ 17 standards is a must.

Extensive experience in advanced C++ programming on Linux/Unix systems environment

Proven experience in architecting and designing complex C++ applications, including knowledge of design patterns and software architectures

Proficient in Data Structure, STL, Multithreading, Socket programming, and IPC mechanisms.

Strong understanding of memory management, performance optimization techniques, and profiling tools

Experience working with various libraries and frameworks such as Conan, GoogleTest, and Other third-party libraries

Deep understanding of cross-compilation tools

Working and practical experience with communication technologies and protocols like TCP/IP, CAN, WiFi, Ethernet, etc.

Experience with software development tools like GIT, Jira, Confluence, and APIs for Continuous Integration builds and exposure to container software like Docker.

Familiarity with software development methodologies such as Agile or Scrum and the ability to adapt to changing project requirements

Strong teamwork and communication skills with the ability to collaborate effectively with diverse teams and stakeholders

Awareness of web applications and related development platforms


Job tags



Salary

All rights reserved