Easily Build Applications for Multi-core

Careers

RapidMind is an exciting, Waterloo-based high technology start-up. RapidMind provides a software development platform that allows software vendors to deliver high performance on multi-core and stream processors, including the GPU and the Cell BE. Without sacrificing development simplicity, RapidMind-enabled applications experience a dramatic leap in performance.

RapidMind is looking to fill a number of positions. If you would like to apply to one of the positions below, send a copy of your resume to jobs [at] rapidmind [dot] com. Include the job title you are applying for. Links to demos or web pages of previous work are also welcome.

Available Positions


Software Developer

This is a core development position, reporting to the Director of Software. As a member of our development team, you will be responsible for the design and development of core features on our platform. You will also be involved in custom development work to help customers leverage our platform for their specific needs.

Responsibilities
  • Contribute to the design and development of our core platform, and take ownership of key areas of our product.
  • Work within a team, making and accepting technical recommendations.
  • Share your ideas, and clearly communicate through design documents, and knowledge base articles.
  • When required, work directly with customers to optimize their code and to help them understand how to leverage our platform.
Background
  • 3-4 years of relevant development experience.
  • Good working knowledge of C++, including STL and templates across Windows and Linux.
  • Educational background in Computer Science, Computer Engineering or the equivalent.
  • Understanding of compiler fundamentals, and knowledge of the compilation process, especially optimization and code generation.
  • Optimization and profiling experience, including debugging experience is necessary.
  • Experience programming GPUs and knowledge of graphics APIs (such as OpenGL or DirectX) would also be ideal.
  • Any HPC experience an asset.
Location and Start Date

Waterloo, Ontario, Canada, starting immediately.


System Architect

Reporting to the Director of Software, you are a key member of a dedicated architecture group, responsible for the software design, integrity, and performance characteristics of the RapidMind Development Platform.

Responsibilities
  • interacting with the Chief Scientist, Chief Architect and other members of the research and development team to define the long-term direction of the RapidMind Development Platform both with regards to feature set and system design to efficiently support that feature set.
  • responsibility for high-level system architecture design in conjunction with other architects.
  • defining platform semantics in order to support high-productivity, high-performance parallel programming
  • defining performance characteristics for the platform, based on the expected markets for the platform.
  • work with product management to determine feature sets and performance targets to establish the technical applicability of the platform to specific markets.
  • communicate the architecture to the development team, and work with them on design where appropriate. Help them design features and components that meet functional, performance, and scalability objectives.
  • prototyping to prove concepts, and potentially doing framework designs for early implementations of features.
  • mentoring members of the development team on best practices.
Background
  • 5+ years of design and architecture experience.
  • background designing HPC and high-performance systems, with an emphasis on parallel computing.
  • C++ under Windows, Linux and experience with development tools (debugging, profiling) across platforms.
  • knowledge of relevant development methodologies, tools, and technologies, including an understanding of programming language and parallel computing technology.
Location and Start Date

Waterloo, Ontario, Canada, starting immediately.


Compiler Developer

RapidMind is looking for a talented mid-end and back-end compiler developer to join our team. As Compiler Developer, you will be responsible for the design and implementation of code generation algorithms, and improvements to RapidMind’s proprietary code generation technology, as well as the open source LLVM project. You will be part of the core RapidMind development team, reporting to the Director of Software.

Responsibilities
  • Implementing new optimizations, backend code generators, and code generation related features using C++.
  • Improving the runtime and effectiveness of our code generation components.
  • Contributing to the LLVM compiler project, which RapidMind uses.
  • Mentoring other team members as an expert in your field.
Background
  • At least 3-5 years of experience with compiler optimization and/or backend code generation.
  • Bachelors degree (or equivalent) in Computer Science, Mathematics, or relevant field.
  • Solid working C++ knowledge.
  • Experience in at least one of the following areas: register allocation, instruction scheduling, mid-end compiler optimization, backend code generation.
  • Good knowledge of the current state of the art in compiler optimization.
  • Ideally: Experience with the LLVM project, JIT compilation experience.
  • Ideally: Masters or PhD (or equivalent) in a compiler-related area.
  • Ideally: Experience generating code for modern x86 architectures and/or the Cell SPU architecture.
Location and Start Date

