How CircleCI Processes 4.5 Million Builds Per Month

42,232
CircleCI
CircleCI’s continuous integration and delivery platform helps software teams rapidly release code with confidence by automating the build, test, and deploy process. CircleCI offers a modern software development platform that lets teams ramp quickly, scale easily, and build confidently every day.

By Rob Zuber, CTO at CircleCI.



CircleCI Workflow


Background

CircleCI is a platform for continuous integration and delivery. Thousands of engineers trust us to run tests and deploy their code, so they can focus on building great software. That trust rests on a solid stack of software that we use to keep people shipping and delivering value to their users.

As CTO of Engineering at CircleCI, I help make the big technical decisions and keep our teams happy and out of trouble. Before this, I was CTO of Copious, where I learned a lot of important lessons about tech in service of building a consumer marketplace. I like snowboarding, Funkadelic, and viscous cappuccino.

The Teams

Engineers are people. People work better in small groups. So we’ve divided our team into several functional units, inspired by Spotify’s pods. We’re much smaller, so we’ve adapted their ideas to meet our needs, while maintaining the core principle that each team has the resources they need to implement a feature across the stack.

But we think of these teams as more of a guideline than actual rules, so folks are free to move around if it means they’ll be more engaged in the work. Flexibility is a key value at CircleCI: it has to be, with the majority of our engineers working remotely across multiple time zones. To keep everyone on the same page, we use Zoom for videoconferencing and screensharing and update statuses in Pingboard to keep track of who’s “in the office”.

We use JIRA to create consistency in our processes across teams. This consistency lets us stay more nimble if engineers ever need or want to switch teams. We use GitHub for version control and Slack for Giphy control. In addition to chat, we use Slack-based integrations with tools like Hubot, PagerDuty, and Looker to give us central access to many day-to-day tasks.

But you didn’t come here to read about how many Slack channels we have (241), you’re here to read about...

The Stack

Languages

Most of CircleCI is written in Clojure. It’s been this way since almost the beginning. While there were some early spikes in Rails, the passion of a sole developer won out; by the time CircleCI was released to the market, it was written entirely in Clojure and has been at our platform’s core ever since.

Our frontend used to be in CoffeeScript, but when Om made a single-page ClojureScript application viable, we opted for consistency and unification. This choice wasn’t that hard to make, given how much we enjoy using Clojure. Having a lingua franca also helps reduce overhead when engineers want to move between layers of the stack.

That doesn’t mean we won’t sharpen other tools when warranted. The build agent for our recently launched 2.0 platform is written in Go, which lets us quickly inject a multi-platform static binary into environments where we can’t lean on a bunch of dependencies. We also use Go for CLI tools where static dependency compilation and fast start-up are more important than our love of Clojure.

But as we pull microservices out of our monolith, Clojure remains our weapon of choice. We’ve already got over ten microservices, and that number is growing rapidly. A major part of this velocity stems from using Clojure, which ensures developers can rapidly move between teams and projects without climbing a huge learning curve.

The Frontend

Our web app’s UI is written in ClojureScript. Specifically, we’re using the framework Om, a ClojureScript interface to Facebook’s React. This is currently in some flux, since we’re upgrading to Om Next, an Om reboot which fixes a lot of its quirks. You can read more about why we’re so excited in this deep dive by one of our engineers, Peter Jaros.


CircleCI Screenshot


The Backend

Two Pools, Both Alike in Dignity

There are two major pools of machines: the first hosts our own services — the systems that serve our site, manage jobs, send notifications, etc. These services are deployed within Docker containers orchestrated in Kubernetes. In 2012, this configuration wasn’t really an option. As functional programmers, though, we were big believers in immutable infrastructure, so we went all in on baking AMIs and rolling them on code changes.

However, rounding boot times and charges to the hour made using full VMs slow and expensive; rolling deploys in Docker with Kubernetes is much more efficient. Kubernetes’ ecosystem and toolchain made it an obvious choice for our fairly statically-defined processes: the rate of change of job types or how many we need in our internal stack is relatively low.

On the other hand, our customers’ jobs are changing constantly. It’s challenging to dynamically predict demand, what types of jobs we’ll be running, and the resource requirements of each of those jobs. We found that Nomad excelled in this area. With a fast, flexible scheduler built-in, Nomad distributes customer jobs across our second pool of machines, reserved specifically for scheduling purposes.

