Senior Full-Stack Software Engineer - Remote
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, a Fortune 500 company, provides best-in-class products, service and capabilities across Commercial/Mechanical, Facilities Supply, Fire and Fabrication, HVAC, Industrial, Residential Trade, Residential Building and Remodel, Waterworks and Residential Digital Commerce. With 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.
About the role
We’re looking for a Senior Full-Stack Software Engineer who brings strong ownership, technical depth, and a passion for building scalable, high-quality applications end-to-end. This role will partner closely with product, design, and engineering teams to deliver modern, cloud-based solutions that drive real business impact. You’ll play a key role in designing and developing both front-end and back-end components, helping shape architecture decisions, and mentoring others on best practices. The ideal candidate is comfortable working across the stack, thrives in a fast-paced, collaborative environment, and is energized by solving sophisticated problems with clean, efficient, and maintainable code.
This role is approved to be fully remote and can be based anywhere in the United States.
Responsibilities
- Design, build, and maintain websites and software applications for the Enterprise Product Solutions Services group.
- Provide a bridge between visual design and its technical implementation, ensuring understanding of UI, cross-browser compatibility, and modern web standards.
- Maintain a professional understanding of web development by tracking trends.
- Work closely with design and development teams to ensure seamless integration and optimal performance of web applications.
- Design and develop applications and software tools to automate, improve, or change business processes and procedures.
- Support medium to large-sized projects from analysis through implementation as an experienced lead developer.
- Collaborate with project teams to translate UI/UX wireframes into high-quality code.
- Collaborate with back-end developers to integrate the site or application’s internal structure and operations.
- Optimize applications for maximum speed and scalability.
- Ensure designs function equally regardless of browser or device type.
- Build technical designs that properly use architecture.
- Give and receive thorough design and code reviews following documented coding standards and design templates.
- Develop and perform effective unit testing procedures.
- Solve and debug issues to improve performance and user experience.
- Work with business analysts and product owners to address requirement questions.
- Work closely with architects to develop scalable approaches for addressing challenges.
- Collaborate with peers, team leads, and supervisors in a shared-learning environment.
- Work with third-party software providers to ensure solutions meet Ferguson’s needs.
- Provide mentorship and guidance to other developers.
- Analyze and solve sophisticated problems using the latest technologies.
- Design and implement the Integration Services Continuous Integration/Continuous Deployment (CI/CD) pipeline.
- Support core tool upgrades, component upgrades, and security patches.
- Develop and validate test routines to ensure the quality of external and internal interfaces.
- Take end-to-end ownership of solutions, ensuring accuracy and completeness through recurring checkpoints and audit loops.
- Provide technical leadership on sophisticated projects and serve as an escalation point for production outages.
- Review team practices to identify areas of improvement.
- Work with vendors to resolve 3rd-level support issues.
- Adhere to all policies, rules, regulations, and procedures.
- Perform other duties as requested by management.
Requirements
- Five or more years of development experience.
- A bachelor’s degree in a computer-related or business-related field or relevant work experience.
- At least 5+ years of professional IT experience, with a minimum of 3 years of hands-on implementation experience leading high-stake and sophisticated IT projects.
- Expert-level experience developing Java services in an enterprise environment.
- Proven experience as a Front-End/Web Engineer or similar role.
- Proficiency in HTML, CSS, JavaScript, and modern JavaScript frameworks (ReactJs preferred over Angular).
- Proficiency with version control systems (e.g., Git).
- Experience working with relational databases (e.g., Oracle, SQL Server) and NoSQL databases (e.g., CosmosDB, MongoDB).
- Proficiency with web services development (e.g., REST, SOAP).
- Familiarity with cloud platforms (e.g., Azure, AWS).
- Understanding of OAuth, JSON Web Tokens (JWT), and Terraform/Infrastructure.
- Ability to write Terraform and provision infrastructure.
- Strong problem-solving skills with meticulous attention to detail.
- Ability to create technical design documents using Microsoft Visio and PowerPoint.
- Familiarity with IntelliJ, Eclipse, Maven, BitBucket, and GitHub.
- Agile exposure to Scrum and Kanban, with a focus on JIRA for board management.
- Expert-level experience developing REST-style services delivering responses in both JSON and XML.
- Foundational knowledge of Microsoft Azure.
- Solid understanding of IT infrastructure components (hardware, software, network, operating systems, storage) and cloud platforms (SaaS, PaaS, IaaS).
- Good knowledge of IT subject areas, including software applications, interfaces, production operations, quality assurance, and systems management.
- Solid understanding of application development lifecycles, including waterfall and agile methodologies, and CI/CD pipelines.
- Ability to work collaboratively in a remote setting.
- Strong leadership skills and ability to serve as a primary resource for development and engineering teams.
- Capability to work independently, collaboratively within the team, and across other teams.
- Ability to adapt to evolving work conditions, manage competing demands, and handle frequent change or unexpected events.
- Ability to provide estimates for development work and meet deadlines.
Benefits
At Ferguson, we care for each other and value well-being as much as hard work. Our competitive benefits package includes:
- Health, dental, and vision insurance.
- Paid time off.
- Life insurance.
- 401(k) with company match.
- Mental health coverage.
- Gender-affirming and family-building benefits.
- Paid parental leave.
- Associate discounts.
- Community involvement opportunities.
Pay
Actual pay rate may vary depending on location. The estimated pay range for this position is:
- $6,805.95 - $11,921.25 per month for salaried roles.
This role is bonus or incentive plan eligible. Ferguson complies with all wage regulations, and the starting wage may be higher in certain locations based on local or state requirements.