26 Aug
|
Oracle
|
Bengaluru
We are looking for a Software Engineer who will design and develop software including automated test suites for major components in our Network Monitoring & Analytics Stack. You should be comfortable at building complex distributed systems involving a huge amount of data handling - collecting metrics, building data pipelines, and analytics for real-time processing, online processing, and batch processing. Prior experience in coding is required. You should value simplicity and scale, work comfortably in a collaborative, agile environment, and be excited to learn.
A great software engineer will make all the difference in delivering quality solutions to our customers. Are you passionate about designing, developing, testing, and delivering cloud services Do you thrive in a fast-paced environment, and want to be an integral part of a truly great team
Come join us!
Required Qualifications:
. 4+ years of experience in software development
. 3+ years of experience in developing large scale distributed services/applications
. Proficiency with Java/Python/C++ and Object-Oriented programming
. Excellent knowledge of data structures, search/sort algorithms
. Excellent organizational, verbal, and written communication skills
. Masters's degree in Computer Science or equivalent
Desired Qualifications:
. Knowledge of cloud computing & networking technologies including monitoring services
. Networking Management Technologies such as SNMP, Netflow, BGP Monitoring Protocol
. Experience developing service-oriented systems
. Exposure to Hadoop, Spark, Kafka, Storm, open TSDB, Elastic Search or other distributed compute platforms
. Experience developing automated test suites
. Experience with Jira, Confluence, BitBucket
. Knowledge of Scrum & Agile Methodologies
Key Responsibilities
System Design & Architecture - System Scalability:
-Implements and contributes to the development for components of distributed systems that support horizontal and vertical scaling including leveraging distributed state management tools.
-Optimizes code and/or systems for large-scale data processing in large-scale systems.
-Implements scalability requirements for assigned components and reviews implementation of team members.
-Leverages components of data plane platforms to handle large-scale data retrieval, storage, and processing.
-Implements performance and load testing.
System Design & Architecture - System Reliability Design:
-Collaborates with team to build fault-tolerant components capable of withstanding in-service updates by implementing redundancy, replication, and automatic failover mechanisms.
-Applies recovery oriented computing principles to design components that effectively handle service disruptions.
-Implements retry mechanisms, circuit breakers, and timeouts to help handle network unreliability.
System Design & Architecture - System Reliability Performance:
-Implements tests and alarm configurations to proactively detect and address issues/failures.
-Supports efforts to recover from failures by drafting and executing runbooks and operational procedures.
-Builds and customizes dashboards, telemetry systems, and alerting mechanisms to monitor component health.
System Design & Architecture - Correctness / Availability:
-Designs and implements functional requirements and testing for assigned features within an existing system.
-Implements tests scenarios (e.g., fault-injection, brown-out) to evaluate system correctness.
-Implements standard data replication and synchronization techniques to maintain data integrity and availability.
Operational Troubleshooting & Incident Management:
-Diagnoses, debugs, and resolves issues in system components to support ongoing operation.
-Implements basic strategies to prevent interruptions, ensuring no maintenance windows are required for customers and users when resolving issues.
-Designs and implements automation scripts and tooling used to troubleshoot operational issues.
-Participates in operational support rotations, assisting in incident responses and root cause investigations.
Compliance & Security:
-Applies advanced security measures to protect data and applications in multi-tenant environments, including encryption and access controls.
-Implements remediation plans to continuously improve security.
-Collaborates with the team to ensure cloud infrastructure complies with relevant industry standards and regulations and that documentation is up-to-date
Automation & Change Management:
-Maintains automation scripts and tools (e.g., Infrastructure as Code (IaC)) for managing cloud infrastructure.
-Adheres to change management plans for patching, updating, and rolling back applications.
Core Responsibilities
Planning & Execution:
-Track timelines with minimal supervision, ensuring work is completed in a timely manner and is in alignment with project requirements.
-Prioritize and adjust work as resources or timelines change, with some guidance
Collaboration & Partnership:
-Collaborates across teams to align on expectations and achieve shared objectives. Builds and maintains a comprehensive understanding of business, stakeholder, and/or customer needs to build and support effective partnerships. Actively listens to diverse perspectives and asks questions to ensure understanding of others.
Problem Solving:
-Independently identifies and addresses standard and non-standard issues in accordance with standard practices, escalating more complex issues as appropriate. Analyzes data and/or information from multiple sources to troubleshoot standard and non-standard errors. Contributes to knowledge sharing and best practices
Continuous Learning:
-Embraces continuous learning by actively seeking to build knowledge and new skills and/or tools, and staying current with industry trends and best practices. Seeks out and leverages feedback and training to improve skills. Contributes to a culture of continuous learning and knowledge sharing with team members..
Continuous Improvement:
-Develops ideas and recommends updates to increase the efficiency and effectiveness of processes, protocols, and workflows within a team. Seeks input from team members on alternative approaches and methods for improving work.
Minimum Job Qualifications
Education and/or Experience:
8 years of experience in software development
OR
Bachelor's of Technology (B.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Bachelor's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Master's of Technology (M.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 year of experience in software development
OR
Master's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 year of experience in software development
OR
Doctorate in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology,
Telecommunications, Mathematics, Physics, or related field.
Job Skills:
Same skills as prior level plus
Distributed Systems: Demonstrated ability in or knowledge of distributed systems, including designing or managing scalable, secure, and highly available software systems.
Prototyping: Demonstrated experience creating and refining prototypes for system validation and stakeholder feedback.
Computer Science Programming: Demonstrated understanding of computer science principles and ability to implement them in code.
Software Engineering: Demonstrated proficiency in all phases of software engineering and development.
Web Development: Demonstrated ability in or knowledge of web development, including designing, developing, or maintaining modern web applications using current frameworks.
Innovation: Demonstrated ability in or knowledge of innovation, including generating or supporting new ideas, technologies, or processes for organizational growth.
Cross-Functional/Team Collaboration: Demonstrated ability in or knowledge of cross-functional collaboration, including working with stakeholders across teams or geographies to achieve common objectives.
Information Vulnerabilities: Demonstrated ability to assess and mitigate vulnerabilities in IT and physical information assets.
Operating Systems: Demonstrated ability in or knowledge of operating systems, including installing, upgrading, and troubleshooting various operating environments.
API Development: Demonstrated ability to develop, test, and maintain secure APIs for application integration.
API Integration: Demonstrated ability to build and manage robust API integrations for seamless interoperability between systems.
Applied Algorithm Engineering: Demonstrated skill in designing, analyzing, and optimizing algorithms for efficiency and scalability.
Source Control: Demonstrated ability in or knowledge of source control, including managing and documenting code versions and release branches.
Cloud - Cloud Platforms Experience:
2 years of skilled experience with cloud platforms (e.g., AWS, Azure, Google, Oracle Cloud).
Testing and Automation Experience:
3 years of experience working in testing and automation at the system level.
Distributed Systems Experience:
2 year of experience working with delivering and operating large-scale distributed systems.
Preferred Job Qualifications
Education and/or Experience:
8 years of experience in software development
OR
Bachelor's of Technology (B.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Bachelor's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 4 years of experience in software development
OR
Master's of Technology (M.Tech) Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 years of experience in software development
OR
Master's Degree in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics, or related field AND 2 years of experience in software development
OR
Doctorate in Computer Science, Computer Engineering, Software Engineering, Electrical/Electronics Engineering, Computer Information Systems, Information Systems, Information Technology, Telecommunications, Mathematics, Physics.
People Leadership / Management Experience:
2 year of experience with cloud platforms (e.g., AWS, Azure, Google, Oracle Cloud).
📌 Senior Core Infrastructure Engineer (Bengaluru)
🏢 Oracle
📍 Bengaluru