시니어 DevSecOps / 풀스택 엔지니어
연간 총액 EUR 75,000부터, 세전, 정규직
근무 장소: 전 세계 원격 근무.
계약 방식. 계약 형태, 계약 법인, 준거법은 채용 제안 단계에서 정하며 여기에는 명시하지 않습니다. 최종 후보자의 거주 지역에 따라 달라지고 사전에 결정되지 않았기 때문입니다. 지원자는 거주지에서 일할 수 있는 법적 자격을 스스로 갖춰야 하며, 구체적인 내용은 같은 단계에서 논의합니다.
변동 보상. 회사 성과에 따른 연간 변동 보상을 기본급 외에 지급합니다. 시작 기본급과 별개이며 지급이 보장되지는 않습니다.
직무 분야. 엔지니어링
직무 목표
플랫폼은 현재 관리형 호스팅으로 운영됩니다. 주요 시장의 기관 및 정부 고객은 점점 이런 방식으로 이용하기 어렵습니다. 동의하지 않은 의존 기능 없이 자체 통제 아래 자체 인프라에 배포하기를 원합니다. 이를 위한 엔지니어링 설계도는 있으며, 아직 패키지로 만들 수 없는 부분도 솔직히 적혀 있습니다. 이 직무는 설계를 실제로 실행되는 배포로 만들고, 동시에 제품 코드도 계속 개발합니다.
실제 첫 90일의 업무
- 에지 함수가 시작할 때 원격에서 가져오는 모듈을 체크섬이 있는 빌드 산출물에 포함해, 사설망 배포가 시작을 위해 공개 레지스트리에 접속하지 않도록 합니다.
- 컨테이너에 참조 스택을 구축합니다. 확장 기능과 전체 마이그레이션 이력을 포함한 Postgres, 인증 서비스, REST 계층, 객체 저장소, 게이트웨이 및 함수 런타임을 어떤 관리형 클러스터에서도 같은 방식으로 동작하는 Kubernetes 기본 요소 위에 올립니다.
- 신규 설치의 표준 경로를 문서로 정합니다. 먼저 기본 스키마를 설치하고 이후 순방향 마이그레이션을 적용하며, 가능하다고 주장하는 대신 빈 클러스터에서 증명합니다.
- 패키지로 만들 수 없는 항목을 솔직하게 목록으로 정리합니다. 가장 큰 알려진 문제는 현재 일상 운영이 고객 배포에는 없는 호스팅 대시보드를 전제로 하며 이를 대체할 운영 절차서가 아직 없다는 점입니다.
그 이후 맡는 업무
- 특정 클라우드 업체가 아닌 공통 기본 요소를 기반으로 인프라 코드와 배포 명세를 작성해, 운영자가 누구든 고객의 관리형 Kubernetes에서 같은 구성을 실행할 수 있게 합니다.
- 릴리스 경로를 구축합니다. 고객 보안 경계 밖에서 산출물을 빌드하고 서명한 뒤 다이제스트와 소프트웨어 자재 명세서(SBOM)를 함께 게시하고 반입 시 검증합니다. 고객 보안팀이 모든 업데이트를 승인한다는 말은 메커니즘이 이를 실제로 보장할 때에만 의미가 있습니다.
- 외부 전송은 기본적으로 차단하고, 허용되는 모든 흐름의 정확한 바이트 형태를 문서화해 고객 네트워크팀이 설명만 믿지 않고 채널을 검사할 수 있게 합니다.
- 연동 지점을 담당합니다. 메일, 신원 확인, 모델 엔드포인트, 타임스탬프는 고객이 각각 설정하는 스위치이며, 설정마다 무엇을 주장할 수 있는지 달라집니다. 스위치를 켰지만 연결 대상이 지정되지 않으면 각각 실패 시 차단되어야 합니다. 조용히 대체 경로로 넘어가지 않는 것이 보안 속성입니다.
- 켜진 AI 지원 기능에 사용할 소형 언어 모델을 고객의 보안 경계 안에 있는 자체 하드웨어에서 실행해, 요청 내용이 외부로 나갈 경로 자체를 없앱니다.
- 제품 엔지니어링도 계속합니다. 업무의 약 절반은 React 애플리케이션과 그 뒤의 서버 측 함수입니다. 플랫폼 인프라만 담당하는 직무가 아닙니다.
필요한 역량
- 상태를 가진 Postgres 서비스를 컨테이너화하고 실제 운영 환경에서 실행했으며, 절차서로만이 아니라 백업에서 실제로 복구해 본 경험이 있습니다.
- Kubernetes의 기본 요소를 활용하며 볼륨 클레임 템플릿이 있는 StatefulSet과 운영자가 관리하는 데이터베이스가 왜 다른지 설명할 수 있습니다.
- 프런트엔드와 서버 측 함수 전반에서 TypeScript를 작성하고 일주일 중 절반을 제품 코드에 써도 좋습니다.
- 납기 압박 속에서도 실패 시 차단 통제를 유지했고, 그 과정에서 어떤 대화를 나눴는지 설명할 수 있습니다.
- Postgres의 행 수준 보안 정책을 읽고 겉보기에는 그럴듯한 정책이 어떻게 데이터를 노출하는지 설명할 수 있습니다.
- 다른 담당자가 없는 영역을 원격으로 스스로 책임집니다. 전 세계 지원자에게 열려 있으며, 위의 첫 90일 설명은 실제 첫 분기의 업무량을 솔직하게 나타냅니다.
이 직무가 아닌 것
- Kubernetes만 다루는 플랫폼 직무가 아닙니다. 업무의 약 절반은 애플리케이션 코드이며, 제품에 관여하고 싶지 않다면 맞지 않습니다.
- 새로 시작하는 프로젝트가 아닙니다. 플랫폼은 이미 존재하고 마이그레이션 이력도 길며, 모든 패키징 결정은 그 이력과 회사가 주장할 수 있는 범위의 제약을 받습니다.
- 감사나 보증 업무가 아닙니다. 여기서 보호 장치는 다른 사람의 코드를 평가한 보고서가 아니라 실제로 실행되는 코드입니다.
- 부하 직원을 이끄는 리더 직무가 아닙니다. 아직 이끌 팀이 없으며 공고에서 있는 척하지 않습니다.