Ferguson is a Fortune 500 company that provides quality supplies for various industries. As a Lead Software Engineer – Enterprise Backend Integrations, you will lead the design and development of backend integration solutions, focusing on enhancing APIs and resolving complex production issues.
Responsibilities:
- Responsible for analyzing and troubleshooting complex problems and providing solutions to overcome those problems using the newest technologies
- Collaborate internally and across departments with peers to deliver products/solutions that align with Ferguson’s strategic vision
- End-to-end ownership of solutions, ensure accuracy and completeness of solution by having recurring check points / audit loops with technical implementation teams
- Provide technical leadership on complex projects and as needed will be an escalation point on production outages
- Complete design and code reviews
- Review team practices to identify areas of improvement
- Work with vendors to resolve 3rd Level support issues
Requirements:
- 9+ years of professional experience in software engineering, with significant hands-on experience designing, developing, and supporting backend integrations in an enterprise environment
- Expert level experience developing JAVA services in an enterprise environment
- Java
- Spring
- Expert level experience developing REST style services that deliver responses in both JSON and XML
- MongoDB/Relational DB
- Linux and bash scripting
- Agile exposure to SCRUM and Kanban, with a focus on JIRA for board management
- Solid understanding of IT infrastructure components (hardware, software, network, operating systems, storage) and Cloud platforms components (SaaS, PaaS and IaaS)
- Good knowledge of IT disciplines, e.g., software applications and interfaces, production operations, quality assurance, systems management, etc
- Strong knowledge of application development lifecycles, to include waterfall and agile methodologies and understanding of CI/CD pipelines
- Must be self-motivated, proactive, creative, and efficient in identifying issues with strong analytical and problem-solving skills with a high attention to details
- Must be collaborative in decision making and facilitate working to consensus to gain agreement when proposing solutions or taking ownership
- Ability to create technical design documents with presentations using Microsoft Visio and Microsoft PowerPoint
- Ability to architect or work with architects to redesign existing or create new backend integrations
- Demonstrable ability to mentor junior engineers
- Ability to perform reviews on programs, TDDs and other documents
- Ability to work effectively with colleagues in a remote work setting
- Bachelor's degree in Computer Science, Information Technology, Engineering, or a related field preferred
- Familiarity with IntelliJ, Eclipse, Maven, BitBucket & GIT/GitHub
- Experience with Azure Kubernetes service and hybrid cloud
- Foundational knowledge of Microsoft Azure