Codesmith Blog

Meet the Academic Team: NYOI Lead Engineering Instructor Mike Masatsugu

Written by Codesmith | Feb 6, 2023 9:35:00 PM

Codesmith’s Software Engineering Immersive programs are designed to help aspiring software engineers launch meaningful careers in tech. At the core of our immersive programs is the Codesmith community, including our Lead Engineering and Engineering Instructors. 

Meet Mike Masatsugu, Codesmith’s Lead Engineering Instructor for the New York City Onsite Software Engineering Immersive. Mike is from Hawaii but recently moved to New York to be onsite with the residents – learn why Mike loves teaching, his advice to prospective and current Codesmith residents, and his recommended habit that every software engineer should form. 

What do you love about teaching and how is teaching unique at Codesmith?

I really like being able to take large, difficult concepts and think about how I want to present things and how I can make them more digestible to think about and talk about. It's challenging, and I really enjoy it.

It's really cool that I get to teach residents going through the exact same program that I did. I get to recall and reflect and remember how I felt and how my cohort felt at any given point, and I can tailor my communication and how I want to talk about certain things at any given time. It's a really neat thing about teaching here.

What is your favorite part about working at Codesmith?

The supportive culture that I loved during my residency immediately carried on to the team culture when I moved on to being a fellow after being a resident and so on. I feel like I'm encouraged to teach the way I feel the most comfortable, and I'm supported and given the freedom to do so. Everyone on the team is always willing to find time to chat and help out when needed. It's a really simple thing, but I really enjoy that feeling. 

What do you hope residents will take away from your lectures and their experience at Codesmith?

No matter what I'm talking about or what the lecture is about, I really want residents to understand that anything you walk up to, any problem that needs a solution–as daunting as it may be, as overwhelming as it might feel–can be broken down into smaller problems. Whether that's in the units, in job interviews, or working on big code bases, everything can be broken down. Everything that is overwhelming can be palatable, as long as you take it piece by piece. You learn how to do that at a smaller scale here with a unit, and you can take that skill anywhere you go after Codesmith as well.

What advice would you give to candidates in the admissions process or recently accepted to the Immersive program?

Across the board, I think the most important thing is being able to manage your own self expectations. We all learn things at different speeds. Maybe you're studying with other people or working with other people before you get into the program or during the program. It's really important to use your own feelings, your own experience, and your own energy levels as a benchmark. Really focus on where you are, where you were yesterday, and where you're going to be tomorrow. 

You can take that advice as you're preparing for the technical interview when you feel frustrated, and maybe you don't understand things, which is going to happen over and over again. Really learn to manage that feeling and say, “I don't understand this now, but I will very soon.”

What advice would you give residents currently enrolled in the immersive?

Really take care of yourself. I often made the mistake of thinking that if I stayed up late studying or sacrificed my morning and woke up really early to study, that it would help me. And, really, you have to think about the long term. Staying up, causing yourself stress, and trying to live up to expectations that you set for yourself, maybe unrealistically at times, can add up. 

When you're in the immersive, think about the long game. Don't try to sprint day to day, really try to spread your energy out. Drink your water, eat healthy, and sit up straight. You really want to take care of yourself, whatever that may be – going for walks, working out, or getting enough sleep. Just take care of yourself when you're in the immersive – that is so important.

What sets Codesmith apart?

When it comes to technology and learning very technical things, we can all do that. We can all read documentation, watch tutorials, and build things. But, what really sets Codesmith apart is how much we emphasize working with others, and being able to apply your problem solving process while working with another engineer or a group of engineers. And, really feeding into that collaborative process, no matter what stage you're at in the development process. 

Every day here, you're working with at least one other person. Sometimes that's not easy when you get frustrated, when you're lost, or when you get stuck. And, by design, we put you in those positions so that you can find out how you react, and how you want to react. Feedback is a huge part of our process. Maybe we didn’t even realize we behaved in a certain way, or when we got stuck, we got quiet, or when we were confused, we stopped taking advice and stopped listening. It's better to learn these things here. 

By placing so much emphasis on that, we're not only creating very technically competent engineers, we're creating engineers who are very talented and also are engineers that other people want to work with.

What are your favorite resources to stay up to date on coding best practices, emerging technologies, and trends within the software engineering world?  

I read Medium articles a lot. Other engineers write them most of the time, so there's a lot of great opinions and great foreshadowing for things to come in the future. I also follow big name developers on social media platforms to see what they might have to say about, for example, the latest React update or the latest Dino changes. They also have blogs that I like to follow.

There's one app that I use because it passively adds to the news that I see. It's called Daily.dev.
Every time I open a new tab, which is pretty often, it'll show that day's articles. And it really helps me keep up to date with these things.

What are you most proud of in your career so far?

One of the things that I'm proud of is graduating the Immersive. Growing up, I wasn't always the most academically strong person. I was never that good at math. I actually stayed away from programming because I thought I would never get computer science. So, proving to myself that I can do this program, for this many hours a day, and I can figure these things out – all those little victories that I felt in the program really added up. 

And, I got to compound that with the experience of my cohort mates. Even though I've had great experiences ever since then, it was a really proud moment for me when I got through it. At the beginning, I had all the doubts that so many people feel. I didn't know if I could. I didn't know if I should. I didn’t know if I would be good at it, or if I would just fizzle out. I'm really proud of myself for moments like that, and just accomplishing things that I set out to do. 

What's one habit that every successful software engineer should form?

The ability to question what you do every time you finish a task, or you finish something. It's really easy to get attached to the code you write that you're really proud of. You think it's great, it's flawless. You put so much time into it, it has to work. 

But being able to finish something, step back, and say, “What can I change about this? What would I change about this?” Every time you write something, being able to criticize it as well is a really helpful habit that I think every software engineer needs to have.

Is there anything else that you'd like to add?

You have to be cognizant of the fact that you can do more than you think you can. When you really want to do something, you will find a way to do it. Whether that's getting into Codesmith, or learning JavaScript, or learning any of the concepts that lead up to getting into Codesmith.

Things that I used to be really intimidated by are things that I teach now or things that I lecture on. It does take time. It takes time and patience with yourself most of all. But, whenever you're stuck, just know that you can get unstuck as many of us have, and you will someday be the engineer that you want to be.