Software Developer

Santa Clara Valley (Cupertino), California, United States


Posted: Oct 24, 2018
Role Number: 200002227
Do you have a passion for invention and self-challenge? Do you thrive with pushing the limits of what’s considered feasible? As part of our Battery Engineering group, you’ll help craft creative battery solutions that deliver more energy in smaller spaces than ever before. You’ll work across disciplines to transform improved hardware elements into a single, integrated design. Join us to help us innovate new battery technologies that continually outperform the previous iterations. By collaborating with other product development groups across Apple, you’ll push the industry boundaries of what batteries can do and improve the product experience for our customers across the world. Our Engineering Team is responsible for architecting, specifying and realizing advanced development environments and testing tools. You will be a key technical contributor and will utilize your in-depth software and scripting engineering skills to conceive, specify and realize state of the art test and development suites to enable the next generation systems.

Key Qualifications

  • Typically requires at least 7+ years of hands-on software design experience. Individuals with more experience may assume additional responsibilities. [BS + 7yrs, MS+5yrs]
  • In-depth software design engineering experience including architecture, development and validation.
  • Expert level knowledge of MVC, Full stack web development, databases
  • Expert level knowledge of client-server models, sockets
  • Experience with web development tools & languages such as: Java, PHP, Ruby on Rails, Ember, Node JS, JSON.
  • Experience with databases and cloud platforms such as: SQL, postgresql, MongoDB, AWS, Heroku
  • Experience with Mac OS, Windows, Linux platforms.
  • Experience with programming and scripting languages such as: Swift, Objective-C, C, C++, Python.
  • Experience with software revision control tools such as Git.
  • Ability to communicate well with multi-functional and multi-disciplinary team members and collaborate efficiently to achieve project goals.
  • Software design in any of these areas is considered a big plus: I2C embedded programming of microcontroller, data analysis, software control systems and advanced math.


•Brainstorm, architect and develop software design concepts. •Utilize your creative side in developing software solutions while applying engineering principles of computer science, programming, scripting and software test and validation. •Generate innovative designs taking into consideration system specification, proven architectural and programming guidelines and coding standards. •Create state of the art Web based and/or client-server apps. •Develop application and web based front-end graphical user interface designs for user interaction, data display and visualization. •Validate software and verify it meets expected performance and stability. •Conduct technical design reviews with peers and partners to ensure software functionality, usability, traceability and maintainability. •Work closely with internal multifunctional engineering teams. •Craft software solutions to automate various types of electrical instrumentation including data acquisition, instrumentation control, data gathering, storage, analysis and visualization. •Work with and lead interaction with consultants and third party vendors, to gather and generate requirements, propose system architectures and develop software systems and interfaces.

Education & Experience

Required: BSCS or BSEE Degree Preferred: MSCS and MSEE Degree

Additional Requirements