Choi solyi

30개월차 주니어 개발자의 2022년 회고

SOLYI 2022. 12. 22. 23:55
반응형

목차

업무 / 기업 문화 / 최솔이 / 미니 프로젝트1,2  / 마지막으로

 

# 업무


입사 첫 주 메인터넌스 안건을 7건 맡게 되었다. (1~2월)
처음 보는 C#코드와 강의 한 바퀴를 돌았지만 실무로 사용해본 적 없는 vuejs 코드에 익숙해지도록 간단한 유지보수 업무를 맡았다. 프로젝트 내에서 가장 오래된 코드는 거의 20년 가까이 된, 오래되고 규모가 큰 프로젝트여서 구조를 파악하는 데에 많은 시간을 투자했다. 1년이 다 되어가는 현재도 열어보지 않은 프로젝트가 셀 수 없이 많다. 전부를 파악할 순 없었지만, 주요 시스템과 업무에 대한 이해를 갖출 수 있었다.

.NET Migration (3월~)
위에서도 썼듯 회사 프로젝트 전체가 굉장히 오래되었다. 처음 유저의 화면을 봤을 때 2,30년 전의 lycos를 보는듯한 느낌마저 들었다. UI는 그렇다 쳐도 백엔드 시스템도 그만큼 오래되었다. 전체 프로젝트의 .NET 버전을 업데이트하는 프로젝트가 팀장님에 의해 진행되었고, 목표했던 기간의 2-3배 이상이 소요되었다.


이때 모든 시스템이 동작하는지 모든 개발자들이 테스트에 참여했고 테스트 서버에서 여러 차례, 그리고 운용 서버의 대수만큼 테스트를 진행하다 보니 '테스트'라는 단어에 이골이 났었다. 긍정적으로 생각해보자면, 수없이 같은 테스트를 반복하다 보니 시스템의 기능을 파악할 수 있는 좋은 기회였고, 테스트 시나리오를 작성할 때 '목적'과 '방법'에 대해 구체적으로 생각하고 작성할 수 있게 되었다. 기존의 테스트 시나리오는 목적 불명, 테스트 방법 난해 그 자체였다..

지갑 검색 (4~7월)
처음으로 한명의 개발자로 프로젝트에 투입되었다. 기존에 없던 '검색' 기능을 추가하기 위한 프로젝트로, 나는 3개의 API를 작성하고 화면을 할당받아 구현했다. 개발을 했다고 말하기에는 부끄러울 정도로 기존의 코드를 복붙 해서 만들었다ㅎ.. (이미 구현되어있는 컴포넌트를 재사용해야 하므로 복붙을 안 하는 게 더 어려웠을 거다)


지금 돌이켜 생각해보면 크게 기여한 점은 없는데도 1인분의 개발자로서 팀에 일원이 된 기분이 들어 뿌듯했던 것 같다 ㅋㅋㅋㅋ



OpenAPI (8~10월)
국내 기업과의 계약 체결로 인해 API를 급하게 개발하게 되었다. 여태까지 업무의 고객은 본사와 사내 관계자였어서 일정이 적당하다고 느꼈으나 국내 모 대기업이 고객사가 되니 개발 기간 자체도 짧았을뿐더러 다양한 요구사항에 실시간으로 대응하느라 잔업도 자주 해야만 했다. 자주라고는 해도 원래는 월에 2-3시간 할까 말까 한 회사이기 때문에 그렇게 자주도 아니긴 하지만..


아무튼 고객이 사용하는 목적을 가진 API 개발을 처음이어서 API의 개념에 대해 한 번 더 공부했던 기억이 난다.


갑작스럽게 윈도우즈 서비스의 개발도 하게 되어서 정말 당황스럽고도 재밌었던 기간이었다.


> 윈도우즈 서비스 개발 후기(?)

 

Windows Service 개발 / Windows 서비스 앱 만들기 / 윈도우 서비스 실행 / eventLog

갑작스럽게 서비스 개발을 하게 되었다. 현 회사에서는 항상 1) 유지보수 2)간단한 수정 3)개발. 이 순서로 진행 되었기 때문에 기존 코드에 대해 분석할 시간을 어느정도 확보 한 뒤 개발에 들어

