Interview With Catherine Casuat, Software Engineering Lead at Type A Machines

Catherine is a self-taught Software Engineer. Here is the interview:

Can you tell us a little bit about your background?

“I pretty much grew up in San Leandro High and I’ve been here all my life. I went to elementary school at Woodrow Wilson and John Muir for middle school and onto San Leandro High School. And up to that point I wasn’t technically inclined I was very much more an English and history type of person. Or that’s where my interests usually lied. In fact, I was thinking about doing Peace Corps or something of that sort. So upon going to college I didn’t know what I wanted to do. I had various interests but I didn’t know what was going to stick. So after two years of doing various things I kind of paused and decided to go about looking into software. And that was particularly because, really early on I used to create web pages and it just ended up being something that stuck with me and I felt that I have some foundation in it to keep that interest going.
I ended up taking an Intro into computer science class at Laney initially. And my professor was sort of an asshole in every particular way; he didn’t want people recording his classes because he was particularly verbally abusive to all of his students. And along with that he wasn’t particular on people and having women in his class and I couldn’t get a recording of that because he didn’t allow recording. Very early on, I was still trying to get into his class and I was trying to get a document for him to sign to allow me to get into his class. When he was making an announcement about people who wanted to get into the class to go and talk to him afterclass. I was in line and I was up next but he completely looks past my shoulder and says ‘is anyone else interested?’. He asks everyone who was standing around to see if they wanted to be in his class who he needs to give signatures to and me being in front of him he looks past my shoulders as if I’m not even there. It was very clear that that was the kind of treatment I was going to receive for the rest of the semester and that was not something I was keen on having. I ended up taking the same sort of Intro to computer class at Chabot. The couple of professors they have there are okay, and the other one was sort of the similar to the other professor back at Laney. For a while, he and I were relatively cordial and he expressed interest in my interest in compsci which I found to be positive. I thought that potentially I could go about writing assignments and doing things that are slightly more challenging than the current curriculum and ended up submitted an assignment with a few more advanced concepts in C++ and I wanted to go over it with him to see what he had to say as to whether I was using things correctly or if I was getting over my head or something. Upon submitting that email with that assignment, he responds ‘if you’re going to cheat than you may as well be inconspicuous about it and if you went to UC Berkeley or Cal State, a professor would call you in and ask you to explain your code line by line’ and he was making all these accusatory remarks about me cheating.”


“Because I was using more advanced things in that assignment than the previous ones. and that was what I was intending on doing. Because I thought the teacher would give you advice and teach you how to use these subjects. In response to his references to colleges and universities that would call me out, I asked if i could go into his office after that email and can I explain everything line by line because I did not cheat. You can google search it and I didn’t copy anyone else. And upon mentioning that, he seemed to be offended by my response. He was like, if you’re going to play games like this drop out of my class you’re not fit for the software industry. And his response was really bombastic and out of nowhere and there were a lot of insults in the email, I felt really discouraged at this point (with 2–3 professors down the line) all of which were treating me shittly and I was getting this email from my professor. Around this time there was a Hackathon in San Leandro, and my adopted my mother pushed me to apply for this Hackathon and I was discouraged at this point and didn’t want to do anything at that point. I just felt like I didn’t know and whether I was good at coding; if it was something that i should be doing. But I joined anyway and I up till 3am before the evening I was writing up ideas that I could implement; it was a health hackathon and primarily my idea was a fitness app that you could set your goals. And if you hit those goals, you get a coupon for produce at a local farmer’s market or grocery store. And essentially what that would entail is that you will ultimately try to be more active. Not only that, one of the issues I have with apps of that sort is that they give you a badge when you achieve something and it seems so ridiculous to me. So I think having a real prize as a thing where you get a physical reward and not only a physical reward but it’s something that will help with that person’s health like being able to get fruit or a helping of vegetables. It’s all sort of like positives in line. So that idea ended up winning the hackathon and Kaiser wanted to team up with me. This was going to be an expensive app to produce and you have to talk to various grocery stores and farmer’s market within particular areas. It’s a little too advanced unless you have several different groups of people in different areas to make sure that that app is working as it’s supposed to at the specific location. I can make sure that San Leandro has this app and it’s running well here but that doesn’t mean I can account for LA or San Francisco etc. They were going to give me 30k to start it all out but that was around the same time I ended up getting hired at ‘Type A Machines’ which is the 3D printer company.”

How did ‘Type A Machines’ get in touch with you?

