IN - Principal Software Development Engineer - Java
Ingram Micro is an integral part of the technology ecosystems, helping our partners grow and thrive through the creation and delivery of Information Technology, Cloud solutions and Lifecycle services. With more than $54 billion in revenue and the ability to reach 90% of the global population, we are one of the world’s largest technology distributors, serving our partners through operations in 61 countries with 29,000 associates.
Ingram Micro is the business behind the world’s brands, providing more ways to realize the promise of technology. We are on a path to transform Ingram Micro into a Digital Platform Business, based on experience and outcomes. Our strategy is intently focused on three main users (Customer, Associate, Vendor) of our Digital Platform, which will be connected via Data and Intelligence. These platforms together are the Ingram Micro Xvantage™
Our challenge is to use modern tools, techniques, and methods to develop, modify, and/or update complex and extremely powerful systems. Our customers and partners need applications that enable them to easily operate and expand their businesses.
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.
- 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
*This is not a complete listing of the job duties. It’s a representation of the things you will be doing, and you may not perform all of these duties. Ingram Micro Inc. is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, veteran status, or any other protected category under applicable law.
- 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 (i.e. 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 (i.e., Confluence, JIRA, VersionOne)
- Experience with version control management and processes (i.e., Bitbucket, Git, Gitflow, SVN)
- Experience with Web Services and Serialization (i.e. 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
Ingram Micro Inc. is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, veteran status, or any other protected category under applicable law.