The Tool Builder's Gene (Update)

I was fortunate to realize quickly that academia wasn't the best place for me and that I would be much happier at a place like MathWorks—because I have the gene.

In 2019, I wrote a blog post on MATLAB Central called “The tool builder’s gene (or how to get a job at MathWorks).” I want to share this essay again for readers of Harmonic Notes, and then I’ll give a couple of updates below.

In my second year of grad school (1987-88), my thesis advisor asked me to develop some PC-based digital signal processing (DSP) tools to be used for computer-based lab assignments. (At the time, PC-based engineering labs were very new, laptops weren't a thing yet, and Student Edition of MATLAB was still a couple of years away from exploding onto the academic scene.) I tackled this project enthusiastically, implementing a couple of dozen operations that dealt with such things as polynomials and roots, complex arithmetic, filtering, quantization, up- and down-sampling, Fourier transforms, and plotting. These operations could be combined in simple scripts to solve homework problems. My pleasure and pride in this work is demonstrated by the fact that I still, after many years, have the source code, user's guide, and programmer's guide in my file cabinet scanned in the cloud. (My wife wanted to know how this project was getting me closer to my Ph.D., which I have to admit was a good question that didn't have a good answer.)

I think about this experience whenever I interview a candidate for a software development job. The MathWorks has many products in specialized areas of engineering, science, and mathematics, so we often hire domain experts in these areas to develop software. Our biggest challenge in evaluating a candidate is to answer this critical question:

Do they have the tool builder’s gene?

Here's what I mean: Many candidates can describe something that they have created that was useful to someone else. But only a few find the tool-building activity itself to be intensely rewarding. Only a few enjoy extending the tool so that it's useful not only to themselves and maybe a few others in the lab, but to a wide audience. Only a few are motivated to refine and extend a tool after it has solved the problem for which it was originally created. Those with the tool builder's gene get their energy from knowing they've helped many people do their own jobs better.

From my sophomore year in college through getting my Ph.D., I focused single-mindedly on becoming an engineering professor, and I did become one for a few years. But I was fortunate to realize quickly that academia ultimately wasn't the best place for me, and that I would be much happier at a place like The MathWorks. The reason is that I have the gene.

Helping T get a job

My first update is that I know one case where this blog post led directly to an engineer getting a MathWorks job. The engineer (I’ll call them T) read the post and sent me email in January 2022. In it, T said, “Your message really hit home, and I realized that it describes me pretty well.” T included more information about their background, which I thought sounded promising for MathWorks. I replied to encourage T to apply directly to a group that I thought would be the best fit.

A couple of months later, I was delighted to hear again from T, this time to tell me that they were officially part of the MathWorks team.

If you have the tool builder’s gene and think MathWorks might be good for you, well, I can’t help you as much as I helped T because I retired from MathWorks about a year ago. But don’t let that stop you! All the information you need is in the careers section of the MathWorks website. There are currently 200+ job postings there for positions worldwide.

The tool builder’s gene in retirement

My second update is related to my retirement. I have found that the tool builder’s gene didn’t become inactive just because I retired! I still like tinkering with MATLAB, and I still like making things that other people find useful. Since retirement, I have shared 16 new blog posts about MATLAB, and I have submitted or updated these File Exchange contributions:

And I have more contributions planned.

The real origin of the gene blog post

Although I posted the tool builder’s gene blog post in 2019, I originally wrote it in 2005. That was the year that I first started talking to Ned (MATLAB Community blog, Rambles blog) about maybe creating a new blog on MATLAB Central. Ned was trying to get the go-ahead to expand MATLAB blogging beyond what was called the “File Exchange Pick of the Week,” and he was looking for willing guinea pigs.

At first, I thought that I would try writing about general software topics in sort of a what-an-electrical-engineer-learned-about-software-development blog. To that end, I wrote several sample posts, including the first draft of tool builder’s gene.

Everyone that saw the proposal said, “Yeah, those are nice, but Steve, you should really blog about image processing.” So, that’s what I did.