Lead Software Engineer - Services (Java / Spring Boot) [T500-15813]
Job details
About Ferguson: Since 1953, Ferguson has been a source of quality supplies for a variety of industries. Together We Build Better infrastructure, better homes and better businesses. We exist to make our customers’ complex projects simple, successful, and sustainable. We proactively solve problems, adapt and grow to continuously serve our customers, communities and each other. Ferguson is proud to provide best-in-class products, service and capabilities across the following industries: Commercial / Mechanical, Facilities Supply, Fire and Fabrication, HVAC, Industrial, Residential Trade, Residential Building and Remodel, Waterworks and Residential Digital Commerce. Ferguson has approximately 36,000 associates across 1,700 locations. Ferguson is a community of proud associates who operate with the shared purpose of building something meaningful. You will build a career that you are proud of, at a company you can believe in. Duties and Responsibilities:
- Analyze and solve complex problems, providing innovative solutions using the newest technologies.
- Design and implement the Continuous Integration/Continuous Deployment (CI/CD) pipeline for Integration Services, supporting tool and component upgrades, and applying security patches.
- Bridge the gap between visual design and technical implementation, ensuring cross-browser compatibility and alignment to modern web standards.
- Develop, validate, and maintain test routines to ensure quality of internal and external interfaces.
- Collaborate closely with project teams to ensure seamless integration, optimal performance, and high-quality coding.
- Design and develop software tools and applications to automate and improve business processes.
- Lead medium to large-sized projects from analysis through implementation, ensuring all technical aspects are defined and completed successfully.
- Optimize applications for speed, scalability, and efficiency.
- Create technical designs that adhere to industry standards and accurately reflect the architecture.
- Conduct thorough design and code reviews, ensuring alignment to documented coding standards and templates.
- Develop and implement effective unit testing procedures.
- Collaborate with Business Analysts, Product Owners, and Architects to define requirements and design scalable solutions.
- Mentor and guide junior developers, providing technical leadership and support on complex projects.
- Own end-to-end solutions, ensuring accuracy, completeness, and consistency through recurring check-ins and audit loops with implementation teams.
- Serve as a point of contact for critical issues that arise in production and offer mentorship in resolving them.
- Work with third-party vendors to resolve 3rd-level support issues and ensure solutions meet business needs.
- Provide estimates for development work, meet deadlines, and ensure project landmarks are achieved.
- Participate in team meetings, share concerns with management, and continually assess team practices for areas of improvement.
- Thrive in a collaborative, remote team environment, adhering to all company policies, procedures, and regulations.
- This role requires a highly skilled developer with leadership experience, the ability to drive technical solutions from start to finish, and the capacity to collaborate effectively across teams and with external vendors.
- Minimum of 5+ years in IT, with at least 3 years leading high-stakes, complex projects. Expert-level experience developing Java services in an enterprise environment is preferred.
- Bachelor's degree in a Computer Science, Business, or related field, or equivalent work experience.
- Solid experience with relational databases (Oracle, SQL Server).
- Familiarity with software development methodologies (Agile, Waterfall), CI/CD pipelines, and version control systems (e.g., Git).
- Solid understanding of IT infrastructure (hardware, software, networking, storage) and Cloud platforms (SaaS, PaaS, IaaS).
- Proficient in Microsoft Office tools (Outlook, Word, Excel, PowerPoint, Access) and creating technical documents using Visio and PowerPoint.
- Excellent written and verbal communication skills. Ability to effectively work both independently and in teams with varied strengths, showcasing the capacity for collaboration and consensus-building.
- Strong analytical and problem-solving skills, with high attention to detail. Ability to organize, prioritize, and manage multiple tasks in a fast-paced environment.
- Able to thrive in a dynamic environment, handling contending demands, frequent changes, and unexpected events.
- Strong leadership skills with the ability to guide development and engineering teams and provide mentorship while applying acquired knowledge.
- Highly motivated, efficient, and creative in identifying issues and proposing solutions.
- This role requires a candidate who is determined, proactive, and able to adapt to change while maintaining a focus on delivering high-quality solutions in a collaborative team environment.
- Java
- Spring and Spring Boot
- AKS Azure Kubernetes Service
- Linux and bash scripting
- Azure key vault
- Azure Service Bus
- Mongo DB/Relational DB
- Familiarity with IntelliJ, Eclipse, Maven, BitBucket & GIT/GitHub.
- Agile exposure to SCRUM and Kanban, with a focus on JIRA for board management.
- Expert level experience developing REST style services that deliver responses in both JSON and XML.
- Foundational knowledge of Microsoft Azure.
Apply safely
To stay safe in your job search, information on common scams and to get free expert advice, we recommend that you visit SAFERjobs, a non-profit, joint industry and law enforcement organization working to combat job scams.