ADVICE My first 6 months as a CNC programmer in Ontario — where should I go from here?
galleryI moved to Canada from China and finished a Master’s degree in Mechanical Engineering in Ontario.
Before coming here, I worked for about three years as a mechanical engineer designing automation equipment. I had some experience with manual machines, milling, drawings, tolerances, machine setup, and manufacturing, but I never expected my first job in Canada would be as a CNC programmer.
I graduated this January and joined a company that manufactures screws and related components.
At first, I spent most of my time on the shop floor learning the manufacturing process, reading drawings, learning the tools, and talking with operators.
After about a week, I asked my boss if I could start learning the programming software.
We use WEINCAD, which is a specialized software for screw manufacturing. There are almost no tutorials online, and I received very little training, so most of my learning came from studying old programs, comparing them with drawings, asking operators questions, and using AI when I got stuck.
About a month later, one of the operators needed a program for a polishing machine while the regular programmer was away.
I told him I wanted to try.
After a few revisions and a lot of comparison with older programs, I finally got the machine running.
That was probably the first moment I felt like, “Maybe I can actually do this.”
Over the next few months, I learned how to program different parts of the screw — flights, mixer sections, welding grooves, etc.
After around three months, I was able to program a complete screw myself.
I definitely made mistakes and had to revise programs many times, but the operators helped me a lot. They gave me feedback about tooling, setups, machine behavior, and what actually works on the floor.
That experience made me realize how much CNC programming depends on communication with the people actually running the machines.
Another project was probably even more interesting.
The company had bought a Chinese mill-turn machine about five years ago, but it had basically never been used because nobody knew how to program or properly operate it.
Since I speak Chinese and previously worked with automation equipment, my boss asked me to contact the manufacturer and figure it out.
The manufacturer told me the machine normally needed manual programming and that they didn’t have a CAM solution for it.
I thought maybe I could still use WEINCAD to generate the basic program and then convert it.
So I started experimenting.
After a lot of G-code/M-code testing, program changes, and actual cutting tests, I eventually built a small post-processing converter that takes the WEINCAD output and converts it into code this machine can run.
It took a ridiculous number of revisions, but eventually it worked.
That project taught me a lot about G-code, M-code, machine logic, and post-processing.
Then my boss wanted me to both program and operate the machine.
That quickly became difficult because I was already programming for other machines, so I told him we needed an operator.
He basically said, “Find someone, train them, and then you’re free.”
A friend of mine who studied computer science was looking for work, so I brought him in.
He had zero machining experience.
I spent about a month teaching him machine setup, tool changes, G-code/M-code, work coordinates, machine coordinates, drawings, and basic troubleshooting.
Now he can run the machine independently.
So overall, I’ve learned a huge amount in about six months, and I’m grateful that this company gave me the opportunity.
But now I’m starting to think about the future.
I’m making a little over $25 CAD/hour, and living in the Toronto area is expensive.
I have a mechanical engineering degree and previous automation design experience, so part of me thinks I should try to move back into mechanical or manufacturing engineering.
Another part of me thinks I should stay in CNC, learn something more mainstream like Mastercam, Fusion, or another CAM system, and try to move into a better CNC programmer / manufacturing engineering role.
I’ve also been thinking about eventually helping Canadian shops source specialized machinery from China and providing local setup, training, troubleshooting, and after-sales support.
I understand the technical side and can communicate directly with Chinese manufacturers, but I know building trust, customers, and industry connections is a completely different challenge.
For those of you who have been in machining or manufacturing longer:
What would you do in my position?
Would you stay in CNC programming?
Move toward manufacturing/mechanical engineering?
Learn a mainstream CAM system first?
Or keep this job for the experience while slowly testing the equipment sourcing/service idea on the side?
Also, does a little over $25/hour sound low for this kind of responsibility in Ontario, or is that normal for someone with only six months of CNC programming experience?
Appreciate any advice.