Senior Software Development Engineer(Java)
Mumbai, MH, India
Job ID: 56807
IN - Senior Software Development Engineer(Java)
Ingram Micro helps businesses fully Realize the Promise of Technology.TM No other company delivers the full spectrum of global technology and supply chain services to businesses around the world. Ingram Micro’s global infrastructure and deep expertise in technology solutions, supply chain, cloud and mobility enable our business partners to operate efficiently and successfully in the markets they serve. Combined with distinct market insights and the trust and dependability generated from decades of strong partner relationships, Ingram Micro stands apart as the global technology services provider for the future. With $52 billion in revenue and the ability to reach 90% of the global population, we have become the world’s largest technology distributor with operations in 59 countries and more than 35,000 associates
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.
Key Job Functions/Requirements
- Hands-on experience with the construction of complex engineering solutions and knowledge of methodologies
- Participate in relevant Scrum related events such as sprint planning, retrospectives, and backlog grooming
- Deep dive on large product features and be prepared to set the vision, organize, and evolve components and subsystems that make up feature
- Collaborate and communicate effectively with the product, infrastructure, DevOps, architecture, and engineering to guide an initiative's technical direction
- Stay current with industry-standard tools and technologies
- Facilitate the decomposition of business requirements into critical non-functional requirements, use cases, and acceptance criteria
- Document designs and create diagrams where need to communicate architecture
- Break-down monolithic code and deliver full-stack solutions to create a microservices ecosystem
- Perform risk and impact analysis on work items defined for an initiative
- Meet one on one with tech lead(s) to provide guidance and ensure work is moving towards the vision
- Comfortable using templates and shared libraries to create solutions and contribute back improvements
- Comfortable working with no supervision and providing supervision to software engineers
- Evolve the components and subsystems over time with an emphasis on introducing new technologies and techniques
- Enable autonomy of agile scrum teams via continuous delivery pipelines
- Collaborate across departments and teams to build solutions
- Perform feasibility studies and proofs of concepts on new solutions or techniques which may be employed
- Passion for learning, sharing knowledge, mentoring, and working in a team setting with engineers of varying levels of experience
- Proficient in the following:
- General foundation in enterprise computing including networking, infrastructure, virtualization, web tools, and technologies, databases
- Object-oriented design principles (SOLID), design patterns, enterprise integration patterns, microservice architectures
- Multi-tenant SaaS strategies for ensuring horizontal growth of global-scale data stores
- Designing testable systems with built-in quality and the metrics and telemetry needed to ensure reliability and stability
- Infrastructure-as-code techniques, containerization, and container composition to define stacks and whole environments that can be re-created on-demand across multiple regions
- Experience architecting, implementing, and operating large-scale, highly available applications at scale in a cloud environment (GCP, Azure, AWS) using cloud-native technologies and tooling
- Developing and implementing technical efforts to design, build, and deploy cloud applications, including large-scale data processing, stream processing, computationally intensive statistical modeling, and advanced analytics
- Participating in all aspects of the agile software development life cycle for cloud solutions, including planning, story definition, development, testing, and quality assurance
- Experience with data systems and data processing, including query processing, cloud-based data systems and analytics, and structured, semi-structured, and unstructured data
- Experience in several of the following areas: serverless environments, database architecture, ETL, automated testing, business intelligence, big data, machine learning, advanced analytics, CI/CD pipelines, infrastructure as code
- Some experience with cloud networking and policy creation
- Bachelor’s Degree in Computer Science or equivalent
- 7+ years software engineering/architecture as a leader in designing and implementing complex systems, including developing solutions from scratch - MHS
- 3+ years agile/scrum methodologies, SAFe certification beneficial
- Experience implementing enterprise level software applications
- Experience leading engineering teams
Specialized Knowledge & Skills
- Web Services and serialization, APIs, XML, JSON, SOAP, REST, EJB, Microservices with Springboot experience - MHS
- Unit testing using mock objects
- Design patterns and object-oriented programming - MHS
- Experience with Java development – JMS, Hibernate, JDBC, JSP, J2EE, JSF, RMI, Spring, Spring MVC, ORM -MHS
- Good OSS/BSS Application knowledge
- SQL language and relational database design
- Memory management, performance tuning, and profiling
- Experience with Agile Management Tools (i.e. Confluence, JIRA, VersionOne), code build tools – Jenkins, Git, Maven, SVN, Bitbucket
- Threading, concurrency, and async patterns
- Basic networking and infrastructure
- Designing and implementing enterprise-level software applications
- API design with OpenApi/Swagger
- Domain-driven design
- DevOps frameworks – Docker, Kubernetes, Terraform, Ansible, Chef, Puppet etc., - MHS
- SOLID and other principles with emphasis on ensuring teams code for testability and maintainability
- Excellent verbal and written communication skills, both technical and non-technical.
- Strong analytical and problem-solving skills. - MHS
- Strong knowledge of a continuous integration and delivery pipeline, DevOps mindset to help build, run and own your own code in a production environment.
- A firm believer in test-driven development tools like SonarQube and continuous deployment with tools such as Jenkins.
- Best practice knowledge of security, performance and accessibility.
- Motivated and driven by achieving long-term business outcomes.
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.