Previous Job
Distributed Systems Engineer
Ref No.: 17-26611
Location: Cupertino, California
Client Software group has an immediate opening for a distributed systems engineer. We are looking for an exceptional full stack engineer to design and implement our client / server strategy for Manufacturing and Software Update systems. The person will be working in concert with a multitude of teams (runtimes, frameworks, silicon, HI, applications, and product design) to ensure that we have the most highly robust and reliable systems for our next generation products.

Core Responsibilities:
As a Distributed Systems Engineer,, you will be responsible for designing, and implementing the Manufacturing and Software Update strategy for our product. You will have responsibilities spanning all aspects of the client / server interaction.

BS or MS in Engineering or equivalent experience.

Experience with -
* Writing robust software
* Object Oriented Programming or Functional Programming
* Client / Server interactions including HTTP Protocol
* Fullstack Javascript Programming with NodeJS and ReactJS
* RDBMS and NoSQL solutions
* SCM tools like Git, SVN
* Memcache, Redis or other caching solutions
* Message job/queue systems like RabbitMQ/Kafka/etc
* Python/C/C++/Objective C/Swift fluency is a plus!
* Dependency management tools like NPM, Gradle is a plus

Domain specific Qualifications

Experience in designing or working with —
* Distributed Systems (Scalability, Load Balancing, Data Replication)
* RESTful API design and programming using REST APIs
* Understanding of network protocols (HTTP/TCP/UDP/TLS/SSL/DNS)
* Asynchronous programming
* Web Server or Proxy Server such as NGINX, Apache Web Server, HAProxy
* RDBMS or NoSQL solutions such as PostgreSQL, HBase, Cassandra

Education: BS CS/EE/CE or relevant work experience required.