Principal Data Systems Software Engineer
- Source: Oracle
- Oracle
- On-site
- Bengaluru
- Full-Time
- Staff
Job Description
Required Skills
- A minimum of six years working on mission critical large scale systems
- Experience with complex distributed systems
- Deep experience in troubleshooting networking and operating systems issues, root cause analysis, with a deep ability to identify new metrics for monitoring
- Deep experience with cloud scale infrastructure. More specifically, knowledge of one or more of the following
- Kubernetes
- Prometheus
- ELK
- Strong knowledge of scripting with knowledge of one or more of the following
- Shell programming
- Scripting in Ruby
- Python programming
- Working knowledge of Apache Tomcat, Nginx, or Netty
- Strong problem analysis skills
- Exceptional written and verbal communication skills
- BS in computer science or equivalent experience
Highly Desirable Skills
- Knowledge of shared nothing database systems (Cassandra, HBase, DynamoDB, CosmosDB)
- Knowledge of log structured storage systems
- Knowledge of performance tuning and analysis in large scale distributed systems
- Programming skills in one of the following languages
- Java
- C++, or C
Key Responsibilities
Data Systems Software Development:
- Own a feature area’s data model across Online Transaction Processing/Online Analytical Processing, JSON, spatial, or graph.
- Define performance budgets and enforce query patterns that meet latency targets at scale.
- Partner with product management to design experiments that drive adoption, conversion, and retention; analyze results to inform roadmap.
- Architects existing and complex new services.
Software Development and Coding – Design, Testing, and Optimization:
- Designs software solutions and analyzes and identifies requirements to achieve business and operational goals, sharing results with manager upon completion.
- Adheres to and improves execution of all phases of the software development lifecycle; provides guidance and coaching to engineers to drive improvements.
- Utilizes advanced knowledge to develop and guide new software features and enhancements leading design specifications, ensuring accessibility, and develops documents to clarify software design and code.
- Leads code reviews in multiple areas to help drive improvements.
- Conducts debugging and troubleshooting to identify and fix complex software issues.
- Develops fixes for identified issues.
- Implements comprehensive software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with manager and/or lead upon completion.
- Conducts performance profiling and optimization of coding, building scalable solutions, and anticipating and resolving potential outcomes.
- Troubleshoots and resolves complex issues related to application programming interface (API) functionality and integration.
- Implements complex API versioning, lifecycle, and interoperability strategies.
Software Architecture – Software System Structural Design:
- Implements and contributes to developing software, systems, and services, ensuring review by manager and/or senior technical leaders upon completion. Recommends project or design scope.
- Provides technical guidance and coaching to less experienced developers in existing software architecture.
- Contributes to periodic reviews and ensures adherence to architectural standards.
- Collaborates with stakeholders and networks externally to ensure work aligns with software architecture.
- Implements complex performance optimization and scalability strategies in software design.
- Occasionally conducts technology research and evaluation for potential architectural changes that may have an impact on results for the team.
Issue/Defect Collaboration – Software Products Support:
- Collaborates with stakeholders to understand customer issues and align solutions.
- May provide advanced technical guidance and support to customers regarding customer-reported issues.
- Advocates for customers’ interests and suggests product enhancements based on feedback.
- Provides input to ensure customer satisfaction through timely resolution of issues and effective communication.
- Identifies and implements customer issue and/or defect handling and training processes.
- Investigates and troubleshoots complex and broad reaching/scoped maintenance issues to ensure customer agreement on short- and long-term solutions (e.g., future enhancements).
**Practices and Sta…
Skills
- Kubernetes
- Prometheus
- elk
- ruby
- Python
- Tomcat
- Nginx
- netty
- cassandra
- apache-cassandra
- hbase
- azure-cosmos-db
- Java
- cplusplus
- processing-js
- JSON
- microsoft-graph
- oracle-recruiting-cloud
You missed this one - but you don't have to keep missing out. Try Club members get matched with open opportunities before they're gone, so you're always first in line, never last.
