JOB FUNCTION:
The Information Technology job family acquires, designs, implements, and operates the organization’s information technology resources, including computer hardware, operating systems, communications, software applications, data processing and security. General areas of responsibility include developing information technology strategies, policies and plans; managing the implementation, maintenance, and use of information technology resources; and training and supporting technology users. Positions in the application design and development function are responsible for the development of applications.This position is part of Supply Chain Solutions & Infrastructure (SCS&I). The SCS&I organization is responsible for the creation, updates, and support of the applications that Ferguson associates in the Supply Chain organization use to perform their day to day tasks which include order management, order fulfillment, inventory management, warehouse management, and supporting human labor with automation using conveyors and/or robotic systems
Duties and Responsibilities:
- Design and develop web services and integrations to automate, improve, or change business processes and procedures.
- Consistently deliver quality software that implements the design per business and technical requirements.
- Ensure that developed software is both performant and scalable to meet Fergusons evolving business needs.
- Involved in project from analysis through implementation to ensure all aspects of the technology plan is accounted for, understood, defined, and executed successfully.
- Develop effective unit and integrations testing procedures.
- Build technical designs that properly leverage Ferguson architecture, using industry standard notation.
- Effectively leverage thorough peer reviews of design and code to ensure that documented coding standards and design patterns are followed.
- Provide mentorship to other developers.
- Support small and medium sized projects from analysis through implementation by serving as developer.
- Collaborate with Business Analysts, Technical Leads, and Architects throughout the SDLC.
- Work with third party software providers to ensure solutions meet the needs of Ferguson and its partners.
- Provide estimates for development work and understand the schedule and commitments.
- In addition to the essential job duties identified, all associates will perform duties as requested by management.
- Participates in associate meetings and communicates any concerns to management.
Qualifications and Requirements:
- A bachelors degree in computer Related or Business-Related field is required to perform at expectation.
- Software Development experience can be substituted for education.
- Minimum of 1 to 3 years Ferguson or manufacturing business and software domain knowledge is preferred.
- Minimum of 1 to 3 years software development experience at an enterprise level is typically required.
- Experience and expertise with developing Enterprise Java with a specialty in web services and integrations both RESTful APIs and event-driven patterns.
- Experience with Apache Camel, Spring Boot, and Docker is preferred.
- Experience and expertise with industry standard application servers, messaging platforms, relational and NoSQL databases and Kubernetes.
- Azure or any cloud experience in good to have.
- Proven track record for delivering and implementing software leveraging a variety of integrations design patterns.
- Strong verbal and written communications skills.
- Detail oriented, proactive, creative, efficient, and an active listener with the ability to organize and prioritize work.
- Intermediate level abilities in Excel, Outlook, PowerPoint, Visio and Word.
- Ability to work on simultaneous projects.
- Ability to communicate effectively to both technical and non-technical audiences in written and non-written format.
- Ability to learn new systems, technologies, and tools.
- Technical background in applications development with accompanying understanding of the many architectures and platforms leveraged in todays cloud-driven solutions.
- Knowledge of the software development life cycle methodologies, processes and procedures.
- Ability to work independently or as a member of a project team responsible for providing technical guidance concerning the business implications of the application of various systems.
- Ability to analyze and understand technical documentation and code/configuration.
- Proficient in a variety of formal/informal presentation settings: one-on-one, small and large group.
- Ability to effectively analyze and provide technical consulting on complex projects.
…