About Trimble:
Trimble is a leading provider of advanced positioning solutions that maximize productivity and enhance profitability for our customers. We are an exciting, entrepreneurial company, with a history of exceptional growth coupled with a disciplined and strategic focus on being the best. While GPS is at our core, we have grown beyond this technology to embrace other sophisticated positioning technologies and, in doing so, we are changing the way the world works. Those who successfully lead others to meet our objectives are vital to our organization. Leadership at Trimble is much more than simply exercising assigned authority; we expect our leaders to embrace a mission-focused leadership style, demonstrating the strength of character, intellect and the ability to convert ideas to reality. www.trimble.com
Job Description
Trimble is recruiting for a StaffSoftware Engineer to fill an opportunity in Chennai, India.
Job Responsibilities
Responsible for designing, implementing, maintaining, managing and overseeing complex software development applications, ensuring they are delivered on time and within scope.
Make use of well-established design patterns, architectures and follow agile development processes.
Design scalable and robust software solutions, considering both functional and non-functional requirements.
Collaborate and work with cross-functional teams to define project requirements, objectives, and timelines.
Decompose design elements into the structured code as per prevailing coding guidelines, preparation and execution of unit test cases and development of test codes or test harnesses. Traceback through code, design and resolve issues and bugs.
Encourage such practices to team members as well.
Create and maintain technical design documentation.
Encourage such practices to team members as well.
Have the ability to assess and communicate potential risks related to software quality, helping the team to prioritize testing efforts based on the potential impact.
Investigate and resolve complex technical issues, serving as a senior authority in problem-solving.
Support the deployment of solutions into production environments.
Work with User Experience, QA teams to ensure the validity of the solution
Interact with stakeholders, including product managers and senior leadership, to communicate project status, risks, and opportunities.
Collaborate on the strategic planning and technical roadmap for your product or area of expertise.
Have experience with agile methodologies, monitoring all stages of software development to identify and resolve system malfunctions to meet quality standards.
Lead and mentor junior Software Engineers, providing technical guidance, coaching, and support to foster professional growth and innovation; monitor and ensure adherence to standard engineering processes.
Contribute to the development and maintenance of coding standards, best practices, and software development processes for the department.
Stay updated with emerging technologies and industry trends and share knowledge within the organization.
Key Result Area
Timely delivery of development and quality release on a sprint-to-sprint basis.
Technical expertise and being up to date on the latest market trends in one’s area of work.
Unit test coverage to be at least 90% (90% of manual test cases must be automated).
Effective reporting of work and reports.
Skill sets
Strong proficiency in Java programming language and frameworks (e.g., Spring, Hibernate, JPA).
Experience with cloud platforms (e.g., AWS, GCP, Azure).
Knowledge of microservices architecture and containerization technologies (e.g., Docker, Kubernetes).
Experience with RESTful APIs and API design principles.
Understanding of database management systems (e.g., MySQL, PostgreSQL).
Version Control:
Proficiency with version control systems like Git.
Web Technologies and Protocols:
Understanding web technologies like HTML, CSS, and JavaScript
Familiar with HTTP, HTTPS, RESTful APIs, React, Redux and PWA
Version Control Systems:
Bitbucket / GitHub
Managing code changes and collaborating with other team members
Maintaining a history of code revisions.
Continuous Integration/Continuous Deployment (CI/CD):
Tools like Jenkins/Bamboo/Buildkite
Integrating the automation into CI/CD pipelines
Problem-Solving and Analytical Thinking:
Designing efficient automation solutions/Framework
Ability to identify and troubleshoot complex software defects
Leadership and Mentoring:
Guiding and mentoring other team members
Providing technical expertise and guidance
Agile Methodologies:
Agile methodologies such as Scrum or Kanban
Planning for Iterative development cycles
Manage frequent releases
Risk Assessment and Mitigation:
Ability to identify and mitigate risks related to software quality.
Measure how well risks are documented and managed throughout the project.
Resource Management:
Resource allocation and team management,
Assess the efficiency and productivity of the testing team.
Ensure resources are allocated effectively to meet project deadlines and quality goals.
Qualifications & Experience
Graduated from a premier institute.
B.E / B.Tech or M.E / M.Tech / M.S. in Computer Science Engineering or an equivalent degree with a good JEE / AIEEE / GATE score.
10th Grade: State Boards 90%. Central or International Boards: 80%
12th Grade: State Boards 90%. Central or International Boards: 80%
An impressive performance in any national-level Olympiad or talent search examination would be a valuable asset.
Presenting a paper at a national-level forum, contributing to open-source projects, and participating in standards bodies would be beneficial additions.
Working experience in a tier-1 organization for a period of 10+ years.
Supervisory Responsibility
Expected to manage a team of 4+ members.