<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xml:base="https://circleci.com/"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The CircleCI Blog Feed - CircleCI</title>
    <description>Stay up to date with the latest news, updates, and hacks from CircleCI.</description>
    <link>https://circleci.com/blog/</link>
    <atom:link href="https://circleci.com/blog/feed.xml" rel="self" type="application/rss+xml" />
    
      
      <item>
        <title>How We Interview Engineers at CircleCI</title>
        <link>https://circleci.com/blog/how-we-interview-engineers-at-circleci/</link>
        <pubDate>Thu, 22 Mar 2018 13:38:00 -0700</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/how-we-interview-engineers-at-circleci/</guid>
        
          <dc:creator>Jeff Palmer</dc:creator>
        
        
          <description>&lt;p&gt;Since the beginning of 2018, we have had over a thousand candidates pass through the engineering hiring process. Our engineering interview consists of four stages following an initial screen. We broke down the percentages of candidates that pass through each stage of our hiring process, and it looks like this.&lt;/p&gt;

&lt;p&gt;Out of any group of 1000 applicants:&lt;/p&gt;

&lt;p&gt;250 will pass the initial screen.&lt;br /&gt;
117 will pass the hiring manager phone screen.&lt;br /&gt;
44 will pass the micro-skills assessment portion of the interview.&lt;br /&gt;
7 will pass the macro-skills assessment.&lt;br /&gt;
Fewer than 3 will pass the on-site interview and receive offers.&lt;/p&gt;

&lt;p&gt;Following our &lt;a href=&quot;https://circleci.com/blog/we-raised-our-series-c-what-s-next/&quot;&gt;Series C&lt;/a&gt;, we’ve ramped up our hiring further, building on what we’ve learned so far. We’ve been talking a lot internally lately about how we interview, and thought folks might be interested in what our interview process looks like for engineering roles, and why.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>CircleCI and Snapcraft: Everything You Need to Know</title>
        <link>https://circleci.com/blog/circleci-and-snapcraft/</link>
        <pubDate>Fri, 16 Mar 2018 03:00:00 -0700</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/circleci-and-snapcraft/</guid>
        
          <dc:creator>Ricardo N Feliciano</dc:creator>
        
        
          <description>&lt;p&gt;&lt;a href=&quot;https://snapcraft.io&quot;&gt;Snapcraft&lt;/a&gt;, the package management system fighting for its spot at the Linux table, re-imagines how you can deliver your software. A new set of cross-distro tools are available to help you build and publish “Snaps”. We’ll cover how to use CircleCI 2.0 to power this process and some potential gotchas along the way.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>How a Seemingly Simple Logging Problem Turned into a Bear Trap: Lessons Learned</title>
        <link>https://circleci.com/blog/how-a-simple-logging-problem-turned-into-a-bear-trap-lessons-learned/</link>
        <pubDate>Thu, 15 Mar 2018 02:41:00 -0700</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/how-a-simple-logging-problem-turned-into-a-bear-trap-lessons-learned/</guid>
        
          <dc:creator>Alexander Mann</dc:creator>
        
        
          <description>&lt;p&gt;&lt;img src=&quot;/blog/media/BearTrap.jpg&quot; alt=&quot;BearTrap.jpg&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“Developers are drawn to complexity like moths to flame, frequently with the same result. Puzzle solving is fun, and developers are problem solvers. Who doesn’t like the rush of solving some incredibly complex problem? In large-scale software, though, removing accidental complexity while retaining the solution to the essential complexity is challenging.”
&lt;a href=&quot;http://97things.oreilly.com/wiki/index.php/Simplify_essential_complexity;_diminish_accidental_complexity&quot;&gt;Neal Ford&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I have been coding in Clojure for almost 4 years now. I have been fighting with logging in Clojure for almost 4 years now. This is not something for which Clojure is solely to blame, but it is something that seems to often suffer &lt;a href=&quot;http://winestockwebdesign.com/Essays/Lisp_Curse.html&quot;&gt;the Lisp Curse&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This past year, while working in a field of green (ie, building &lt;a href=&quot;https://circleci.com/docs/2.0/contexts/&quot;&gt;Contexts&lt;/a&gt;), I was once again confronted with a “simple” problem in the realm of logging…namely we were spitting out all of our secrets. Figuring this was probably enough to block launching it publicly, my team took some time to dig deeper and hunt down the errant class writing all of our requests to &lt;code class=&quot;highlighter-rouge&quot;&gt;stdout&lt;/code&gt;.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>CircleCI: Helping Intuit Teams Save 40% (or more) on CI/CD</title>
        <link>https://circleci.com/blog/circleci-helping-intuit-teams-save-40-or-more-on-ci-cd/</link>
        <pubDate>Tue, 06 Mar 2018 08:53:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/circleci-helping-intuit-teams-save-40-or-more-on-ci-cd/</guid>
        
        
          <description>&lt;p&gt;This post was originally published on &lt;a href=&quot;https://quickbooks-engineering.intuit.com/circleci-helping-intuit-teams-save-40-or-more-on-ci-cd-42eb23bf7313&quot;&gt;Intuit Quickbooks’ engineering blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/blog/media/DockerCI.png&quot; alt=&quot;DockerCI.png&quot; /&gt;
