Chrome and Punishment: Browser Tests and You

Browser testing is a popular strategy for web application developers to verify their programs from the user’s perspective.

However, automating this process has always been challenging for teams who depend on Continuous Integration (CI). The environment isn’t always suited for testing a JavaScript-heavy web application due to demands on memory and network throughput.

Today we announced a $31M Series C by Top Tier Capital Partners alongside Industry Ventures and Heavybit, who join existing investors Scale Venture Partners, Baseline Ventures, Harrison Metal, and DFJ Ventures. There are more details in the release here, but I wanted to share our plans for our new funding, and what you should expect from CircleCI in the future.

When CircleCI launched in 2011, the world was much simpler. Rails monoliths were all the rage, Docker didn’t exist, and the latest iPhone was a 4s. Today, the world is much more complicated. Teams are running thousands of microservices in a single product, building in multiple languages, and supporting it all in the cloud.

It’s clear that our world will only continue to become more complex. We need our tools and systems to not only evolve to meet this need, but to become smarter. The demand on engineering teams show no signs of slowing down: every team is asked how they can build high quality products faster, more securely, and more productively. We believe we can help teams solve these issues, and I want to share a little about our plans for how we will start to tackle this this year.

Information is being created, disseminated, processed, and regurgitated at unprecedented rates. But our brains aren’t adapting to this breakneck pace; as the amount of things increases, our attention spans have been decreasing to protect ourselves from the incessant barrage of information.

We’ve recently been exploring signals around engineering productivity in order to share metrics teams can look at to know if they are on the right track (more on this to come). To be frank, we were surprised to see that Code For America was leading the pack in measures of engineering velocity. We spoke to two members of their team, John O’Duinn and Ben Sheldon, to learn more about how a non-profit focused on delivering services for the public sector is able to maintain incredible speed and engineering productivity.

This week, leading research firm Forrester released their first-ever Forrester Wave for Continuous Integration. Our team at CircleCI spent a considerable amount of time working with the research team at Forrester, and we’re proud to be named a leader in the space. You can go read the report here, but there’s a larger point we think is worth exploring: why is there so much attention on continuous integration right now? Why are Forrester’s clients asking them to provide research and analysis on which CI tools and companies are worth paying attention to?

Gaining access into the world of tech hasn’t been the easiest thing for me. I grew up in East Baltimore; I know how unfair the system is. People talk a lot about diversity in tech. Seems to me they think of diversity as what can be seen on the surface, but I believe it’s much deeper than that. For example, most of the other African American people I know in tech came from homes that had both parents and went to really good schools; I grew up with a single mother and went to community college. I dropped out once I finished all my core CS classes so I could start working. People in the Valley get admired when they drop out of elite schools, but if you’re not dropping out of Stanford, you don’t get congratulated. It’s all dependent on your demographic situation.

A couple weeks ago, we released CircleCI 2.0. This was a tremendous effort, involving every person at CircleCI by the time it reached General Availability. Exactly the kind of effort that we try to avoid as a CI/CD company.

We fundamentally changed the guts of our product, and there’s no way for that to not be terrifying. It took six months to get this in front of the first customer, and another nine to get to GA. It’s impossible to tell you how relieved we are to have reached this milestone because it means we can actually start delivering code in small chunks again.

So why would we, as a company that literally has ‘CI’ in its name, spend so much time crafting an actual release? Doesn’t that go against everything we believe?

CircleCI has roughly 100 employees and at least 10 of us are here as a result of attending a coding bootcamp. Love them or hate them, bootcamps are here to stay and they’re becoming more entrenched in the hiring pipeline. Course Report counted 30 technology-focused bootcamps in 2013. Today, they list more than 300.

I was recently part of a panel at #SRECon, where I shared my thoughts on how to onboard Site Reliability Engineers (SREs). For those who missed it, I’m sharing what I discussed for those who are either considering joining an SRE team or are actively onboarding/managing SREs.

