Descrição do trabalho
Company Overview: We are HCLTech, one of the fastest-growing large tech companies in the world and home to 220,000 people across 60 countries. We supercharge progress through industry-leading capabilities centered around Digital, Engineering, Cloud, and AI. Our diverse, creative, and passionate people are the driving force behind our work, consistently raising the bar for excellence. We strive to help our employees find their spark and become the best version of themselves.
Your Role & Responsibilities: As a Software Developer in Java you will be responsible for the analysis, design, development and delivery of software solutions. Defines requirements for new applications and customizations, adhering to standards, processes and best practices
- Key Responsibilities:
- Participate in team prioritization discussions with Product/Business stakeholders
- Estimate and own delivery tasks (design, dev, test, deployment, configuration, documentation) to meet the business requirements
- Automate build, operate, and run aspects of software
- Drive code/design/process trade-off discussions within their team when required
- Report status and manage risks within their primary application/service
- Drive integration of services focusing on customer journey and experience
- Perform demos/acceptance discussions in interacting with Product owners
- Understands operational and engineering experience, actively works to improve experience and metrics in ownership area
- Develop complete understanding of end-to-end technical architecture and dependency systems
- Drive adoption of technology standards and opinionated frameworks, and review coding, test, and automation work of team members
- Mentor and guide new and less-experienced team members
- Identify opportunities to improve an overall process and trim waste
- Share and seek knowledge within their Guild/Program to drive reuse of patterns/libraries/practices and enhance productivity
- Qualifications & Experience
- Has ability to write secure code in three or more languages (e.g., C, C+, C#, Java, JavaScript) and familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management
- Understands the basic engineering principles used in building and running mission critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture)
- Understands internals of operating systems (Windows, Linux) to write interoperable and performant code
- Able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors
- Understands and implements standard branching (e.g., Gitflow) and peer review practices
- Has skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality
- Understands use cases for advanced design patterns (e.g., service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from the gang of four) to implement efficient code
- Understands and implements Application Programming Interface (API) standards and cataloging to drive API/service adoption and commercialization
- Has skills to author test code with lots of smaller tests followed by few contract tests at service level and fewer journey tests at the integration level (Test Pyramid concept)
- Apply tools (e.g., Sonar, Zally, Checkmarx ) and techniques to scan and measure code quality and anti-patterns as part of development activity
- Has skills to collaborate with team and business stakeholders to estimate requirements (e.g., story pointing) and prioritize based on business value
- Has skills to elaborate and estimate non-functional requirements, including security (e.g., data protection, authentication, authorization), regulatory, and performance (SLAs, throughput, transactions per second)
- Has skills to orchestrate release workflows and pipelines, and apply standardized pipelines via APIs to achieve CI and CD using industry standard tools (e.g., Jenkins, AWS/Azure pipelines, XL Release, others).
- Has skills to understand, report, and optimize delivery metrics to continuously improve upon them (e.g., velocity, throughput, lead time, defect leakage, burndown)
- Has skills to document and drive definition-of-done for requirements to meet both business and operational needs
- Understands how to build robust tests to minimize defect leakage by performing regression, performance, deployment verification, and release testing
- Has skills to conduct product demos and co-ordinate with product owners to drive product acceptance signoffs
- Has skills to Understands customer journeys and ensure a good experience by continuously reducing Mean time to mitigate (MTTM