회고/분기 회고

2022년 여름방학 회고

Taler 2022. 8. 30. 20:41

정신없이 지나간 여름방학. 분명 1학기 때보다 더 바빴지만 그렇게 힘들지는 않았다. 한참 바쁘게 살 쯤, 아래 글귀를 봤다. 비가 내리고 바람이 분다고 해서 우울해하지말고, 빗 속에서 춤춰보자.

 

이 몰아치는 인생을 한 번 즐겨보자.

 

1. SW 코칭


학교에서는 열어주는 2가지 코칭 교육을 모두 신청했는데, 둘 다 선정되어 참여하게 됐다. 리스트업을 하자면 아래와 같다.

 

 1. 오픈SW 실습 교육
 2. SW 코칭 - Spring

 

하나씩 후기를 정리해보고자 한다.

 

    1) 오픈SW 실습 교육


종강하고 바로 다음주에 사흘간 진행했던 교육이다. Git의 기본부터 심화까지 직접 실습을 하면서 체득할 수 있는 좋은 기회였다고 생각한다. 사실 이전에는 무지성 pull - add - commit - push (심지어는 force..!) 의 흐름으로 Git에 큰 의미를 부여하고 있지 않았다. 그냥 버전이 잘 관리되는구나~ 싶었다.

 

하지만 해당 교육을 들으며, 사실 내가 하고있던 방식은 처음부터 틀려먹었다는 사실을 알게됐다.

pull하고 무지성 푸시만 해서 협업이 아니다. 협업의 흐름은 아래와 같다.

1. fork : 프로젝트 복사
2. clone: 소스코드 + 히스토리 내역 다운로드
3. git log, shortlog: commit 히스토리 해석
4. git config: 협업을 준비하기 위한 git 설정
5. git commit: 코드 수정 및 커밋 생성
6. Pull Request: 팀 프로젝트에 수정 내역 제출

해당 협업의 과정 각각에 대해서 구체적으로 어떻게 진행하는지, 혹시나 발생할 수 있는 문제들은 어떤 것들이 있는지 그리고 어떻게 대처할 수 있는지 배울 수 있었다.

가장 결정적으로 성장했다고 느낀 것은, git rebase가 뭔지도 몰랐던 내가 이후 스타트업에서 인턴을 하면서도 가끔 커밋이 꼬이거나 다시 덧붙이고 싶은 것들이 있을 때마다(amend 하기 위해) 자연스럽게 interactive rebase하고 있는 모습을 볼 때였다.

 

매 교육에서 모르는 것이 있다면 몇 번이고 질문했을 만큼 열정적으로 들었다.. 만약 듣는다면 이번에 한 번 듣고 깃은 그냥 마무리해버리겠다는 마음가짐으로 들어보자. 생각보다 얻어가는게 많다.

 

    2) SW 코칭 - Spring


이번 프로그램은 배달의민족 시니어 개발자분께 Spring관련 코드리뷰 및 코칭을 받을 수 있는 코칭 프로그램이다. 프로젝트를 하나 진행하면서 전체적으로 프로젝트 구성을 어떻게 하는지, 코드는 어떻게 작성하는지 코칭해주시는 것.

 

필자는 평소에 웹툰을 많이 보는데, 특히 네이버 웹툰만 본다. 하지만 다른 친구의 소개로 카카오 페이지의 웹툰들도 보게 됐는데 너무 재밌는 것이다..! 사람들은 이렇게 세상에 어떤 웹툰이 있는지도 모르고 지나가게 된다. 설령 알게 되더라도 접근성이 떨어져서 쉬이 보기 힘들어지는 것.

 

따라서 나는 모든 웹툰 플랫폼에 산재된 웹툰들을 모아 장르별로, 인기순으로, 개인 맞춤형 추천까지 제공해줄 수 있는 서비스를 만들어보고자 웹툰모아라는 프로젝트를 제안했고, 괜찮은 것 같다고 말씀해주셔서 해당 프로젝트로 시작하게 됐다.

 