A few weeks ago we participated in DevOps Wall St., a 1-day event in Manhattan with speakers from FINRA, GitHub, Waffle.io, Modus Create, and others. Rob Witoff from Coinbase shared his thoughts in a talk called, “Security, Scalability, Productivity: Embracing a DevOps Mindset at Coinbase with CircleCI.” In this talk, Rob discussed correlating success with number of deploys, killing snowflake servers, automating good behavior with UX, and whose fault it is when something goes wrong in production (hint: not the deploying engineer’s).

(04:50) Rob talks about the engineering change request (ECR) process he used to have to go through in previous companies and why bureaucratic software development is not empowering, particularly when velocity is core to your survival.

(06:35) “If you empower your company to move fast, iterate, and launch new features, you can help your company survive. DevOps done poorly can also be a reason companies die. If a company is not able to move fast enough because security slows you down, or there’s too much human interaction, you can really kill your company.”

One of CircleCI’s features is a persistent dependency cache that saves time on any subsequent builds. This works especially well for Maven builds, which typically spend most of their time resolving and downloading dependencies.

This guest post by Julio Capote of packagecloud will show you how to use CircleCI’s caching along with packagecloud to keep your Maven builds as fast as possible.

Join us next Thursday, September 22nd for Office Hours in San Francisco where Travis Vachon, Product Engineering Manager at CircleCI, will take us through: Exploring the DNA of Successful Developer Teams.

We hope to see you there! We love meeting the developers and software teams who use CircleCI and hearing about all the great things you’re doing. Space is limited, so reserve your spot now!

CircleCI customers can build their apps using Xcode 8.0 Beta. Full support for Xcode 8.0 Beta allows iOS developers using CircleCI to build and test their code for iPhone, iPad, Mac, and Apple Watch apps with the most current tools available. We have also recently updated the developer tools on our container to latest versions.

As we inch past the halfway mark of 2016 we pause to reflect on the tremendous growth CircleCI has experienced this year. We continue to grow and are expanding current roles and opening up entirely new searches to meet our needs. If you have ever been curious about what it is like to be a part of CircleCI, there has never been a better time to take a closer look.

At a growing company, you’ll have a huge impact. As well as improving our customers’ lives, you’ll also set a precedent for everyone who works for us in the future. You get to affect both the product and the company culture. Your opinions matter and are listened to, and that’s why we hire you.

Here is a list of our open positions, but if you feel you are a perfect fit for a job that is not listed send along your resume and we’ll be sure to take a look.

Last year, CircleCI Founder, Paul Biggar, joined forces with the Edith Harbaugh, CEO of LaunchDarkly to create To Be Continuous, a show about Continuous Delivery and software development. Catch up with episodes 19, 20, 21, and 22 below, and follow the playlist on Soundcloud to be notified of new ones.

Day one of StackWorld 2016 Conference & Expo has wrapped, and day two is well underway. We are on the expo floor of San Francisco’s largest DevOps and scalability tech conference. If you are attending today please stop by and say hi to the team at booth 102: visit early, t-shirts and stickers are going fast!

Welcome to our new weekly curated list of interesting stories. Covering anything and everything in the industry, we’ll be collecting and sharing a handful of links every Friday. Enjoy!

Pride week is coming soon here at CircleCI headquarters in San Francisco. Coincidentally, we’ve been putting a lot of thought into how we can build and maintain a diverse engineering culture as we put our recent round of investment to use growing our team. This week’s links reflect these two themes. Relatedly, if you’d like to join a team with a strong commitment to a building an inclusive culture, take a look at our jobs page!

Welcome to our new weekly “we think this is interesting, and so might you!” curated list. Covering anything and everything in the industry, we’ll be collecting and sharing a handful of links every Friday. Enjoy!

Huge thanks to everyone who joined us at the Heavybit Clubhouse for our May Office Hours last night with a talk from CircleCI CTO Rob Zuber! Rob’s presentation on managing the migration from monolith to microservices was enthralling and insightful. Rob and the rest of the team enjoyed chatting with you about what you’re building and how you’re using CircleCI!

For anyone who couldn’t make it out, we’ll be sharing a link to the video from the talk soon.

Cloud, DevOps, Mobile, APIs, Big Data — all of the converging, important trends in technology today share one thing in common: developers. Developers are the vanguard. Developers are building in the cloud, building mobile applications, utilizing and building APIs, and working with big data. At the end of the day, developers are the core.

