Software Developer C/C++ Senior professional
IBM
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’re looking for software development candidates to help shape the future of IBM data management portfolio of fundamental importance to IBM’s strategic direction on hybrid data management offerings for IBM DB2, IBM Cloud Pak for Data and watsonx.data (IBM’s lakehouse for AI workloads).
The capability is the next generation of distributed, highly parallelized, enterprise data systems capabilities so key to the industry’s future. You’ll work alongside local and global (in Asia, Europe and North America) multidisciplinary teams of Developers, Architects, Engineers, Dev Ops and Analysts creating the future of enterprise data management in the context of AI.
Who You Are:
workings, including SQL, no-SQL and API based data access. You are an expert in C/C++ and familiar with more programming languages e.g. Java Golang, Python. You will have expertise in Memory, Process/thread and connection management in a federated system. You may have direct experience working with some open-source data management systems such as Spark, Hive or Hadoop.
You may have direct experience working with some open-source data management systems such as Spark, Hive or Hadoop. You are aware and attentive as to performance implications as well as the user experience of what you create. You are relentless in seeking out opportunity to innovate and automate to maximise you and your team productivity through Agile and DevOps principles. You have strong communication skills; describe yourself as: self-motivated, hardworking, and reliable. Because we will depend on you for our joint success. You are passionate about technology and software, you have extremely strong analytical, problem-solving and troubleshooting skills. The IBM values, culture and high-performance environment resonate with your growth mind set.
What You’ll Do:
IBM Data and AI division are looking for a developer to join a team developing IBM’s data management portfolio on a flexible multi-cloud data platform.
You will join a squad integrated into a wider, geographically distributed, organisation, you will participate in the development of the next generation of distributed, highly parallelized, enterprise data management capability for your squad’s mandate on a flexible multi-cloud data platform. We are looking for skilled developer, with an understanding of RDBM systems, a familiarity with existing data management stacks and strong communication skills. Being self-motivated, hardworking, problem solving, with a focus on quality and performance are keys to succeeding.
The successful candidate will be expected to deliver incremental value to our product in their area of expertise to deliver product on a regular cadence. Our product must be ship ready on our sprint boundaries, usually a two-week cadence. You will be co-owner with senior leaders in architectural activities such as requirements gathering and solution definition to meet our customers’ needs.
Embracing your inner drive, persevering through challenges, and striving for excellence are the powerful ingredients that can propel you towards achieving your goals and realizing your full potential. You will be a technical visionary for the technology area you work in.
The successful candidate will be expected to technically lead and coach a team in their area of expertise to deliver product on regular release cycles.
Architectural actives include requirements gathering and solution architecture definition to meet our customers’ needs. You will drive patentable value add to our offerings.
Required Technical and Professional Expertise
- Advanced software development skills: Expert in C, C++, and highly skills in more programming languages (e.g., Java, Python, Go Lang) with a strong understanding of software development lifecycle, design, and implementation.
- Solid understanding of high performance, distributed systems implementation techniques.
- Backend development expertise: Expert in developing, maintaining, and supporting sophisticated software systems, with a focus on high-quality code, Agile methodologies, and collaborative development practices.
- Technical leadership and collaboration: Proven ability to lead design and implementation of software components, work with cross-functional teams (e.g., Product Architects, Product Managers), and participate in code reviews to ensure software quality and knowledge sharing.
- DevOps and continuous delivery: Knowledgeable about containerized technologies (e.g., Docker, Kubernetes, OpenShift), network protocols (e.g., TCP/IP, HTTP), and version control systems (e.g., Github, Maven/Gradle), with experience in automated testing, load/performance testing, and technical documentation.
Preferred Technical and Professional Expertise
- BSc or MSc in a technical discipline
- Proven experience compilers and / or RDBMs, with strong skills in system & low-level programming (TCP/IP, multi-threading, IPC) on the Linux platform.
- Advantageous experience with federated data technologies and desirable experience with connectivity and ETL from multiple data sources.
- Extensive experience in Java development, with a deep understanding of OOP concepts
- Established expertise in leading globally distributed product-based engineering teams, with a proven track record of developing managing complex software systems.
- Advanced knowledge of distributed / HPC computing and BigData & Hadoop software stack: HDFS, Hive, HBase, Ambari.
- Familiarity with Agile software development methodologies, and proficiency in developing and deploying on Cloud environments (e.g., AWS, IBM Cloud, Google Cloud, etc.).