Senior Software Engineer - Applied Machine Learning

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted:
Weekly Hours: 40
Role Number:200180613
Imagine what you could do here. At Apple, great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. We’re a diverse collection of thinkers and doers, continually reimagining our products, systems, and practices to help improve customer experience and become more efficient at our goals. This 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.

Key Qualifications

  • 8+ years of software development experience
  • Excellent knowledge of data structures, algorithms, design patterns, enterprise architecture and software engineering principles
  • Strong object oriented programming and design skills
  • Experience with distributed systems and service oriented architectures
  • Experience with Java (J2EE / J2SE) and related technologies: Spring MVC Framework, JUnit / TestNG
  • Knowledge of JavaScript, JQuery, AJAX, OOJS, Node JS, ECMAScript, JS MVC frameworks like React.js
  • Experience with data driven web development, including HTML5, DHTML and CSS3
  • Experience with 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
  • Good communication and personal skills: ability to interact and work well with members of other functional groups in a project team and a strong sense of project ownership
  • Experience with Scrum and Agile methodologies

Description

The AML team is looking for an exceptional engineer to deliver complex and highly scalable software applications. If you're passionate about the user experience, have the opportunity to shape products, and enjoy crafting robust, scalable, and maintainable services, we may be the team for you! You will create and deploy backend services focussed on building out fraud management applications including driving all aspects of software development from evaluating new technologies, building proof-of-concepts, design and analysis, development, automated testing, code reviews working with a team of exceptional engineers. The ideal candidate for this role will demonstrate the following characteristics and experience: Self-starting, energetic individual with very strong leadership and technical capabilities. An in-depth understanding of Internet technologies and architectures and general application development. Flexible attitude and willing to take on new challenges – someone who is dynamic, high-energy and works with a sense of urgency. Mastery of the full life-cycle development process and be eager to influence the processes adopted by the team in delivering projects. Adhere and contribute towards architectural & development techniques and standards. Willingness to work across the entire software stack, from provisioning of infrastructure through to software design, development and support.

Education & Experience

BS/MS in Computer Science with 8+ years related experience

Additional Requirements