Faces on Campus – Vinayak Rao
Vinayak been a software engineer in the Seattle area for 13 years working for a variety of companies. Currently, he is an engineer with Salesforce working on a software security team. In the past, he has worked in fraud, payments, and retail software. He spends his free time with his family, tutoring at a local Seattle tutoring center, or playing tennis.
Hi Vinayak! What influenced your decision to join the faculty at Northeastern University–Seattle?
Hi! I used to teach at Bellevue College, but I really felt like I needed a change. I was mainly teaching introductory level Java stuff, so I felt like I wanted to mix it up a little. Northeastern University–Seattle is growing at a rapid rate, and they needed someone to teach some classes for the ALIGN program. I really like the concept of the ALIGN program. A lot of students complete their Bachelor’s, but ultimately find that they do not necessarily enjoy the field they have chosen. The ALIGN program is great, as people who find themselves in this situation have the option of completing a Master’s degrees in Computer Science, although their educational background up to that point may be completely different. It’s definitely a challenge, but the students that choose to go down this path are generally very motivated and more engaged, so it makes for a very interesting dynamic in the classroom! Although it may seem like the ALIGN students may have an inherent disadvantage, it is not the case. Other students may have backgrounds in Computer Science, but that doesn’t mean that the ALIGN students who are starting from scratch won’t do well.
I was very fortunate, as I had the option of designing my curriculum from scratch, so that was definitely a novel concept for me. I co-taught some of Theo’s classes to get a general overview of what would be expected before I started building my curriculum. I definitely gained a lot of insight from this experience. It was really great to be granted that opportunity. Of course there are some core fundamentals that need to be taught, but I was allowed to decide how they’re taught, which really appealed to me. I stuffed a lot into my classes, but the students work hard and are able to keep up and do very well overall.
What aspects of your program do you find most valuable?
Right now, I am teaching Computer Systems, which deals mainly with operating systems. It is genuinely one of the hardest topics our students have to tackle in Computer Science, but it is also the one the students will benefit most from. I’m really learning a lot from teaching this topic. The last time I dived deep into operating systems was during undergrad! The course is challenging and students will put in a lot of hours, but they will learn so many viable skills from it. I think Computer Systems is definitely one of those courses everyone who is studying Computer Science should take, although I would definitely recommend that students should pair this course with an easier one. Computer Systems is a course that can make you or break you, but the principles you learn will prove to be very applicable throughout your career.
What are your objectives at NU–Seattle?
Everyone has a hobby. I like being a developer, it pays a lot, but I really enjoy teaching. I know that the students care a lot about their grades, but I don’t. What I care about is that the students who have taken my class have walked away with some of the vital and important pieces that will help them throughout their career. I really like that I get people excited about the topic, and I love giving my students guidance on how to shape their career. I’ll keep doing it for as long as it’s fun, since it’s my passion. Hopefully, I can give all my students the valuable skills they’ll need throughout their career and help set them up for success.
Do you have any advice for new students?
The best advice I can offer new students is that Computer Science is an exercise in frustration. I spend about 80 percent of my time frustrated. A career in Computer Science is a challenging one, but when you finally achieve your goal, it’s worth it. Although it can be vexing, it is vital to learn how to deal with this frustration and make it work for you.
It is really important to have an inherent understanding of the fundamentals. When developers start building high-level abstractions, we forget about some of the important low level stuff. The industry is moving further away from the basics, so now most of the jobs are done online, but when that magic breaks, they’re in trouble. In CS, you learn how to understand how and why something works, and that can be very difficult to teach. It is critical, at least, to have a concept of how everything is working, instead of just blindly doing the job with no real understanding of what is going on beneath the surface. It takes time and effort, but it will definitely prove beneficial in the long run.
It is also so important to be passionate about what you’re doing. You can’t do it for just the money. You don’t get good at it if you hate doing it.
How do you think we can encourage diversity in the CS field?
I think that we need to encourage diversity in the industry as we do in other areas. I recently saw a really great video on social media that explains how privilege works. Basically, they got a lot of kids to stand in a line, as if they were going to run in a race. They made a series of statements and told the kids to take a step forward if the statement was applicable to them; for example, “Take two steps forward if you grew up in a household with two parents.” By the end, you could see that some of the kids had a massive head start, while many other kids were at the original starting line, facing an uphill battle, through no fault of their own. Unfortunately, this is how life works. Some people just have more resources and advantages at their disposal, while some people just have to work twice as hard. To improve diversity, I think it’s important to narrow that gap. Many companies have been trying to solve the diversity issue, but short-term programs and schemes only produce a short-term reward. The problem needs to be solved long-term, but it’s a difficult issue and there really isn’t just one quick and easy solution.