Our dance card was full this round, and Scale Venture Partners perfectly suited our company in both market and culture fit. I’m pleased to welcome Andy Vitus, from Scale Venture Partners to the CircleCI Board of Directors.

The market is uncertain right now, but in the face of uncertainty, good businesses are being built and financed. We want to be there for the next generation of great companies to build on CircleCI. Our funding announcement sends a strong message to our team, our users, and our partners that validates our leadership position and direction in our market.

This funding allows us to grow our company in accordance with our values: a focus on productivity, a company-wide commitment to speak and listen to our customers, and to continue to build stellar products for smart software teams. These are core to what we do at CircleCI and they will remain core as we continue our trend of growth.

We’re always looking for ways to make CircleCI docs better. In fact, you may have read that we recently open-sourced docs, which we’re very excited about since it allows us to more quickly create new docs and more easily update our current docs. Our next step is to improve how the docs site is structured, and to that end we’re looking for your input.

Over the last few days we have updated the OS X build image with the latest Xcode 7.3.1. Additionally, we included more recent versions of Carthage and fastlane with the container by default. This should help you stay up-to-date with the newest developer tools.

Last year, CircleCI Founder, Paul Biggar, joined forces with the Edith Harbaugh, CEO of LaunchDarkly to create To Be Continuous, a show about Continuous Delivery and software development. Catch up with episodes 16, 17, and 18 below, and follow the playlist on Soundcloud to be notified of new ones.

Last month, we hosted special guest speakers from Shyp during our monthly Office Hours, who talked about the inner workings of their home-grown command line interface. If you couldn’t make the event in person, or just want to revisit the great presentation, you’ll find a video of the talk in its entirety below.

Tomorrow, CircleCI founder Dr. Paul Biggar will be speaking on the panel, “Devops: integration and delivery” at Collision Conference in New Orleans. Collision is “America’s fastest growing tech conference” created by the team behind Web Summit. In two years, Collision has grown to over 7,500 attendees from more than 50 countries. Attendees include CEOs of both the world’s fastest growing startups and the world’s largest companies, alongside leading investors and media.

A big thanks to everyone who joined us at the Heavybit Clubhouse for our April Office Hours last week. The engineers at Shyp offered up a fascinating presentation on their command line interface, and it was such a pleasure to have them as a guest on our stage. We enjoyed meeting you and chatting with you about what you’re building and how you’re using CircleCI!

How we Automate Mobile at Shyp with CircleCI

At Shyp we have 4 mobile apps and a relatively small team. To be effective and move fast we automate everything we can: testing, building, deployments, (we even automate waiting, seriously, come to the event on Thursday to learn more about that). We have a customer facing app for Android and for iOS, an iOS app for our couriers (Compass), and an iOS app for operations team in our processing facility (Anchor).

Each of these exists in its own github repo and each repo is connected to CircleCI. In addition, we have three repos that contain various code collections shared by the iOS apps. As you can imagine, CircleCI saves us a ton of time, here’s how we do it.

Six months ago we announced the launch of our community site. Since then we have been absolutely thrilled at the amount of growth the community has experienced. As of today there are over 2,000 active users with more users signing up each and every day.

At the end of March, CircleCI’s developer evangelist, Kevin Bell, gave a talk at our monthly Office Hours meetup. If you weren’t able to make the talk in person, you’ll find it in its entirety in the video below.

“It took me years of struggling with Bash before I felt like I could actually use it to save time doing any given task. I could throw together a command or two in the terminal and write very simple scripts, but it was always faster and easier for me to switch to a language like Python to do anything significant. In this short, example-filled presentation, I’m going to try to cover the elements of Bash and a couple CLI tools that made me a true believer, who reaches to Bash for most odd jobs.”

Last Friday we had the opportunity to host 40 top engineering students from across the country as part of Code2040’s Tech Trek program. We’re thrilled to have had the opportunity to connect during their week-long tour of Bay Area tech companies, and were left hoping we made a good enough impression that they all apply for jobs at CircleCI once they graduate 😉.

