2024 상반기 회고

잡담

2024 상반기 회고

시간은 참 빠르게도 흘러가는듯 합니다.
새해 축하를 한 게 엊그제 같은데 벌써 6월이 되었고, 첫 회사에 입사한 것도 아직 얼마 되지도 않은 것 같은데 벌써 2년을 다니고 직장을 옮겼습니다.
'월급을 받으면서는 10년만 일하고 싶다'는 꿈을 갖고 일을 시작했는데, 시간은 참 착실히도 가고 경각심을 놓지 마라고 경고하는듯 하네요.

커리어

이직

5월에 둥지를 옮겼습니다.
'1년 정도만 다녀보지 뭐'라고 생각했던 회사에서 빵빵 터지는 이슈와 함께 다이나믹한 생활을 하다 2년을 채웠네요.

앞으로는 다른 것보다 바이오 도메인이 유망해 보여, 먼저 도메인 지식을 갖춰두면 좋겠다는 생각이었습니다.
IT 회사만 다녀봤고, IT 회사 얘기들만 들어봐서 주임, 대리, 과장 등 직급조차 드라마에서만 들어봤는데, 직급이 있고 첫 출근날은 양복을 입고 오라고 하는 다소 클래식한 경험을 할 수 있는 회사에 입사했습니다.

스카웃으로 옮겨오면서, 프론트엔드 개발만 아니라 CI/CD, 인프라 등 다양한 경험을 하고 싶다고 여러번 강조해 왔습니다.
감사하게도 능력을 인정해 주시고 이런 제안을 받아 주셔서, 관련해 다양한 경험을 하고 있습니다.

입사한 주에 2~3일에 하나씩 분석하고 코드 리뷰를 진행해야 할 애플리케이션이 생기고, CI/CD 관련 다양한 운영 업무들이 생기고, Kubernetes 관련 다양한 신규 구축 업무들이 생기고 있는데, 프론트엔드 개발만 할 때보다 꽤 재밌게 일하고 있습니다.
배울 게 쏟아지는 탓에 가끔 힘들 때도 있지만, 훌륭하신 선배님들 밑에서 다양한 것들을 배울 수 있어 좋습니다.

### Seegene, Application Architect
 
(2024.05 ~ 재직 중)
 
-   소프트웨어 품질 개선
    -   Unit Test, E2E Test, Visual Regression Test 도입 및 파이프라인 구축
    -   Black Duck 운영 및 프로젝트 내 적용
-   CI/CD 파이프라인 구축 및 관리
    -   배포 파이프라인 속도 평균 70%(8.5 mins) 가량 개선 (Parallel Build, Cache)
    -   Composite Action, Reusable Workflow 사용을 통한 재사용 가능한 파이프라인 설계
    -   Jenkins 스크립트 GitHub Actions로 교체
-   AWS에서 Azure로 마이그레이션 진행
    -   CI/CD 파이프라인 재구축
    -   GitHub Actions Custom Runner 구축 (AKS, Spot Instance, Helm)
    -   FrontDoor, NGINX Ingress 등 네트워크 구성
    -   AWS Lambda에서 작동하던 코드 애플리케이션으로 제작해 85% 이상 성능 개선 (Bun, Elysia, Docker, AKS)
    -   Kubernetes 통한 MongoDB 등 애플리케이션 구축 PoC
    -   애플리케이션 모니터링 시스템 구축 PoC (Sentry, Uptime Kuma, AKS)

오늘자로 이력서를 업데이트했는데, 3개월 가량 만에 적을 내용이 이렇게나 생겼네요.
운영성 업무가 아직 그리 많지 않은 것도 한 몫 한듯 합니다.

고민

이직과도 이어지는 이야기인데, 최근 커리어 관련해서 고민이 이만저만이 아닙니다.

사실 좀 예전부터 프론트엔드 개발자만 해서는 오래 먹고 살기 힘들겠다는 생각을 했습니다.
물론 이 블로그를 운영하는 서버도 직접 구축하고, 여러 언어로 다양한 개발 할 만큼 제가 여기저기 관심이 많기도 해서, 커리어 전환 고민도 꽤 많이 했습니다.

상술했듯 이직하면서 다양한 경험을 하고 있고, 만족도도 꽤 높습니다.
프론트엔드 애플리케이션에서 문제가 생기면 어지간한 것들은 모두 해결할 수 있다고 생각하고, 실제로 그러고도 있기에, 조금 식견을 넓혀보고 싶었는데, 이런 다양한 경험들을 바탕으로 나중에 어떤 역할을 맡건 1인분 이상은 할 수 있는 사람이 되었으면 합니다.

이 글을 초안으로 묵혀둔지도 어느덧 수 개월이 지났는데, 초안을 작성할 당시에는 이게 아주 큰 고민이었는데 경험을 쌓아가다 보니 그냥 분야 가리지 않고 다양한 경험을 하면서 성장하면 되겠다는 생각이 드네요.

