Why you should intern at Routific

January 3, 2018

How a 4-month software engineering internship launched my career

tl;dr I’ve been a software engineer intern at Routific since September 2017, and I’m going to be honest: it’s been one of the best working experiences of my life. As an intern at Routific, you will grow personally and professionally, work with great people, and have the chance to build a product that makes a positive impact in the world. If you don’t believe me (or even if you do), read my blog post below.

Growth Beyond Growth

On the first day of my internship, I arrived at the Routific head office in downtown Vancouver just before the team’s morning stand up. I was greeted by Marc Kuo, Routific’s Founder and CEO. He handed me a bag full of Routific swag, a shiny MacBook Pro, and a wireless Apple keyboard. I had to do a double-take — yes, it was a shiny, new, space-grey 2017 MacBook Pro, still sealed in that trademark Apple packaging. I remember pinching myself to stay humble.

Marc encouraged me to get my development environment set up right away so that I could start working and most importantly, learning. In my previous life as a mechanical engineer, it would take weeks, even months, to receive any work, whether intern or full time. I was excited to know what my first task will be; probably a quick bug fix in some dark, obscure corner of the codebase. Somewhere that I could mess around and not have to worry about damaging any critical software, right?

Wrong.

Rennie, a full-stack engineer on the team, asked me if I could help him build a survey for one of our newest products. The survey is a form which has your standard HTML drop-downs to collect information from users on signups, but it was to be implemented in React and Redux — technologies I was familiar but not wholly comfortable with. All the components of the form were custom-built by the Routific engineers along with the design of the Redux store. And by the way, “we are going to ship it by the end of the week,”Rennie said.

I froze. Where was the tiny bug that I was going to spend a week working on? How do I work effectively in Git with other people? I pull up the codebase and I can’t recognize the CSS syntax because the engineers didn’t use Bootstrap in order to keep the app lightweight. We don’t use Bootstrap? How do I do CSS without Bootstrap? My heart leapt in my chest into my throat and my face flushed red. Today is Wednesday, so doesn’t that make this a short week? How am I supposed to get this done by Friday?

“Sure, no problem,” I said cooly, despite the internal panic attack.

Before Rennie went back to his desk, he turned to me and said, “We believe that the best way for someone to learn is to treat them like a full-time team member. Let me or any of us know if you have any questions. All of us are available if you need help. We want you to learn as much as you can in the next 4 months, which is going to go by really fast!”

It took me three days, but I finally got a feel for part of the codebase. And after running multiple tests, I finished creating the survey that successfully posted information to the backend database in the correct format. All of the Routific engineers gave me development tips and techniques at every juncture. Rennie merged my pull request with the master branch and I had my first professional commits in an application used by hundreds of businesses around the world. I was ecstatic. This was a feeling I could definitely get used to.

A day in the life at Routific

Every day at Routific starts with a quick, 20-minute standup meeting where we review the previous day’s work and talk about the current day’s work. This is an excellent opportunity to talk about blockers that may prevent us from getting work done. It’s also a chance for the entire team to get a basic understanding of what everyone else is working on.

Following this meeting, I’ll go to my desk and get into the flow of coding. Rennie, who I have spent a majority of my term working with on Routific’s API product, will often pull me aside to talk about my current work, plan out the next week’s work or discuss any challenges that I might be facing. This dynamic ensures that we are operating at peak efficiency.

As an engineer at Routific, the founding team ensures that we are thriving on a maker’s schedule. They remove as many distractions as they can so that we can focus on building new features and improving old ones. We follow an Agile / Scrum environment, ensuring that we are evolving / enhancing Routific in steady, two-week sprints.

Three weeks into my internship, I was implementing the design of Routific’s new API pricing page when Rennie asks me to review his work for any errors or missteps. On my next break, I review Rennie’s work and approve the changes on Github. Routific’s developer landing page now has a fancy animation that demonstrates how the API product functions. Just a few weeks prior, I barely knew how to settle merge conflicts in Git properly.

0_8INDmHVmGZ0feAkp_

Culture is a priority

Besides the tremendous learnings I come away with every day, one of the reasons I love coming to work is because of the culture of the company, which is upheld by every member of the team.

Values and culture are emphasized daily through kindness, gratitude, and ultra transparency. What is ultra transparency? For example, even though I’m an intern, I understand Routific’s business health to a high degree. Marc and the founding team continuously communicate Routific’s growth trajectory and solicits input from team members, including myself, when it comes to major business decisions or strategy. As engineers, we have complete insight between our work and how our code impacts Routific’s business metrics.

