Lead Software Engineer
Ferguson
- Bangalore, Karnataka
- Permanent
- Full-time
- Responsible for analyzing and troubleshooting sophisticated problems and providing solutions to overcome those problems using the latest in-house technologies.
- Developing integration architecture patterns, build strategic patterns and components for reusability by following SOLID principles.
- Provide leadership, direction, set goals, and ensure the team meets its objectives. This includes managing workloads, delegating tasks, and fostering a collaborative environment.
- Collaborate internally and across departments with peers to deliver products/solutions that align with Fergusons strategic vision.
- Responsible for all aspects of the software development lifecycle, including design, coding, Code review, integration testing, deployment, and documentation.
- End-to-end ownership of solutions, ensure accuracy and completeness of solution by having recurring checkpoints/audit loops with technical implementation teams.
- Provide technical leadership on sophisticated projects and as needed will be an escalation point on production outages.
- Responsible for design and code reviews. This includes approval of performance testing results.
- Review team practices to identify areas of improvement and gaps preventing the team from working at peak efficiency.
- Work with vendors to resolve 3rd-level support issues.
- A bachelors degree in a computer-related or Business-related field or relevant work experience is typically required to perform at expectation.
- At least 6+ years of professional IT experience, with at least 4 years of hands-on implementation experience leading high-stakes, complex IT projects.
- Expert-level experience developing JAVA services in an enterprise environment.
- 6+ years of Java development (JAVA 7+).
- 4+ years of Spring Boot.
- 4+ years of MongoDB/Relational DB.
- Expert with IntelliJ and/or Eclipse, Maven, GIT/GitHub & BitBucket.
- 5+ years developing OpenAPI spec for synchronous/asynchronous services that deliver responses in both JSON and XML via application gateway and service mesh as applicable.
- 5+ years of hands-on knowledge and experience in Azure Platform will be a plus - JMS (Azure Service Bus, Azure Event Grid), AKS, Azure Functions, Blob Storage, etc.
- 5+ years working with APM and log aggregation frameworks (As an example but not limited to the following: DataDog, AppDynamics, Azure Log Analytics).
- 4+ years of detailed understanding of CI/CD pipelines using Jenkins and GitHub Actions.
- Working knowledge of Linux and bash scripting.
- Must be self-motivated, creative, and efficient in identifying issues with strong analytical and problem-solving skills with a high attention to detail.
- Proactive communication is essential for this role.
- Solid understanding of IT infrastructure components (hardware, software, network, operating systems, storage) and Cloud Platform components (SaaS, PaaS, and IaaS).
- Expert knowledge of IT disciplines, e.g., application architecture, software applications and interfaces, production operations, quality assurance, systems management, etc.
- Must be collaborative in decision-making and facilitate working to a consensus to gain agreement when proposing solutions or taking ownership.
- Proven Agile experience with SCRUM and Kanban, with a focus on JIRA for board management as well as practical experience with change management best practices.
- Ability to create technical design documents with presentations using Microsoft Visio and Microsoft PowerPoint.
- Ability to work in a virtual team environment.
- Leadership - expert at instigating, managing, and delivering large complex digital transformations across the enterprise.
- Problem solving a creative, analytical mind able to review large quantities of data and quickly bring solutions to life.
- Interpersonal skillsthe individual maintains confidentiality, remains open to others' ideas, and exhibits a willingness to try new things.
- Oral communicationthe individual speaks clearly and persuasively in positive or negative situations and demonstrates group presentation skills.
- Written communicationthe individual edits work for spelling and grammar, presents numerical data effectively, and can read and interpret written information.
- Planning/organizingthe individual prioritizes and plans work activities and uses time efficiently.
- Quality controlthe individual demonstrates accuracy and thoroughness and monitors their work to ensure quality.
- Adaptabilitythe individual adapts to changes in the work environment, manages competing demands, and can deal with frequent changes, delays, or unexpected events.
- Dependabilitythe individual is consistently at work and on time, follows instructions, responds to management direction, and solicits feedback to improve performance.