While we did evaluate both Kubernetes and Nomad to do All These Things, neither tool was optimized for such an all-inclusive job. And we treat Nomad’s scheduling role as more a piece of our software stack than as a part of the management or ops layer. So we use Kubernetes to manage the Nomad servers.

We’ve also recently started using Helm to make it easier to deploy new services into Kubernetes. We’ve had to build a couple small services to string the full CD process together with Helm, while also keeping Kubernetes locked down — but the results have been great. We create a chart (i.e. package) for each service. This lets us easily roll back new software and gives us an audit trail of what was installed or upgraded.

Infrastructure

For the last five years, we’ve run our infrastructure on AWS. It started simply because our architecture was simple but evolved into a necessarily complex stack of Linked Accounts, VPCs, Security Groups, and everything else AWS offers to help partition and restrict resources. We’re also running across multiple regions. Our deep investment in AWS led to increasing assumptions in our code about how the software was being managed.

When we introduced CircleCI Enterprise (our on-prem offering), we started supporting a number of different deployment models. We also started separating ourselves further from the system by packaging our code in Docker containers and using cloud-agnostic Kubernetes to manage resources and distribution.

With a much lower level of vendor lock-in, we’ve gained the flexibility to push part of our workload to Google Cloud Platform (GCP) when it suits us. We chose GCP because it’s particularly well-suited for short-lived VMs. Today, if you use our machine executor to run a job, it will run in GCP. This executor type allocates a full VM for tasks that need it.

We’ve also wrapped GCP in a VM service that preallocates machines, then tears everything down once you’re finished. Using an entire VM means you have full control over a much faster machine. We’re pretty happy with this architecture since it smooths out future forays into other platforms: we can just drop in the Go build agent and be on our merry way.

Communication with Frontend

When the frontend needs to talk to the backend, it does so via a dedicated tier of API hosts. These API hosts are also managed by Kubernetes, albeit in a separate cluster to increase isolation. Nearly all our APIs are public, which means we’re using the same interfaces available to our customers. The value of dogfooding your APIs can’t be overstated: it’s enabled us to keep the APIs clean and spot errors before our users find them.

If you’re interacting with our web application, then all of your requests are hitting the API hosts. The majority of our authentication is handled via OAuth from GitHub or Bitbucket. Once you’ve authenticated, you can also generate an API token to get programmatic access to everything we expose in the UI.

Our API hosts once accepted webhooks from GitHub and Bitbucket, but we’ve recently extracted that into its own service. Using a cleanly-separated service that dumps hooks into RabbitMQ allows us to more easily respond to a large array of operational issues. When version control system (VCS) providers are recovering from their own issues, we’ve seen massive spikes in hooks. Now we’re well equipped to deal with that.

Data! Data! Data!

Our primary datastore is MongoDB. We made this decision in CircleCI’s early days — lured like so many others by the simplicity of “schemaless” storage and rapid iteration. Having peaked at over 10TB of bloated storage in MMAP, along with painful, outage-inducing DB-level locks in Mongo 2.4, we’re happy to see progress being made in WiredTiger. Our operations have greatly improved, but we’re still suffering from a legacy of poorly-enforced schemas on a dataset too large to clean efficiently.

So we’re retreating to the structure of PostgreSQL. We’ve got a great opportunity for this migration as we build microservices with their own datastores. We’re also using Redis to cache data we’d never store permanently, as well as to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We’re well beyond the scale where we could just dump this kind of stuff in a database. We handle any side-effects of S3’s eventual consistency model within our code to ensure that we deal with user requests correctly while writes are in process.

A Build is Born

When we process a webhook from GitHub/Bitbucket telling us that a user pushed some new code, we use the information to create a new build or workflow representation in our datastores, then queue it for processing. In order to get promoted out of this first queue, the organization needs to have enough capacity in its plan to run the build/workflow.

If you’re a customer using all your containers, no new builds or workflows are runnable until enough containers free up. When that happens, we’ll pass the definition of the work to be performed to Nomad, which is responsible for allocating hardware for the work’s duration.

Running the Build

The gritty details of processing a build are executed by the creatively named build agent. It parses configuration, executes commands, and synthesizes actions that create artifacts and test results. Most builds run in a Docker container, or set of containers, which is defined by the customer for a completely tailored build environment.


CircleCI Screenshot


