The OCI Cache team develops and operates a fast-growing, high-demand fully managed distributed caching platform in dozens of regions across the globe.
As a Principal Engineer, you will be responsible for the software design and development for major components of OCI Cache. You should be both a proficient coder and a distributed systems generalist, able to dive deep into any part of the stack and low level systems, as well as design broadly distributed system. You should value simplicity and scale, work comfortably in a collaborative, agile environment, and be excited to learn. The ideal candidate has experience with caching stores, specifically or distributed caching in general, has hands-on operations experience, and can solve complex technical issues in a high-stakes environment while keeping their cool.
- 6-10+ years experience delivering and operating large scale, highly available distributed systems/managed services.
- Strong knowledge of Java/golang/C++
- Proficient with data structures, algorithms, operating systems, and distributed systems fundamentals.
- Deep understanding of networking protocols (TCP/IP, HTTP) and standard network architectures
- Deep understanding of databases, NoSQL systems, storage and distributed persistence technologies
- Strong understanding of Linux
- Strong problem determination, problem resolution and performance tuning skills
- Experience building multi-tenant, virtualized infrastructure and/or working on open source software/contributions to open source caching stores/memcached/Cassandra/PSQL a strong plus.
Career Level - IC4
As a member of the software engineering division, you will apply intermediate to advanced knowledge of software architecture to perform software development tasks associated with developing, debugging or designing software applications or operating systems according to provided design specifications and conceive the same for open ended and/or green field market requirements. Build enhancements, new components, new services, within an existing software architecture and suggest improvements to the architecture, operational practices, scalability, resiliency. You will:
- Work with Architects, business stakeholders and deliver new features/services and improvements
- Debug operational issues and suggest fixes, raise the operational bar and scalability of service(s)
- Assist customers onboarding to the service as needed
- Perform on-call operations duties on a rotating basis
- Reimagine service experiences and deliver proof points that improve the service along one or more dimensions (Semantic understanding to improve Operations, Usability, Cost to Serve, Availability, Storage tiering to name a few)
- This is a challenging role with expectations including but not limited to
- Technical leadership to drive critical work items unlocking onboarding of large customers, service scalability, new product initiatives to name a few
- Drive roadmap/vision/competitive analysis and/or bootstrap work streams to keep pace with landscape changes - covert and overt from competition
- Excellent communication skills to build consensus across stakeholders and when need be collaborate on business case to seek executive leadership approval.
- Bring technical acumen and foresight in build/buy/partnership decisions
Top Four Skills for the Ideal Candidate
- Excellent design, architecture, leadership and coding skills
- Software Engineering and architecture experience with distributed systems/managed services within large scale environments
- 10+ years experience working on challenging issues with a self-starter / self-motivated attitude
- Hands-on operations experience in a DevOps environment and track record of delivering results blended with innovation and operational agility
We will consider candidates with PhD in Computer Science disciplines and 4+ years of industry experience as well.