Showing results for 
Search instead for 
Did you mean: 

So You Want To Make CAD Software


I had a talk with one of our software developers the other day asking what it is like to work on CAD software. You might think this was over coffee in the break room but really, we were separated by several thousand miles. For Solid Edge Simulation, we have developers contributing from all over the world (Alabama, Pennsylvania, Ohio in the US and England and India outside the US.) and this is just a small product.

In this case I was talking with Sameer Kanikdale in Pune, India. It’s amazing how hard communication over this distance used to be. Now we can video conference and IM in less time than it takes to walk to the office beside you.

Photo of my monitor while doing a video conference with Sameer

Sameer tells me Pune is famous for its scenic beauty, rich natural resources, and historical and religious places. It’s known globally for its R&D institutes. I occasionally joke they need to create some problems over there so I have to come visit to fix them grin

Since software development is much the same around the world, I asked him what skills are good for an engineering software developer. He feels you need some good understanding of mechanical engineering, geometry and CAD. For FEA you also need to understand the processes of FEA like meshing and pre and post processing. Good analytical skills are important where you might have to develop complex algorithms. Strong software development skills are also key. In his case, he mainly works in C++ and COM.

Later Sameer started Solid Edge Simulation running an analysis while I watched (we use a Teamcenter application for this). Sameer talked a bit about the FEA solve command which he implemented. It gathers up all the information from Solid Edge and sends it to the NX Nastran Solver and then retrieves this information after it is done. This is what allows Solid Edge to create the pretty rainbow colored pictures.

Solid Edge Simulation running in India

We still haven’t found a way around time zone issues but it really is amazing what we can do today.

If you like the idea of working internationally and with cool technology, I’ll also point out we are hiring. North Americans might want to look here.
If you like the Solid Edge application, we are even hiring here in Huntsville, Alabama where you will see me frequently talking to my monitor.

PLM World Member Phenom

Is that your webcam in the lower right corner of the first screen shot?  I see Sameer and possibly, for once, and actual picture of Mark and not just an avatar?


That is me.  I figured I’d let slide a 5x5 pixel image wink

Siemens Theorist

The improvement in communications is quite miraculous (yeah fibre optic overcapacity!). I recall, with a shudder, that back in July 1999 we endured great hassles to get a copper line installed from the office to the relay router - and then got ourselves a 256Kpbs network! Checking in code, pulling weekly builds, project conf calls, late late night debugging. Oh boy. Talk about a challenge! But looking back now, it was fun.

Not applicable

I believe being a Mechanical Engineer helps a lot. You can pick up concepts from a book or from a crash course. But the problem solving techniques that are taught to you over 4 years of engineering helps a great deal. Personally, I find my mechanical engineering degree has helped me tremendously to be able to develop the kind of CAD software that I do.


Deelip, I’m an ME too so I know what you are saying. I think they are an important part of the equation.

On the other hand, there is a real skill to laying out a good object model, being able to write maintainable code, and writing bullet proof code.

I’d even add a 3rd type of programmer… the math guru.  He might not be needed for PDM but when working with advanced geometry and graphics in 3D its nice to have someone that can talk Quaternions.

So, if you are a ME with mad math and programming skills, this is definitely a domain where you will excel.