The build agent streams the results of its work over gRPC to the output processor, a secure facade that understands how to write to all our internal systems. This facade approach allows our 1.0 and 2.0 platforms to coexist.

In order to get this live streaming data to your browser, we use WebSockets managed by Pusher. We also use this channel to deliver state change notifications to the browser, e.g. when a build completes. We also store small segments temporarily in Redis while we collect enough to write permanently to S3.

A Hubot Postscript

We have added very little to the CoffeeScript Hubot application – just enough to allow it to talk to our Hubot workers. The hubot workers implement our operational management functionality and expose it to Hubot so we can get chat integration for free. We’ve also tailored the authentication and authorization code of Hubot to meet the needs of roles within our team.

For larger tasks, we’ve got an internal CLI written in Go that talks to the same API as Hubot, giving access to the same functionality we have in Slack, with the addition of scripting, piping, and all of our favorite Unix tools. When the Hubot worker recognizes the CLI is in use, it logs the commands to Slack to maintain visibility of operational changes.

Analytics & Monitoring

Our primary source of monitoring and alerting is Datadog. We’ve got prebuilt dashboards for every scenario and integration with PagerDuty to manage routing any alerts. We’ve definitely scaled past the point where managing dashboards is easy, but we haven’t had time to invest in figuring out their more anomalous features. Nor the willingness to trust that it will just work for us. We capture any unhandled exceptions with Rollbar and, if we realize one will keep happening, we quickly convert the metrics to point back to Datadog, to keep Rollbar as clean as possible. We’re also using LaunchDarkly to safely deploy new and/or incomplete features behind feature flags.

We use Segment to consolidate all of our trackers, the most important of which goes to Amplitude to analyze user patterns. However, if we need a more consolidated view, we push all of our data to our own data warehouse running Postgres; this is available for rapid analytics and dashboard creation through Looker. Many engineers who want to do their own analysis use tools they’re comfortable with, which includes sed and awk but also Pandas and R.

TL; DR

One of the great things about being a CI/CD company is that we get to practice what we preach. Instead of long dry spells between releases, we push several changes per day to keep our feedback loops short and our codebase clean. We’re small enough that we can move quickly, but large enough that our teams have the resources they need.

This is our stack today. As our customers deal with more complex problems, we’ll adapt and adopt new tools to deal with emerging tech. It’s all very exciting, and we can’t wait to see what the future holds.

While we wait for the future, though, there’s no reason you should be waiting for good code. Start building on CircleCI today and ship your code faster. Or come work with us and help us ship our own code faster.

P.S. If you're already a CircleCI customer, head over to our community site and share your stack to get some free swag.


CircleCI Workflow


