Principal, Software Development
Location
Mumbai | India
Job description
Ingram Micro is seeking experienced software engineers who can leverage their skill-set to grow as part of an Agile SCRUM team. They must be a quick learner and love challenging themselves to constantly raise the bar. This opportunity requires strong problem-solving skills, an aptitude for team collaboration and open communication as they deliver efficient, well designed, and tested software for a positive user experience. Innovative thinking and well-designed products with an emphasis on performance are a necessity to give our customers the best experience possible.
Position Summary:
- Designs, develops, tests, debugs and implements operating systems components, software tools, and utilities.
- Determines systems software design requirements. Ensures that system improvements are successfully implemented and monitored to increase efficiency.
- Generates systems software engineering policies, standards, and procedures.
Key Job Functions/Requirements
- Manages large projects or processes.
- Limited oversight from manager.
- Coaches, reviews, and delegates work to lower-level professionals.
- Hands-on experience with the construction of complex engineering solutions and knowledge of software development methodologies
- Assumes end-to-end ownership of solutions as part of the Agile SCRUM team, which includes assisting in the development of testing automation and other key quality aspects.
- Partner with product owners and other Agile SCRUM team members to determine new features and user stories.
- Participate in code reviews to ensure that each increment adheres to the original vision as described in the user story and all standard resource libraries and architecture patterns as appropriate.
- Assist in establishing and supporting coding standards
- Engage in all Agile ceremonies including planning, grooming, product demonstrations, and team retrospectives.
- Exhibits DevOps mindset where Agile SCRUM team is accountable for a product from inception to sunset.
- Respond to support incidents for production applications to make a quick repair to prevent application outages.
- Create and/or update the documentation to support development efforts. Documentation may include detailed specifications, implementation guides, architecture diagrams, and/or design documents.
- Share knowledge among members in the Agile SCRUM team
- Demonstrate excellent communication skills and effective collaboration in a team-oriented environment.
- Attitude for learning new technologies and concepts.
- Excellent time management skills and ability to prioritize.
- Able to translate customer and business needs to technical solutions.
- Resilient to change.
- Establish User Personas in collaboration with Product Management
- Comfortable working with little to no supervision and providing supervision to associate engineers.
- Mentor and train other Software Engineers
- May be asked to participate in Quarterly Architecture Summits
- Take the lead on challenging software engineering projects.
- Be a resource for multiple challenging software engineering projects at a time.
- Coordinate with external teams/stakeholders.
- Maintain a holistic view of the project, never losing sight of the smaller details.
Proficient in the following:
- Unit testing as well as coding in Java , Python knowledge is good to have.
- Good understanding of Cloud Architecture and hands on experience working with GCP.
- Experience working with log management tool and APM tools like splunk, data dog etc
- Object-Oriented Design (OOD) and analysis
- Application of design patterns
- Application of non-functional software qualities such as resilience, maintainability, etc
- Applying behavior-driven testing techniques
Education
- Bachelor s degree in computer science or relevant science and math discipline with an IT emphasis is required.
Specialized Knowledge & Skills
- Skilled in CSS, HTML, ECMAScript or TypeScript, and related technologies
- Experience with TypeScript-based open-source front-end web application platform (ie Angular JS 2, React, Redux, Ember)
- Strong background on java 8 and beyond.
- Must have experience developing Rest API s using spring boot framework.
- Good knowledge of JPA, hibernate, JDBC.
- Must be able to write Junit test cases.
- Must has experience using MAVEN, SonarQube
- Must have experience working with relational database.
- Experience with Agile Management Tools (ie, Confluence, JIRA, VersionOne)
- Experience with version control management and processes (ie, Bitbucket, Git, Gitflow, SVN)
- Experience with Web Services and Serialization (ie XML, JSON, SOAP, REST)
- Familiar with Bootstrap and/or Material-UI design
Additional Knowledge & Skills
- Good understanding of specifics of markup for modern browsers.
- Familiarity Python is a plus
- Experience with test automation for Front-End (unit and integration test suites)
- Experience with JS task runners (Gulp, Grunt, Broccoli)
- Experience building system in GCP
- Experience with NodeJS
Job tags
Salary