{"id":2142971,"url":"https://alion.io/job/factorial-senior-devops-engineer-cicd-platform-developer-experience-3","title":"Senior DevOps Engineer, CI/CD Platform (Developer Experience)","company":{"id":53702,"name":"Factorial","domain":"factorialhr.com","url":"https://alion.io/company/factorial","size_band":"51-200","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Factorial","truth_index":{"grade":"A","score":95,"open_postings":120,"ghost_share":0,"stale_share":0,"repost_share":0,"time_to_fill_p50_days":567,"computed_at":"2026-10-14T06:34:16Z"}},"role":"DevOps","role_family":"DevOps","seniority":"senior","employment_type":null,"work_mode":"remote","remote_scope":"stated_countries","remote_scope_basis":"board_field","remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Madrid, Spain"],"countries":["ES"],"hiring_countries":["ES"],"hiring_countries_total":1,"salary":null,"salary_estimate":{"min_usd":51000,"max_usd":99000,"period":"year","method":"role_seniority_country_cell","sample_n":16},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"ArgoCD","optional":false},{"name":"Bash","optional":false},{"name":"CI/CD","optional":false},{"name":"ClickHouse","optional":false},{"name":"containerd","optional":false},{"name":"Docker","optional":false},{"name":"GitHub Actions","optional":false},{"name":"GitOps","optional":false},{"name":"Go","optional":false},{"name":"Helm","optional":false},{"name":"Kubernetes","optional":false},{"name":"Kustomize","optional":false},{"name":"Linux","optional":false},{"name":"MySQL","optional":false},{"name":"OpenTelemetry","optional":false},{"name":"Prometheus","optional":false},{"name":"Python","optional":false},{"name":"Redis","optional":false},{"name":"Ruby on Rails","optional":false},{"name":"Terraform","optional":false},{"name":"AWS","optional":true},{"name":"Azure","optional":true},{"name":"Cilium","optional":true},{"name":"Cloudflare","optional":true},{"name":"Ruby","optional":true}],"status":"live","first_seen_at":"2026-07-23T00:00:00Z","employer_posted_date":"2026-10-09","last_verified_at":"2026-10-14T08:26:48Z","board_verified":true,"closed_at":null,"days_open":83,"trust":{"level":"ok","repost_count":0,"flags":["company_stale"],"days_open":83},"description":"Hey there, Kubernetes people!\nEvery engineer here waits on CI several times a day. We want someone who finds that wait personally annoying.\nWhy this role exists\nHundreds of developers push to a large Ruby on Rails monorepo, and every push lands on a runner fleet that the Developer Experience team builds, runs and keeps fast.\nThat fleet is self-hosted Kubernetes on bare metal in European datacentres, in the low hundreds of machines, running ephemeral GitHub Actions runners that peak above a thousand concurrent pods. We own all of it: the hardware, the clusters, the runner images, the caches and the delivery pipelines on top. We add nodes by hand rather than letting an autoscaler do it, so capacity planning is genuinely part of the job.\nThe leverage is unusual. Shave a minute off the average build and every engineer in the company gets that minute back, several times a day.\nThe mission\nOwn the CI and CD Kubernetes clusters end to end: capacity, reliability, upgrades, security and cost.\n\nRun the self-hosted GitHub Actions platform at scale with Actions Runner Controller. Runner scale sets, ephemeral pods, docker-in-docker, and the runner images themselves.\n\nKeep the data services our tests depend on fast and healthy. MySQL, Redis and ClickHouse come up per job, alongside Rails application containers.\n\nDesign and tune the caching that makes builds quick: node-local overlay, image and artifact caches we build ourselves, plus pull-through registry mirrors.\n\nBring queue wait and build duration down, with measurement behind it. Instrument the platform, set targets, and show the improvement.\n\nManage it all as code. Terraform planned and applied from pull requests, GitOps delivery with Flux and Argo CD, Kustomize and Helm for manifests.\n\nProvision and operate bare metal. Linux, networking across datacentre segments, and troubleshooting that sometimes ends up at the disk or the kernel.\n\nLead incident response for the platform, run blameless postmortems, and turn each one into an alert, a guardrail or a runbook.\n\nTreat the platform as a product whose users are engineers. Talk to them, watch where they get stuck, and build paths that make the right thing easy.\n\nYour day to day\nRightsizing runner tiers against a week of CPU and memory data, then opening the pull request that changes them.\n\nTracking a flaky job from a red check down to the container runtime, the kernel, or a clock that drifted.\n\nAdding machines to the fleet: install, enrol, network, verify, document.\n\nCutting p95 queue wait by working out which stage actually blocks.\n\nUpgrading a cluster or a controller without anyone noticing.\n\nPairing with a product engineer on a workflow that has been slow for a reason nobody has looked at yet.\n\nYour profile\n5+ years running production infrastructure, with Kubernetes at the centre of it.\n\nReal depth in Kubernetes: scheduling, requests and limits, evictions, node pressure, DaemonSets, controllers and operators. You have debugged a cluster that was lying to you.\n\nStrong Linux and container fundamentals. containerd or Docker internals, cgroups, namespaces, storage drivers, networking.\n\nTerraform and infrastructure as code, with a feel for module design and state hygiene.\n\nCI/CD at the platform level: shared workflows, reusable templates, runner architecture, build caching.\n\nComfortable with GitHub Actions, including self-hosted runners.\n\nYou script to automate. Bash, plus at least one of Python or Go.\n\nObservability as a working method. Metrics, logs, traces, dashboards and alerts that people trust, with OpenTelemetry and Prometheus style tooling.\n\nOperational maturity. On-call, incident command, postmortems, and the discipline to chase causes.\n\nCapacity and cost awareness. You can size a fleet and explain the bill.\n\nClear written English. You document what you build, because the next person on call will not be you.\n\nBonus points\nLarge Ruby on Rails test suites, and what it takes to parallelise them honestly.\n\nOperating MySQL, Redis or ClickHouse yourself.\n\nBare metal: provisioning, hardware failure, and the different rhythm it has compared to cloud.\n\nOverlay and WireGuard style mesh networking, VLANs, and Kubernetes CNIs such as Cilium.\n\nBuilding internal developer tooling, portals or platform APIs.\n\nSupply chain and build security. Runner isolation, secret scoping, image provenance.\n\nWorking across more than one cloud. We use AWS, Azure and Cloudflare alongside our own hardware.\n\nContributions to open source infrastructure projects.\n\nHow we work\nAt Factorial, we believe the best products are built when people come together, in person, to collaborate, challenge ideas, and move fast. That's why our Engineering Team follows an office-first, flexible approach.\nWe work on-site several days a week (80%), using that time to connect, align, and innovate as a team. However, we also support remote work when it makes sense (20%) for deep focus or personal needs.\nAt Factorial we don't evaluate you by years of experience but by your knowledge and skills.\nWe use our Career Path with a rubric framework where we define what is expected for each experience level and skill. This framework allows you to know your current level and what you need to keep growing. We love transparency, so our Career Path includes the salaries for each level, which we share during the first interview to ensure alignment.\nOur Hiring Process\nIntro Call → Chat with our Talent Partner about your journey and goals.\n\nHiring Manager Interview → Deep dive into your product mindset, teamwork, and problem-solving.\n\nTechnical Interview → A collaborative technical conversation with the team based on real-life problems.\n\nFinal Coffee Chat → A relaxed conversation with our CTO & VP of Engineering to explore our vision, culture, and your growth.\n\nAnd that’s it! Feel free to request any other conversations you want, with team members or to address specific concerns at any time in the process. The whole process is remote, using videoconferencing tools!\nAbout Factorial\nFactorial is the AI for Business that knows companies, connects how work happens across the business, and turns that context into action.\nFounded in Barcelona in 2016, we now have +1,700 employees serving more than 16,000 companies across 112 countries.\nFactorial started with a simple idea: companies were spending too much time managing processes and not enough time doing the work they were hired to do: their best work.\nBut as companies grow, work gets more disconnected. More people, more tools, more information, and more time spent connecting the dots. Generic AI can answer questions, but it doesn’t know your company. Every time, you have to give it the context.\nFactorial is different. Because it’s inside the company, it already knows how it works, including its people, processes, policies, and data. So you can ask it to do real work, from screening candidates and managing expenses to answering questions and creating reports.\nAI isn’t the goal. Giving people back their time is.\nWhen work changes, so do we.\nWe believe in diverse talent: we welcome applicants from all backgrounds and strongly encourage people of diverse experiences and identities to apply.\nWe believe in inclusion: we are committed to equal opportunities and actively promote workplace inclusion of people with disabilities. If you would like to learn more about our inclusive recruitment processes, you are welcome to indicate so optionally and we will share additional information with you.\nOur Values\nWe own it: We take responsibility for every project. We make decisions, not excuses.\n\nWe learn and teach: We're dedicated to learning something new every day and, above all, share it.\n\nWe partner: Every decision is a team decision. We trust each other.\n\nWe grow fast: We act fast. We think that the worst mistake is not learning from them.\n\nWanna learn more about us? Check our website!\nPerks of being part of Factorial\nHigh growth, multicultural and friendly environment\n\nCompetitive ESOP plan\n\nAlan as private health insurance\n\nHealthy life with Wellhub (Gyms, pools, outdoor classes)\n\nSave expenses with Cobee\n\nLanguage classes\n\nBreakfast in the office and organic fruit\n\nFood discounts with Nora\n\nPet Friendly\n\nMuch more that we'll spill during the interview process!","description_format":"text","description_chars":8272,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"English","level":"All levels","optional":false}]},"benefits":["Health insurance","Pet friendly"],"hiring_locations":[{"name":"Spain","iso":"ES","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Artificial Intelligence","Professional Services","Software","Payroll Services"],"lifecycle":[{"event":"open","at":"2026-10-09T03:51:17Z"}],"visa":[],"liveness":{"score":72,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.903,"p_room":0.8,"age_days":83,"expected_fill_days":567,"reasons":["conf:3","velocity","win:early","crowd:brand"],"computed_at":"2026-10-14T06:34:16Z"},"pay":null,"html_url":"https://alion.io/job/factorial-senior-devops-engineer-cicd-platform-developer-experience-3","json_url":"https://alion.io/job/factorial-senior-devops-engineer-cicd-platform-developer-experience-3.json","meta":{"generated_at":"2026-10-14T08:51:43Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":9662,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-15T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":53702},"rest":"https://alion.io/mcp/rest/get_company?id=53702"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Ffactorial-senior-devops-engineer-cicd-platform-developer-experience-3"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Ffactorial-senior-devops-engineer-cicd-platform-developer-experience-3"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Ffactorial-senior-devops-engineer-cicd-platform-developer-experience-3"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/factorial-senior-devops-engineer-cicd-platform-developer-experience-3\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Ffactorial-senior-devops-engineer-cicd-platform-developer-experience-3"}]}