CircleCI
CircleCI’s continuous integration and delivery platform helps software teams rapidly release code with confidence by automating the build, test, and deploy process. CircleCI offers a modern software development platform that lets teams ramp quickly, scale easily, and build confidently every day.
Tools mentioned in article
Open jobs at CircleCI
Interested in CircleCI Career? Join O...
Japan
<p><span style="font-weight: 400;">Stay connected by joining our Talent Network!&nbsp;</span></p> <p><span style="font-weight: 400;">If we currently do not have any opportunity available that aligns with your career goals or are just curious about hearing more about working at CircleCI Japan, please feel free to submit your resume/Linkedin URL to our Talent Network! We will review all applicants on a regular basis and we will reach out to you when the timing is right or have our casual conversation.&nbsp;</span></p> <p><span style="font-weight: 400;">We look forward to staying connected with you as we will continue to grow and expand our business!</span></p> <p><span style="font-weight: 400;">弊社のキャリアネットワークへ登録しませんか?</span></p> <p><span style="font-weight: 400;">現時点で希望する職種での募集がないけれど、チャンスがあれば今後CircleCIの選考チャレンジしたい方やCircleCIへのキャリアに興味がある方、是非お気軽にレジュメもしくはLinkedin URLを是非ともご登録ください!その後、都度、カジュアル面談・選考の打診をさせていただく流れとなります。</span></p> <p><span style="font-weight: 400;">特定の職種に限定することなくご登録いただけますので、CircleCIキャリアの可能性やキャリア形成についてお伺いしたい方は是非お気軽にご登録ください。</span></p> <p><strong>Prospect positions we are seeking in the future</strong></p> <p><strong>将来募集が検討されるポジション一覧;</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Account Executive, SMB &amp; Enterprise industries</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Account Executive, APAC regions</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Sales Development Representative, Japan or APAC</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Customer Success Representative</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Marketing</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Support Technical Engineer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">DevOps Engineer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Solutions Engineer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Full Stack Engineer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Back-end Engineer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Front-end Engineer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Product Manager</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Project Manager</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Infrastructure Engineer&nbsp; &nbsp; Others...</span></li> </ul> <p><strong>Please note below your registration;</strong></p> <p><span style="font-weight: 400;">*This is not the official application. If you are interested in applying right away, please go to each opening job posting page. The recruiter will check your resume and if we find our jobs that will match with your experience and interests, we will contact you within 2 weeks. If you haven’t received any contact from us, please note that we don’t have any matching positions but we will update you if a position becomes available that is a match to your profile.&nbsp;</span></p> <p><span style="font-weight: 400;">こちらは正式応募ポジションではございません。もし正式な応募をご希望される際は、該当する募集ページからの応募をお願い致します。また、マッチングする募集ポジションがあった場合、2週間以内にリクルーターからポジションのご案内のご連絡を差し上げます。3週間経過しても連絡がなかった場合は、恐れ入りますが現時点でご提案できるポジションが無いとのことでご理解いただけましたら幸いです。その様な場合でも、カジュアルミーティングセッションの実施や月毎に最新情報を配信予定ですので是非チェックください!</span></p> <p><span style="font-weight: 400;">*Please note that this registration is </span><strong><em>only for people who have Japanese residency and who are eligible to work in Japan currently.</em></strong></p>
Join our Engineering Talent Community!
North America & Canada
<p>CircleCI is looking for Senior Software Engineers and Staff Software Engineers across all levels. As a globally distributed software engineering team spread across North America, Europe, and Asia, we are building a culture that values diversity, inclusion, action orientation, and openness. If you are interested in hearing about careers at CircleCI, please apply!</p> <p>&nbsp;</p> <h2><strong>About CircleCI</strong></h2> <p>CircleCI is the world’s largest shared continuous integration and continuous delivery (CI/CD) platform, and the central hub where code moves from idea to delivery. As one of the most-used DevOps tools that processes more than 1 million builds a day, CircleCI has unique access to data on how engineering teams work, and how their code runs. Companies like Spotify, Coinbase, and BuzzFeed use us to improve engineering team productivity, release better products, and get to market faster.&nbsp;</p> <p>Founded in 2011 and headquartered in downtown San Francisco with a global, remote workforce, CircleCI is venture-backed by Base10, Greenspring Associates, Eleven Prime, IVP, Sapphire Ventures, Top Tier Capital Partners, Baseline Ventures, Threshold Ventures, Scale Venture Partners, Owl Rock Capital, Next Equity Partners, Heavybit and Harrison Metal Capital.</p> <p>CircleCI is proud to be an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law.</p>
Staff Software Engineer
Paris
<h2><strong>About CircleCI Developer Experience department (CircleCI France, ex-Ponicode)</strong></h2> <p>In the CircleCI Developer Experience team, our mission is to invent and implement products that will become the new standards for the SW Engineering industry. The team comes from the fusion of two amazing companies (CircleCI and Ponicode) that share the same mission: handle change so software teams can innovate faster thanks to sustainable innovation.</p> <p>Ponicode was acquired by CircleCI in March 2022. Since then, we have been growing our team of passionate engineers (Software Developers and Data Scientists) in order to fulfill our new role: build products that help developers ship better code faster. Our mission in the Developer Experience Team is to drive the “shift left” in software development, by providing developers with feedback as early as possible so that they can ship code confidently and fast.</p> <p>Today, this means building CLI tools and IDE extensions that make it easier for developers to access rapid CI validation without disrupting their work flow.</p> <p>We measure our success as a team by monitoring both raw usage metrics and user-value driven metrics.</p> <p>The CircleCI Developer Experience department is based in Paris (France), and offers flexible working hours and the possibility of remote work within the Paris time zone (CEST).</p> <h1>What you will do</h1> <h2><strong>Full-Stack development</strong></h2> <p>Our stack is mainly Typescript with heavy typing usage (both in Back-End and Front-End). We are also progressively moving some of our microservices to Go, in order to best adapt to CircleCI’s stack and processes. We use React (with Typescript) for our front-ends.</p> <p>Your capacity to bring your experience when it comes to implementing robust, scalable and bug-free code will be a key asset in the Developer Experience team.</p> <h2><strong>Product Management (Very Nice to have, ratio depending on what you love)</strong></h2> <p>At CircleCI France we have a great opportunity: we develop THE products we’d love to use by ourselves everyday, every time. No one is better placed than developers to define what tools developers would love to use every day. Long-in-short, we deeply believe that the tech team should be deeply involved and contribute to the product definition, rather than entirely delegating the task to a faraway Product Management Team who are not themselves users of the product. Your ability to bring a fact-based vision to the table and validate your assumptions with our product managers is very important to us. We love engineers ready to share their experience and insights about product strategy.</p> <h2><strong>DevOps / Cloud dimension (Nice to have, ratio depending on what you love)</strong></h2> <p>The more the product grows, the more devops and infrastructure challenges we will face. In order to start dealing with this matter, we would like you to be able to bring DevOps knowledge and maintain an infra task backlog. If the subject interests you, there is a big space to jump-in and grow. The minimum requirement for this position is for you to understand the challenges and key concepts of a multi-cloud scalable infrastructure. We are as much as possible cloud-provider agnostic.</p> <h1>What you will find</h1> <p>As a Staff Software Engineer, you will not only revolutionize the way developers code, but you will specifically deep dive into the mechanics of the different programming languages. You will have to be creative and meet many challenges along with the team.</p> <h2><strong>Tech challenges:</strong></h2> <ul> <li>How to create multi-language and multi-framework compatible solutions</li> <li>How to build multi-IDEs compatible extensions / plugins</li> <li>How to parse large amounts of code with amazing performance</li> <li>How to implement algorithms that are able to understand and generate code</li> </ul> <h2><strong>Product and strategy challenges:</strong></h2> <ul> <li>How to think out-of-the-box to invent the development tools that will be used by all developers and last over the coming 10(000) years?</li> <li>How to shape a Product strategy based on the market trends, the developers feedbacks and our deep convictions as engineers and users?</li> </ul> <h1>What we are looking for in you</h1> <ul> <li>You are collaborative, open-minded, and looking to continue to develop your craft</li> <li>You are user centric and want every minute you spend at work to be of benefit to our users</li> <li>You are results oriented. You don’t consider your work or the work of your team to be done before it reaches the target that has been defined. You do whatever is required and take all the initiatives to reach this target</li> <li>You’re both a pragmatic and innovative person. You love thinking out of the box, while you always choose fast-result way</li> <li>You're experienced at pairing and mentoring</li> <li>You have a strong leadership attitude. You love helping your folks grow and improve. Having most of the people in your team over-perform their objectives is a driver for you</li> <li>You are proud of the code you produce; you do your best to apply clean code guidelines: it’s obvious, concise, tested and self-understandable / documented.</li> <li>Your mantra is to leave the code better than you found it</li> <li>You see writing tests as an integral part of the development process and understand the benefit of writing code and tests in small increments.</li> </ul> <h1>What you will use</h1> <ul> <li>Lots of Typescript (Back and Front), with Node.js and React</li> <li>Go (Growing)</li> <li>PostgreSQL</li> <li>Docker / K8s</li> <li>Azure / AWS cloud / GCP</li> </ul> <h1>What you will have</h1> <ul> <li>Attractive salary (based on experience) and regular reviews of your compensation package</li> <li>Stock options, because we like to offer all our employees a stake in our success</li> <li>Good French health insurance</li> <li>50% reimbursement of transport expenses (if you are based in Paris)</li> <li>An experienced and caring team (<a href="https://www.ponicode.com/blog/50-reasons-why-you-should-join-ponicode" target="_blank">50 reasons why you should join Ponicode</a>)</li> <li>Great office available at Châtelet - Les Halles + international network of coworking Spaces</li> <li>Flexible working hours with remote allowed (in the CEST time zone)</li> </ul> <h2><strong>CircleCI Engineering Competency Matrix: </strong></h2> <p>The<a href="https://drive.google.com/file/d/1F3xzmbdsMvfDZwZesvxcEIIBn2TmI4sg/view" target="_blank"> Engineering Competency Matrix</a> is our internal career growth system for engineers. This position is level E4. If you’re not sure this is you, we encourage you to apply. Find more about the matrix in this<a href="https://circleci.com/blog/why-we-re-designed-our-engineering-career-paths-at-circleci/" target="_blank"> blog post</a>.</p> <p>We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.</p> <h2><strong>About CircleCI</strong></h2> <p>CircleCI is the world’s largest shared continuous integration/continuous delivery (CI/CD) platform, and the hub where code moves from idea to delivery. As one of the most-used DevOps tools - processing more than 1 million builds a day - CircleCI has unique access to data on how engineering teams work, and how their code runs. Companies like Spotify, Coinbase, and BuzzFeed use us to improve engineering team productivity, release better products, and get to market faster.</p> <p>Founded in 2011 and headquartered in downtown San Francisco with a global, remote workforce, CircleCI is venture-backed by Base10, Greenspring Associates, Eleven Prime, IVP, Sapphire Ventures, Top Tier Capital Partners, Baseline Ventures, Threshold Ventures, Scale Venture Partners, Owl Rock Capital, Next Equity Partners, Heavybit and Harrison Metal Capital.</p> <p>CircleCI is an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law.</p>
IT Systems Engineer
(United States)
<p><strong>IT Systems Engineer</strong></p> <p>What level of work-experience should this person have?</p> <ul> <li>At least three years of experience in IT-related role performing engineering or systems administration tasks.</li> </ul> <p>What skills are required for this role?</p> <ul> <li>API, integration, and automation (Boomi, Workato, Fivetran)</li> <li>Scripting or programming language experience (Python, Ruby, PHP)</li> <li>Provisioning and administration of SaaS products (Okta, Google Workspace, Atlassian, etc.)</li> <li>User and identity management (Okta, Azure/AD, LDAP)</li> <li>Asset and device management (Jamf, Intune)</li> </ul> <p>What additional skills are desired for this role?</p> <ul> <li>Information security, audit, compliance</li> <li>Disaster recovery / Business continuity</li> </ul> <p>How will this position progress (career path)?</p> <ul> <li>The IT Systems engineer is a mid-level technical position, typically progressing to more advanced technical roles and specializations within IT, including various domain engineer and architect roles.</li> </ul> <p>What does this role do on a day-to-day basis?</p> <ul> <li>Build and maintain integrations and automations for various systems and business needs</li> <li>Supervising systems and resolving system issues to ensure reliable operation</li> <li>Provide advanced support to our desktop team for sophisticated issues</li> <li>Administer key infrastructure and systems that support business activities</li> </ul> <p>What are some examples of projects that this role may work on?</p> <ul> <li>Connecting and integrating disparate business systems to support high-level business processes</li> <li>Engage with various teams to automate business workflows</li> <li>Configure and maintain a variety of enterprise SaaS products and related systems</li> </ul> <p>What are the personality traits that this role needs?</p> <ul> <li>An attention and passion for detail</li> <li>Strong desire to identify and resolve complex problems</li> <li>A competent and thoughtful communicator, both written and verbal</li> <li>Eagerness to learn and share knowledge</li> </ul> <p>What are the expectations of this role?</p> <ul> <li>Typical work days are Monday thru Friday. Occasional project responsibilities may require work outside these hours, though not common.</li> </ul> <p>We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.</p> <h2><strong>About CircleCI</strong></h2> <p>CircleCI is the world’s largest shared continuous integration/continuous delivery (CI/CD) platform, and the hub where code moves from idea to delivery. As one of the most-used DevOps tools - processing more than 1 million builds a day - CircleCI has unique access to data on how engineering teams work, and how their code runs. Companies like Spotify, Coinbase, and BuzzFeed use us to improve engineering team productivity, release better products, and get to market faster.</p> <p>Founded in 2011 and headquartered in downtown San Francisco with a global, remote workforce, CircleCI is venture-backed by Base10, Greenspring Associates, Eleven Prime, IVP, Sapphire Ventures, Top Tier Capital Partners, Baseline Ventures, Threshold Ventures, Scale Venture Partners, Owl Rock Capital, Next Equity Partners, Heavybit and Harrison Metal Capital.</p> <p>CircleCI is an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law.</p> <p>&nbsp;</p> <p>Salary Range: "$101,000-$120,000"</p> <p>&nbsp;</p>
Verified by
Developer Evangelist
Support Engineer
Vice President of Marketing
Technical Content Marketing Manager
Head of DevRel & Community
You may also like