In my last
post I mentioned that I worked at Intuit's Waltham office the summer after
my freshman year after meeting a recruiter at Expo. That summer was a huge
learning experience, both as an extension of Olin's engineering education and
as my first introduction to working in an office environment. The biggest
challenge was that I had learned how to program in the middle of my first
semester. Finding a way to provide valuable work to the company, without having
to distract the full time engineers with too many questions, was going to be
Before the Internship
My first real experience with programming, other than on my
TI-89, was with MATLAB my first semester. Aside from that, I knew a little
Python and HTML from small projects, but was not very comfortable with either. I
ended up emailing my manager during the school year and asked what technologies
I should learn for the summer. He told me that I should get familiar with
QuickBase, the product I was going to be working on. I should also learn Adobe
Flex, which is kind of like Flash, but specifically designed to make
applications which run in the browser, but feel like desktop applications.
My first project was to simplify the way that the QuickBase
team announced issues about availability. In order to solve the problem, I
needed to learn how the availability site maintained a list of issues, how to
write a script that could connect to the database, and how to write a UI so
that an engineer could quickly update the list in the event of an issue. I had no idea how to do any of these things,
so the first step was to understand basic web technologies.
Fortunately, my manager gave me a pretty large chunk of time
to complete the project. For the first week, all I did was read. Literally. For
eight hours a day, I would read tutorials and go through examples. By far the
best resource I found was W3 Schools
which had basic tutorials on all the key web languages and concepts.
The other great source of help was the fulltime engineers.
It actually required a decent amount of knowledge to even be able to put
together a coherent question. There's definitely a fine line between an eager
intern who has a reasonable question versus a clueless, annoying intern.
Oftentimes, I'd stumble upon the answer to a question in the process of
figuring out what the question was!
After I finished my first project, one of the managers
decided to put together an experimental "war room" to deal with customer
support issues. For a week, a group of engineers and customer support
representatives worked in a conference room. Over the course of the week, I worked
on a bunch of mini projects, each of which took less than a day. Working
closely with customer support meant that I saw a fairly large chunk of the
QuickBase application and got to see how customers actually use the product.
My favorite war room projects involved working on the tools
used by the representatives. For example, one of the other engineers and I
software for common scenarios.
At the end of the week, I worked on a consumer facing web
application to let customers track tech support issues. This project was more
like a typical design challenge that Olin students face in HFID. There was one
visual designer on my floor and I bombarded him with tons of questions. There
was also a senior from MIT who sat in the cubicle next to mine who helped me
with the programming.
Flex applications use a common software design pattern
Similar to the first project, I spent a large amount of time upfront just
reading. Most of the tutorials had different takes on model-view-controller,
which made it tricky to figure out how to apply the architecture specifically
to the project. Fortunately, there was a student from Wellesley College on the
same floor that did a similar project two weeks previously. She had just
learned Flex and model-view-controller, and put together a couple of sample
applications. By piecing together examples from her example code and getting
help from the MIT senior and the designer, I was able to launch a v1 of the
application before the end of my internship.
Working at Intuit was an amazing experience. Getting the
chance to launch a consumer-face application was cool, but what really made the
internship was the amount of support I received from my manager and the other
full time employees. My manager gave me projects that were way above anything I
had done before, in terms of scope and programming knowledge required. Under
normal circumstances this situation would be terrifying, but my manager gave me
plenty of time to get a handle on the technology before I actually had to start
writing code. By the end of the internship, I had learned as much as if I had
spent the summer in class. Engineering internships can be intimidating, but
they are a great match for the Olin curriculum.
Happy internship hunting!
Mikey Lintz, ECE '11