About this role
It's fun to work in a company where people truly BELIEVE in what they're doing!
Job Description: Position Summary: 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 a $50B revenue a year company, with $5B of that revenue going through our team's eCommerce web site. 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.
Your Role:
• 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. • 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 Azure. • 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
What you bring to the role:
• Bachelor’s degree in computer science or relevant science and math discipline with an IT emphasis is required. • 10 years of technical experience, with at least 5+ years of experience with web services development as Full stack/integration developer or master’s degree plus 7-9 years of technical experience.
• 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 building system in GCP • Experience with NodeJS