More importantly, Routific really feels like one big family. Everyone is genuinely interested in each other’s well-being, personal lives and personal growth. There is a feeling of openness between each other that is extremely rare to find at any workplace. This type of openness leads to a level of trust where all teammates can not only rely on each other professionally, but emotionally. I couldn’t be happier to be a part of this family, even if it’s only for 4 months. One of the highlights of my internship was making dumplings with the entire team while playing board games throughout the night!

1_eKpjV3SwjSHNDa057Uf5vQ
Dumpling making party with Team Routific.

How to land your co-op at Routific

After hearing about my experience, are you interested in landing a job at Routific?

Let me tell you briefly how I managed to apply and get accepted.

It started earlier in 2017, when I had submitted more than 70 co-op job applications and I was getting turned down one-by-one.It seemed like every company wanted a seasoned programmer with at least two years of experience!

Even though I had over six years of professional mechanical engineering experience, it seemed to hold little bearing in this new reality. I remember feeling hopeless — until one day in May. I was sitting in my operating systems course at the University of British Columbia learning about caches and memory hierarchy. The lecture stopped for a quick break, and I opened up my computer to check my email. There it was. An email from the co-op office. I had landed an interview with Routific! I had a hard time wiping the grin off my face after that.

I applied to Routific because of their blog, The Efficient Startup. I was enamoured by Routific’s story, from their disappointment at pitching to Silicon Valley powerhouse Y Combinator to their eventual success at Techstars. I found Marc’s article about his time in the finance industry and how that experience and concern about excessive waste led him to pursue Routific. I immediately felt aligned with Routific’s core values due to my own experiences witnessing excessive waste in the oil and gas industry.

The Interview

Suzanne, a Routific cofounder, was the first person I met when I arrived at Routific’s office. With a gentle smile, she offered me a glass of water as I waited for Marc. In some ways, I felt that I met her already, because I read many of her articles on Routific’s blog while preparing for the interview.

Marc greeted me soon after and led me into a room where we would have our interview. Calm, and laid back, I noticed Marc was wearing sandals. I, on the other hand, was wearing a tight dress shirt and slacks, and suddenly became overly self-aware of my sweaty palms. I braced for the inevitable technical puzzle. Would he ask me about a linked list? I haven’t done recursion in weeks. If he asks me about strings, I might be goner, I just learned how to loop through the characters of a string a few days ago.

Instead, he asked to tell him “my story.” I was thrown off. Marc wanted to get to know me as a person. He noticed my past professional experience and asked me why I left a job that was so secure with so many benefits. As we conversed, we connected over Paul Graham’s essays and our mutual passion for startups and startup culture. Eventually, we did get to the coding question, but I felt so comfortable with Marc that I could have fun with the whole process. I loved how I had the chance to connect with Marc on a personal level and couldn’t wait for a call back.

The Call Back

I got called back soon after that first meeting to meet / hack with the team. The reason was because of something that would become imperative later on — culture is key at Routific. In a lot of ways, it is their competitive advantage.

Marc values culture as much as running a profitable business, and thus needs the team’s support for every potential hire. At the same time, he asked for my buy-in as well, knowing that this arrangement could only work if it was a two-way street. With an enthusiastic “YES!”, I came in, met the team and hacked with two Routific engineers (Cheska and Rennie). Cheska and Rennie were unbelievably patient even though I wielded an extremely junior skillset.

Nonetheless, I felt the classic imposter syndrome and asked Marc if he was sure that he wanted someone like me on the team. Without hesitation, Marc told me: “We don’t hire for skills alone, we hire for potential.” Their trust and belief in me is something that I won’t forget. In order to get a head start on my internship, I spent some time learning React and Redux in the months prior to my start date. Routific’s CTO, Andre Soesilo, as well as the other engineers, mentored me over the summer as I filled gaps in my knowledge.

Final Thoughts

I am so grateful about the opportunity that Routific gave me to grow personally and professionally. There aren’t many companies, let alone startups, that would consider someone so junior work for their development teams. However, Marc kept true to his word from the very beginning. Routific hires for potential, not just for skills, and they gave me the privileged opportunity to learn how to build products.

If you’re interested in applying for an internship at Routific, here are a few things you can do to prepare:

  • Learn Javascript. Routific uses mostly Javascript and its associated frameworks like Angular, React, Node and TypeScript. If you know Java, you can pick up Javascript without too many problems.
  • Pick up a Javascript framework. If you like front end, pick up either React or Angular (better if you can do both, because you’ll be able to contribute to more areas!). If you like backend, do a couple projects in NodeJS and learn a test framework like Mocha.
  • It’s really important to have a couple side projects on your resume to show you enjoy building products. If you have trouble finding ideas, then find a cool course on Udemy in a technology that you’re interested in. Course instructors always provide excellent introductory projects that also give you practical experience with the latest technologies.