&lt;i&gt;Docker on CI is powerful&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;CircleCI has an amazing set of features in a simple package that allows our developers to move faster than ever before. Coming from our old build system, we wanted to push Circle to the limits such that we could squeeze as much speed out of it as possible.&lt;/p&gt;

&lt;h2 id=&quot;goals&quot;&gt;Goals&lt;/h2&gt;
&lt;ol&gt;
  &lt;li&gt;Be as small as possible&lt;/li&gt;
  &lt;li&gt;Be reliable/reproducible&lt;/li&gt;
  &lt;li&gt;Be fault tolerant&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From the outset, we wanted to make sure that we could build at scale with the least amount of friction possible. That meant embracing open source, and interweaving it our internal solutions. At each step of our build process, we focused on these things.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>We’re Sunsetting CircleCI 1.0: August 31, 2018 is the Final Day for 1.0 Builds</title>
        <link>https://circleci.com/blog/sunsetting-1-0/</link>
        <pubDate>Tue, 27 Feb 2018 08:08:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/sunsetting-1-0/</guid>
        
          <dc:creator>Matt Wyman</dc:creator>
        
        
          <description>&lt;p&gt;&lt;strong&gt;TL;DR: After August 31, 2018, CircleCI 1.0 will no longer be available for Linux and macOS users. You can find guides for transitioning from 1.0 to 2.0 and a full timeline on planned changes &lt;a href=&quot;https://circleci.com/sunset1-0/&quot;&gt;here&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We launched CircleCI 2.0 for general availability in July 2017, providing users with increased flexibility, power, and control. Since then, build times on both our Linux and macOS fleets have been dramatically reduced. We’ve been able to handle increasing numbers of users and jobs, while simultaneously decreasing average job time across every language we serve. The addition of Workflows in 2.0 has also made it possible to match your pipeline to your team’s needs.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>A Brief History of DevOps, Part IV: Continuous Delivery and Continuous Deployment</title>
        <link>https://circleci.com/blog/a-brief-history-of-devops-part-iv-continuous-delivery-and-continuous-deployment/</link>
        <pubDate>Mon, 26 Feb 2018 08:57:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/a-brief-history-of-devops-part-iv-continuous-delivery-and-continuous-deployment/</guid>
        
          <dc:creator>Alek Sharma</dc:creator>
        
        
          <description>&lt;p&gt;&lt;img src=&quot;/blog/media/HistoryofSoftwareDev-Blue.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;(This is part four of a four-part series. Read parts &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-i-waterfall/&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-ii-agile-development/&quot;&gt;two&lt;/a&gt;, and &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-iii-automated-testing-and-continuous-integration/&quot;&gt;three&lt;/a&gt; here.)&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;This is it, folks: the final chapter in our epic trek through the history of DevOps! Last time, we talked about how the Agile movement gave rise to the more defensive practices of automated testing and continuous integration. This time, we’ll be discussing the progression of that theme with &lt;strong&gt;continuous delivery&lt;/strong&gt; and &lt;strong&gt;continuous deployment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Admittedly, the introduction of two more “continuous” terms is a bit confusing, especially because the lines between one term and the next are so blurry; it doesn’t help that they are recent developments and could be renamed &lt;strong&gt;at any moment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But fear not! We’re well-equipped to deal with this kind of volatility and will tread carefully. At this point in our saga, “history” is hardly even the right word for what we’re discussing. What we’re really talking are &lt;strong&gt;current events&lt;/strong&gt;, which is very exciting but also much squishier than more concrete subjects like &lt;strong&gt;&lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-i-waterfall/&quot;&gt;waterfall development&lt;/a&gt;&lt;/strong&gt; or &lt;strong&gt;&lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-ii-agile-development/&quot;&gt;Agile methodology&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>Preserve Build Integrity and Prevent Future Problems with Deterministic Builds</title>
        <link>https://circleci.com/blog/preserve-build-integrity-prevent-problems-deterministic-builds/</link>
        <pubDate>Thu, 22 Feb 2018 06:00:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/preserve-build-integrity-prevent-problems-deterministic-builds/</guid>
        
          <dc:creator>Ricardo N Feliciano</dc:creator>
        
        
          <description>&lt;p&gt;&lt;img src=&quot;/blog/media/DeterministicBuilds.png&quot; alt=&quot;DeterministicBuilds.png&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;why-are-deterministic-builds-important&quot;&gt;Why are Deterministic Builds Important?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Reproducibility and reliability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most common thing a customer will say in a support ticket is that their builds are suddenly failing even though “nothing has changed” on their end. &lt;a href=&quot;https://circleci.com/blog/troubleshooting-unexplained-build-failures-the-mysterious-case-of-nothing-changed/&quot;&gt;This is almost never true&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this post, I want to talk about deterministic builds. The idea here is to reduce as many changing parts as possible within a build. This means fewer mysterious failing builds, fewer support tickets (for you and us), and perhaps identically reproducing that accidentally deleted binary by simply re-running the build.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>Headless Chrome for More Reliable, Efficient Browser Testing</title>
        <link>https://circleci.com/blog/headless-chrome-more-reliable-efficient-browser-testing/</link>
        <pubDate>Thu, 15 Feb 2018 06:40:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/headless-chrome-more-reliable-efficient-browser-testing/</guid>
        
          <dc:creator>Zachary Scott</dc:creator>
        
        
          <description>&lt;p&gt;&lt;img src=&quot;/blog/media/HeadlessChromev3.jpg&quot; alt=&quot;HeadlessChromev3.jpg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;chrome-and-punishment-browser-tests-and-you&quot;&gt;Chrome and Punishment: Browser Tests and You&lt;/h3&gt;