We hosted two separate 45 minute sessions for the the students who visited us. The session I coordinated consisted of three CircleCI engineers - Ian, Edward, and myself - telling the stories of how we got to where we are professionally. I won’t speak for my colleagues, but the tale I told to those 40 students was one riddled with failure.

Big thanks to everyone who joined us at the Heavybit Clubhouse for our March Office Hours last night! Kevin’s presentation on Bash was well-received. We enjoyed chatting with you about what you’re building and how you’re using CircleCI!

We are happy to announce the release of the new OS X build image. In this release we include the most recent version of OS X with all the latest security updates, the recently released Xcode 7.3, plus the updated versions of git, fastlane and carthage.

Last year, CircleCI Founder, Paul Biggar, joined forces with the Edith Harbaugh, CEO of LaunchDarkly to create To Be Continuous, a show about Continuous Delivery and software development. Catch up with episodes 12, 13, 14, and 15 below, and follow the playlist on Soundcloud to be notified of new ones.

Background

Amazon’s Auto Scaling groups (ASG) are, in theory, a great way to scale. The idea is that you give them a desired capacity, and the knowledge of how to launch more machines, and they will fully automate spinning your fleet up and down as the desired capacity changes. Unfortunately, in practice, there are a couple key reasons that we can’t use them to manange our CircleCI.com fleet, one of the most important being that the default ASG termination policy kills instances too quickly. Since our instances are running builds for our customers, we can’t simply kill them instantly. We must wait for all builds to finish before we can terminate an instance.

CircleCI spent the last two days at the DeveloperWeek 2016 Conference and Expo, held at Pier 27. DeveloperWeek 2016 is San Francisco’s largest one-week tech event series with over 60 week-long events including the DeveloperWeek 2016 Conference & Expo, the DeveloperWeek Hackathon, Official Hiring Mixer, and dozens of city-wide partner events.

PromptWorks develops customized web and mobile applications for remarkable companies – ranging from startups to Fortune 50 – looking to improve the quality and polish of the software they use to interact with their customers. We help clients understand what’s possible, and our flexibility and insight saves them money. They come to us because, for a variety of reasons, they need to find a partner with the expertise and resources to get them through the product development process. The software we develop makes it possible for companies do what they need to do.

DeveloperWeek 2016 is San Francisco’s largest one-week tech event series with over 60 week-long events including the DeveloperWeek 2016 Conference & Expo, the DeveloperWeek Hackathon, Official Hiring Mixer, and dozens of city-wide partner events. The events epicenter at Pier 27, just blocks away from CircleCI’s San Francisco office, and many of our members of our team will be in attendance.

What is continuous deployment (CD), and how is it achieved? What common mistakes happen along the road to CD? How is continuous integration different from CD? These are the types of questions that keep us up at night, so we’ve partnered with Rainforest QA for our first webinar of 2016 to discuss how organizations can get to continuous deployment without compromising quality.

A few months ago, CircleCI Founder, Paul Biggar, joined forces with the Edith Harbaugh, CEO of LaunchDarkly to create To Be Continuous, a show about Continuous Delivery and software development. The show has continued to be a success, and covers a broad range of topics. Catch up with all nine previous episodes below, and follow the playlist on Soundcloud to be notified of new ones.

Available today, all our users have access to CircleCI’s new look. We’ve been working with our beta users on fine tuning our design over the past several weeks. We’ve listened to your requests and tried our best to address the most important items first. Thank you so much for providing us with great feedback and helping us improve our product. We’ll keep on working to improve your experience with CircleCI.

For those who tried our beta, the new look should feel smoother. You’ll notice we added back the function of collapsible repos in the left column. We heard lots of input from our beta users around our use of fonts, colors and whitespace.

So for those who are saying hello to our new look for the first time, here’s what’s new.

Over the last four years we’ve helped thousands of development teams ship better applications, faster. After hearing from customers that wanted a way to use CircleCI behind their own firewall, we set out to make that possible. We tested CircleCI Enterprise with dozens of customers, and we’re excited to announce that as of today, CircleCI Enterprise is generally available.

