Senior Software Engineer
Ferguson
- Bangalore, Karnataka
- Permanent
- Full-time
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
- Design and develop services and integrations to automate, improve, or change business processes and procedures within the companys legacy ERP system.
- 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.
- 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.
- Minimum of 3-6 years manufacturing business and software domain knowledge is preferred.
- 3-6 years of software development experience at an enterprise level is typically required.
- Experience in Python and UNIX scripting or JavaScript is essential.
- Exposure to Visual Basic, Unibasic, or similar Pick-based technologies is desirable.
- Knowledge with interpreted programming languages like Ruby or PHP.
- 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 and 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 in 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.