paint-brush
A CTO’s internship program out of a Los Angeles Startupby@chonantsai
289 reads

A CTO’s internship program out of a Los Angeles Startup

by Cho-Nan TsaiNovember 26th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

<span>In</span> 1999 while still a sophomore in college, I was given a chance that completely changed the course of my life. I met Kaoru Hayashi, the CEO and co-founder of a Tokyo tech startup called Digital Garage (now a publicly traded company in Japan) and he offered me a 3-month internship at his startup in Tokyo. Till this date, I still cherish every moment of that internship experience — learning how to code for the first time in Python and Zope, being exposed to open source technologies, meeting up with Joi Ito (then an entrepreneur, now a director at MIT Media Lab), supporting a live web coverage at Fuji Rock concert, hanging out with cool Tokyo teenagers and more. Had I not taken this internship, today I would probably be sitting in a cubicle instead of running a startup. Looking back, it was definitely something I would never trade anything for.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - A CTO’s internship program out of a Los Angeles Startup
Cho-Nan Tsai HackerNoon profile picture

In 1999 while still a sophomore in college, I was given a chance that completely changed the course of my life. I met Kaoru Hayashi, the CEO and co-founder of a Tokyo tech startup called Digital Garage (now a publicly traded company in Japan) and he offered me a 3-month internship at his startup in Tokyo. Till this date, I still cherish every moment of that internship experience — learning how to code for the first time in Python and Zope, being exposed to open source technologies, meeting up with Joi Ito (then an entrepreneur, now a director at MIT Media Lab), supporting a live web coverage at Fuji Rock concert, hanging out with cool Tokyo teenagers and more. Had I not taken this internship, today I would probably be sitting in a cubicle instead of running a startup. Looking back, it was definitely something I would never trade anything for.

Today, as a CTO of a financial services startup, I am replicating that experience through Camino Financial’s Engineering Internship Program. In Los Angeles, there is a diverse pool of talents from all walks of life. There is also a healthy tech startup eco-system: a great network of local venture capitalists plus world-class universities nearby. What these young talents are missing is an opportunity to prove themselves in a real world professional environment. I want to create an internship program specifically for young people with little or no background in computer science. The idea is to expose them to real world software projects while completing a rigorous curriculum covering major computer science topics. The best part is that this is a paid internship program leading to a full-time position so interns can make some money and gain experience while having fun and picking up new skills.

So far we have some success with this and this is how we cracked the code.

An Ideal Profile for Our Intern

Training to become a programming jedi!

We open our door to everyone who is passionate about coding and software. Experience is secondary and not necessary, but definitely great to have. Another thing we look for is a deep appreciation in applying technology to solve problems in the lending space. Having an open mind and ability to work under pressure at a startup are some of the important qualities we look for.

Hiring kick off

Programmers delight

When we published our first summer internship program online, we received a lot of responses from students in California. Most applicants were from around Los Angeles but quite a number also lived out of state. Receiving an overwhelming number of responses was of course exciting but sifting through this many applicants was no easy feat. We first did a phone screening for those that might be a good fit, we would then send them programming assignments if they seem solid. These were very easy assignments to test applicants understanding of Python, Django and Git. Even though the assignment itself was not hard, many applications did not complete the assignment within the allotted timeframe. In a way, this worked out because it saved us a lot of time in getting to the really motivated people.

We then invited these candidates to our office for an in-person interview. Sometimes, we would give more programming assignments for candidates to do and other times we would try to have candidates meet as many of our full-time staff as possible. What follows would be an internal selection process that mimics ‘America Got Talent’ or ‘American Idol’ — a discussion (and sometimes debate) and a voting process follow suit to pick an intern. Once a decision had been made, the candidates would usually begin the internship program in 2 weeks.

Funny to say, we met some very interesting candidates along the way. Some people were super enthusiastic in the beginning but then disappeared into the wind as soon as they saw the assignment. Some attempted the assignment but struggled to finish — and gave a ton of reason for not being able to finish (e.g. problem with cars, apartment, moving, friends, family, etc). People who did well on the assignment did not necessarily mean they would do well for the in-person interview. Main reason for disqualifying was chemistry mismatch. We had one candidate who came in but lied about their resume. That left a bad taste for sure.

Interns Balancing Work and Study

The execution focus of our program was to provide on-the-job-training for our interns while interns took online courses in computer science from renowned colleges . In a typical week, an intern would participate in our sprints and do tasks from actual projects. They would work closely with our full-time staff and become acquainted with our tech stack and processes. On top of that, we would also arrange trips to attend tech conventions/training and visit to other tech companies in the area. Aside from office work, they would complete the assigned online classes at their own pace. It’s an honor system so there would be no need for assignment submission. However, we would regularly give short midterms and finals to see if our interns are absorbing the material. All in all, it’s a rather busy schedule!

On the other hand, the philosophy behind the program was to actually test the limits of those that come through our door. A startup environment is absolutely not for everyone and we need to know if a candidate would be a good fit. Some unconventional methods we apply: we would allow our interns to have access to production systems and make them responsible for live deployments. We would also throw them into hot fire when bugs become rampant. We’d also allow them to interface with our 3rd party vendors to follow up issues. We’d also give them freedom to pick tools they’d like to work with to solve problems at hand. Most importantly, we make our candidates accountable for the quality of their work at the company. Needless to say, we would praise and reprimand accordingly.

Challenges of the Internship Program

The biggest risk is of our program is identifying a suitable candidate from the get-go. This is basically a judgement of character and talent potential based on the initial interactions such as testing, interviews and so on. However, it is not always easy so there is a bit of luck involved here.

The other main challenge is the ability of our interns to take on pressure in a startup environment. Every week there is something. I can’t remember a week goes by without any production or IT issue of some sort. There are also staff issues which can be tough to deal with. Interns themselves also have personal matters to take care of. Everything happening at once can be overwhelming, leaving people to quit half way.

Program duration is also an important consideration. Too short — your startup risks bringing on inexperienced people full time too soon. Too long — your intern may find opportunities elsewhere. Finding the right duration is an outcome of trial and error. This depends a lot on the startup and the reward structure itself.

Related to duration is the program content itself. I usually tailor the assigned courses to our intern’s interests and experience level. However, sometimes software projects from work can overwhelm our interns completely. In my experience, this may not be ideal as it robs time away from building that foundation which an intern desperately needs for long term growth. Also heuristically, a program with more breath than depth may be more beneficial for all.

Intern Graduation and Beyond

When our first intern graduated, we had a chat.

“What have you learned through the internship program?” I asked.

“You know… writing software, learning algorithms, and — “ he replied.

“I mean philosophically what have you learned?” I interrupted.

He paused for a long time, giving it a lot of thought.

“People have emotions. Project can get tough. Personally, I also had a lot of stuff going on... It was bitter sweet but I am glad I did it,” He said.

Before my eyes, it was amazing to see the transformation of an inexperienced candidate into a very capable staff in the engineering department. On the spot, we gave an offer for a full-time position. Within 2 days he accepted the offer and couldn’t feel more grateful and excited about the opportunity.

This confirms yet again my conviction that talents can be developed — you just need to look hard and ensure they go through the rigors of a solid internship program.