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 Purpose
The main function of the Lead is to Design, Develop and Maintain Single Page Web Applications using React JS/Angular JS by leading a small team of software engineers.
In this capacity, the Lead is responsible for the technical output for assigned modules, sub projects or projects. These may be work done by him/ her or team members. The Lead leads the implementation technically, driving the high/low level design, ensuring that implementation complexity in the design / code / testing phase is addressed by the team. The Lead shall also serve as the interface with other teams working on other components of the product.
The Lead shall make use of well-established design patterns and architectures that suit the platform and follow agile development processes. The Lead is also responsible to perform unit testing of the code developed, perform system integration, bug fixing, develop user documentation, generation of relevant reports and review similar work done by peers.
The Lead interacts with the product managers in Trimble to develop functional specifications for assigned portions, resolve design and implementation challenges and close issues reported on the product.
Main Responsibilities
Read and understand high level product description or requirement documents and propose one or more software designs at the module level that are highly reusable and subject to the design principles.
Completely accountable for own work and quality of code and designs, unit test plan and all technical output of the team under supervision and produce status reports.
Plan, organize and execute assignments with very little or moderate supervision.
Responsible for deliveries in the required deadlines. Deliveries can be modules, documentation, customer releases etc.,
Coordinate with the team for timely delivery of work products. Ensure the quality of work products by reviews. Decompose design elements into structured code as per prevailing coding guidelines, preparation and execution of unit test cases and development of test codes or test harnesses.
Trace back through code, design and resolve issues and bugs.
Document work, software designs, code and record and produce test reports and release notes.
Plan, organize and execute assignments with very little or moderate supervision.
Participation in project management activities such as planning, estimation, scheduling and reviews. Responsible for highlighting problem areas (with enough time to act) and taking action to mitigate at own level or to effectively escalate to higher levels) of engineering.
Team performance management in a fair and timely manner.
Ensure team motivation at all levels.
Perform team mentoring and training them on emerging areas.
Sub-Module level responsibility in large projects and Module (or component) level responsibility in small / medium sized projects and complete responsibility is small sized projects, depending upon the complexity and decomposition.
Work with the QA team to ensure the validity of the solution.
Be contemporary by adopting technological and market evolutions.
Other responsibilities as assigned by the management from time to time.
Key Result Area
Timely delivery of all work products that meet or exceed quality norms.
High and Low level designs.
Coverage of unit test cases and test runs
Work breakdown at the module level.
Effective team management.
Supervisory Responsibility
Supervise a team of 4 to 8 SSEs or SEs
Skill sets
Good understanding of operating systems principles, software architectures, software algorithms and software engineering principles
Extensive Knowledge of React JS / Angular - Functional Programming, experience with tools and libraries like Redux, and Contexts.
HTML5, SASS, Javascript, TypeScript, StencilJS, Unit & E2E testing, Accessibility, Storybook, Git, Github actions.
Sound knowledge of best practices in Maintenance, Semantic HTML, SASS, Javascript, accessibility, internationalization, RWD, clean code and theming. Experience working in at least one frameworks like React, Angular, Vue, SolidJs etc.,Experience in developing Component libraries and Atomic design principles is a plusFront-end build tools such as Grunt, Gulp, Browserify, or Webpack
MERN Stack development – Node.JS, Express.JS, React JS and MongoDB
Server Side Rendering like Next.JS
Microservices and associated patterns
Usage of design patterns like Clean Architecture
Cross platform tools like Electron, React-Native preferred.
Test Driven development using tools like Jasmine.
Excellent communication and interpersonal skills.
Upbeat, highly motivated and self-starter.
Must be able to multitask.
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.
Should have scored minimum 90% marks since 10th Standard with consistent academic records.
Good score in any of the national level Olympiads or talent search examinations will be a value addition.
Paper presentation in a national level forum, contribution to open source projects, contribution to standards bodies will be a value addition.
Working experience in a tier-1 or tier-2 organization for a period of 7 to 8 years.
Agile / Scrum certification.