메뉴
HN
Hacker News 54일 전

AI와 애슈비 엔지니어링, 그리고 미래

IMP
8/10
핵심 요약

채용 소프트웨어 기업 Ashby의 엔지니어링 총괄 콜린 하우가 전하는 실무적 AI 도입기입니다. 2025년 8월부터 프로덕션 코드의 절반 이상을 AI가 생성하고 있음에도 고객 이슈나 코드 품질, 개발 속도에 부정적 영향이 없었음을 데이터로 소개합니다. 저자는 코드 작성 비용이 0에 수렴하는 시대에 엔지니어의 진정한 가치는 구문 작성이 아닌 '판단력과 고객 공감'에 있다고 강조합니다.

번역된 본문

AI, 애슈비 엔지니어링, 그리고 미래 콜린 하우(Colin Howe), Ashby EMEA 엔지니어링 총괄 15분 분량의 글 | 2026년 6월 2일

2025년 8월부터 Ashby의 프로덕션 시스템에 반영되는 새로운 코드의 절반 이상이 AI가 생성한 것입니다. 그럼에도 불구하고 고객 이슈는 전반적으로 안정적인 수준을 유지하고 있습니다. 아래 그래프를 확인해 보세요. 고객 수는 늘어났고, AI가 작성한 코드도 늘어났습니다. 하지만 하늘이 무너지는 일은 일어나지 않았습니다. 매년 3월과 4월에 약간의 변동이 있을 뿐이며, 이러한 주기적 패턴은 여기서 설명할 중요한 내용이 아닙니다. Cursor는 우리 코드 중 얼마나 많은 부분이 AI에 의해 생성되었는지에 대한 통계를 제공합니다. 또한 우리는 코드 품질이나 개발 속도, 엔지니어들의 온보딩 시간 측면에서 어떠한 퇴보(regression)도 보지 못했습니다. (체감상으로는 엔지니어들이 코드베이스를 이해하는 능력이 오히려 증가한 것 같습니다!)

이것은 단순한 토이 프로젝트가 아닙니다. Ashby는 주간 활성 사용자 10만 명 이상, 주간 수백만 건의 지원자 처리를 자랑하는 채용(Talent Acquisition) 소프트웨어 제품군이며, Calendly나 Looker 같은 거대 서비스 전체에 맞먹는 규모의 기능들을 제공하는 복잡한 시스템입니다.

저는 Ashby의 EMEA 엔지니어링 총괄을 맡고 있는 콜린입니다. Ashby 엔지니어링 팀이 AI를 어떻게 바라보고, 이것이 우리의 업무 방식에 어떤 변화를 가져오는지 공유하고자 합니다. 이 글을 읽는 분들이 엔지니어라고 가정하겠습니다.

우리의 논제는 이것입니다. 코드를 생산하는 비용은 0을 향해 가고 있습니다. AI가 우리의 일자리를 빼앗으러 오는 것이 아니라, 일의 기계적인 부분, 즉 구문(syntax), 접착제 같은 코드(glue code), 그리고 키보드를 두드리는 타이핑 작업을 대체하러 오는 것입니다. 덜 흥미롭고 덜 도전적인 부분들이죠. 엔지니어에게 정말로 중요한 부분인 당신의 판단력, 안목, 그리고 고객에 대한 이해는 덜 중요해지는 것이 아니라 그 어느 때보다 중요해지고 있습니다.

엔지니어로서 당신의 가치는 항상 당신의 '판단력'에 달려 있었습니다. 고품질의 코드를 생산하는 효율성이 향상될 때마다 엔지니어의 역할은 더욱 그 방향(판단력)으로 치우쳤습니다. AI는 우리가 이전에 본 어떤 것보다 큰 변화를 가져올 것이며, 그 변화는 이미 시작되었습니다.

"이제 내 PR(Pull Request)은 거의 다 AI가 작성합니다. 방금 AI를 통해 전체 데이터 수집 파이프라인을 구현했는데... 약 40개의 PR이었습니다." - 우리 팀의 엔지니어 중 한 명인 톰(Tom)

신흥 기술이 그렇듯, 업계는 AI를 활용해 소프트웨어를 효과적으로 구축하는 방법을 계속 알아가는 중입니다. 언제 AI를 믿어야 하는지, 언제 오버라이드해야 하는지, 그리고 '빠르게 전진하는 것'이 '무모하게 전진하는 것'이 되지 않기 위해 우리의 시스템에서 무엇이 바뀌어야 하는지 말이죠. 이는 우리 모두의 공유된 멘탈 모델이며, 우리가 배우면서 계속 발전해 나갈 것이라 기대합니다.