solyi.kr



사내 관리자 페이지(11월~1월, 진행 중)
11월에 착수해서 현재 진행형이다. 기존에 없던 건 아니고 권한과 특정 메뉴들을 추가하고 있다. 데이터베이스 설계와 쿼리를 짤 시간이 일주일 이상 있었음에도 불구하고 혼자서 쿼리를 짜내지 못해서 매우 분한 상태다. 선배 개발자와 시니어 개발자에게도 도움을 청했지만 꽤 난이도가 있는 쿼리여서 혼자서는 몇 주의 시간이 있었더라도 힘들었을지도 모른다는 생각마저 들 정도다. 복잡한 쿼리는 계속 쿼리를 짜다보면 언젠간 자연스럽게 술술 써지는 날이 오는 걸까? 구글링을 해봐도 기본적인 쿼리에 대한 내용은 많았지만 복잡한 쿼리 짜는 효율적인 방법에 대해서는 나와있지 않더라.


제일 문제였던 건 내가 이리저리 코드를 수정하면서 뭘 시도했는지, 안 했는지 헷갈리고 주석도 달아놓질 않아서 수정에 더 많은 에너지를 소모했다.


앞으로는 주석 꼼꼼히 달고, 내가 뭘 시도했는지에 대한 기록도 함께 써보자고 결심했다.

 

인간의 기억력이란 얼마나 하찮은지.. 불과 며칠 전에 짠 쿼리나 코드에 대해서도 기억이 나질 않아서 집중력도 떨어졌다. 다시 봐야지 하면 어디서부터 손을 대야 할지도 막막했다. 이번 프로젝트에서 제일 많이 반성하고 배운 것 같다.


아직 끝나지 않았으니 마무리까지 열심히 해봐야지.


# 기업 문화


1. 배포 판정회

입사 후 알게 된 회사의 특이한 기업 문화가 있다면 일반 한국 IT기업과는 다르게 배포 전 금요일에 릴리스 판정회가 열린다.


매주 금요일 특정 시간에 각 팀 리더와 관계자들이 참가해서 배포자(혹은 발표자)가 배포할 안건에 대한 개요와 수정한 부분, 배포 방법, 배포 후 테스트 방법 등을 공유한다. 이슈가 발생할 가능성을 제시하고 그에 따른 보완이나 대응 방법을 토의한다. 문제가 없다면 그다음 주 월~수 중에 master 브랜치에 병합을 한 뒤 테스트 서버에서 테스트를 진행하고 문제가 없다면 목요일 새벽에 배포를 하는 시스템이다.


긴급한 이슈가 발생하면 당일 배포하는 경우도 간혹 있지만, 그럴 때도 사전에 팀 리더 간의 회의와 서비스에 대한 영향도를 충분히 검토한 뒤 퇴근시간 후에 배포가 이루어진다.

 

이전 회사에선 긴급도나 유저의 사용 여부와는 상관없이 코드가 완성되면 로컬에서만 테스트 대충 한두 번 해보고 바로바로 배포를 하곤 했다. 과정 자체가 많이 축약되어 있어서 내 몸은 편했지만 서비스에 대한 영향은 고려하지 않았기 때문에 발전엔 도움이 되지 않았다.

 

처음 겪는 시스템이어서 처음엔 번거롭다는 생각도 들었지만, 익숙해진 지금은 서비스의 안정적인 운용을 위한 최선의 선택이라 생각한다.


2. '배움'을 적극 권장

교육회사라서 그런지 배움을 적극 권장하는 문화다.

 

팀 내에서 주 1회 스터디를 진행한다. 팀별로 원하는 주제와 목표, 기간을 설정하고 진행한다. 다른 팀은 모르겠지만 꽤 자유를 주는 편. 바쁜 시기에는 스킵되는 경우도 있지만 대체로 바쁘더라도 스킵 없이 진행되도록 팀원 모두가 노력한다.

 

