2022년 0년차 개발자의 회고
2022년 0년차 개발자의 회고
이번 글에서는 2022년 0년차 개발자가 된 한 해의 회고를 진행해보려 한다. 회고의 제목은 0년차 개발자의 회고
이지만, 내용은 내가 한 해 동안 어떤 일들이 있었는지 2021년 회고와 비교해보고, 기록하면서 회고해보려 한다.
대학교 9학기
2021년이 끝났을 때만 해도 드디어 나도 대학교를 졸업하는 줄 알았다. 하지만 2022년 1월 초에 0.5점이 부족해서 졸업할 수 없다는 학교의 전화를 받았다.(130 학점을 채워야 졸업인데 129.5 학점을 채웠다.) 계절학기 수강신청도 다 끝났기 때문에 0.5학점을 채우기 위해서는 무조건 9학기를 다녀야 하는 상황이었다. 졸업 사정 확인을 제대로 못한 나의 책임이 100% 였기에 누구도 탓할 수 없었고 너무나 속상했다.
바보도 이런 바보가 없었고 9학기를 다니고 무사히 2022년 8월에 졸업을 하게 되었다.
네이버 웹툰 인턴
네이버 웹툰에서 2021년 12월 부터 인턴을 진행했다. 인턴 기간동안 웹툰 브랜드 가이드 사이트를 개발하였는데, 이는 단순히 과제가 아니라 실제 서비스를 개발하여 배포하는 것이었다. 인턴으로서 웹툰 브랜드 가이드 사이트를 만들어 서비스를 배포하였다는 것도 뿌듯하였고, 하나의 서비스가 외부로 나가기 위한 전체 프로세스를 경험할 수 있던 것도 너무나 좋았다.
그리고 팀에서 만난 멘토님이 나의 첫 멘토님이자 스승님 같은 존재인데 너무나 멋있는 분이었고 배울 점이 많은 분이었다. 이런 분을 첫 멘토님으로 만나서 너무나 기쁘다.
정규직 전환
내가 진행했던 인턴은 체험형 인턴
이었다. 그럼에도 12월에 인턴을 시작할 때는 정규직 전환
에 대한 조금의 기대감과 열심히 해보고자 하는 열정을 가지고 시작했다. 하지만 인턴을 진행하면서 1월이 되었을 쯤엔 자신감이 점점 떨어졌고, 체험형 인턴이다 보니 정규직 전환
은 정말 안되는 것인가 생각을 하면서 전환에 대한 마음을 접기 시작했다.
그런데 2월이 되고 인턴이 거의 끝나갈 무렵 정규직 전환 면접을 제안해주셨다. 이 때는 나에 대한 평가가 좋지 않을 것이라 생각했는데, 예상과는 다르게 전환 면접 제안을 주셔서 너무나 기분이 좋았고 감사드리고 싶다. (나중에 들은 바로는 인턴을 하면서 내가 하나를 되게 깊게 팠던 부분이 있었는데 그 부분에 대해서 좋게 봐주셨다고 했다.)
그렇게 인턴에서 정규직으로 전환이 되어 현재는 네이버 웹툰에서 일을 하고 있다.
운동
3년 반 정도를 운동과 담을 쌓고 살고 있었다. 하지만 올해 여름 부터는 헬스
, 자전거
, 농구
운동을 하기 시작했다.
먼저 헬스를 시작하게 된 이유는 회사 인턴을 하면서는 살이 3kg 정도 빠졌지만, 인턴이 끝나고 정규직이 전환된 이후로 3개월 만에 7kg 정도 찐 것 같다. (빠진건 지방만 빠진게 아닌데 찐건 지방만 찐 느낌)
이제는 더 이상 운동을 안하면 안될 것 같아서 6월 쯤에 헬스장에 가서 PT를 등록했다. 확실히 혼자 운동을 할 때는 진짜 운동이 너무 하기 싫었는데, PT를 하면서 강제로 운동 하게 되다 보니 점점 운동에 흥미가 느껴지기 시작했다. 그렇게 운동을 하면서 9월 정도가 되었을 때 한달에 2kg 감량을 목표로 하는 가벼운 다이어트를 시작 했다. 매일 운동을 열심히 하다 보니 현재는 6~7kg 정도 감량 했고 앞으로 좀 더 빼보려 하고 있다.
그리고 원래 운동은 밤에 했지만, 요즘은 매일 아침 6시 운동을 하고 있다. 처음에는 아침 운동이 가능할까? 싶었는데 계속 하다 보니 그러려니 적응은 된다.(하지만 아침에 눈 뜰 때마다 아직도 쉽지 않다.)
두 번째는 자전거인데 친구가 같이 자전거 타고 한강(선유도)을 갔다오자 해서 자전거를 타고 다녀왔다. 왕복 50 ~ 60km 정도 되는 거리인데 이정도 거리의 자전거를 처음 타보다 보니 너무나 힘들었다. 하지만 다녀왔을 때는 나름 뿌듯했기에 한번 더 다녀와서 총 2번을 다녀왔다.
세 번째로 농구도 몇년만에 친구들과 하게 되었는데 옛날 생각나면서 되게 재밌었다. 내년에도 꾸준히 해야겠다.
올해는 활동적인 운동들을 많이 할 수 있었고 내년에도 운동을 절대 빼먹지 않고 꾸준히 할 예정이다.
스포츠 경기
올해는 운이 너무나 좋게도 한국 vs 브라질
축구 경기를 직관할 수 있었다. 축구장은 정말 어렸을 때 가본거 같은데 브라질이랑 하는 경기를 직접가서 볼 수 있어서 너무나 재밌었다.
그리고 몇년만에 야구장도 가게 되었는데 오랜만에 가니까 분위기가 너무 좋고 재밌었다.(내가 응원하는 팀은 언제 잘해질까?)
마지막으로 농구장도 몇년만에 한국 vs 필리핀
경기가 있어서 보러가게 되었는데 정말 재밌었고 농구 직관하러 몇번 더 가고 싶다.
여행
올해는 부산, 제주도, 안동 여행을 다녀왔다. 부산은 내 기억으론 올해 처음 가봤는데 좋은 기억의 여행이었다. 특히나 안동 여행을 갔을 때는 등산을 했는데, 정말 오랜만에 등산하기도 하고 산의 경사가 만만치 않아서 힘들었지만 되게 재밌고 뿌듯한 등산이어서 기억에 남는다.
매쉬업 12기
올해도 매쉬업 12기 스프링 팀으로 활동했었다. 스프링 팀을 하면서 올해도 좋은 사람들을 많이 만났고 재밌게 활동할 수 있었다.
무엇보다 12기에서 결혼식 소개팅 매리팅 프로젝트를 했었는데 우리팀이 2등을 했는데, 프로젝트 기획, 팀원들이 재밌었고 좋은 사람들이어서 기억에 남는다.
1784
웹툰은 회사가 판교에 있는데, 회사 행사가 있어서 1784로 출근할 기회가 있었다. 1784를 직접 가보니 시설도 너무 좋고 좋은 경험이었다.
워크샵
회사에서 춘천으로 주니어 워크샵을 가게 되었는데 내부 시설도 좋았고 주변 풍경도 이쁘고 회사 사람들과 좋은 추억을 남길 수 있는 좋았던 기억이다.
발표
올해는 학교와 회사에서 발표할 기회가 있었다. 학교에서는 같은 과 학생들에게 나의 취업 경험을 얘기하는 자리였다. 이렇게 취업에 성공해서 나의 이야기를 학교에서 발표했다는게 신기하다.
회사에서 한 발표는 테크톡 같은 느낌의 발표이다. 주제는 꼭 기술 주제가 아니어도 되고 원하는 주제로 발표해도 된다. 나는 내가 신입으로서 느낀 첫 프로젝트 경험기로 발표했는데, 나름 회사의 많은 사람들이 보는 앞에서 발표하다 보니 부담되었다. 하지만 끝나고 나면 역시나 뿌듯하고 재밌는 경험이다.
사이드 프로젝트
올해는 주로 회사 업무에 집중하고 업무에 관련된 공부를 하느라 정신이 없었다. 그럼에도 틈틈히 사이트 프로젝트를 하게 되었다.
프로젝트에 대해 간략하게 설명하면 하나의 명함을 공유하는 앱이고, 하나의 빵 선택을 도와주는 앱이라 할 수 있다. 어쩌다보니 2개의 사이드 프로젝트를 참여하고 있다. (역시 일 벌리기 장인인가?)
회사 일이 항상 1순위다 보니 사이드 프로젝트에 집중을 못할 때도 많을 거 같아서 참여하는 것에 대해 고민이 많았는데 더 열심히 공부해보려 참여하게 되었다. 내년에도 열심히 프로젝트를 하다 보면 더 나를 성장할 수 있게 하지 않을까? 싶다.
회사 업무의 시작
사실 제일 할 말도 많고 올 한해의 가장 많은 비중을 차지하고 있는게 회사 업무
다 보니 회고의 가장 마지막에 넣었다.
3월에 인턴에서 정규직으로 전환되었을 때는 자신감이 많이 생겼다. 하지만 정규직으로 들어온 후에 일을 시작했을 때는 자신감이 엄청나게 떨어졌다.
개발하기 위해서는 프로젝트 도메인에 대해 파악해야 했는데 모르는 것이 너무나 많았고, 단순하게 파악할 수 있는 구조가 아니어서 스스로 해결하지 못하고 자꾸 질문하고 주변 사람들에게 의존하게 되었다.
좀만 더 침착했으면 스스로 해결할 수 있었던 부분도 질문을 통해서 해결하고, 간단한 문제여도 시간이 오래 걸리다 보니 나의 개발 능력을 의심하게 되기도 했다.
역시나 공부해야 할 건 너무나 많고 부족한게 너무나 많다는 걸 다시 한번 느낄 수 있었다.
새로운 기술 스택
회사 업무를 하면서 사용했던 기술들에 대해서 간략하게 정리해보려 한다.
Kotlin, Coroutine
Kotlin으로 개발을 하고 싶다는 생각이 있었다. 그런데 올해 신규 프로젝트를 시작했는데 여기서는 Java
가 아닌 Kotlin
으로 개발하고 있어서 아주 좋다. 그리고 Coroutine
도 사용하게 되었는데, 아직 잘 모르기 때문에 조금씩 공부해보고 있고 팀에서 사용하고 있는 것들을 보고 있는데 아직은 많이 어렵다.
이제 신규 프로젝트에서 사용하면서 학습하고 있기 때문에 내년에는 많이 공부할 내용이 될 것 같고, 내년 회고에서는 이 기술들에 대해서 자신감 가질 수 있도록 노력해야 겠다.
ElasticSearch, Filebeat, Logstash, Kibana
먼저 ElasticSearch를 사용해서 Admin에서 사용할 검색 기능을 개발한 적이 있었다. 이 때 ElasticSearch에 대해서 처음 공부하여 개발해봤는데, 이 때 ElasticSearch가 어떻게 동작하는지 공부하면서 실제 적용해볼 수 있어서 아주 재밌었다.
그리고 Filebeat도 사용해보고 ELK 라고 하는 ElasticSearch, Logstash, Kibana 사용해서 모니터링을 구축해볼 수 있었고, 이러한 기술들이 동작하는 방식들에 대해서 경험해볼 수 있었다.
Kafka
우리 팀은 Kafka Platform을 운영하다 보니 Kafka를 많이 사용하는 팀이다. Kafka는 공부해본 적도 없고 사용해본 적도 없기 때문에 되게 어렵고 미지의 세계였는데 Kafka 프로젝트를 참여하게 되었다. Kafka 프로젝트를 하면서 Lag
, Topic
, Partition
, Consumer Group
등등 Kafka 용어, 개념을 알게 되었고, Kafka 운영 노하우를 경험할 수 있었다.
하지만 아직도 Kafka를 깊게 아는 것은 아니기 때문에 내년에 더 많은 공부가 필요하고 할 예정이다. 그리고 내가 올해 제일 많이 참여했던 프로젝트는 우리 팀에서 운영하고 있는 Kafka 프로젝트이다. 제일 많은 도메인 지식을 알게된 프로젝트라고 할 수 있다.
Spring
Spring에 대해서는 나름 어느정도는 알고 있다고 생각했는데 팀에서 프로젝트 하다 보니 Spring 조차 알고 있는게 부족하다는 것을 느꼈고, 기본기에 대한 중요성도 많이 느꼈고 더 공부할 예정이다.
또한 팀에서는 멀티 모듈을 사용하는데 멀티 모듈에 대해서도 많이 익숙해지고 배울 수 있었다.
Cassandra, Redis
회사에 들어오기 전에는 RDB
만을 사용해봤다. 하지만 우리 팀은 RDB
보다는 NoSQL
을 메인으로 사용하다 보니 NoSQL
에 대한 학습이 필요했다.
대표적으로 사용한 DB는 Cassandra 인데, 아직 공부한지도, 사용한지도 얼마 되지 않아서 어색하고 어렵다. 앞으로 정말 많이 사용하게 될 예정인지라 많은 공부가 필요한 기술이다.
Vue
팀에서 Admin을 개발할 때 Vue를 사용하기 때문에 Vue를 공부하고 사용하면서 개발하였다. 그리고 단순히 Admin 개발 용도로 Vue를 학습하고 사용하기엔 너무나 괜찮다는 생각이 든다.
Admin 개발을 하면서 느낀 것은 항상 백엔드만 개발했기 때문에 프론트엔드 경험이 정말 부족했다. 팀에서 Vue로 Admin 개발을 하다 보니 이제 어느정도의 어드민을 만들 수 있게 된 것 같다. 그리고 백엔드 개발자여도 어드민을 개발할 정도의 프론트엔드 개발 능력은 있어야 한다고 생각한다.
Git
회사에 들어오기 전에 Git
을 사용할 때는 Rebase
, Cherry-pick
같은 것들을 들어보기만 하고 사용해보지 않았다.
그런데 우리 팀 같은 경우는 Git을 사용할 때 Rebase
를 사용하는데, 이런 방식들이 내가 사용했던 방식보다 되게 복잡해서 처음에는 되게 어려웠다. 하지만 프로젝트를 하면서 계속 사용하다 보니 이제는 Rebase에 대해 익숙해질 수 있었고 Cherry-pick도 사용해보면서 Git에 대해 조금 더 잘 알게 되었다. (이전에는 Git을 막 쓰다가 이제 좀 생각하면서 쓰는 느낌이랄까?)
우리 팀에서 느낀 점
커뮤니케이션, 프로젝트 도메인 파악
회사에서 일하면서 실무에서 역량을 발휘하려면 개발 실력도 중요하지만 커뮤니케이션과 도메인 지식을 빠르게 습득하는 것, 그리고 다른 사람이 작성한 코드를 읽고 이해하는 능력이 굉장히 중요하다는 것을 느꼈다.
커뮤니케이션은 일을 하다보면 어떤식으로 해야 하는지 점점 감을 찾고 잘하게 되는 것 같다.
하지만 도메인 지식을 파악하는 것은 나에게 쉽지 않았다. 처음에는 당연히 프로젝트에 대해서 어느정도 설명해주고 프로젝트에 관련된 문서를 보면서 개념을 익혀 나가지만, 팀원들이 옆에서 하나하나 알려주지 않는다.(이건 어떤 회사를 가나 똑같을 것이다.)
즉, 다른 사람이 작성한 코드를 이해하면서 프로젝트 도메인에 대해 스스로 파악할 수 있어야 한다. 지금 생각해보면 입사 초반에 프로젝트 도메인을 파악할 때 스스로 파악할 수 있는 부분과 질문을 해야 할 부분을 잘 나눴어야 했는데 질문을 엄청나게 했던 것 같다.
질문이라는게 엄청 좋은 것이지만, 나에게 질문은 너무 다른 사람에게 의존하게 만드는 것 같다. 스스로 찾아보고 해결할 수 있는 능력을 더 기르고 싶은데 자꾸 주변에 물어보고 해결하고자 한다. 이 부분은 매년 스스로 좀 고치고 싶어하는 부분인데 잘 고쳐지지 않는 것 같다.
내년에는 꼭 주변에 사수님이나 시니어 분이 있어야 일을 할 수 있는게 아니라 스스로 문제를 해결하고 팀에 많은 기여할 수 있는 사람이 되고 싶다.
성장할 수 있는 환경
팀에 주니어 개발자들이 많이 있는 편이다. 입사 초반에는 이러한 환경이 내가 성장하기에 좋은 환경일까? 라는 생각을 많이 했다.
하지만 주니어 개발자여도 너무나 잘하는 사람들이 많기 때문에 배울점도 많았고 나에게 좋은 자극을 주었다. 특히 어떤 주니어 개발자분은 말도 안되게 잘하는 분도 있어서 배울점이 정말 많았다.
팀에 주니어가 많고 적은게 중요한게 아니라 내가 더 학습하면 노력하고 어떤 환경에서도 충분히 성장할 수 있다는 것을 느끼고 있다.
그리고 팀에 있는 시니어 분들에게도 배울 점이 정말 많았다. 이것이 시니어인가? 하는 느낌을 많이 받을 수 있었다. 특히나 나와 같이 많이 일했던 사수님이 계신데 질문도 정말 잘 받아주셨고 나에게 많은 가르침을 주셔서 내가 더 성장할 수 있었다.
우리 팀은 성능 테스트를 정말 많이 하는 팀이다. 성능이 중요하고 성능을 개선하기 위해서 노력하기 때문에 성능 테스트를 많이 한다. 나 또한 성능 테스트를 많이 경험해볼 수 있었는데 성능 테스트할 때 어떤 것들을 봐야 하는지, 병목 지점을 찾아서 어떻게 개선해나가는지 배울 수 있었다.
우리 팀의 이름은 Dataflow
이다. 말 그대로 대용량 데이터 처리에 특화된 팀이라 할 수 있다. 팀에서 대용량 데이터를 처리할 때 어떻게 해야 빠르게 할 수 있고, 효율적으로 할 수 있는지에 대해 많이 배울 수 있었다. 앞으로 정말 많이 배우면서 성장할 수 있는 환경이라는 것을 점점 느끼고 있어서 내년이 기대된다.
다양한 의견 제시
일을 할 때 내가 이 일을 왜 하는지, 어떤 것을 하는지 명확하게 알고 해야 하는데, 그냥 일을 하게 될 때가 있었다. 그러다 보니 나의 의견 제시를 많이 안하게 되고 그냥 시키는대로 하게 될 때가 있었다.
이 부분은 프로젝트 도메인에 대한 지식이 깊어지고, 내가 이 일을 왜 하는지, 어떤 것을 하고 있는지 명확하게 알다보면 다양한 의견 제시를 할 수 있을 것 같다.
이렇게 수동적으로 일하는 것이 아니라 능동적으로 일하는 것이 회사에서 일할 때 많이 중요하다는 것을 느낄 수 있었다.
문서화
나는 문서 작성하는 것에는 잘한다고 생각하는데 팀 내에서도 문서에 대해서는 꽤나 기여할 수 있었던 것 같다. 하지만 초반에는 무조건 문서가 많으면 좋다고 생각했는데, 문서도 결국 유지보수의 대상이기 때문에 관리가 잘 되지 않으면 오히려 독이 될 수 있음을 느꼈다.
마지막으로
나는 잘하는 개발자가 무엇인지 종종 생각하곤 한다. 여러 개발 경험이 있고, 여러 기술을 사용한 경험이 있으면 잘하는 개발자 일까?, 한 분야에 깊게 알고 있으면 잘 하는 개발자 일까?
아니면 빠르게 도메인 지식을 파악하고 실무에 투입될 수 있는게 잘하는 개발자일까? 아니면 개발을 빠르게 하는 사람?, 코드를 객체지향 적으로 잘 짜는 사람?, 테스트 코드를 잘 짜는 사람?
이렇게 하나씩 나열하다 보면 끝도 없을 것이다. 이러한 항목들을 N 각형을 나타내면 사람들은 자신의 잘하는 부분, 부족한 부분들이 나타날 것이다.
잘하는 개발자가 무엇인지는 사람마다 생각이 다르기에 정답은 없지만, 잘하는 개발자라면 N 각형에서 뾰족한 부분이 많을 거라고 생각한다.(내가 생각하는 잘하는 개발자는 아직 잘 모르겠다.)
그런데 내가 개발자로서 가지고 있는 능력을 N 각형으로 표현해본다면 부족한 부분이 너무나 많다. 내년에는 나의 부족한 부분을 보완하도록 노력할 예정이다.
2023년 목표
올해 목표는 아래 두가지만 정해보려 하려 한다.
깊이 있는 학습
팀에서 여러 가지 기술을 사용해봤지만 아직 한 기술에 대한 깊이가 부족하다고 생각하고 나만의 강점을 가질 수 있도록 깊이있게 기술을 학습해보자. 뿐만 아니라 회사에서 일하다 보니 기본기에 대한 공부도 많이 필요하다고 느꼈다. (CS 지식이라던지, Java, Spring, 새로운 지식 등등)
마지막으로 테스트 코드는 매번 안짜는 버릇이 들다 보니까 나에게 엄청나게 취약한 부분이 되었다. 올해는 테스트 코드를 작성하는 습관을 기르자.
내년에는 올해보다 좀 더 깊이있는 공부를 꾸준히 하면서 성장하자.
새로운 기술 겁내지 않기
내가 생각하는 잘하는 개발자라고 생각하는 것 중에 하나는 처음 사용해보는 기술, 새로운 기술에 대해서 금방 적응하고 이해할 수 있는 능력이다.
하지만 나는 새로운 기술에 대해 적응하고 이해하는 능력이 높다고 생각하지 않는다. 간단한 이유를 말하면 일단 내가 할 수 있을까?란 겁을 먹기 때문인 것 같다.
물론 올해도 새로운 기술들을 많이 사용하고 적응해왔지만, 앞으로도 새로운 기술을 공부하고 사용해야 할 상황은 너무나 많을 것이다.
새로운 기술을 익히는 방법은 공식 문서 보기, 인강 보기, 책 보기, 여러 참고 자료 보기 등등 여러가지가 있을 것인데, 내년에는 새로운 기술을 적응하는 자기만의 노하우를 만들고 침착하게 공부해서 내 것으로 만들 수 있도록 노력하자.
운동
운동을 했을 때 운동을 하기 전보다 확실히 몸과 마음이 달라지는게 많이 느껴진다. 올해는 어디 다치지 않고 운동을 꾸준히 할 수 있었으면 좋겠다. 내년에도 매일 5시 30분에 일어나서 6시 운동을 할 예정이다.