Current available positions
Software Developer
Full-time
Would you like to work on cutting edge simulation software research and development? Do you want to contribute to the development of a state-of-the-art 2D and 3D modeling software for geoengineering and geoscientific applications? Are you interested in working for a company that is open to new and innovative ideas from its employees?
Geomechanica is looking for a talented software engineer with experience in C/C++ to work on our 2D and 3D simulation software designed for engineering applications. Your responsibilities will include:
- Designing, developing, and testing innovative graphical interfaces for the input and output visualization modules of our simulation software
- Developing geometry creation and manipulation algorithms and CAD functionality
- Working collaboratively with engineers developing state-of-the-art 2D and 3D interfaces
- Designing and implementing innovative user interface elements
- Performing thorough testing of your work with great attention to detail
- Debugging new and existing C/C++ and Qt code to find and solve problems
About you
- Getting it right is important to you: You strive for excellence in execution and are willing to develop, test, and revise solutions until the software functions as intended
- Working independently and as part of team are ideal for you: You are self-directed, you can manage and complete tasks in a timely manner, and you can collaborate with technical experts and software engineers to come up with the right solution
- Learning is a passion for you: You take feedback well and are amendable to new ideas, highly collaborative, and keen to learn from others’ expertise as well as share your own
Qualifications & skills
- University degree in Computer Science or Engineering with strong academic performance (Master's Degree is an asset).
- Strong object-oriented design and programming skills
- Proven C/C++ skills gained from previous employment or academic projects
- Three or more years' demonstrated experience or coursework developing 2D and 3D software an asset
- Familiarity with GUI application programming, in particular, using Qt
- Experience in any of the following technologies is an asset
- Windows development with Visual Studio
- Linux development
- 3D graphics programming
- Computational geometry in 2D and 3D
- Design and implementation for handling large amounts of data
- Highly collaborative interpersonal skills
- Strong English written and oral communication skills
- Exceptional attention to detail and quality
Life at Geomechanica
- Founded in 2010, Geomechanica is a fast-growing developer of 2D and 3D simulation software used by a wide range of customers in over 20 countries around the world
- Our office is in downtown Toronto, Canada, a vibrant and diverse city and one of the hottest technology hubs in the world
- We have a dedicated team of employees, majority of whom hold advanced degrees in engineering and computer science
- Salary is commensurate with the successful candidate’s experience. We offer competitive compensation based on salary + performance bonus
- This is a full-time position. The position is in Toronto, but remote working will be allowed for the near future due to COVID-19. Long-term remote employment will only be considered for extraordinary candidates
Additional requirements
- Applicants must be authorized to work in Canada for any employer now and in the future. Sponsorship is not offered with this position
- The successful applicant will be required to provide proof of his or her academic qualifications. For faster processing of your application, we recommend submitting your qualifications together with your resume
The salary will be determined based on the experience level of the candidate. Interested candidates are encouraged to apply by sending a cover letter and their resume to: info@geomechanica.com.
Laboratory Technician
Full-time
The design and analysis of any rock engineering project for civil or mining applications requires careful mechanical characterization of the host rock. For this purpose, rock cores are drilled on-site and rock samples are prepared for laboratory testing. Then by following various standardized rock mechanics testing procedures, several physical and mechanical properties are determined for subsequent design purposes.
To better help civil engineering and mining companies as well as geotechnical consultants with their rock testing needs, Geomechanica offers standard rock testing services using its laboratory testing facility located in the Oakville, Ontario. We offer a wide range of tests, including: unconfined/confined compressive testing, Brazilian disc tensile testing, slake durability, and point load testing as well as punch penetration and moisture content measurement.
We serve most of the major geotechnical consultants in the Greater Toronto Area and as our work load is increasing, we are looking to hire a lab technician to perform the above-mentioned tests.
Responsibilities
- Preparing rock samples for testing based on relevant ISRM or ASTM standards
- Performing various tests on rock samples based on relevant ISRM or ASTM standards
- Carefully logging sample behaviour during testing
- Reporting of results in appropriate formats using our own in-house software tools
- Simple maintenance of laboratory equipment and reporting to superiors
Requirements
- Basic familiarity with soil and rock testing concepts and basic rock mechanics testing procedures (unconfined uniaxial compression testing, point load testing, etc)
- Education in an earth resources or civil or geotechnical technology program or similar
- Ability to carefully follow relevant testing procedures and standards and prepare basic engineering reports
- Ability to work independently in a safe and efficient manner
Preferred attributes
- Prior working experience with rock testing
- General mechanical inclination (e.g., ability to use basic hand tools, basic knowledge of electric circuits and hydraulic systems)
The candidate will work from our laboratory facility located in Oakville, Ontario on a full-time basis. The salary will be determined based on the experience level of the candidate. The candidates will be trained on using our laboratory equipment and software tools. Interested candidates are encouraged to apply by sending a cover letter and their resume to: lab@geomechanica.com.
Software Developer Interns (Co-op)
Internship
While Geomechanica constantly improves and adds new features to the computational engine of its Irazu software, the human-computer interaction and visualization framework should be further streamlined and developed. Read more about our software at: http://irazu.geomechanica.com/
Responsibilities
- Three-dimensional geometry creation and import from CAD (Computer-aided design) formats
- Model and geometry creation automation via scripting
- Complex 2D/3D visualization of simulation outputs
- Improvements on simulation run scheduling to submit simulation jobs to local or network compute nodes, queue and execute the jobs as computational nodes become available, and transfer results to the user's computer as the simulation progresses
- Intuitive interactions with the user
Requirements
- Excellent computer programming skills, familiarity with object-oriented programming, inheritance, and other related concepts
- Knowledge and experience of C and/or C++. Prior Qt experience is highly valued
- Ability to work independently and as part of a team
- Familiarity with version control software and Linux development
Preferred desciplines
- Computering engineering/science
- Electrical engineering
- Engineering science (Electrical and Computer)
GPU Software Developer Interns (Co-op)
Internship
GPU computing is gaining in popularity as the path forward for High Performance Computing (HPC), machine learning and artificial intelligence, bitcoin mining, autonomous vehicles, and datacenters. Geomechanica has taken advantage of the dawn of GPU computing and has developed state-of-the-art simulation software for civil, mining, and petroleum engineering applications. At the core of the package is the Irazu computational engine, a parallel GPU-based software implemented using the CUDA platform under both MS Windows and Linux operating systems. The purpose of this internship is to assist Geomechanica in extending the features of our code base, improving performance, and adding support for multi-GPU execution.
Responsibilities
- Implementing new physics formulations from a mathematical model to optimized GPU code
- Participating in research and implementation of a multi-GPU version of our code that could scale efficiently for up to 8 GPUs in a single node
- Profiling the code performance after each major development, proposing more efficient algorithms, and corresponding implementation
- Testing and debugging the implementation using the automated testing frameworks developed at Geomechanica
Requirements
- Excellent computer programming skills, familiarity with object-oriented programming, inheritance, and other related concepts
- Knowledge and experience of C and/or C++. Prior parallel programming/OpenCL/CUDA experience is highly valued. Experience with C++ is a must
- Ability to work independently and as part of a team
- Familiarity with version control software
- Familiarity with Windows and Linux software development
Preferred desciplines
- Computering engineering/science
- Electrical engineering
- Engineering science (Electrical and Computer)
Sihan Davis Wu
During my time with Geomechanica I was able to grow as a develooper through the responsibility I was given. The experience of developing something and seeing it released into industry is incredibly rewarding.
Tanner Young-Schultz
Geomechanica allowed me to get my first experience in the software development and professional engineering field. I was able to apply my previous knowledge to the project, as well as learn new and interesting concepts during my time there. The Geomechanica team was extremely welcoming and encouraging which helped me contribute to the project efficiently.