Adaptiiv Medical Technologies, Inc. is engaged in the development of software systems for 3D medical imaging and dynamic manipulation of those images for the purposes of 3D printing. The ideal candidate for a software engineering position will have interest and skills in 3D modelling, image data processing, and knowledge of 3D printing technology.
An Adaptiiv senior software engineer will be expected to function autonomously with a minimum amount of management. You will be expected to give constant, unfiltered feedback on software design and architecture to the team. You will be expected to manage your own tasks and workload while working closely with the Lead Software Engineer to ensure delivery dates and obligations are met.
- At least 5 years of experience with a compiled, object-oriented programming language, such as C++ or C#.
- At least 2 years of experience with an interpreted, high-level programming language, such as Python or Ruby.
- Understanding of volumetric operations as they relate to 3D-rendered objects including boolean subtraction, occlusion, surface smoothing, etc.
- Experience working with dynamic manipulation of 3D convex polygons including boolean operations on meshes such as AND, OR, XOR and NOT.
- Experience with algorithms related to polygon manipulation and modification.
- Understanding of the use of raytracing in object surface detection.
- Ability to work efficiently within a command-line or terminal environment.
- Knowledge of Windows API programming and development.
- Knowledge of software development best practices, standards and architecture.
- A firm grasp of 3D math as it relates to 3D volume rendering and voxel imaging.
A desirable candidate should be able to:
- Demonstrate excellent communication skills.
- Compose reusable, efficient and programmer-friendly code which conforms to the previously mentioned standards.
- Complete assigned programming tasks in an efficient and timely manner.
- Demonstrate good judgement with respect to task priorities and the end goal of the project.
- Grow and develop aptitudes with multiple languages including Python, C++, MeVisLab etc.
- Demonstrate an ability to meet deadlines and exceed expectations of quality with respect to robust implementation of code.
- Keep the Lead, project management and other stakeholders up-to-date with timely communication around progress.
- Have the desire to expand your knowledge and understanding across disciplines including quality management.
- Show a talent for time-management and productivity that doesn’t require being policed.
- Demonstrate close attention to detail and have strong powers of observation.
- Work effectively either closely with a team or by yourself, managed or unmanaged to accomplish a common goal.
- Minimum 4-year Computer Science undergraduate degree or demonstration of equivalent experience.
- Knowledge of the DICOM standard as it pertains to CT scan data.
- Experience with MeVisLab development tools and SDK.
- Experience with visual programming tools.
- Experience with Rhinoceros 3D with Grasshopper.
- An understanding of open-sourced, 3D visualization frameworks.
- Experience with 3D Printers and slicer software.