우물 안 개구리에서 벗어나기 — 인프라 관련 공부를 시작하며
요즘 이것저것 찾아보다 보니, 내가 그동안 얼마나 '우물 안 개구리'였는지 절실히 깨닫고 있다.
그리고 오늘 인프런에서만 무려 50만원어치 강의를 질렀다.
자기계발을 위한 필수 비용이라 생각해 과감하게 지갑을 열었다.
왜 갑자기 이렇게 시작했나?
나는 최근 마이크로소프트 주최 글로벌 해커톤에서 디자인상을 받았다.
디자인 부문에서 주로 평가하는 것은 서비스 설계와 소프트웨어 구성인데, 기획과 함께 설계의 기술문서화에 꽤 많은 노력을 쏟았기에 받게 된 듯 했다. 그러나 나름 기술적인 요소도 많이 녹여냈다고 생각했는데 — 최근 인프런의 설계 관련 강의 목차를 보고 나니 고개를 절레절레 흔들게 되었다.
- DB 설계
- API Gateway 구성
- 캐시 / 큐 / 로드밸런서 구성
- 백엔드 컴포넌트 설계
- 트레이드오프 분석
... 이런 여러 요소들에 대해 더 제대로 고민했었어야 했다는 걸 알았다.
물론 IoT 프로젝트나 Azure 기반 Function App 등을 다루며, 알아볼 수 있는 여러가지는 살펴봤었다.
당시에는 최선이자 최소한의 구성을 시도한 것이었다.
다만 이전에 REST API 기반 Backend를 내가 주도해서 외부 연동 구조까지 전부 설계한 경험은 거의 없다시피 했다.
MongoDB도 그때서야 몇 번 써 본 수준.
잘 쳐줘봐야 주니어인 주제에 내가 "열심히 깝쳤던" 것도 사실이다...
구글링은 물론 열심히 했다. (내가 할 수 있는 건 다 해보려 했다.)
일단 열심히 찾아보며 알아낸 정보들을 토대로 기초 설계를 먼저 잡고, GPT로 여러 차례 구조 검토와 방법론 조언을 받으며 추가로 방향을 다듬었었다. 초기에는 데브옵스-벡엔드 개발자, 후반에는 풀스택 시니어의 피드백까지 받으며 나름 애썼지만
— 지금 돌아보면 내 설계의 깊이는 여전히 아쉽게 느껴진다.
왜 더 공부하려고 하나?
최근 데브옵스/인프라 포지션 구직을 보며 절실히 느꼈다:
- 인프라/클라우드는 경력직 공고가 대부분이며, 주로 설계/구축/운영 전반을 요구한다.
- 단순 쿠버네티스 설치 수준이 아니라 어떤 구조를 왜 선택했는지 설명할 수 있어야 한다.
- Backend 구조에 대한 이해도 필수다. DB, API 설계까지 포함해서.
그런데 나는 아직 Go backend도 Boilerplate의 구조를 참고해서 배우기 시작하는 수준이고, 대규모 서비스와 그 벡엔드-인프라의 구조를 이해하는 감각이 많이 부족하다.
항상 why라는 질문을 던지지만, 애초에 기업 수준의 설계가 왜 이런 식으로 활용되고, 여기에서 내가 뭘 할 수 있을 지까지 파악하는 건 늘 어려운 일이었다. 그래서 이번 기회에 탄탄하게 잡아보기로 했다. 어차피 지금 내게 남는 게 시간이라 더 그렇다.
이번에 구매한 강의
- CS 기술면접 대비 (일반/심화)
- 기술 설계 강의 2종 (비쌌지만 절대적으로 필요함)
- 시스템 디자인의 기본 (벡엔드 아키텍쳐)
- 미국 빅테크의 기업용 시스템 설계 (29종 실습)
- 쿠버네티스 기초 및 초중급 실습 + 추가 강의
- 네트워크 시각적 설명 강의 (2종)
- 전공면접 기출 풀이 강의 (2종)
직접 만들어보고 부족함을 느껴봤기에, 이제는 그걸 개선할 수 있는 방법들을 더 잘 받아들일 수 있다고 생각한다.
어설프게라도 해봤기 때문에, 어떤 기술이나 도구가 ‘왜 필요한지’를 더 깊이 체감할 수 있게 된 것 같다.
우선순위를 나눠서 다 열심히 들어볼 생각이다.
업데이트 : 네트워크 강의를 우선적으로 듣기로 했다.
최근 학습과 구직 준비를 하면서, 네트워크 이해가 다른 CS 영역보다 부족하다는 점을 다시금 깨달았다.
학부 시절 초반, 네트워크 과목의 중요성을 충분히 인식하지 못한 채 2학년 때 미리 수강했고, 이후에는 OS 등 다른 주제와 프로젝트를 병행하느라 우선순위를 제대로 잡지 못한 채 지나왔다. (사실 네트워크는 원래 3학년 과목이었는데, 그땐 철없던 시절이라 공부 잘하는 친구 따라 무작정 수강했던 것 같다. 제대로 학과 공부의 필요성을 깨달은 건 한참 뒤였다.)
그렇기에 내 기술 블로그나 노션 정리에도 네트워크 관련 내용은 거의 빠져 있었다.
다만 해당 지식은 기술 분야 전반에 적용되는 핵심인 동시에, 최근 준비 중인 직무에서도 실질적으로 요구되는 영역이라는 점을 다시금 깨달았다. 늦었지만 지금부터 개념을 재정립하고 기반을 다질 계획이다.
학습한 내용들은 추후 블로그에도 정리해볼 생각이다.
그리고 예전에 포스팅했던 가상화나 Docker 관련 내용도, 복습을 충분히 하지 않다 보니 기억이 많이 휘발된 상태인 것 같다.
이 부분 또한 다시 복기하고, 제대로 이해를 다지기 위해 노력할 계획이다.
앞으로의 계획
단기 (2주)
- CS 면접 강의 완주
- Kubernetes 기초/중급 실습 강의 시작
- 구직 시: 상황에 따라 해당 회사 기준 클라우드 기초자격 취득
중기 (6개월)
- 구직 이후: 매일 1시간 쿠버네티스 자격증 스터디 진행 (CKA)
- Kubernetes 관련 실무 적용 사례 익히기 (DB 연동, 서버 API, Operator 등)
- Backend 설계 감각 익히기 (DB 선택, API 설계 등 포함)
지금 진행 중인 오픈소스 기여 (2주)
- Electron 기반 Desktop App 포트 충돌 이슈 분석
- GitHub Actions 통한 자동 릴리즈 설정 개선
- 레포 주인과 진행 상황/계획 공유 및 업데이트
'근황' 카테고리의 다른 글
티스토리 테마 / 다크모드 문제 해결기 + 커스텀 스킨 제작 계획 (1) | 2025.06.09 |
---|---|
제 프로필 이미지에 담긴 의미? (0) | 2025.05.24 |
[근황] 해커톤 제출 완료 & 블로그 게시글 개편 고려 중 (0) | 2025.04.18 |
[근황] 취미 게임 개발 & Ren'Py 도구 오픈소스 배포 (0) | 2023.09.11 |
[잡담] 공부의 연속성이라 (0) | 2021.11.22 |