&lt;p&gt;Browser testing is a popular strategy for web application developers to verify their programs from the user’s perspective.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;With the release of Headless Chrome, there is hope.&lt;/p&gt;

&lt;p&gt;Let’s explore why this is a problem and how Chrome helps to solve it.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>How Open Listings Uses CircleCI to Scale Rapidly and Ship Safely</title>
        <link>https://circleci.com/blog/how-open-listings-uses-circleci-to-scale-rapidly-and-ship-safely/</link>
        <pubDate>Tue, 06 Feb 2018 09:22:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/how-open-listings-uses-circleci-to-scale-rapidly-and-ship-safely/</guid>
        
        
          <description>&lt;p&gt;The following is a guest post by the team at Open Listings: Kevin Miller, Director of Growth, and Alex Farrill, CTO.&lt;/p&gt;

&lt;h3 id=&quot;i-the-challenge-prior-to-circleci&quot;&gt;I. The Challenge Prior To CircleCI&lt;/h3&gt;

&lt;p&gt;At &lt;a href=&quot;https://www.openlistings.com/feed&quot;&gt;Open Listings&lt;/a&gt;, we’re a scrappy and passionate team focused on an ambitious mission: making homebuying simple and affordable. Our product is fairly complex, as it has to address homebuyers’ different needs through each distinct step of the homebuying process. There’s no practical way to support all these use cases without thorough automated testing.&lt;/p&gt;

&lt;p&gt;Fortunately, we’ve been serious about automated testing from commit one. We run unit tests in Ruby that test our algorithms for things like dispatching agents to properties, along with how the application interacts with our MongoDB database; Ruby functional tests that test our API responses; end to end integration tests with capybara, phantomjs, and Selenium; and front end javascript tests with Jest that test our React.js code. Our tests run in a Docker container that is as close as possible to the environment we run in production on Amazon AWS.&lt;/p&gt;

</description>
        
      </item>
    
      
      <item>
        <title>A Brief History of DevOps, Part III: Automated Testing and Continuous Integration</title>
        <link>https://circleci.com/blog/a-brief-history-of-devops-part-iii-automated-testing-and-continuous-integration/</link>
        <pubDate>Thu, 01 Feb 2018 07:06:00 -0800</pubDate>
        <guid isPermaLink="true">https://circleci.com/blog/a-brief-history-of-devops-part-iii-automated-testing-and-continuous-integration/</guid>
        
          <dc:creator>Alek Sharma</dc:creator>
        
        
          <description>&lt;p&gt;&lt;img src=&quot;/blog/media/HistoryofSoftwareDev-Purple.jpg&quot; alt=&quot;HistoryofSoftwareDev-Purple.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;(This is part three of a four-part series. Read parts &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-i-waterfall/&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-ii-agile-development/&quot;&gt;two&lt;/a&gt;, and &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-iv-continuous-delivery-and-continuous-deployment/&quot;&gt;four&lt;/a&gt; here.)&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Welcome back, dear reader, to our ongoing journey through the rich history of DevOps! In the &lt;a href=&quot;https://circleci.com/blog/a-brief-history-of-devops-part-ii-agile-development/&quot;&gt;last chapter&lt;/a&gt;, we discussed the many movements that led to Agile methodology. Towards the end, we foreshadowed how constant validation would play a role in this chapter.&lt;/p&gt;

&lt;p&gt;Now that foreshadowing is coming to light! This time, we’ll be discussing two processes near and dear to our hearts: automated testing and continuous integration.&lt;/p&gt;

</description>
        
      </item>
    
  </channel>
</rss>
