새해에 쓰는 2023 회고

민수빈·2024년 1월 6일
0
post-thumbnail

새해도 되었으니 지난 1년을 돌아보자.

목표와 현재의 비교

2022 목표

  • 업무 적응하기
  • 대학교 졸업
  • 취미 만들기
  • 운동 꾸준히 하기
  • 자기개발하기

돌아보기

  • 업무는 아직 어렵고 할 건 넘쳐나지만.. 나름 적응했다고 생각한다.
  • 대학교는 무사히 졸업했다. 졸프도 A+ 받았다!
  • 취미는.. 아직 모르겠다. 워낙 정신 없이 지나간 일 년이어서, 여유 시간이 많지 않았던 느낌.
  • 운동은 꾸준히 까지는 모르겠고, 최소 주 1~2회 가고는 있다. 아침 운동으로 바꿨는데 아침은 확실히 늦잠이 아니면 못 갈 이유가 많지 않은 느낌은 있다. 하지만 그 늦잠이 못 갈 이유만큼의 비중
  • 뒤에도 적을 건데, 자기계발은 아쉬운 점이 많았던 해가 아닐까.

추가적으로 블로그에 회고만 쌓이는 것 같아서 2024에는 좀 더 꾸준히 작성하는 걸로.. 🥲

입사 초기에 신나서 간직했던 사원증 ~~

이제는 익숙해지다 못해 심지어 하나 부셔먹어서 춘식이가 갖고있던 사원증 케이스 뺏어서 쓰고 있다. 🤣

타임라인

2022년에서 이어져온 활동들도 같이 적었다. (시작 날짜 기준 정렬)

2022.09 ~ 2023.02 : YAPP 21기 운영진
2022.10 ~ 2023.01 : 졸업 프로젝트 (1학기, 팀)
2022.12 ~ 2023.03 : 카카오 온보딩
2022.12 ~ 2023.08 : 대학교 막학기
2023.01 ~ 2023.04 : 플랜즈(사이드 프로젝트) 서버 개발
2023.03 ~ 2024.01 (현재) : 카카오 팀 배정 및 업무
2023.04 ~ 2023.06 : 졸업 프로젝트 (2학기, 개인)

굉장히 뭐가 많아보이지만 사실 회사 / 학교 두 개를 주로, 간간히 사이드 프로젝트 개발, 동아리 활동했다.
그마저도 후반부에는 메인 두 개에 집중했다.

아쉬웠던 점

회사 생활 외 자기 계발 비중이 많이 줄었다는 것.

물론 변경해보자면 올해 8월 졸업이니까 8월까지는
(졸업 프로젝트) + (기타 남은 온라인 수업 수강) + (회사 일) + (동아리 + α) 인 상태로 살았고,
실제로 회사 일에 집중했던 건 9 - 12월이긴 했다. (이전에는 회사 일을 대충했다는 건 아니다 물론@@)

물론 그동안이 후회되냐고 하면 절대 아니고, 투자 / 운동 / 건강 / 회사 적응 에 나름 알차게 사용했다.
하지만 인생에는 사이클이 있는 것처럼, 이제 다시 개발 사이클이 돌아올 때가 되었다 정도?
(그러므로 사이드 프로젝트 껴주실 분 찾습니다.. 여기 자바 TS C++ 뭐든 다 하는 서버 한 명 있어요..!)

집 - 회사 외 생활이 거의 없었다는 점.

체력이 너무 부족했던 건지 뭔지. 회사 다녀오면 집에 들어와서 기절이 대부분이었던 것 같다.
위에서 말한 것과는 다른 맥락인데 꼭 생산적인 일을 하지 않아도,
여유 시간이 있다는 것과 없는 것은 사람을 많이 다르게 만든다고 생각해서 요 부분이 많이 아쉽다.

이제는 기절 거의 안하니까 내년에는 학원을 다니든 동호회에 들든 외부 활동을 만들어봐야겠다.

너무 아쉽다는 얘기만 했나싶어 제 인생 동반 (예정) 키보드를 소개합니다.

굉장히 작고, 귀엽고, 비쌉니다. 물론 키감과 소리도 좋습니다.

HHKB 배열 + vim 플러그인은 개발 잘하는 척에 많은 도움을 준다는 꿀팁 공유합니다. (대신 생산성이 마이너스 50%)

그래도 좋았던 점

멀티 스레드 / 동시성 프로그래밍을 비교적 심도 있게 경험했다는 것

멀티스레드? 동시성?
솔직히 서버 개발자라면 한 번쯤 (아니 수십번..) 들어봤을 거라고 생각한다.
면접에서 단골 질문이기도 하고. 실제로 과거 인턴 면접에서 면접관분이 물어보시기도 했다.

Q. 멀티 스레드 관련해서 프로그래밍 경험이 있나요?
A. 학교에서 간단하게 지식적인 내용 학습과 관련 실습 외에는 없습니다. 🥺 < 과거의 나