스터디로 도움이 된 점 중 하나. git을 쓰고 있어도 Pull Request는 진행된 적 없었다. 팀 스터디를 통해 다 같이 git을 한번 더 꼼꼼히 공부하고 현재는 매 번 PR을 날리도록 하고 있다. 아직 온전히 정착된 건 아니지만 서로의 코드를 보며 피드백하고 코드 품질을 향상하는 데에 도움을 주고 있다.

 

그리고 개인 프로젝트를 어떻게 진행해야 할지 매번 고민만 했었는데 vue 스터디를 통해 뭘 만들 건지 구체화시키고 나니 그다음 진행은 순조로웠다. (덕분에 개인적으로 진행한 미니 프로젝트-트라이미-를 만들 수 있었다).

 

타 팀에서 진행하는 vue 공부회에도 초대를 받았다. 기초적인 부분부터 시작하는 스터디지만 그 와중에도 배울 점이 많았다.

 

제일 좋은 점은 업무시간에 진행한다는 점이다.. ((( 내 개인 시간 지켜 )))

 

월 1회 외부 강사가 기술 트렌드에 대한 강의도 들을 수 있다. (최근에 Github의 copilot, GPT-3, CodeGuru에 대한 내용이었다.)

# 최솔이

1. 업무 정리용 템플릿 작성

 

노션에 데이터베이스로 목록을 만들고 템플릿을 추가했다. 업무 단위로 기록하는 템플릿이다.
업무마다 정리해둬야 할 특정 칼럼들이 있어 정리해보니 아래와 같은 템플릿이 되었다.
포인트는 하단의 배운 점과 어려웠던 점이다.

이미 아는 내용이거나 아주 간단한 업무에서도 하나라도 배울 점을 찾고자 했고
어려웠던 점은 솔직하게 쓰고 어려웠던 것을 해결하기 위해 어떤 것을 시도했고 성공했는지 실패했는지를 작성한다.

모든 업무에 이 템플릿을 적용하기는 어려웠지만 '업무별로 페이지 하나에 정리하기'는 지금도 잘한 선택이라고 생각한다.

 


두 번째로 데일리의 투두 리스트를 하나로 정리했던 점. 보안상 모자이크는 양해를.. 업무 중엔 기본적으로 이 화면을 켜놨다.
예정된 업무를 까먹지 않기 위함도 있고, 할 일의 우선순위 정하는 게 어려워서 정리를 해두었다.

  

# 미니 사이드 프로젝트 1

상반기에는 거의 노는 데에 시간을 많이 썼다. 주로 롤... 배그...롤..배그.......ㅎ
6-10월은 PT와 필라테스에 집중했다.

그리고 해가 다 끝나가는 11월부터 팀 스터디로 기획한 프로젝트를 개인적으로 시작했다.

 

 

평소 책 리뷰를 남길 공간을 갖고 싶다고 생각하고 있었는데 역시 프로젝트의 기본은 CRUD 지~라는 생각에 개인 블로그 형태의 북리뷰 사이트를 만들려고 했다.
DB구조를 짜고 있던 차에 요즘 베프들과 대화할 때 MBTI 얘기가 자주 나왔고 그때마다 신났던 게 떠올라 MBTI 테스트 사이트를 만들어보기로 마음이 급변했다,,
그 다음 어떤 식으로 데이터를 입력할지 고민하다가 MBTI를 제작 기능을 갖춘 사이트를 만들기로 결심했다.
백엔드에 대한 고민이 많았지만 서버가 따로 필요 없다는 firebase를 써보기로 했다.

01234
ppt로 대충 만들어본 기획안(슬라이드)


나의 영원한 과제일 CSS, 디자인에는 자신이 없어서 Vuetify를 적용하기로 하고 무료 디자인을 찾았다.


11월엔 거의 매일 퇴근 후 트라이 미 프로젝트에 전념했다.

 

체계적으로 계획을 짜서 진행하기보다 그날그날 해야 할 것들을 작업 목록에 기록하고, 가능하면 그날 안에 마무리 짓고 잠들기를 반복...

 

이러다간 끝이 안 날 것 같아서 12월 내에 1차는 마무리 짓기로 다짐했다.



접속하면 바로 보이는 화면. 처음엔 버튼식이었지만 내가보기에도 촌스러워서 수정.

 

