We are looking for an experienced Senior Software Developer with an interest in Manufacturing Systems. You’ll be joining our development team where you can have a large impact on one of the key systems that enables Apple to build amazing products.
This role requires skills similar to backend web development, but you’ll apply those skills to factory systems that assist the work of robots and humans alike.
Do you think strategically & anticipate change in direction? Are you persistent with your attention to detail, enjoy solving problems and have a passion for continuous process improvement?
- 5+ years of experience as a senior software engineer
- Strong skills in Go and/or PostgreSQL or other backend languages (e.g. Python, Ruby, Java, or Node.js) and relational databases (e.g. MySQL).
- Experience building OLTP, OLAP, and ETL systems.
- Experience scaling PostgreSQL (or another RDBMS) beyond a single server.
- Experienced in Modern SQL, HTTP, TCP/IP, Linux, Git, Web Development, Distributed Systems, etc.
- Experience and desire to apply best practices for building reliable software: Automated Testing, Continuous Integration, Code Review, Pair Programming, etc.
- Desire to deeply understand the technologies you are using by reading documentation, articles, and the source code of libraries, databases, and operating systems.
- Manufacturing experience or exposure is a plus.
Responsibilities of this role include:
- Plan, develop and shape new features by collaborating with users, stakeholders and other team members.
- Write application code in Go and Modern SQL with great attention to detail, testing and documentation.
- Review code and collaborate on pull requests from your team members.
- Constantly learn and improve your own technical skills by reading code, documentation, running experiments and talking to your colleagues.
- Optimize SQL queries running against large databases containing billions of rows using EXPLAIN ANALYZE, creating indexes and refactoring table structures.
- Plan and deploy PostgreSQL Schema Migrations that can be executed with zero or minimal downtime.
- Design and execute load tests to explore the breaking points and bottlenecks of our systems.
- Analyze and visualize large data sets using Jupyter Notebooks, Tableau, Graphviz or similar.
- Support the troubleshooting, mitigation and fixing of production issues involving our Applications, Databases, Networks and Proxies using Grafana, Prometheus, Kibana, WireShark and other monitoring and debugging tools.
How to apply
Does this job really require Go skills? If not, please report it and we will take a look.