Introduction
At IBM, work is more than a job - it's a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you've never thought possible. Are you ready to lead in this new era of technology and solve some of the world's most challenging problems? If so, lets talk.
Your Role and Responsibilities
We are seeking a highly skilled C/C++ expert with 7-10 years of product development, design, and support expertise, and a proven track record of managing databases, particularly with a focus on IBM DB2 administration, performance tuning, and debugging of database issues. As a vital member of our software development team, you will be responsible for designing, implementing, and optimizing database-related functionalities to ensure the high performance, stability, and reliability of our products.
Want more jobs like this?
Get Software Engineering jobs delivered to your inbox every week.
- System Software Development and Maintenance: Code, design and implementation of C/C++ software components for backup and storage products, ensuring adherence to coding standards, best practices, and performance guidelines.
- Product Support: Provide technical expertise and support to customers and internal stakeholders regarding database-related inquiries and issues.
- Database Design: Collaborate with the development team to design and optimize database schemas, ensuring data integrity and scalability.
- System Engineering: Must have SAN storage background. Hands on experience in code, unit test and in the SDLC for any File Systems, Volume managers and/or Backup Recovery products.
- Troubleshooting and Debugging: Investigate and resolve complex database issues, working closely with cross-functional teams to identify root causes and implement effective solutions.
- Performance Engineering: Use performance tools like Flamegraph, Top, IfTop, Excel graphing, analytics.
- Performance Tuning: Proactively monitor and analyse database performance metrics to identify areas of optimization. Utilize your extensive experience in performance tuning techniques to enhance query execution and reduce response times.
- Continuous Improvement: Stay updated with the latest advancements in database technologies, C/C++ development practices, and system storage principles. Recommend and implement improvements to enhance product performance and maintainability.
- Tool kits: Be adept in various tools to parse logs like awk, Perl, python, grep etc
Required Technical and Professional Expertise
- Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent practical experience).
- Extensive 7-10 years of experience in C/C++ software development.
- Strong Systems exposure analysing memory corruption, multithreaded designs and SAN architectures.
- Strong expertise in managing IBM DB2 databases, including administration, performance tuning, and debugging of complex database issues.
- Proven experience in optimizing database performance through indexing, query optimization, and caching strategies.
- Solid understanding of database design principles and best practices.
- Good working knowledge of Iometer, FIO(Flexible I/O Tester) and DD (Data Description) will be highly desirable.
- Familiarity with data security and compliance standards.
- Excellent problem-solving and debugging skills to analyse and resolve complex technical issues.
- Strong communication and collaboration skills to work effectively in a team-oriented environment.
- Experience with other databases, such as SQL Server, Oracle, or MySQL, is a plus.
- Relevant certifications in C/C++ development, SAN-NAS certifications or database administration are advantageous.
- Tags: OS internals iSCSI, FC, Backup recovery, ZFS, LVM, NVMe, gdb, C/C++ at least one scripting language bash, Perl, python
Preferred Technical and Professional Expertise
- None