저장된 이미지를 보여주고 타이틀, 진행된 회수를 보여준다.
질문별로 다른 선택지가 나와서 고를 수 있다.
결과는 직접 입력하기 힘들어서 내용이 가난하다..




아직 큼직하게 남은 할 일들 : 유효성 체크, 메타태그 추가, 콘텐츠 추가..

 


이번 미니 프로젝트를 진행하면서 느낀 점, 반성한 점, 배운 점
느낀 점: vue로 실무로 일하고 있어도 아는 게 많지 않아서 구글과 강제 베프를 맺어야만 했다.
→ 구현하고 싶은 다양한 경험을 해봤으니 실무에도 도움 될 거라고 믿어본다

반성: 개발에 들어가기 전에 설계를 꼼꼼히 해야 한다.
→ 대충 개발하기 쉬운 쪽으로만 만들다가 나중에 크게 실수한 걸 알고 DB를 전부 갈고 다시 test data를 추가해야 해서 눈물이 찔끔 날뻔했다.

반성: 진작부터 vuex(store)를 활용해 볼걸
→ 쓰고는 있었지만 이전에 썼던 그대로 쓰다가 후회했다. store에 미리미리 저장했으면 쉬운 기능이었는데 먼 길을 돌아갔다.

배운 점: foreach는 async await를 쓸 수 없다.
→ 특정 리스트를 돌면서 그 안에서 foreach를 쓰고 싶었지만 내가 원하는 대로 동작하지 않았다. 거만했다.

 

# 미니 사이드 프로젝트 2

주말에 닁닁늬~ 하고 누워있다가 갑자기 번뜩 떠오른 아이디어로 나 스스로를 위한 1일 목표 루틴 체크도 만들었다.
배포까지 들인 시간은 7시간 정도.
하지만 너무 급하게 설계도 계획도 없이 만든 탓인지 효율적이진 않다.
그래도 나 혼자 쓰기엔 딱 적당한 정도라 만족하면서 사용 중..

 

'무조건 100% 달성할 거야'라는 욕심이 아닌 '조금씩이라도 꾸준히'를 목표로.

 

폰 메인 화면에 바로가기를 추가해두어서 어플처럼 쓰고 있다.

 

간단한 프로젝트 설명

- 사이트를 들어가면 바로 그날의 목표가 표시된다.

- 월별로 목표를 7개까지 설정할 수 있다.

- 회색으로 저장되지만 달성 후 클릭하면 저장되어있는 컬러로 변신

- 일/주/월 별로 볼 수 있다.

 

 

어제의 기록  일기와 업무외 개발을 안했다.
월별로 보기. 전체적인 달성률을 확인할 수 있다.
미리 등록해둔 1월의 목표
목표를 추가하는 화면

내가 사용할 목적으로 만들어서 그런지 쓰기 아주 편리하다.


수정이나 삭제 기능을 페이지에는 구현해두지 않아서 수정, 삭제할 땐 매번 firebase 사이트에 접속해서 일일이 수정하거나 로컬에서 run serve 해서 고치고 있어서 언젠간 이것도 손봐야지ㅎㅎ..

 

# 마지막으로

실은 개발자가 된 첫 해부터 나름의 회고를 작성해왔지만 블로그에 올릴 용기가 없었다.

내 눈에 띄던 주니어 개발자들의 회고를 읽다 보면 다들 너무 나와는 다르게 멋진 삶을 살고 있구나-하는 생각이 들기도 했고 스스로가 쓴 글을 남에게 보여주고 평가당한다는 게 조금 부끄럽기 때문...ㅎ 

 

근데 누가 내 블로그에 와서 이걸 보겠냐라는 생각에 남겨본다. 내년, 내후년, 그 후의 최솔이가 다시 읽어보고 무슨 생각을 할지 궁금하기도 하다.

 

 

올해는 그래도 나름 맘에 드는, 괜찮은 회사에 입사해서 성장했지만 그래도 아직 갈길이 멀다고만 느껴진다.

 

2022년의 최솔이는 하나를 깊게 파진 못했어도 여러 방면에서 성장했다고 느낀다.

2023년의 최솔이는 지금보다 더욱 성장하길.

 

 

반응형