개발

사실 요즘 코딩이 재밌어서, 개인 시간이 생기면 코드만 치는 탓에 블로그에 글을 많이 쓰지 못했습니다.

블로그

연초에 블로그를 새로 구축하고, 어느덧 반 년 넘게 시간이 흘렀습니다.

Turborepo cache도 적용해보고, SonarQube, CodeQL 등을 통해 코드 분석도 해봤습니다.
또한 Visual Regression Test같은 여러 테스트를 도입해 보기도 하는 등, 초기에 생각했던 '기술적인 놀이터'의 목적을 잘 이루고 있는 것 같습니다.

예전부터 자주 글에도 작성했지만, 글 열심히 쓰는 것 빼고는 다 하는 것 같네요.
여담으로 최근 Next Cloud로 개인 클라우드를 구축하고, 사진을 정리하면서 일기를 작성하다보니 글을 쓰고자하는 욕구가 거기서 충족되어 더욱 그 현상이 심해지지 않았나 싶네요.

CI/CD

평소에도 관심 많던 분야인데, 이직 후 회사에서 담당까지 맡게 되어 더욱 관심을 쏟고 있습니다.
Jenkins 스크립트 GitHub으로 옮겨오고, Matrix, Cache 등을 통해 속도를 개선하고, Composite Action, Reusable Workflow 등을 통해 재사용 가능한 파이프라인을 설계하는 등 다양한 경험을 하고 있습니다.

Marketplace에 TypeScript로 작성된 Action들도 많아, 사내 환경에 맡게 수정할 일이 있을 때도 편하게 작업하고 있습니다.
Monorepo로 action들도 관리할 수 있어, Front-end 애플리케이션 만들면서 썼던 기술들을 꽤 많이 사용하고 있는데, 역시 다양한 분야를 경험해 두는 게 도움이 많이 되는 것 같습니다.

인프라

정말 운이 좋게도 인정을 많이 받으며 일하고 있는 편이라, 인프라 관련 업무도 많이 하고 있습니다.

서버 컴퓨터 두 대로는 아무래도 할 수 있는 경험이 많이 제한되는데, 풍족한 자원으로 클라우드 경험을 쌓고 있습니다.
특히 네트워크나 Kubernetes 관련 경험을 많이 쌓고 있는데, 서버에서 k3s 설치하는 것도 귀찮았는데, 클릭 몇 번에 Kubernetes 클러스터가 구축되는 걸 보니 역시 돈이 좋긴 좋습니다.

최대한 많은 것을 배워, 회사에도 더욱 기여하고, 정말 혼자서도 서비스를 만들 수 있는 사람이 되기 위해 이 일 저 일 가리지 않고 열심히 하는 중입니다.
너무 아무거나 하고 다니나 걱정도 되긴 하지만, 아무래도 더 알아서 손해볼 일은 없을 것 같아, 이것저것 잡히는 대로 해보는 중입니다.

Rust

Rust로 간단하게 프로젝트를 몇 개 더 진행했습니다.

하나는 염기 서열 압축을 위한 Rust 라이브러리고, 하나는 Notion 페이지에 커스텀 도메인을 연결할 수 있게 하는 프로젝트로, 제 이력서를 호스팅하기 위한 프로젝트입니다.
Sonar Badge Displayer는 SonarQube의 badge를 토큰 노출 없이 GitHub에 사용하려고 제작했고, 여러 API를 만들다 보니 템플릿이 하나 있으면 좋을듯 해 HTTP Server Template도 만들었습니다.
마지막으로, GitHub의 활동을 정원 형태로 꾸미는 프로젝트를 몇 년 전부터 생각해왔는데, 이번에 Rust로 만들어봤습니다.

이제 API 만드는 건 어느정도 익숙해졌고, 자신감도 꽤 생겼습니다.

앞선 글에서 언급한 것처럼, 사내에 Python으로 진행한 프로젝트를 재미로 Rust로 포팅해보는 것도 진행했는데, 퇴근하고 하루에 모듈 하나정도씩은 작업되더라고요.
Python으로 제작된 Parser같은 애플리케이션이나, 압축 알고리즘 만드는 것도 재밌어서 비슷한 류의 프로젝트를 하나 더 진행해보고 싶은데, 아직 아이디어가 떠오르지 않네요.

외부 일정

멘토링 및 강의

작년 6월부터, 올해 5월 이직하기 전까지 패스트캠퍼스에서 멘토로 활동했습니다.

빽빽한 1월 달력

몸이 세 개 쯤은 있었으면 좋겠다고 생각하면서 저 일정들을 소화해 왔습니다.
꽤 힘들긴 했어도, 평가도 괜찮고, 멘티 분들도 꽤 만족해 하신 것 같아 꽤 보람찬 활동이었습니다.

기회가 된다면 다시 한 번 도전해볼까 생각 중입니다.

Report an issue