“‘Type A machines’ was originally located in SF in a tech shop and they moved to San Leandro for more space and cheaper rent. And it was all a surprise to us, us being me and my family. My parents are into tech as well and used to work at Apple and given that they’re relatively involved in San Leandro as well they heard that ‘Type A machines’ moved into San Leandro and were fascinated by it. Sort of by that kind of link, I ended taking a tour of their office in San Leandro and ended up talking to the CEO a little bit and essentially it went like ‘Hey, if you need any software engineers I’d be interested in helping you all out’ and so I just went into the office every now and then to see what it was all about.
It’s not necessarily my thing but I still like being able to develop things and add to the development and production of the 3D printer. Sometimes in companies it’s good to have people who are good at what that subject is but it’s also good to have other people who have different perspectives who aren’t so immersed in that ‘thing’. And I think that’s where I ended up becoming somewhat useful especially on the UX/UI (user experience) side and all that.
After a while they hired me as an intern. In truth, I didn’t really play the role of the intern. It was really me getting hired and thrown into this crazy world of software for a hardware company. And just like one other person to support it. And that one other person was never really there. For the first six or seven months of me working there, he wasn’t really at the company and he was also opposed to having me or anyone else working with him but that’s a different story. In anycase, I ended up picking up some of the projects that they had that they really needed to get done. And that first project was called ‘Cura’ that’s when you take a 3D model and go about sort of preparing it to be 3D printable. So it cuts a 3D item into hundreds if not thousands of horizontal layers and has specific settings for each layer so that when you start your 3Dprint it’s already prepped to make that thing.”

And you wrote the software to make that?

“No, I did not specifically write the software for it but I modified the software because it’s an open source project. So we forked that project and then implemented precarious things that were particular to our printer and there are at least two or three things that weren’t out in the industry when we produced it. One of which was called ‘3D input’ and so when you cut a 3D model or print in half you’ll see on the interior is waffle-like. The foundation is just sort of this botched hash and so we figured a way with our mechanical engineer to make the internal structure significantly more durable and stronger by alternating the internal shape of the foundation of the print.
You can print something that is for example, part plastic and copper, so there’s many different filaments and material and we ended up implementing specific settings to support those various materials when you print.
And those were two particularly large changes that we implemented that weren’t in the 3D printing industry that we added; It was really exciting.”

How much software have you written prior to joining your current company?

“I wrote a good amount as far as school assignments were concerned but beyond that I didn’t have my own projects. The transition from going to school and joining ‘Type A Machines’ was so quick that I didn’t have any time to work on any other sorts of projects so the vast majority of code that I’ve written have specifically for ‘Type A Machines’.”

How did you adapt to that?

“It was incredibly difficult because coming out of school without that much knowledge in software and really just developing that skills on my own. Essentially they were like hey you know we have like this project and we need someone but we don’t have anyone. We have a software environment but we don’t have the resource to make that happen. And it wasn’t just one thing, they needed a billion things and I looked at everything and choose one thing that was within my range of knowledge and tried to learn everything I can about it. So the slice Cura was in python and I didn’t know python so 2 weeks straight, I spent learning how to use python and how to build my own python development environment and how all this stuff work.
There was no guidance whatsoever, my resource was the internet. The person I was interning for was never there and nobody else was ever there. So I was thrown in the ocean and told to learn how to swim. It was really overwhelming, but I kept going at it and try to learn everything that was necessary; looking at questions on Stackoverflow and eventually I was able to build this software and ship it.
It was a lot of hard work but a lot of fun.”

So you had no guidance?

“Yeah, there was no guidance. That was the basis of the developer I have become today. My resources were really all reading and it sort of made me self-dependent and resourceful. Because all the goals I had I was able to accomplish, and that was what my company needed. Hours and hours of studying and hours and hours of testing.”

How long have you been working there?

“Three and a half years.”

Are you working with any other developers?

“No, amusingly still just me :)
There are people from now and then who come in to do little bits of projects but for the most part I’m planning on making a software team.
I want to make sure that everyone is in an environment where people can feel safe and productive.”

What is some advice that you would give someone who is on their way to becoming a software engineer?

“From the standpoint of someone who somewhat went to school for it, not finishing it, and getting into this industry, I would say is that if you want to become a software engineer. You need to have the initiative to get something done; you need to have project in mind- to start it and finish it. Sometimes the easiest way to do that is to make that your career. Likewise, the things that you learn in school are useless. None of the things in school that I learned in school wasn’t applied. No one taught me how to use Git, no one taught me how to use
There’s so much beyond that and what I’m trying to say is that you should go even further- to do your own research and learn about that subject as much as you can.”