Oracle Software Developer 4 in Bengaluru, India
Software Developer 4
Automatic Storage Management (ASM)
One of the most challenging aspects of any software solution is to manage the storage effectively. Oracle Automatic Storage Management (ASM) provides unique storage management and performance advantages to the Oracle database. When used with ASM Cluster File System (ACFS), it also provides a way to store any type of user data. ASM works seamlessly with single-server Oracle database as well as Real Application Clusters (RAC), which allows the database to scale out across a cluster of servers and provides fault tolerance against the failure of any server or software component. While ASM is versatile enough to run with any physical storage backend, it is also the key storage solution that enables the database to run in engineered systems such as the Exadata Database Machine, Oracle Database Appliance (ODA), and Zero Data Loss Recovery Appliance. Some of the salient features of the ASM that makes it a ground breaking product are:
Dynamic online load re-distribution when storage pool changes
Consolidated storage pools
Improved data availability
The key algorithms used in ASM are patented and there is still lot of research that needs to be done to improve data availability with minimal impact to the application in light of various kinds of storage failures or corruptions. Our group is responsible for building highly available, scalable, and efficient software to solve customers' storage problems. We solve challenging problems in the areas of storage management, distributed systems, clustering, and high availability to make ASM an indispensable part of the Oracle stack. Our work gives team members an opportunity to design solutions that are used by Fortune 500 companies in their data centers to run mission-critical applications.
Refer to the following URL for more information about ASM and ACFS:
Roles and responsibilities:
Designing and developing solutions for upcoming releases of ASM (Oracle database releases).
Conceptualize, design, and implement new features in ASM.
Maintain existing code and work with test and support teams to fix defects.
Provide technical guidance to other team members.
Required skills and experience:
The candidate must have a B.S./B.E./B.Tech. degree in Computer Science or related fields. M.S. or PhD is a plus.
Three to ten years of work experience
Proficiency in C, data structures, and algorithms
Proficiency in Linux or another flavor or UNIX (Solaris, AIX, or HP-UX)
Must have in-depth knowledge of Operating Systems concepts - multi-threading, concurrency, memory management, and I/O subsystem
Knowledge in the field of distributed systems, clustering, and high availability is a plus
Knowledge of database management systems internals is a plus
The ideal candidate should be self-motivated and be able to deliver projects with minimal supervision
The candidate should have good verbal and written communication skills
Detailed Description and Job Requirements
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems.
Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience.
Job: Product Development
Job Type: Regular Employee Hire