Senior Java Engineer
Austin, Texas, United States
Software and Services
- 10+ years of software development experience
- Strong object oriented programming and design skills
- Experience with distributed systems and service oriented architectures
- Experience with Java (J2EE / J2SE) and related technologies: Spring Framework, JUnit / TestNG
- Significant experience developing and implementing high volume web applications.
- Experience in developing secure web applications and knowledge of application vulnerabilities such as Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF) etc.
- Experience in building RESTful services
- You have experience with *nix and OSX
- Excellent knowledge of data structures, algorithms, design patterns, enterprise architecture and software engineering principles
- Strong programming expertise in Java, Multi-threading, Non-blocking IO, Akka, Kafka
- Hands on experience publishing and consuming RESTful services (Swagger, WADL etc).
- Experience with relational databases such as Oracle is a requirement. This would include schema design, writing DDL, DML queries and performance tuning queries.
- Experience in containers like Docker and deploying code to cloud platforms like AWS, Azure or private cloud.
- Experience using Git and CI/CD pipelines.
- A deep understanding of NoSQL storage solutions viz. Cassandra, Couchbase
- Exceptional interpersonal skills, for collaborating across many participating teams.
- Strong UNIX background and comfortable writing Unix scripts.
- Should be able to performance tune application code and assist team members in reviewing code and provide suggestions to developers.
- Implemented solutions that handle high availability and concurrency with low latency requirements.
- You are upbeat, adaptable, and results oriented with a positive attitude
- A proven track record working effectively across teams. One of the cool things about Apple is how much you will collaborate with people who have different expertise and responsibilities than you: apps, sensors, connectivity, and others. You’ll need to communicate clearly, plan collaboratively, execute flexibly, and cope with what will sometimes feel like a high degree of uncertainty.
Join Apple’s Retail Apps engineering team as a Software Engineer where you will help build innovative software applications. Candidate should have development and implementation experience of large scale mission critical applications while working with a team of elite engineers. Your responsibilities will include all aspects of software development management, from design and analysis to development, implementation and maintenance. You must be a proactive and hardworking individual. You will be a contributing member of a team that implements new product features, improves existing product features, while adding performance and software quality metrics to our codebase. You will work closely with business partners, other engineering teams, quality assurance, management, as well as human interface and user experience designers. DUTIES AND RESPONSIBILITIES Lead and mentor other engineers in the team Architect creative products, and innovate new technologies & solutions, play a hands-on development and design role, and deliver product in a rapid and dynamic environment Design and develop highly scalable, reliable and secure web applications Design and develop RESTFUL WebServices Work with project managers and technical teams, in a multi-functional environment, to implement quality products that meet the business goals. Collaborate with other engineers on code reviews, internal infrastructure, and process enhancements Quickly build new ideas to get user feedback Continually improving software development processes and practices This challenging position will require a self-starter who can effectively manage numerous projects simultaneously, meet aggressive deadlines, and who thrives in a dynamic environment. You can expect a high-profile position on a great team with many challenges and rewards Flexible and works well as part of a fast-paced product development team
Education & Experience
BS degree in computer science or information management plus 7-10 years of experience, or MS degree plus 5-7 years, or equivalent.