배운 것은 다 나열하기 힘들만큼 많았지만, 큰 주제만 어림잡아 나열해보자면 아래와 같았다.

크롤링 할 때 생각할 것들 (꼭 스프링 배치로 할 필요 없다.)
Test code 작성법 with Mock API
깨끗한 코드 (클린 코드)를 향한 코드리뷰
TDD의 정의, TDD를 통한 개발 과정 직접 시연 및 사용하는 이유
GitHub Action을 활용해 CI/CD 진행하기, Slack 봇과 연동하기

다만 저런 것에서 그치는 것이 아니라, 개발자는 평생 책으로 공부를 하게 되는데 그럴 때 책을 '잘' 읽는 방법이나 학습을 최대한 효율 좋게 하는 방법. 깃헙에서 검색하는 방법 (코드는 깃헙 검색이 훨씬 좋다.) 같은 개발 외 지식들, 그리고 DB 설계를 할 때 원래는 연관관계 세팅을 잘 하지 않고 대부분 Id 값을 맞춰서 쿼리 최적화를 한다는 점이나, Elastic Search를 이용해 검색 최적화를 하는 방법 등 많은 것들을 알려주셨다...

 

해당 내용들은 하나씩 블로그에 정리해보려고 했는데 면접 때 너무 따가운 평가를 받아서 그냥 닥치고 공부하느라 바빴다... 지금이라도 하나씩 정리해야지.

 

2. 도전학기


도전학기는 학기의 부담을 줄여줄 수 있는 성균관대학교의 최대 장점 중 하나라고 생각한다. 이 글을 보는 성대생이 있다면 꼭 도전학기를 매번 신청해서 학점 부담을 줄여주자.

 

15일만에 과목의 모든 과정을 진행하는 계절학기와는 다르게 도전학기는 8주에 걸쳐서 16주 과정을 압축해 진행하기 때문에 부담도 생각보다 크지 않다. 귀찮다고 해서 신청 안하지말고 평 괜찮은 과목들은 꼭 시도해보자. (꿀과목들은 수강신청이 개빡세기 때문에 그냥 1학년때부터 신청해보는 것도 나쁘지 않다.)

 

내가 들은 과목은 아래와 같았다.

 

1. 데이터 분석 기초

2. 스마트폰이 낳은 신인류 포노 사피엔스

 

둘 다 꿀과목이었다. 이외에는 대표적인 꿀과목 강건설계가 있다. 강건설계까지 확 들어서 6학점을 땡겨버리고 싶었지만, 강건설계는 너무 잡기 어렵더라..

 

각각에 대해서 간략한 후기를 남겨보고자 한다.

 

1. 데이터분석기초 (3학점)

데분기는 일단 소프트웨어학과 학생이라면 꿀이다. 매주 주차과제가 있고, ps 과제가 2회, 시험이 2회다. 이렇게 들으면 힘들어보이지만, 시험은 오픈북이고 심지어 구글 검색까지 허용된다. 진짜 힘 안들이고 A+ 챙길 수 있었다.

 

2. 스마트폰이 낳은 신인류 포노사피엔스 (1학점)

이게 1학점 치곤 생각보다 뭐가 많았다. 주차과제 5개에 조별과제 1개였으니... 하지만, 조별과제가 그렇게 어렵지 않았고 팀원도 6명이며, 우리는 생각보다 협업을 잘 했기에 개인별 30분~1시간 정도만 투자했다. 학점은 당연히 A+

 

물론 데분기 주차과제나 스낳신포 주차과제를 할 때는 매우매우매우 귀찮긴 했다. 하지만 다시 되돌아가라고 해도 무조건 신청할 도전학기. 매우 추천한다.

 

3. 인턴


무수히 많은 인턴 시도 중 나를 불러줬던 단 하나의 기회. 이 경험을 통해서도 많은 것을 배웠다.

 

