Without a doubt, the most important skill set I learned in college and grad school was how to program in MATLAB. It kept me in beer as and undergraduate, royalty checks in grad school, and pays the bills today. I probably could not “mechanical engineer” myself out of a wet paper sack at this point, but engineering school did refine my ability to take complicated tasks and break them down to simpler pieces that can be understood. I often say that my inability to understand complicated systems is a great advantage, because it forces me to break down the problem into manageable pieces. Much of what I do at MathWorks is simplify user problems until the problem and solution are obvious.
My journey to MATLAB really started around 1984, while Jack was busily starting The MathWorks, I was a completely dorky 4th grader attending “Windmills computer day camp” at the local community college. Someone had wrangled up the local school’s Apple IIe machines that were sitting idle all summer. They put together a little BASIC programming curriculum and I loved it. I came back for several years, until I ended up as a counselor in the program. This is the first time I really considered it, but I am doing that same job today! I teach people how to program and debug.
My Junior year in high school, my parents got me an electronic typewriter for Christmas. I told them to return it, because the high school had just gotten these new things called PC’s. They were way better, I would just use them. Much to my surprise, they were willing to put up the money for a real computer! I programmed my little heart out, making some really terrible games in BASIC. I found a BASIC manual, but was afraid to use this “new” command GOSUB which called subfunctions. Clearly I had an underdeveloped sense of adventure at that point. With no one to show me any better, I stuck with scripts (spaghetti code) until college.
In college, I wanted to solve this problem recreationaly. I tried using this MATLAB thing because I heard it was the way to multiply large matricies. On Unix at the time, there was no desktop, no apparent way to get started, just a blinking cursor:
It took me a while to figure out my first MATLAB command:
Undefined function or variable 'man'.
Undefined function or variable 'stop'.
I finally took a real MATLAB programming class, recently converted from being a FORTRAN class. This MATLAB stuff was just like BASIC! I already know most of this stuff. Awesome! This is when I entered the “Larval stage”. I volunteered in the computer lab almost entirely so I would have 24-7 access to MATLAB. Again, working in a capacity to help people program- the pattern continues!
Exiting the larval stage, I was a “L33t MATLAB hax0r”. The real coup though was when a professor pulled me into his office and personally asked me to drop his class because he hated failing students. I dropped the class. A year later, through sheer chutzpa (and possibly giving the publisher the false impression that I was a professor) I got a contract to write this book. Best part, all the topics were pulled from that class that I was asked to drop!
From there, a terrible graduate school experience convinced me that becoming a professor was not for me. I took a terminal masters instead of the PhD. I had all but accepted a position at a defense contractor, but applied at MathWorks as a way to negotiate a higher starting salary and get a free trip to Boston. When I sat in the MathWorks lobby that morning and watched two people hold the doors open so that a guy on a bike could ride right through the lobby to his office, I knew this was the kind of place I needed to be. The defense contractor suddenly became the offer to use to boost the starting salary of MathWorks! We all know how this story ends.
What I thought I wanted from being a professor was an environment with a lot of freedom, smart colleagues doing interesting things, the opportunity to teach simple things well, and to allow my eccentric nature to flourish. I found that here at MathWorks. I feel like a professor with all day “office hours”, answering MATLAB questions that get past our front line technical support.
If you think the next step on your MATLAB journey is here at MathWorks. Find a job you like, send me the job number and tell me a little something about your MATLAB skills. Maybe your MATLAB Answers reputation, or File Exchange submission. If I like it, I will put the resume in myself!
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.