내 오픈소스 라이브러리로 AI에게 손발을 줬더니, AI 회사에서 거절당했다
I gave the AI arms and legs then it rejected me
TL;DR Highlight
Claude Computer Use에 채택된 Rust 라이브러리 enigo의 메인테이너가 Anthropic 채용 지원에서 거절당하며 오픈소스 기여와 취업 간의 간극을 보여줬다.
Who Should Read
오픈소스 프로젝트를 운영하거나 기여하면서 커리어와 연결하려는 개발자. 또는 빅테크 채용 프로세스의 현실에 관심 있는 개발자.
Core Mechanics
- enigo는 macOS, Windows, Linux(Wayland/X11/libei), *BSD에서 루트 권한 없이 마우스/키보드 입력을 시뮬레이션할 수 있는 Rust 라이브러리다. crates.io 기준 30만 다운로드, GitHub 1,200+ 스타로 해당 분야에서 사실상 표준 라이브러리다.
- Anthropic은 Claude Desktop의 Computer Use 기능 구현에 enigo 0.2.1을 사용하고 있다. Claude.dmg를 압축 해제해서 바이너리를 문자열 검색하면 직접 확인할 수 있다.
- Claude Desktop은 Electron 앱인데도 macOS와 Windows만 공식 지원한다. Electron의 장점이 크로스플랫폼인데 Linux를 빠뜨린 건 이상한 결정이고, 커뮤니티가 직접 Linux 포팅을 해서 사용 중이다(enigo 호출 부분을 stub으로 대체하는 방식).
- 저자는 지인의 지인을 통해 Anthropic에서 enigo를 사용하는 미공개 기능 관련 포지션을 모집 중이라는 걸 알게 됐고, 직접 지원했다. 자신의 코드가 이미 제품에 들어가 있으니 꽤 유리할 거라 생각했다.
- 결과는 'the team doesn't have the capacity to review additional applications'라는 자동화된 거절 메일이었다. 몇 주 뒤에 받은 거라 ATS(지원자 추적 시스템)가 자동 처리한 것으로 보인다.
- 저자는 MIT 라이선스로 배포했기 때문에 Anthropic이 enigo를 사용해도 금전적 보상은 전혀 없다. GitHub 스타와 crates.io 다운로드 수만 올라갔다.
- 저자의 아쉬움은 단순한 취업 실패가 아니라, 수년간 쌓은 입력 시뮬레이션 분야 전문 지식과 크로스플랫폼 경험으로 Anthropic과 enigo 모두에게 실질적 가치를 줄 수 있었을 텐데 기회조차 못 얻었다는 점이다.
Evidence
- 저자의 지원 실패는 '친구의 친구'를 통해 정보를 얻고도 콜드 지원으로 간 게 패착이라는 의견이 많았다. 올바른 전략은 커버레터 제출이 아니라 그 '친구의 친구'에게 해당 엔지니어링 매니저에게 직접 소개를 부탁하는 것이었다는 지적이다.
- '왜 공짜로 쓰고 있는 사람한테 돈을 주겠냐'는 냉소적인 댓글이 있었다. MIT 라이선스로 무료로 쓸 수 있는 이상 회사 입장에서는 고용 인센티브 자체가 없다는 시각이고, 이는 오픈소스 생태계의 구조적 문제로 연결된다.
- 오픈소스 포트폴리오가 취업에 실질적으로 도움이 됐던 시기는 2014~2019년이고 그 이후로는 GitHub 스타나 다운로드 수가 채용 결정에 거의 영향을 미치지 않는다는 경험담이 공유됐다. HR 프로세스와 ATS가 정량적 매칭 이외의 맥락을 걸러내지 못한다는 지적이다.
- 지원자가 독일 뮌헨에 있고 Anthropic이 미국 SF 기반이라 비자/지리적 문제로 자동 필터됐을 가능성이 있다는 의견도 있었다. 2025년 현재 미국 비자 상황을 고려하면 해외 거주자를 걸러내는 게 이상하지 않다는 맥락이다.
- MIT 같은 지나치게 허용적인 라이선스는 장기적으로 엔지니어 시장을 왜곡한다는 주장이 나왔다. 라이브러리가 없었다면 회사가 직접 개발자를 고용해야 했을 텐데, 오픈소스 덕분에 그 비용을 절약하면서도 기여자는 아무 보상을 못 받는 구조가 문제라는 것이다. LGPL이나 AGPL 같은 카피레프트 라이선스를 써야 한다는 제안도 있었다.
How to Apply
- 빅테크 채용에 지원할 때 자신과 관련된 내부 정보를 얻었다면 콜드 지원 대신 내부 소개(referral) 경로를 먼저 찾아라. 특히 자신의 오픈소스가 해당 회사 제품에 쓰이고 있다면 해당 팀 엔지니어링 매니저나 커미터에게 LinkedIn/GitHub을 통해 직접 접촉하는 게 ATS 필터를 우회하는 현실적인 방법이다.
- Claude Desktop의 Computer Use 기능을 직접 분석하고 싶다면 글에서 제공한 명령어(`7z x Claude.dmg` → `perl` 문자열 검색)를 활용해 바이너리에서 사용된 Rust 라이브러리와 경로를 추출할 수 있다. 이 방식으로 Anthropic이 어떤 오픈소스 크레이트에 의존하는지 파악 가능하다.
- macOS/Windows 전용 데스크탑 앱에서 마우스/키보드 입력 자동화가 필요하다면 enigo를 검토해볼 만하다. 루트 권한 없이 크로스플랫폼 지원이 되고 Rust 기반이라 FFI로 Node.js(Electron), Python 등에서도 사용 가능하다.
- 오픈소스 라이브러리를 출시할 때 상업적 이용에 대한 정책을 명확히 해두는 게 좋다. MIT는 제약이 없어 기업이 제품에 자유롭게 사용할 수 있고, 기여나 고용 없이 써도 법적으로 문제없다. 지속 가능한 오픈소스를 원한다면 BUSL, SSPL, AGPL 같은 라이선스나 GitHub Sponsors/OpenCollective 설정을 초기부터 고려하라.
Code Example
# Claude Desktop macOS에서 enigo 사용 확인
$ 7z x Claude.dmg
$ perl -nle 'print while /.{0,67}enigo.{0,30}/g' Claude/Claude.app/Contents/Resources/app.asar.unpacked/node_modules/claude-native/claude-native-binding.node
# Claude Desktop Windows에서 enigo 사용 확인
$ 7z x Claude-Setup-x64.exe
$ 7z x AnthropicClaude-0.11.6-full.nupkg
$ perl -nle 'print while /.{0,75}enigo.{0,26}/g' Claude-Setup-x64/AnthropicClaude-0.11.6-full/lib/net45/resources/app.asar.unpacked/node_modules/claude-native/claude-native-binding.nodeTerminology
관련 논문
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
AI Agent를 위한 Git: re_gent
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Agent-Native CLI를 위한 설계 원칙 10가지
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit: MCP 기반 멀티 에이전트 워크플로우 오케스트레이션 프레임워크
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.