At CircleCI, iteration is one of our company’s core tenets. Most recently, we turned our attention inward and are proud to unveil our new UI, now available in public beta. Starting today all our users have the ability to opt-in to the new design with the click of a button.

As we grow, we are faced with the challenge to increase functionality while keeping our design simple and undisruptive. We have been working with our users, who are part of The Inner Circle (our private beta user group) adding features and making changes based directly on their feedback.

Today, CircleCI announced full support of Xcode 7.1.1 for OS X builds.

Full support for Xcode 7.1.1 allows OS X developers using CircleCI to build and test their code for iPhone, iPad, Mac and Apple Watch apps with the most current tools available. CircleCI previously supported Xcode 7.0.1.

Today we are happy to announce we shipped CircleCI Insights. Available for all paid and open source customers, Insights is an interactive visual dashboard enabling you to see and understand all your builds for CircleCI at a glance.

With CircleCI Insights, we help make sense of all your build data, clearly and in real time. Insights gives you the tools to dig deep into your build history and find the meaningful statistics to improve performance and keep your team shipping at an optimal pace.

I ❤️ ftrain. Few writers can capture the joy, poignancy, existential terror and profound connection at the heart of Internet culture, but Paul Ford (the real-live person behind ftrain.com, medium/@ftrain, and countless other Internet words) has the historical context and raw talent to consistently enthrall. As I sat down to write this post, I peeked over at his Medium blog and went down the rabbit hole, smiling like an idiot and laughing out loud as my coworkers moved desks outside the office I’m squatting in.

I just learned about the ldd command and I wanted to share it with you. This might be useful if you’re trying to get control over a messy project by putting it in a container. A project lacking strict attention to dependencies and automation from the beginning often ends up a mess (we know this from helping a lot of customers clean up their messes). Getting a project like this running from a base Docker image requires a lot of work to figure out which dependencies need to be installed. ldd will help you find those dependencies.

Earlier this month the CircleCI team made its way to Pier 70 for GitHub Universe. The event was awesome! It was great to be able to hear about all of the cool things that GitHub is working on as well as being able to chat with developers about some of the challenges they face in the CI space. We came away feeling really good about the future of GitHub and are excited to be a part of it.

Last week I traveled to Portland, Maine to attend what is, in my humble but inerrant opinion, the best developer conference in the country. Redmonk has always been way ahead of the curve in understanding how the technology industry really works, so it’s no surprise that their developer conference distills out the best parts of a technology conference and leaves the rest out.

It has been a very busy week in the world of mobile CI and CD. There’s a growing need for mobile support (both iOS and Android) with the announcement of GH Integrations Directory. Here is what we are doing to keep up with the iOS builds demand.

Recently, CircleCI Founder, Paul Biggar, joined forces with the Edith Harbaugh, CEO of LaunchDarkly to create To Be Continuous, a show about Continuous Delivery and software development. With four episodes well underway, the show covers a wide range of topics. You can follow the playlist on Soundcloud to be notified of new episodes, and to catch up with the first four while you’re waiting.

Last week the CircleCI Team was excited to sponsor the Tech Crunch Disrupt hackathon. We met a lot of awesome developers and it was great to be able to talk with them about testing, continuous integration, and continuous delivery. There were a lot of teams who tried out Circle for the first time, and a handful of folks who even used Circle in their hackathon entries.

It has been a little a over a year now since CircleCI began providing first-class Docker support. Docker Hub was brand-new at the time, and as with any new piece of tech, there was uncertainty about how exactly it would be received and adopted. Way back in mid-2014, there were minimal serious production hosting options, and Docker Hub was mostly a handy way to download and share base images, and maybe save yourself the headache of needing a Fortran compiler to install SciPy on your laptop.

As a TCD Hackathon sponsor, CircleCI is sponsoring a custom contest. The CircleCI team will reward the team with their favorite demo with a $1000 Apple gift card. All you need to do to be eligible is create an account on CircleCI and perform at least one build. Make sure to include your team’s GitHub usernames with your project submission. You can build any project to be eligible, but extra points may be awarded for using CircleCI extensively for your hackathon project.

