There's a spectrum. On one end there's a group of people who - like Mechanics - think of their jobs as being experts in their craft, the best practices, the industry standards, and the components that are most popular in the market. They know everything on the shelves of the inventory, know how to take out a broken thing and replace it with a working thing.
On the other end are the Machinists. Their intuitions are different. They see a problem and they want to fix it themselves. They don't have much affection for standards or best practices. They think of themselves as creators and inventors. They don't want a working component from the inventory. They want a block of steel and a lathe and a welding torch.
As a software engineer, when you're pairing on a new project, keep in mind where on that spectrum your partner is - both ends have pros and cons, but if you're a machinist and your partner is a mechanic - and you DON'T recognize that, and respect the things your partner brings to the table - everything will suffer.