
Principal Software Developer
- Bangalore, Karnataka
- Permanent
- Full-time
- Design and develop solutions for upcoming releases of ODA.
- Conceptualize, design, and implement new features on the ODA platform for private clouds.
- Maintain existing code and work with test and support teams to fix defects.
- Provide technical guidance to other team members.
- B.E./B.Tech in Computer Science or related fields. M.S. or PhD or equivalent experience is a plus.
- Three to ten years of work experience.
- Proficiency in Java
- Java Concurrency: multi-threading, locking, synchronization free concurrency implementation, Java concurrency patterns, etc
- Java Tuning and Debugging: general Java tuning, multi-threaded performance consideration, sophisticated online debugging, heap dump analysis
- Implementation and integration of RESTful APIs
- Advanced Java Experience: hierarchical class loaders, runtime class loading, reflection APIs, use of generics in API design
- Java + Database: core JDBC experience, ORM persistence frameworks, resource pooling and cleanup, datatype conversion
- Secondary proficiency in Python is plus.
- Knowledge of database management systems internals is a plus
- Strong computer science fundamentals: data structures and algorithms
- Knowledge in the field of distributed systems, clustering, and high availability and specific technologies such as ZooKeeper is a big plus.
- Experience developing cloud solutions using OpenStack, Kubernetes, or other cloud technologies is a plus.
- Proficiency in Linux or another flavour or UNIX (Solaris, AIX, or HP-UX)
- OS Automation and Integration: scripting (shell, Python, PERL, etc.), Linux tools familiarity, OS resource management, job management
- Self-motivated and able to deliver projects with minimal supervision.
- Good oral and written communication skills.
- Which includes being a United States Affirmative Action Employer