There’s a bit of a cottage industry forming around updating the Joel Test or producing more purpose-specific variations of it. If you’re not familiar with the Joel test, it’s Joel Spolsky’s “irresponsibly quick” way of measuring the quality of a development team. I find these fascinating to read, and wanted to contribute one in the latter category— a Joel Test specifically for continuous delivery (the practice of delivering software in short cycles that can be released at any time).

Last week I wrote It’s the Future, a piece that satirized the container ecosystem, lightly mocking Docker and Google and CoreOS and a bunch of other technologies. Lots of Docker enthusiasts enjoying being the butt of the joke, but it was also much loved and shared by lots of people yelling “I told you this was all bullshit”.

Hey, my boss said to talk to you - I hear you know a lot about web apps?

-Yeah, I’m more of a distributed systems guy now. I’m just back from ContainerCamp and Gluecon and I’m going to Dockercon next week. Really excited about the way the industry is moving - making everything simpler and more reliable. It’s the future!

Containers have a huge amount of hype and momentum, and there are many spoils for whoever becomes dominant in the container ecosystem. The two major startups innovating in this space–CoreOS and Docker–have waged war on each other as part of gaining that control.

Our customers have been demanding mobile app testing and deployment support for a while now, and today we’ve done something about it. We acquired Distiller, a company focused on OS X testing and deployment—our first acquisition! We’ve incorporated their technology and expertise into CircleCI, and now you can use it to test your mobile apps!

About 3 years ago, nobody believed you could make money selling developer tools. In 2011, a very well known investor said, when talking about CircleCI, “it’s hard for startups to make a lot of money making developer tools.” After 3 years, it’s still a relatively common attitude amongst investors.

At CircleCI we live and breathe continuous integration and continuous deployment so we were pretty excited when Amazon Web Services (AWS) reached out to us with an early access preview of AWS CodeDeploy.

CircleCI’s recently open-sourced frontend is built in ClojureScript using Om. Combining Clojure’s functional primitives and React’s programming model yields a uniquely powerful approach to user interfaces. Previously complex features, such as efficient undo, become trivially simple to implement. The simple versions turn out to be even more powerful. You don’t just get efficient undo, you also gain the ability to serialize the entire state of your application to inspect, debug, or reload! While the promise of snapshotting app state has been part of Om’s story from the beginning, we’ve been working hard to take the concept the rest of the way from idea to reality.

Yesterday, Facebook released an initial draft specification for PHP. Written by a team of Facebook employees including a veteran of many specification committees, it looks like a serious effort to provide a needed specification to a language that has gone without it for a long time. So I thought I’d take a look and see if it was any good.

In yesterday’s “Vacations are for the weak”, Seth Bannon said: “Preventing burnout is part of your job. Staying well rested is part of your job.”

While we’re stating the obvious, I have another myth I’d like to put to rest: “Silence is for the weak”. Too many offices, managers, entrepreneurs and even other developers build offices full of noise and distractions, preventing developers from concentrating and doing our jobs.

As soon as we learned this, we immediately moved to protect user data as much as possible by shutting down our site and our builds, revoking any SSH keys and API tokens to which we had access, and working with upstream providers to revoke all compromised security tokens.

Last week^H^H^H^Hmonth we had our first UX week, where we spent the entire week focused strictly1 on UX, especially on the front-end UI. It went great – we fixed dozens of little things, and a number of big things, that affect you using Circle every day.

We have a very iterative approach to shipping software. We try to ship a minimum viable version of features and iterate from there. This is great for responding quickly to customers, and having great support. However, it has led to us putting out some working but unintuitive UX, and much of it is still there.

Allen and I headed down to Startup School on Saturday, to see a few startup lumiaries with 1600 of our closest friends. The speakers were incredible, and I wanted to share some of the more memorable quotes I took down.

Testing is bullshit. I never signed up for this. I learned to code so I could make things, to make the world a better place. Instead I spend half my time writing tests.

I test because I have to, but it hurts. I know my site will fall apart if I don’t have tests, but that hurts more. Why hasn’t coding progressed to the point where we can quickly push code out to customers without double checking everything?