Statistics
  • 현재 접속자 52(1) 명
  • 오늘 방문자 1,778 명
  • 어제 방문자 1,852 명
  • 최대 방문자 2,388 명
  • 전체 방문자 130,667 명
  • 전체 회원수 825 명
  • 전체 게시물 1,055 개
  • 전체 댓글수 586 개
기술블로그

[해외] Google에서 SRE엔지니어로 9년의 여정 회고

작성자 정보

  • QARobot 작성
  • 작성일

컨텐츠 정보

  • 1,005 조회
  • 1 댓글

본문

[기술포스팅 원문] https://tinystruggles.com/posts/google_postmortem/


[기술포스팅 요약] 이 포스팅은 저자가 구글에서 9년간 일한 후의 경험을 회고하는 글로, 이를 '포스트모템' 형식으로 정리한 내용입니다. 저자는 19살에 소프트웨어 경력을 시작하여, 22살에 구글 런던에서 인턴십을 거친 후 더블린에서 정규직으로 근무하게 됩니다. 이 글에서는 구글에서의 기대와 실제 경험, 그리고 구글에서의 생활에서 느낀 다양한 감정과 배운 점을 상세하게 설명하고 있습니다. 글의 주요 내용은 다음과 같습니다:
  • 구글에서의 초기 기대: 저자는 구글의 높은 기술 수준과 세계 최고 수준의 엔지니어들과 함께 일할 기회에 큰 기대를 가졌습니다. 또한 구글에서의 경력이 미래에 자신의 회사를 창업하는 데 도움이 될 것이라고 생각했습니다.
  • 구글에서의 실제 경험: 저자는 구글에서의 경험이 대체로 훌륭했다고 평가합니다. 그는 많은 돈을 벌었고, 고급 기술과 위기 대응, 디버깅 기술 등을 익히며 성장했습니다. 또한, 리더십 및 관리 능력도 키웠고, 구글의 다양한 혜택을 누리며 건강하고 풍요로운 생활을 즐겼습니다.
  • 구글에서의 변화: 시간이 지남에 따라 구글에서의 경험이 덜 매력적으로 변했다고 합니다. 그는 자신의 재정 목표를 달성했고, 구글의 기술에 대한 초기의 흥미도 점차 사라졌습니다. 또한, 구글의 조직 구조와 업무 환경이 점점 복잡해지면서 개인적인 성장 기회를 찾는 것이 어려워졌습니다.
  • 경력에서의 교훈: 저자는 구글에서의 9년 동안 많은 것을 배웠습니다. 그는 기술적, 소프트 스킬을 습득하며 더 나은 사람, 리더가 되었습니다. 그러나 동시에, 더 잘할 수 있었다는 아쉬움도 느꼈고, 이러한 점이 그를 더욱 성장하게 만들었다고 합니다.
  • 아쉬웠던 점: 저자는 구글에서의 경력 동안 몇 가지 아쉬움을 느꼈습니다. SRE(사이트 안정성 엔지니어링) 역할에 너무 오래 머물렀다는 점, 그리고 더블린에서 다른 지역으로 이동하지 않은 점 등을 언급합니다. 또한, 업무 특성상 스트레스가 많았고, 구글의 복잡한 기술 환경에서 오는 높은 인지적 부담을 견뎌야 했습니다.
  • 운 좋았던 점: 구글 주식의 좋은 성과와 빠른 승진, 그리고 뛰어난 동료들과의 인연을 운이 좋았던 점으로 꼽습니다. 그는 구글에서 많은 것을 배울 수 있었던 기회를 운 좋게 잘 활용했다고 평가합니다.
  • 앞으로의 계획: 저자는 구글에서의 경력을 마무리하며 최소 6개월간의 안식년을 가지기로 했습니다. 이 기간 동안 그는 새로운 것들을 배우고 탐구하며, 다음에 무엇을 할지에 대해 고민할 계획입니다.
이 포스팅은 대기업에서 장기간 근무하면서 얻은 통찰과 경험을 솔직하게 공유하며, 특히 소프트웨어 엔지니어링과 SRE 분야에서의 경력 개발을 고민하는 이들에게 많은 교훈을 줄 수 있는 글입니다.

"이 게시글은 [GPT-4 model]를 통해 요약되었으며, 정보 공유 목적으로 게시되었습니다. 원문 게시물에 대한 책임이나 이해 관계가 없습니다. - 소프트웨어QA 포럼"

관련자료

댓글 1

QARobot님의 댓글

  • QARobot
  • 작성일
SRE엔지니어란?

SRE(사이트 안정성 엔지니어, Site Reliability Engineer) 엔지니어는 대규모 시스템의 안정성, 가용성, 성능 및 확장성을 유지하고 개선하는 역할을 담당하는 엔지니어입니다. SRE는 구글에서 처음 도입된 개념으로, 운영과 개발을 결합한 DevOps의 실질적인 구현체로 볼 수 있습니다. SRE 엔지니어는 주로 다음과 같은 업무를 수행합니다:

1. **서비스의 가용성 및 안정성 유지**: SRE 엔지니어는 시스템이 항상 정상적으로 동작하도록 보장합니다. 이를 위해 서비스의 모니터링, 로깅, 경고 시스템을 설정하고, 발생 가능한 장애를 예측 및 예방합니다.

2. **효율적인 운영 자동화**: 반복적이고 수동적인 운영 작업을 자동화하여 인적 오류를 줄이고, 시스템의 일관성을 높입니다. 이는 코드 작성, 스크립트 작성, 자동화 도구 개발 등을 통해 이루어집니다.

3. **성능 최적화**: 시스템의 성능을 최적화하여 더 많은 트래픽을 처리하고 빠른 응답 시간을 유지할 수 있도록 합니다. 이 과정에서 애플리케이션 및 인프라의 성능 병목을 찾고 해결합니다.

4. **장애 대응 및 복구**: 장애 발생 시 신속하게 대응하여 서비스가 최대한 빨리 정상화될 수 있도록 합니다. SRE 엔지니어는 장애의 원인을 분석하고, 동일한 문제가 반복되지 않도록 시스템을 개선합니다.

5. **서비스 수준 목표 설정 및 관리**: 서비스의 가용성과 성능 목표를 설정하고, 이를 달성하기 위한 전략을 개발합니다. SRE 엔지니어는 이 목표(SLO, Service Level Objectives)를 기반으로 시스템의 안정성을 관리합니다.

**QA 엔지니어와의 차이점**:
- QA 엔지니어는 주로 소프트웨어의 기능적, 비기능적 테스트를 통해 결함을 찾아내고, 소프트웨어가 기대한 대로 동작하는지 확인하는 역할을 담당합니다. QA는 제품이 출시되기 전에 품질을 보장하는 데 초점을 맞춥니다.
- 반면에 SRE 엔지니어는 운영 환경에서 시스템이 안정적이고 신뢰성 있게 동작하도록 보장하는 데 중점을 둡니다. 즉, QA는 주로 개발 단계에서 품질을 관리하고, SRE는 운영 단계에서 시스템의 안정성과 성능을 유지합니다.

이렇게 SRE와 QA는 각각 개발과 운영의 다른 측면을 다루지만, 둘 다 최종 제품의 품질과 안정성을 보장하는 중요한 역할을 수행합니다.
Notice
Member Rank