C/C++ Software Developer

Job Description
IBM TM1® is an enterprise financial planning software platform used by a significant number of Global 500 companies. IBM TM1 provides a real-time approach to consolidating, viewing, and editing enormous volumes of multidimensional data. At the heart of the TM1 solution is TM1 Server, a patented, 64-bit, in-memory OLAP database server that can perform real-time complex calculations and aggregations over massive data spaces while allowing concurrent data editing.

If you are looking the rewards and satisfactions of solving sophisticated software problems, and building the best technology, this position is for you.

The IBM TM1 Server development team is a dynamic and forward thinking team, and we are looking for an intermediate to senior level software developer with significant experience in designing and developing enterprise-scale software products to join us.

You, the ideal candidate, are expected to have strong technical, critical thinking and communication skills. You are creative and are not afraid of bringing forward ideas and running with them. If you are already product focused, are excited for new technological development that will help users do better in solving their problems, enjoy and appreciate teamwork with people across the globe, then you will be at home with our team.

Role Responsibilities:

  • Participate in the entire software development cycle by analyzing, designing, and developing new features and functionality.
  • Solve complex business problems for our world-class customers.
  • Enhance the functionality, performance, and scalability of the TM1 Server.


Required Technical and Professional Expertise

  • Excellent leadership, analytical, problem solving, and communication skills
  • At least 3 years of C/C++ development with strong design skills
  • Working-level understanding of concurrency control, locking, multi-threaded designs
  • Experience developing and debugging software across multiple platforms including Microsoft Windows and Linux
  • Experience developing software with high performance and scalability requirements
  • Experience with enterprise-scale software applications and n-tier architectures
  • A good understanding & practical experience with Agile software development methodologies supporting continuous delivery.
  • Bachelor's Degree in Computer Science, Software Engineering or equivalent
  • English: Fluent

Preferred Tech and Prof Experience

  • Strong Go programming skills
  • Knowledge of MDX, ODBO, XMLA or other related OLAP technologies
  • Experience with Relational Database theory and practice, including a working knowledge of SQL.
  • Understanding of Multi-Dimensional Modeling
  • Exposure to OLAP technologies, such as TM1, Cognos PowerCube, Oracle Essbase, or Microsoft Analysis Services
  • Experience with database engine internals and multi-dimensional databases showing a good understanding of algorithms and data structures used in databases, including transaction management, cache management, hashing, indexing, and memory management
  • Exposure to internals of Hyperion, Sybase, Teradata, Netezza, EntrepriseDB, Versant or any other OLAP/Database Server
  • Experience working on large scale development projects
  • Exposure to Unicode and multi-lingual applications
  • Strong Java programming skills

EO Statement
IBM is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.

Back to top