기본 원칙 우리가 대형 언어 모델(LLM)을 더 많이 사용하고 주변 세상이 변함에 따라, 우리는 두 가지 기본 원칙을 굳게 지키고 있습니다.

  • 공감은 AI로 대체될 수 없다
  • 당신이 배포(Ship)하는 것에 대해 당신이 책임진다

공감은 AI로 대체될 수 없다 제품을 만드는 것은 인간의 노력입니다. LLM은 안목이 없습니다. 우리 고객을 알지 못합니다. LLM은 나쁜 제품을 사용할 때의 좌절감이나 훌륭한 제품을 사용할 때의 기쁨을 느끼거나 이해하지 못합니다. 이는 여전히 판단력을 필요로 하며, 기능적인 제품을 구축하는 것이 엄청나게 빨라진 세상에서 '훌륭한' 제품을 구축할 수 있는 능력은 더욱 중요해집니다.

우리는 개개인의 집중력도 소중히 여기기 때문에, 협업할 때는 효과적으로 하는 것이 중요합니다. 우리는 의미 없는 데일리 스탠드업을 하지 않고, 기획 포커(planning poker)를 하지 않습니다. 대신 동료들이 읽고 이해할 수 있도록 문서를 작성합니다. 변경 사항에 대한 코드 리뷰를 적극적으로 요청합니다. 공감이란 이 문서들을 읽게 될 인간을 생각하며 작성하는 것을 의미합니다.

LLM이 글쓰기를 도와줄 수는 있습니다. 하지만 명확한 가이드 없이는 LLM이 그럴싸해 보이지만 실제로는 인간이 읽기 어렵고, 중요하지 않은 디테일로 가득 차 있으며, 재미와 지혜가 결여된 문서를 작성하게 됩니다. 다음은 제가 LLM에게 작성하게 한 PR 설명의 일부입니다.

1 .github/workflows/pr-relevant-test-coverage.yml 추가: 2 - pull_request(마스터 브랜치 제외) 및 workflow_dispatch의 pr_number에 의해 트리거됨. 3 - PR 번호를 확인하고, 변경된 파일을 수집한 뒤, 4 Claude에게 최대 15개의 관련 테스트 파일을 출력하도록 요청함.

이는 PR 코드를 읽어보면 쉽게 알 수 있는 정보들입니다. 그리고 전체 설명은 30줄에 가까웠습니다. 가장 유용해 보이는 줄조차도 목적을 제대로 설명하지 못했습니다.

1 커버리지는 의도적으로 전체 테스트 스위트(full-suite) 커버리지가 아니며, 2 변경된 파일에 대해 Claude가 선택한 관련 테스트만을 반영합니다.

왜? 왜 이것이 전체 테스트 스위트 커버리지를 실행하지 않는 것인지에 대한 설명이 이 내용에 빠져 있습니다.

