Job Opportunities At DMMD

DMMD is seeking individuals with strong technical abilities in the following areas. (Please send your PDF resume to contact@dmmd.net.)

C/C++, Objective C, .Net, Java Developer

The individual working in this position will develop software for a multitude of platforms including: Windows, Mac OS, Android, Linux, iOS, and embedded systems. Duties will include:

  1. Cross-platform compilation of multiple 3rd party libraries.
  2. Development with Microsoft Visual C++.
  3. Development with Mac OS X / XCode.
  4. Cross-platform GUI libraries (Qt and wxWidgets).
  5. Documenting architecture schematics using LaTeX (cross-platform documentation).
  6. Developing plugins and APIs.

The individual will contribute directly to DMMD’s software development process, which includes:

  1. Autobuilds that rebuild our software on a regular basis.
  2. Autodocumentation.
  3. Autotesting.
  4. Version Control.
  5. Bug and feature tracking.

DMMD welcomes junior developers that are serious and interested in learning to build good software. DMMD’s software is used in all types of applications, including: industrial, medical, veterinarian, gaming, CAD, music, photo-editing and many other.

2D and 3D Algorithms Development

The individual working in this position should have a strong technical background in Mathematics, Physics or Sciences, be proficient in C++ programming and should be able to answer questions such as these:

  1. Find the best fitting plane given a set of 3D points.
  2. Find the two best fitting planes given a set of 3D points.
  3. Find the best fitting 2D polynomial surface to a set of 3D points.
  4. What are principal components, eigenvalues and eigenvectors?
  5. Find the intersection between a plane and a line.
  6. Find the intersection of three planes.
  7. What is the Expectation-Maximization (EM) algorithm?
  8. What is the Iterative Closest Point Algorithm for 3D registration?

Familiarity with Matlab is assumed. Knowledge of VTK or OpenSceneGraph is a plus. A good understanding of C++/C is critical, but it is less important than a strong understanding of mathematical concepts. The ideal candidate will develop advanced 2D and 3D data processing algorithms for medical and industrial applications and will work with other programmers to integrate their algorithms into DMMD’s software.

Software Tester

The individual working in this position should have a good understanding of scripting and a basic understanding of C++/C. This individual will write a wide variety of test scripts to test DMMD’s software and will work closely with DMMD’s developers to write C++/C driver tests. The ideal candidate is a detail oriented person, with a knack for pushing testing to an extreme.