Senior Software Engineer
Ferguson
- Bangalore, Karnataka
- Permanent
- Full-time
- 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.
- 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 3-6 years Ferguson or manufacturing business and software domain knowledge is preferred.
- Minimum of 3-6 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 AKS Microservices and Functions.
- 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.