본문으로 건너뛰기

denoiser / preview

테스팅 개요 (구글의 소프트웨어 엔지니어링)

O'Reilly의 'Software Engineering at Google'에서 발췌한 대규모 자동화 테스팅 철학, 관행, 문화적 변화를 다루는 포괄적 챕터. 낮은 테스트 커버리지에서 풀뿌리 이니셔티브(Testing on the Toilet, Test Certified 프로그램, 오리엔테이션 수업)를 통한 회사 전체 테스팅 문화로의 구글 진화 제시. 실용적 프레임워크 소개: 테스트 크기 분류(small/medium/large), 범위 피라미드(80% 단위, 15% 통합, 5% 엔드투엔드), Beyoncé 규칙('좋아하면 테스트를 작성하라'). 대규모 GWS 사례 연구: 필수 테스팅이 1년 만에 긴급 배포를 50% 감소. 확장 도전 과제 다룸: 취약성, 느림, 과잉 명세. 테스팅을 단순한 버그 예방이 아닌 변화의 촉진자로 강조. 극한 규모(20억 이상 LOC, 주당 2500만 이상 변경)에서 운영한 수십 년 경험을 가진 구글 엔지니어 저술. 소프트웨어 엔지니어링 장인정신과 프로세스 개선에 대한 권위적 업계 관점.

  • Reliability
  • Education

소프트웨어 성능에 대한 성찰

성능의 2차 효과 분석: 속도가 도구 사용 패턴을 근본적으로 어떻게 변화시키고, 새로운 워크플로를 가능하게 하며, 아키텍처를 단순화하는지. Sorbet과 Livegrep을 예시로 사용. '나중에 최적화하라'는 지혜에 도전. 성능은 단지 '더 빠른 것'이 아니라 '다른 사용'임을 보여줌. 핵심 통찰: 빠른 도구는 완전히 새로운 유형의 작업을 가능하게 함.

  • Performance
  • Software Architecture
  • Design

형식 기법의 비즈니스 가치

형식 기법(TLA+, Alloy)이 클라우드 인프라와 시스템 엔지니어링 전반에서 조기 버그 탐지, 비용 절감, 개발 속도 향상을 통해 측정 가능한 비즈니스 가치를 제공하는 방법을 입증

  • Infrastructure

신경망 훈련 레시피

수년간 축적된 딥러닝 모범 사례를 반영한 훌륭한 체계적 가이드. 전 Tesla AI 디렉터이자 OpenAI 창립 멤버 저술. 분야의 성숙화에서 배운 역사적 교훈을 체계화. 데이터 이해부터 최종 최적화까지 6단계 방법론. 구체적이고 경험 기반 가이드로 이론-실무 격차를 해소. 기초 훈련 방법론으로서의 지속적인 가치.

  • Machine Learning
  • Andrej Karpathy

데이터 사이언스는 이제 달라졌다

여성 ML 엔지니어의 데이터 사이언스 커리어에 대한 역설적 관점. 이 분야의 화려함과 접근성에 대한 주류 서사에 도전. 6년 이상의 업계 경험을 바탕으로 구조적 시장 분석과 실용적 조언을 제공.

  • Machine Learning
  • Career

어려운 것을 스스로 배우는 방법

배우는 방법을 배우기 위한 메타인지 프레임워크 제공. 네 가지 핵심 역량 식별: 혼란 인식, 지식에 대한 확신 구축, 질문하기, 연구 수행. 좌절을 학습 기회로 재해석. 복잡한 시스템을 접근 가능하게 만드는 것으로 알려진 접근성 중심 엔지니어의 글.

  • Education

Postgres에서 Stripe 방식의 멱등성 키 구현하기

프로덕션 API 설계 패턴에 대한 뛰어난 장인정신 중심 글. Postgres를 사용한 Stripe의 멱등성 키 접근법을 문서화하며, 원자적 단계, 복구 지점, 동시성 제어, 외부 상태 변경을 다룸. 분산 시스템에 적용된 '외과적 사고'의 완벽한 예 - 신중한 실패 모드 분석을 통한 정밀하고 의도적인 구현. Snowflake/Crunchy Data(전 Stripe) 엔지니어 저술로, 깊은 Postgres 전문성과 프로덕션 시스템 사고를 보여줌. 신뢰할 수 있는 AI API 및 ML 서비스 구축에 매우 관련성 높음.

  • Databases
  • Software Architecture
  • Reliability

연구 부채

'연구 부채' 은유를 도입한 영향력 있는 에세이: 형편없이 설명된 아이디어, 약한 추상화, 그리고 과학 진보를 늦추는 커뮤니케이션 잡음의 누적된 부담. 연구 커뮤니케이션을 지식 인프라 및 학계 문화와 연결. 연구 증류는 원래 발견만큼의 노력이 필요하지만 경력상 정당성이 부족하다고 주장. Google Brain 저자들. 제도적 해결책 제안: 저널 출판처, 인센티브, 설명 작업을 위한 도구. 연구 커뮤니케이션을 개인의 실패가 아닌 구조적 문제로 재해석.

  • Research

소련에서 프로그래밍 분야의 여성으로 살기

소련에서 프로그래머로 공부하고 일한 여성의 1인칭 회고록(1976-1989). 성별 구성(70% 여성 프로그래머), 교육 방법(연필과 종이 프로그래밍), 문화적 맥락에 대한 독특한 역사적 관점 제공. 기술 분야 여성에 대한 서구 서사에 도전. 기술 역사학자 Marie Hicks의 요청으로 작성. Vicki Boykis의 블로그에 게스트 포스트.

  • History
  • Education

소련에서 프로그래밍 분야의 여성으로 살기

소련에서 프로그래머로 공부하고 일한 여성의 1인칭 회고록(1976-1989). 성별 구성(70% 여성 프로그래머), 교육 방법(연필과 종이 프로그래밍), 문화적 맥락에 대한 독특한 역사적 관점 제공. 기술 분야 여성에 대한 서구 서사에 도전. 기술 역사학자 Marie Hicks의 요청으로 작성. Vicki Boykis의 블로그에 게스트 포스트.

  • History
  • Education

ACID와 제약조건으로 견고한 시스템 구축하기

ACID 데이터베이스가 2차 효과를 방지한다고 주장: 원자성 없이는 엔지니어들이 정리 스크립트를 작성하는 '데이터 관리인'이 됨. 2017년 NoSQL 시대에 역행하는 주장. 데이터베이스 선택이 개발 관행과 팀 구성에 어떻게 파급되는지 논의. Stripe/Crunchy Data 배경에서 나온 프로덕션 Postgres 전문성.

  • Databases
  • Software Architecture