원문 보기
원문 보기 (영어)
AI, Ashby Engineering, and the Future Colin Howe Head of Engineering, EMEA 15 minute read June 2, 2026 Since August 2025, more than half of the new code hitting Ashby’s production systems has been AI-generated , yet customer issues remain broadly stable. See the graph below. More customers. More AI-written code. The sky didn’t fall. We have a blip in March / April every year; these cyclical patterns aren’t relevant to explain here. Cursor provides stats on how much of our code is generated by AI . We’ve also not seen any regressions in code quality, velocity, or onboarding time for engineers (anecdotally, we’ve seen comprehension of the codebase increase!). This isn’t a toy project. Ashby is a suite of talent acquisition software with over 100,000 weekly active users, millions of candidate applications per week, and features that resemble entire companies' worth of product (like Calendly and Looker). I’m Colin, Head of EMEA Engineering at Ashby. I want to share with you how Ashby Engineering is thinking about AI and the changes it brings to how we work. I’m going to assume you’re an engineer. Our thesis is that the cost of producing code is heading towards zero . AI isn’t coming for our jobs, it’s coming for the mechanical parts of them: syntax, glue code, and the tip-taps of keystrokes . The parts that are less interesting, less challenging. The part that matters for engineers - your judgment, your taste, your understanding of our customers - is getting more important, not less. Your value as an engineer was always weighted in your judgment. Every efficiency gain in producing high-quality code shifted the role further in that direction. AI will be a larger shift than we’ve seen before. That shift is already here. “Almost all my PRs are entirely AI-written now. I implemented an entire data ingestion via AI… It's ~40 PRs” - Tom, one of our engineers. Like any emerging technology, the industry is figuring out how to use AI effectively to build software. When to trust it, when to override it, and what needs to change in our systems so that "move fast" doesn't become "move recklessly." It's a shared mental model, and I expect it to evolve as we learn. The Ground Rules As we use LLMs more and the world around us shifts, we believe there are two ground rules: Empathy cannot be replaced by AI You are responsible for what you ship Empathy Cannot Be Replaced by AI Building products is a human endeavor . LLMs do not have taste. They do not know our customers. They cannot feel or understand the frustration of using a bad product or the delight of using an exceptional one. That still requires judgment, and, in a world where building a functional product is insanely fast, the ability to build a great one is even more important. We also value individual focus, so when we collaborate, it’s important we do it effectively . We don’t do mindless standups. We don’t do planning poker. We do write documents for our colleagues to read and understand. We do ask for help with reviewing changes. Empathy means remembering to write these documents for the humans who will read them. LLMs can help with writing. But, without guidance, LLMs will write documents that seem convincing yet are hard for humans to read, full of unimportant details, and lacking joy and wisdom. Here’s an excerpt of a PR description I had an LLM write: 1 Added .github/workflows/pr-relevant-test-coverage.yml: 2 - Triggers on pull_request (excluding master) and 3 workflow_dispatch with pr_number. 4 - Resolves PR number, collects changed files, and asks 5 Claude to output up to 15 relevant test files. This is all information that we can trivially figure out from reading the PR, and the full description was close to 30 lines. The most useful line still missed the mark: 1 Coverage is intentionally not full-suite coverage; it 2 reflects only Claude-selected relevant tests against 3 changed files. Why? Why does this not run full-suite coverage? This description does not respect our colleague’s time . It is devoid of empathy for us as reviewers and future maintainers of this code. 1 Coverage is intentionally not full-suite coverage. The 2 full suite with coverage takes hours to run. We are 3 using this to give guidance to engineers on where risks 4 lie. Remember what empowers our colleagues to help us. Don’t cede writing documents for humans to LLMs. You are responsible for what you ship LLMs can be wonderfully wrong. Confidently incorrect. Inexplicably careless. The biggest risk with AI isn’t that it’s wrong. It’s that it sounds right . “I didn’t mean to remove the tar-stream package - it was an accidental casualty when I was editing backend/package.json…” - Claude Code You are responsible for what you ship . Whether every line is handwritten or an LLM generated the entire PR. You are responsible for understanding what the code does, why it does it, and what happens when it breaks. As we use LLMs more, skepticism has to increase, not decrease. Ask for alternatives. Ask for edge cases. Ask it to critique itself. Understand the reasoning before accepting the output. Think More, Think Harder We must think more - and think harder than before . LLMs make it easy to no-brain your way through something. Resist that urge. Stay vigilant. It is easy to throw an issue at an LLM, have the PR description auto-generated, get the LLM to write the tests, and throw the PR out for review… all whilst fixing the entirely wrong issue or building a subpar solution. A particularly nefarious manifestation of this is running lots of agents in parallel on disparate tasks. This is multi-tasking on steroids. Multitasking is ineffective because the human brain can’t focus on multiple high-level tasks simultaneously. It may feel super productive to have five agents working on five issues and flicking between them all, but are you really making your best decisions? Are you able to think deeply about the guidance each agent needs? Do you understand what is being built? The current hype cycle often emphasizes quantity and velocity above all else, while ignoring quality and ingenuity, or with the promise that somehow these outcomes will follow. At Ashby, we are not succumbing to this pressure. It’s a myopic view of the world where everything can and should be shortcutted. Shortcuts always existed, and many of them reduce the quality and ingenuity of our work: These external quotes reflect our own journey to success. Before AI, we could have always moved faster: we could have outsourced work to contractors, we could have built features instead of building blocks, we could have launched earlier. But the hours we spent hiring quality folks instead of outsourcing, thinking of abstractions instead of coding, and being patient with our product were often more impactful than the alternative. Thinking deeply is part of why we’re a successful startup today, and we’re not stopping. Specs are Still for Humans One of the shifts we’re seeing is the intention to feed specs to LLMs.We've always valued specs. They derisk development and ensure alignment. LLMs also benefit from the context that specs can provide. However, what a human needs from a spec and what an LLM needs from a spec are different . As humans, we need something that is mindful of our time, engages us as readers, and focuses our attention on the decisions that matter. E.g., something that tells us why you’ve decided to use Redis instead of Postgres vs a document detailing every single possible value for a new enum. We need something empathetic to us. We must continue writing specs for humans . Specs are focused on the expensive-to-change decisions. Specs reduce the risk that we build the wrong thing. They identify the abstractions that we’re going to need. For example, I was talking with one of our engineers about a requirement to perform an action on potentially millions of forms, and our framework doesn’t support that. Do they create a one-off implementation for thei