Codeship CTO explains Continuous Integration and the technology behind it, and shares the company story
Interviewed by Christophe Limpalair on 05/27/2015
In this interview we talk about the company's journey from Austria to Techstars in Colorado with mentors like Jason Fried and Brad Feld, we take a look at being CTO and hiring, and we explain how Continuous Integration and the technology behind it works.
> Learn more about getting started with Continuous Integration.
What gave you the idea to build Codeship?
Starts at 00:59
Florian had a pain, and he wanted it fixed. He was always the person setting up automation to build and make sure everything worked properly. There really was no process that wasn't painful, so the three co-founders decided to solve it with Codeship at the end of 2010.
What was your experience like at Techstars?
Starts at 03:40
One word- amazing.
They don't just want your company to succeed, they also mentor you to help you grow as a person. They will really push you to succeed in all domains.
The networking aspect is also incredible from other teams going through the program to mentors and investors.
How did you get initial traction? Before Techstars? After?
Starts at 07:44
We talk business in this section. How did Codeship get initial traction? Did they have any before Techstars, or was it all after?
Turns out that Codeship was started 2 years before they went to Techstars and there was definitely interest in the product. Florian says this interest surely helped the company get into the extremely selective program.
After going to Techstars, they were able to acquire funding ($2.6 million) which boosted their growth. They could hire more engineers and marketers to take the company to another level. This, Florian says, is crucial to grow a business. Engineering is very important in the early stages, but once you have a fantastic product you have to actually sell it. That's where marketing and sales comes into play.
His business strategy made me think of the Lean startup strategy.
Starts at 09:20 - Do you think Lean startup is the way to go?
What kind of technologies do you use in your infrastructure?
Starts at 10:23
They started in Ruby on Rails for the web service, and now use a lot of Go.
Pretty much all of it runs on AWS. They use other various technologies like Packer, to build their service, and their containers are using Docker.
They also use Redis.
What do you use Redis for?
Starts at 11:01
Backend worker processes. Basically handles all messages and queues that determine which build should be running on which server. It then sends log messages back.
It accomplishes this with Sidekiq and Ruby. It's used to send millions of messages a day.
I actually started a Redis series a couple of weeks ago to show different use cases that you can implement in your applications that same day. I plan on adding a queue example soon.
If you're not sure what Redis is or how to get started with it, the first couple of videos will get you started. You can also see my blog post on how to install it.
Managing remote teams
Starts at 12:26
It's definitely hard and takes a lot of work. They hired someone with experience to handle this and to talk with people 1 on 1. This ensures that you have open communication channels.
If you don't have open communication, you lose sync of who's working on what. Codeship uses iDoneThis to avoid this problem. They also have meetings every few weeks with engineers to see what everyone is working on and brainstorm on moving forward.
What do you look for in people when hiring?
Starts at 15:37
Technical excellence is certainly important. Another part that's extremely important is the willingness to win and to push each other hard. This requires giving open feedback and criticism, and knowing how to receive it as well. Just like with remote teams, engineers must openly communicate and work as a team.
I wrote a post about this and other CTO answers to this question-- 4 Traits CTOs Look For When Hiring.
Are you hiring?
Starts at 19:33
Yes. Looking for Senior Software Engineers who know AWS inside and out.
What one piece of advice would you give to CTOs?
Starts at 20:21
Understand the change that's going to happen to you. The change going from a very technical to a non-technical role is very hard.
There's a lot more great advice about this in the interview. Definitely check out that section starting at 20:21.
How does Codeship boot machines up so quickly?
Starts at 31:07
Using containers with Docker and LXC.
This is incredible technology changing the way we build and think about infrastructure.
In a nutshell, when a job comes in it is read from the queuing system to start a container and push the data to run the build.
It is pushed with Packer and creates a new AMI on AWS. That AMI has a prebuilt container with all the different tools and language requirements. Once a new AMI comes in, it creates a new containers from the default container and pushes data in to run the build.
Really cool stuff.
How does your product ParallelCI reduce the time it takes for tests to complete? How does it work?
Starts at 35:11
ParallelCI let's you push multiple containers to create x amount of builds. Data is then collected from those builds to see the result.
So the more commands you have, the more this can benefit you because it will run those commands in "sub builds". They are completely isolated from each other.
Once our tests pass, how do we deploy to our servers?
Starts at 36:44
At a basic level, it is just running shell commands depending on what you want to deploy to (or with). As long as you configure the correct authentication and credentials, Codeship runs the necessary commands.
Is this only for bigger teams? Or also for single member teams?
Starts at 40:44
Even single member teams benefit from this. It helps you iterate more often without breaking things.
Breaking things, especially with a small team, is such a waste of time.
What are 2 books your recommend?
Starts at 47:17
The Phoenix Project
The Hard Thing about Hard Things
How to follow up and thank Florian?
You can get in touch with the Codeship team through their website.
You can also reach Florian on Twitter at @flomotlik or via email at email@example.com
How did this interview help you?
If you learned anything from this interview, please thank our guest for their time.
Oh, and help your followers learn by clicking the Tweet button below :)