Software Engineer - Server Engineering (Carrier Services)
Hyderabad, Telangana, India
Software and Services
We are a diverse collection of thinkers and doers, continually reimagining our products, systems, and practices to help people do what they love in best user friendly efficient way. Apple is a deeply collaborative place, where everything we create is the result of people in different roles and teams working together to make each other’s ideas stronger. That same passion for innovation that goes into our products also applies to our practices, strengthening our commitment to leave the world better than we found it. Today, the Retail Engineering provides one of the best Apple Experience to Customers in the world, and operates in multiple countries worldwide. At Retail Engineering, the Engineering team is responsible for the global Retail platform that serves millions of customers around the world. The Carrier Services team is the server engineering team focused on integrating Apple Retail Stores and Online with the wireless carriers for seamless iPhone provisioning and activation. Utilizing the latest technologies including gRPC, Spring Reactor, Cassandra and Kafka, we aim to provide a highly-scalable platform for our clients, and Apple-class customer experience. We are looking for a Software Engineer to enhance our application services and API technology.
- Extensive experience in enterprise systems, software design and development
- Working knowledge of the full software development lifecycle
- Deep understanding of Object Oriented and SOA design concepts
- Current experience developing and delivering RESTful application services and APIs from a Java based platform
- Able to analyze business requirements and architect efficient solutions
- Proficient in Java
- Strong knowledge of concurrency, scalability and fault tolerant designs
- Solid understanding of data modeling and database systems including Oracle, NOSQL, etc.
- Well-versed in XML, JSON and REST services
- Working knowledge of source control software (SVN or Git)
This is a hands-on role in the development of software systems to support existing and new product features. This is a great opportunity for an experienced and results-oriented person who enjoys working with cross-functional teams. You will make critical architectural decisions affecting application design. You will recommend and deploy tools and processes to enable rapid application design, development, testing and deployment. Requirements: 5+ years of experience in designing and developing large-scale applications using Java and Java EE technologies In-depth knowledge of Object Oriented Design and Core Java In-depth knowledge of technologies such as Web Services, XML, JSON, HTTP, SSL, TCP/IP, Caching Experience with Data Modeling, relational databases and NoSQL Demonstrated expertise in multi-tiered application development, and familiarity with developing large scale and volume based applications Knowledge in Secure coding
Education & Experience
Bachelors or Masters Degree in Computer Science or equivalent in Engineering.