- PhD degree in Computer Science, Engineering, Mathematics, Information Technology, or equivalent practical experience.
- Examples of coding in one of the following programming languages including but not limited to: C, C++, Java, Python.
- Experience in one or more of the following: architecting and/or developing large scale distributed systems, concurrency, multithreading or synchronization.
- Experience with TCP/IP and network programming.
- Experience with database internals, database language theories, database design, SQL and database programming.
- Understanding of technologies such as virtualization and global infrastructure, load balancing, networking, massive data storage, Hadoop, MapReduce and security.
- Interest in or exposure to networking technologies/concepts such as Software Defined Networking (SDN) and OpenFlow.
- Experience with a large scale systems design in Unix/Linux.
- Authorization to legally work in the US.
Specific responsibilities vary by project area.
General responsibilities include: Write server-side code for web-based applications. Develop prototypes quickly and create robust high-volume production applications. Develop for specialist domains: client application development for Windows/Mac (Chrome, Toolbar, etc.), embedded systems and mobile apps (Android), developer tools (IDEs, large-scale build systems, compilers), infrastructure, internationalization, networking, and more.