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 development, technical, customer support and sales positions. If you would like to apply to one of the positions below, send a copy of your resume to jobs@rapidmind.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
- System Architect
- Compiler Developer
- Systems Engineer
- Application Developer
- Sales and Business Development
- Product Management
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. Contact jobs@rapidmind.com with your resume.
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. Contact jobs@rapidmind.com with your resume.
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. Contact jobs@rapidmind.com with your resume.
Systems Engineer
RapidMind is looking for a highly motivated individual to use their technical skills to help customers understand and adopt the RapidMind Multi-core Development Platform. This individual will become an expert in our customers’ applications. As part of the Sales and Marketing group, you will work with Development to understand RapidMind, the product roadmap, and how it applies to customers requirements. You will assist customers in their technical evaluation of the product, including presentations, training, and support.
Responsibilities
- Technical discussions and presentations to potential customers.
- Assist customers in their technical evaluation of the RapidMind Multi-core Development Platform.
- Pre- and post-sales product training.
- Convert portions of customers code to use RapidMind features as proof of effectiveness.
- Creation of sample code and demonstrations.
- Some travel is required.
Background
- B.Sc, B.A.Sc, B.Math or equivalent in Computer Science or Computer Engineering.
- Good working knowledge of C++.
- At least 5 years of experience programming complex applications.
- Experience or education in parallel computing, scientific computation, or image processing is an asset.
- Excellent communications skills and problem solving abilities.
Location and Start Date
Various geographies around the world including Waterloo, Ontario, Canada, starting immediately. Contact jobs@rapidmind.com with your resume.
Application Developer
As a consultant on our Services team, you are responsible for porting mission-critical customer applications to the RapidMind platform. You will need to develop technical expertise in a customer’s domain, profile their algorithms, and port them to the RapidMind platform over the course of weeks or months. The platform does the heavy lifting, but you still need to be an expert in algorithm design, parallelization, and performance optimization.
This position requires technical breadth, the ability to “dive deep” into a new problem space, and the ability to work directly with customers and help them leverage our technologies effectively.
Responsibilities
- Lead projects to port customer applications to the RapidMind platform.
- Analyze and profile applications, understand how to gauge performance and spot performance bottlenecks.
- Work directly with customers; make technical recommendations and work through the implications with them.
- Implement required changes, and work with the development team to achieve optimal performance in your solutions.
- Manage a development project on your own, and be responsible for the entire solution; from initial discussions with the customer, through design discussions, implementation and delivery. You are a member of a team, and have assistance, but you are responsible for your own projects.
Background
- 3-4 years of relevant development experience.
- Educational background in Computer Science, Computer Engineering or the equivalent.
- Good working knowledge of C++, including STL and templates across Windows, Linux, Mac.
- Optimization and profiling experience. Solid debugging experience is necessary.
- Experience programming GPUs and knowledge of graphics APIs (such as OpenGL or DirectX).
- Parallelization knowledge and experience would also be ideal.
Location and Start Date
Various geographies around the world including Waterloo, Ontario, Canada, starting immediately. Contact jobs@rapidmind.com with your resume.
Sales and Business Development
RapidMind is looking for highly motivated individuals to join their sales and business development team. As part of the Sales and Marketing group, you will work directly with customers in an outbound fashion helping them to understand the value of the RapidMind platform.
Responsibilites
- Prospect, qualify and close business for RapidMind.
- Assist customers with understanding the value of RapidMind in order to drive evaluations and sales of the RapidMind Multi-core Development Platform.
- Pre- and post-sales funnel management.
- Provide quotations and assist customers as needed.
- Prospect for new customers.
Background
- At least 10 years in an outside sales role within the computer hardware or software industry.
- Proven strategic thinker and ability to execute on revenue.
- Strong knowledge of software applications in various verticals.
- Excellent communications skills and problem solving abilities.
- Excellent organizational skills.
- Proven closing abilities.
- Ability to work independently within a geography.
- Applicants with a university degree preferred.
Location and Start Date
Various geographies around the world including Waterloo, Ontario, Canada, starting immediately. Contact jobs@rapidmind.com with your resume.
Product Manager
RapidMind is looking to add an exceptional Product Manager to the Marketing team. The Product Manager will investigate market and customer requirements and ensure RapidMind is delivering products and services that add tremendous value to our customer’s business.
Responsibilites
- Determine future product requirements for the RapidMind platform through customer contact and market research.
- Work with the RapidMind software development team to ensure RapidMind is delivering the right products in the right timeframes.
- Provide technical and business content to the rest of the marketing team to produce effective sales and marketing materials.
- Be a knowledgeable and effective spokesperson for the product to customers and partners.
Background
- B.Sc, B.A.Sc, B.Math or equivalent in Computer Science or Computer Engineering.
- MBA or other formal business education an asset.
- 5+ years of experience in product management for a highly technology product.
- Strong knowledge of how software is architected, developed and deployed.
- Proven strategic thinker who is comfortable leading both technical and business discussions.
- Excellent written and oral communications skills.
Location and Start Date
Waterloo, Ontario, Canada, starting immediately. Contact jobs@rapidmind.com with your resume.