Waterloo, Ontario, Canada, starting immediately.


QA Analyst

This is a critical QA role, reporting to the Director of Software. As a member of our development team, you will be responsible for ensuring the integrity of our products through building and maintaining an automated build and test system. We have a solid infrastructure in-place; your role is to expand and build on this infrastructure. This is a challenging role, ideally suited to developer with profiling/optimization experience, and a desire to focus on improving the quality of the platform.

Responsibilities
  • Take a proactive role in performance and optimization for the platform. Identify bottlenecks, profile performance and make recommendations.
  • Define test plans and a test strategy to ensure that we get appropriate coverage for our platform.
  • Create manual and automated tests, and expand existing tests as the platform evolves. Execute tests and contribute to a frequent product releases.
  • Maintain our automated build environment, and ensure that our products are building properly across all supported platforms.
  • Make recommendations to development on usability of the framework. Provide valuable user-feedback into the development process.
  • Log and detail issues and enhancements as part of your role, and ensure that development and support organizations are provided with sufficient information.
  • Work with management to define the appropriate processes and methodologies to ensure quality.
Background
  • 2-3 years of relevant QA experience, 1-2 years of development experience (optional).
  • Educational background in Computer Science, Computer Engineering or the equivalent.
  • Knowledge of profiling and optimization would be ideal.
  • Experience with unit testing frameworks, including CPPunit. Knowledge of other automated system testing tools and frameworks would be helpful.
  • Some experience with C++. Development experience under Windows and Linux would be an asset.
  • Knowledge of scripting languages, ideally Python. Experience working with build scripts, such as Make or SCons under Windows and Linux.
  • Sound knowledge of testing methodologies and approaches is mandatory.
Location and Start Date

Waterloo, Ontario, Canada, starting immediately.


Developer Support Specialist

You will become an expert in building RapidMind-enabled applications, and helping our customers effectively leverage the RapidMind Development Platform. As part of the Services team, you have primary responsibility for answering customer questions, and assisting them in migrating their applications to the RapidMind platform. As our leading customer advocate, you will write sample applications, demos and tutorials to demonstrate the effective use of our technologies. As an application expert, you will provide technical guidance to other teams, including sales and documentation groups.

Responsibilities
  • Assist customers with technical questions about the RapidMind Development Platform, and help them understand how to use it effectively.
  • Build and support our active online community, participating in technical discussions and providing assistance.
  • Work with sales and technical consultants to migrate customer code, or improve performance of existing applications.
  • Create sample code and tutorials, demo code. Contribute technical articles to the community.
  • Document support requests, product enhancements and issues as they arise. Work with developers to suggest changes and improvements to the platform.
Background
  • B.Sc, B.A.Sc, B.Math or equivalent in Computer Science or equivalent.
  • At least 2 years of customer support or customer-facing experience.
  • Good working knowledge of C++. 1-2 years of development experience under Windows or Linux would be ideal.
  • Experience or education in parallel computing, scientific computation, or image processing is an asset.
  • Excellent communications skills and problem solving abilities.
  • Strong desire to work directly with customers and to help solve their problems.
Location and Start Date

Waterloo, Ontario, Canada, starting immediately.


Strategic Partner Manager

RapidMind is looking for a Strategic Partner Manager who knows how achieve mutually beneficial business goals with large industry partners. As part of the Sales and Marketing group, you will work directly with hardware and operating system partners to proliferate the RapidMind platform to the broad development community.

Responsibilities
  • Understand the partner’s business and how RapidMind can have a significant positive impact.
  • Drive co-marketing and co-selling activities with the partner.
  • Establish quarterly success metrics including developer community and ISV adoption.
  • Provide a professional and responsive first point of contact for a variety of functional roles inside the partners.
  • Work with the RapidMind executive team on recruitment of new partners.
Background
  • At least 10 years in a sales, channel management or business development role within the computer hardware or software industry.
  • Proven strategic thinker and ability to successful execute through partners.
  • Excellent communications skills and problem solving abilities.
  • Ability to work independently within a geography.
  • Previous experience working with processor vendors, hardware platform vendors, or OS vendors an asset.
  • Applicants with a university degree preferred.
Location and Start Date

Various geographies around the world including Waterloo, Ontario, Canada, starting immediately.