그런 내가 회사에 들어가고 나서는 정말 너무 어려운 세계의 연속이었다.
물론 다른 세션 서버는 다를 수 있지만 적어도 우리 회사에서는 아래와 같았다.

  • 일반적인 API 서버와 다른 실시간 세션 서버
    • 이벤트 기반으로 동작함.
    • 상태 유지해야함.
    • 비동기적으로 이벤트가 올라오고 처리해야함
    • 효율성이 매우 중요하므로 별도 프레임워크 없이 직접 스레드와 시스템 콜 사용
  • 를 기반 지식 거의 없는 언어(C++, Rust)로 구현 및 유지보수

말만 들어도 어질어질한 작업들의 연속이었다.

소켓은 계속 유지되고 연결 상태를 보장할 수 없고 이전 정보를 가지고 있어야하고..
연결이 되어있어도 패킷이 정상적으로 사용자에게 전달된다는 것과는 다른 이야기였다! (나만 몰랐으면 PASS)
ex) 우리가 엘리베이터에만 들어가도 톡 전송 제대로 안되잖아? 연결은 정상적인데!

동시에 여러 세션 / 한 세션의 여러 이벤트를 한 서버 내에서 처리해야 하기 때문에 여러 상황을 고려해야했다. (내가 세션을 우리 서버 메모리에 넣었다 처리 완료하기 전에 세션이 끊어지면?
세션을 임의로 끊으려고 하는데 해당 세션을 사용하는 다른 세션이 이벤트를 전달하고 있으면? 등 ..)
RW Lock, Mutex, 시스템 콜을 로우 레벨로 다루는 세계는 정말 보람차지만 정말 어려운 세계였다.

그래도 점차 익숙해지면서 관련 클래스를 리팩토링하기도 하고, 타이밍적이나 빠진 처리로 발생한 버그도 해결해보면서 멀티 스레드 프로그래밍이 요런 느낌이구나 해볼 수 있어서 보람찼다.
(이게 이어져서 Rust로 비동기 멀티스레드 웹소켓 테스트도 설계하고 구현했다 🥹✨)

실제 운영하는 서비스 서버의 운영에 참여하는 것

아무래도 사이드 프로젝트는 사용자가 거의 없다시피하고,
있다해도 길게 개선하고 운영하는 경험을 가지기 힘들다. 협업도 비교적 적은 사람들과 하게되고.

회사에서 느낀 게 많다. 실제 서비스는 대비의 범위와 방식이 정말 달랐다,
그 중 하나로 사이드로 개발할 때 로그는 문제 발생시 디버깅을 위한 것 그 이상의 의미를 갖기 힘들었는데, 운영에서는 로그는 정말 중요하고 다른 의미이더라.

  • 디버깅은 당연하고,
  • 특정 이벤트 지표 집계를 위해 로그를 사용하기도 하고,
  • 어뷰징을 막기도 하고,
  • 장애시 대처를 위한 기반이 되기도 한다.

언제 어디서나 나와 함께하는 에러 얼럿방... 🥹 서버 개발자들 모두 화이팅..!

이외에도 협업에서 느끼는 점이 정말 많다.
나만 경험한, 또는 나만의 생각과 지식을 상대방에게 공유하고 포인트를 함께 맞추는 과정이 정말 중요하고 어렵고 사람마다 다양한 방식을 가지고 있고 내 협업 방식은 아직 발전해야하는 곳이 많다는 것...

내 삶에 대한 관심이 늘어났다는 것

아무리 개발자고 회고라고 해도 어째 개발 얘기밖에 없는 것 같아서.. 저 그런 사람 아닙니다. 🫠

이제 정말 독립할 시기가 되었다고 생각하는 게, 점차 내 삶에 대한 게 뚜렷해지는 느낌이다.
작게는 영양제 챙겨먹기, 식단에서부터. 운동, 경제 관념 등 이제 성인으로서 나아가기 시작한 해인 것 같다!

내년 목표

  • 운동 루틴 자리 잡기.
  • 회사 일 외에도 취미로 할 수 있는 사이드나 스터디하기.
  • 외부 활동 (동아리, 동호회, 학원 등) 만들기.

끝내기 아쉬워서 근황 사진 몇 개 추가해봅니다.

회사 송년회 개념인건지 땡큐 데이라고 이벤트도 하고 춘식이 아이스크림도 줘서 냅다 먹었습니다.
춘식이는 마지막까지 살려놓다가 아득바득 씹어먹었습니다.

집에 트리 꾸몄는데 자랑할 곳이 없어서 여기라도. 여기에도 춘식이가 있는데 광팬은 아니지만, 귀엽지 않나요?
팀장님이 사주셨습니다. 매우 감사하고 충성하겠습니다 🙇‍♀️✨🫡

진짜 2023 회고 끝.

profile
개발 기록. 이전 블로그 (알고리즘 위주) : https://blog.naver.com/tnqls5417

3개의 댓글

comment-user-thumbnail
2024년 3월 9일

너무 멋있으십니다..! 혹시 서버 개발자로서 대학생 때 어떤 공부, 어떤 프로젝트를 하셨는지 여쭤봐도 될까요?

1개의 답글