나는 Spring으로 된 레거시 코드를 NestJS로 리팩토링하는 업무를 담당했고, 위 글에서 언급됐듯 총 4개의 API를 포팅한 이후에 5일정도 남는 시간을 이용해서 DB Migration 업무까지 시작했다. (DB Migration 업무는 곧 마무리 될 것 같다.)

 

위 SW 코칭을 통해 마침 클린코드를 공부하고 있던 내게 리팩토링 업무는 정말 완벽했다. 비즈니스 로직을 어떻게 구현할지보다는 어떻게 구현됐는지, 어떤 것들을 고려해야하는지 생각하고, 이후 그걸 클린코드적으로 리팩토링하기만 하면 됐으니, 사실상 공부하고 있던 이론을 실제로 실습해보는 듯한 업무였다.

 

그렇게 쾌속으로 4가지 API 포팅을 마치고, 중간에 휴가도 낑겨서 잘 갔다오고 마지막으로 DB Migration 업무까지 맡았다. 그리고 DB Migration 역시 재미를 붙이고 혼자서 추가로 개발을 진행하고 있다.

 

아쉬운점이라 한다면 시간을 좀 많이 버린 것 같다. 인턴하는 회사가 성수에 있는데, 수원에서 성수를 출퇴근하느라 하루에 2시간은 날렸다. 도어 투 도어로는 거의 4시간이 걸렸는데, 지하철에서는 그래도 클린코드 책을 계속 읽었기 때문에 날리지는 않을 수 있었다. 그럼에도 불구하고 출퇴근 시간은 정말 아깝긴 하더라..

 

그것 말고도 사람들과의 교류가 적었다는 점은 좀 아쉬웠다. 출퇴근 시간이 그렇게 아깝다고 느껴져서인지 매번 칼퇴근에 점심시간, 중간 업무 휴식 시간에도 거의 클린코드를 정리하는데 썼다. 그러다보니 다른 팀원들간의 유대감은 많이 키울 수 없었던 것 같아서 아쉬움이 남는다. 으레 그렇듯 모든 선택에는 얻는 것과 잃는 것이 있기 마련인데, 잃은 것들이 아쉬운 것도 어쩔 수 없는 것 같다.

 

4. 회고의 회고


이번부터는 회고의 회고 코너를 신설했다.

 

가장 아쉬웠던 점. 하나에 집중하지 못했다. 그렇다고 멀티태스킹을 한 것은 아니지만, 마음이 다른 곳에 가있던 적이 많았다. 회사 일을 하면서도, 프로젝트를 하면서도, 특히 쉬면서도. 쉬면서 일을 생각하거나 앞으로의 미래를 걱정하거나, 내가 지금 이렇게 부족한데 지금 쉬는게 맞나? 등의 생각을 하는 것이 쫌 문제긴 하다. 하나에 집중해야지..

 

그래도 잘한 점. 없는 시간 잘 쪼개서 썼다 증말. 인턴은 매일 출근이지만서도 광복절 연휴에 휴가 이틀껴서 휴가도 갔다왔고, 출퇴근하고 인턴 업무 때문에 시간이 거의 없었지만 그럼에도 불구하고 오고가는 지하철, 점심시간, 업무중 휴식시간 쪼개서 틈틈히 공부했다. 진짜 이거라도 해야지 하고 했던 작은 공부들이 모여서 그 클린코드를 전부 다 읽고, 그 오래 걸리는 정리도 쫌 했다. 시간 진짜 잘썼다..!

 

저번에 썼던 Not ToDo list에 썼던 멀티태스킹, 알람 끄고 다시 눕기, 일어나자마자 폰보기, 과한 정보 추구 등은 바빠지니까 진짜 저런거 할 겨를도 없더라. 알람 듣자마자 일어나서 출근해야되고, 과한정보는커녕 내 공부하기 바쁘고, 시간이 부족해지니까 본능적으로 자동으로 하나의 일에만 집중하게 되는 것 같긴 했다. 그래도 이제 인턴도 끝났으니 다시 의식적으로 하지 말하야할 것들을 생각해야겠다.