Abhishek Rao and his internship story at MathWorks

My summer internship search started in the month of March this year. It was kind of a late start, but a start nevertheless. I would strongly recommend everyone to start early by the end of winter term because the well starts drying up by March. Once I started applying, it was a bomb run in a manner of speaking, I just did not stop. I would apply to companies when I am eating, watching a movie or even when I am in class (since multitasking is embedded in our generation). This approach was not very helpful because I was flinging darts hoping that one of them sticks. I received positive results only after I changed my approach. I moved from brute force to a more probabilistic method. I carefully picked those positions which satisfied three criteria.

1) I am interested in the position.
2) My experience was closely aligned with the job description.
3) The company had a good reputation with college interns.

I did my research on Glassdoor, LinkedIn, Facebook and by networking with people. This helped me a great deal in learning about hiring patterns. MathWorks, a Massachusetts based company, was in my top 10 list of companies to work at. This was because of the great feedback I received from my peers who had interned there and its popularity in the engineering fraternity.

After a month of methodically applying for positions, I finally received a response from my manager at MathWorks. This was for a software development position. Most engineers would know about MathWorks and its products. It is responsible for developing the popular scientific computing tool called 'MATLAB'. As an engineer, I have used MATLAB to analyze signals, filter images, optimize algorithms, simulate wireless LAN topologies and the list goes on. Hence, I was very excited to get an opportunity to interview with them.

The interview process had three rounds. Phone screening, a technical Interview and a conversation with the HR. They also gave me a project which had to be implemented in C++ and submitted in a few days. The entire process lasted for three weeks and I finally received my offer letter in April. I was relieved and a celebration was in order that night. 

I started my internship on May 25th in their Natick office. I was pleasantly surprised on the first day of work. I had a complete office space to myself with my name on the door. It had server grade desktop (64 gigs is a serious amount of RAM), dual HD monitors and a three course meal for lunch. There are a very few companies out there who pamper their employees so well. I worked with the data persistence team and the work that was assigned to me was very interesting. I worked with MATLAB's factory settings framework and developed multiple APIs for MATLAB. I started by preparing the requirement document, functional design and architectural design. These documents were reviewed by my peers on a weekly basis. I was constantly in touch with my manager and he helped me get up to speed with the recent developments in the team. I learnt a great deal about software development processes and best practices during these review meetings. After a month of reviews and discussions, we finalized the design of the system and I was given the green signal to implement it. During the implementation phase, I learnt abundantly about C++11, data structures, file systems and optimization. It was fascinating to peep into the nuts and bolts of MATLAB. I also took part in the Intern Hackathon with two other fellow interns. There were around 75 of us who participated in the event and we were fortunate enough to stand third in the competition. We built a voice assistant for MATLAB called Martha (kind of like Siri for MATLAB). The goal of this fun experiment was to enhance the usability and make MATLAB more intuitive. Martha was capable of integrating, differentiating, finding local optima, image processing, solving equations and plotting signals. She worked beautifully! This was truly an inspiring moment. It was an impetus to build cool projects that serves a greater purpose.

Abhishek at the MathWorks campus in Natick, Massachusetts
There was always something fun happening on MathWorks campus. We had barbecue Thursdays, breakfast Wednesdays and beer Fridays. More than added benefits, these gatherings were a source of socializing and meeting diverse people. Cafeteria is one of the most important places in MathWorks. Employees there believe in living the good life in the truest sense. The variety of food was kind of overwhelming at times. We had Indian, Chinese, salads, Italian, Deli, Thai and Mexican food throughout the week. The breakfast buffet was a great start to the day and kept our energy levels super high. The health center at MathWorks has a state of the art equipment and yoga facility. At the end of the day, these little things matter the most!

Interning at MathWorks was an important juncture in my life. It has changed my perspective of a workplace and has given me fond memories to reminisce. Going to work was like going to school. Learn, enjoy and chill!  I have learnt the real meaning of good quality work at MathWorks. Flawless documentation, understandable code, innovative thinking, systematic workflows and barbecued ribs are the key takeaways from my internship. I will always cherish the time I spent at MathWorks and do my best to “Accelerate the pace of Innovation”.

About the Author: Abhishek Rao is a second year graduate student at University of Maryland pursuing software development, machine learning and network security as his areas of interest.