본문 바로가기
Diary

2021년 2분기 회고

by Limm_jk 2021. 7. 27.

하반기에는 코로나가 잠잠해지리라는 기대와는 달리 코로나가 이전보다 더욱더 기승을 부리는 요즘입니다.

또한, 코로나도 힘든데 함께 찾아온 역대급의 폭염이 저희를 더욱 힘들게 하는 것 같습니다.

너무 더워요..

이러한 악조건 속에서의 저의 2분기는 1분기와 크게 다르지 않았던 것 같습니다. 인턴, YAPP.

이렇게 1분기와 크게 다르지 않은 활동 범위에서 내용들을 고도화시킬 수 있는 시간이었다 생각합니다.

 

개발에 대한 마음가짐을 조금 새로이 잡을 수 있게 된 2분기, 회고를 통해 돌아보고 앞으로 나아갈 방향을 공유해보고 싶습니다.

 

💼 인턴

1분기 회고 시점이 인턴이 시작할 때쯤이었다면, 이번 회고는 끝날 때쯤 적는 이야기인 것 같습니다.

 

하지만 그 시점에 비하여 뭔가 괄목할만한 성장을 이루어냈다고 말하기는 좀 부끄러운 것 같습니다.

아직 도메인에 대한 이해도도 부족하고, 막히는 것도 많으니까요.

 

하지만 인턴을 슬슬 정리해가야 하는 지금 이 시점, 내가 조금이나마 성장했다고 자랑할 수 있는 부분이 없지는 않은 것 같습니다.

 

하나만 이야기해보자면, 테스트 코드에 대한 이해입니다.

요새 어떠한 비즈니스 로직을 짜려고 생각할 때, 설계를 마치고 자연스레 테스트 코드를 먼저 작성하는 저의 모습에 놀라곤 합니다.

하지만 인턴을 시작할 때만 해도 테스트 코드의 필요성을 알지 못했고, 그렇기 때문에 공부할 생각도 하지 않았었습니다.

 

인턴을 시작함과 함께 인턴 과제에서 Kotest를 이용한 테스트 코드의 요구로 인하여 테스트를 공부하기 시작하였고, 인턴 과제를 진행하는 동안 간단하게 이게 테스트고, Mock이고 Fixture고... 개념만 알고 실무에 투입되었습니다.

 

이후, 실무 프로젝트에 투입되어 첫 번째로 받은 업무가 어떠한 프로젝트에 대하여 검토 및 테스트 코드 작성이었습니다.

일하면서도 아직 테스트가 왜 중요한지 잘 모르겠고.. 잘 모르니까 시간은 많이 쓰고.. 중요한 업무를 하지 않는 것만 같고.. 다양한 고민을 하며 시간을 보냈던 것 같습니다. 그리고 이후 프로젝트를 추가 개발하기 위하여 구조를 변경하는 리팩토링이 필요한 시간이 찾아왔고 그 업무는 그 프로젝트에 대한 테스트 코드를 개발하던 저에게 주어졌습니다.

 

이때, 리팩토링을 진행하면서 테스트의 중요성을 크게 깨달았던 것 같습니다.

리팩토링에 들어가기 전까지 열심히 테스트 코드를 개발했으나 전체적으로 테스트를 적용하기에는 역부족이었고, 절반 이상의 비즈니스 로직에 테스트 코드가 적용되었던 것 같습니다. 그리고 리팩토링을 시작하면서 초반부에는 굉장히 수월하게 수정할 수 있었고 테스트로 증명을 하며 리팩토링을 했기에 즐겁게 리팩토링을 진행할 수 있었습니다.

하지만 이렇게 즐겁고 편하게 리팩토링을 하기만 한 것은 아닙니다. 리팩토링 간에 머리 아프게 한 것은 테스트가 적용되지 않은 코드들이었습니다. 이런 테스트가 적용되지 않은 코드들이 이전 수정에 대하여 어떠한 변화에 대한 의존성이 있었는지 알 수가 없고, 리팩토링을 하며 수정한 것이 동작하는지 증명할 수도 없었습니다. 이런 코드들은 이전 테스트가 잘 동작하면서 손쉽게 리팩토링을 진행했던 코드들과 비교되어서 보다 크게 불편하다고 느껴졌습니다.

 

그리고 최근 버저닝 문제로 다시 한번 리팩토링을 진행하게 되었는데, 이 때는 모든 비즈니스 로직 및 Repository 접근 로직에 대하여 테스트 코드가 작동되고 있었기에 커밋 단위를 조금 짧게 가져간다면 거침없이 리팩토링이 가능했습니다.

 

이렇게 테스트와 리팩토링을 거치며 알게된 테스트의 장점은 개발자에게 심리적인 안정감을 준다는 점이었습니다.

테스트 코드 몇 줄로 항상 잘 짰는지에 대한 걱정'XX가 안됩니다!'라는 말을 합리적으로 해결할 수 있다면 가성비가 나쁘지 않다고 느껴집니다. 그렇기에 테스트를 자연스럽게 작성하는 습관을 지속적으로 유지해나가야겠다는 생각을 하고, 현재도 실천하고 있습니다.

 

이렇게 많은 것을 배우고 고민하고 느낀 인턴, 끝나간다 생각하니 시원 섭섭한 것 같습니다.

앞으로 남은 4주, 유종의 미를 거두기 위하여 노력해야겠습니다.

 

💻 YAPP

내 꿈을 향해 깊은 곳으로, Studeep

https://www.studeep.com/ 

 

스터딥 - 내 꿈을 향해 깊은 곳으로

 

www.studeep.com

 

어떠한 일을 하면서 본인의 역량을 알게 되는 순간이 가장 잔인하고 괴로운 순간이 아닐까 생각합니다. 초기에 기획하고 정했던 일정과 기능에 비하여 결과물은 초라했고, 그래도 '** 치고는 잘하지!'라는 자만심은 여지없이 박살 났습니다. 그리고 다른 무엇보다 함께 개발하는 동료로서, 그리고 내가 맡은 Tech PM으로서 아무런 도움이 되지 않을 수 있다는 생각이 많이 괴로웠던 것 같습니다.

 

하지만 재미있게도 이렇게 힘들었기에 많은 성장을 이루어 낼 수 있지 않았나 싶습니다.

 

이론과 달리 우리의 애자일은 왜 실패하는지 지속적으로 되돌아보며 보완해 나갈 수 있었고, 이렇게 보완해나가는 과정에서 결과물을 고도화해나갈 수 있었습니다. 그리고 동료로서의 나를 되돌아보고 나에 대하여 다시 한번 생각할 수 있는 시간을 많이 가졌던 것 같습니다.

 

육체적으로도 심적으로도 힘들었던 프로젝트였으나, 함께 해준 팀원들 덕에 이겨낼 수 있지 않았나 싶습니다.

함께 고생하고 이겨나갔던 YAPP ML팀 분들께 다시 한번 감사하다는 말씀 전하고 싶습니다.

 

✍️ 글또

벌써..? 2스택

'벌써' 5기가 끝나고 '벌써' 6기가 시작되었습니다. 분명 글또가 끝나도 2주에 하나는 써보겠다고 다짐을 했던 것 같은데, 월간 블로그도 유지하기 어려웠던 것 같습니다.

 

글또 5기를 되돌아보면 글또를 시작할 때 굉장히 추상적인 무언가를 이루려 시작했고, 5기 끝날 때쯤 되어서야 조금 구체화를 시킬 수 있었습니다. 간단하게 이야기를 해보자면 '글을 잘 쓰고 싶어요!' -> '글을 읽기 쉽게 쓰고 싶어요!'정도의 구체화를 이루어 내는 성과를 얻을 수 있었습니다. 

 

문제 해결을 위해 많이 쓰이는 알고리즘 중 분할 정복이라는 알고리즘이 존재합니다. 분할 정복 알고리즘의 핵심 정의는 다음과 같습니다.

해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이나 알고리즘

 

글또를 하며 너무 많은 것을 하고 싶었고, 그중 하나도 내려두고 싶지 않았던 마음이 있었습니다. 하지만 해결할 수 없는 문제는 스트레스만 받게 만들고, 무력감에 빠지게 했습니다. 그리고 찾아낸 것이 위와 같이 분할하여 문제를 해결하는 방법이었던 것 같습니다.

 

위에서 말했던 '글을 읽기 쉽게 쓰고 싶어요!'와 같이 분할한 문제 또한 정복하기 어려운 문제이며, 충분히 가치 있는 도전입니다. 너무 큰 것을 이루어 내는 것에 집착하지 않고 조금씩 나아감에 의의를 두어야겠습니다.

 

결국 무언가를 얻은 글또 5기, 너무나 유익했고 뿌듯한 시간이었습니다.

다가올 6기 또한 급하지 않게 분할하여 나아가야겠습니다.


아니 벌써... 21년의 절반을 지나가면서 경험하고 느낀 것들을 정리하고, 글로 남겨보았습니다.

 

3분기, 4분기 그리고 1년을 회고할 때, 지금 2분기를 어떻게 생각하게 될지 기대가 됩니다.

그리고 그 시점에 이 글이 저의 2분기를 충분히 말해주고 성장의 마일스톤과 같은 글이 되었으면 하는 바람입니다.

 

감사합니다 :)

'Diary' 카테고리의 다른 글

구직 활동, 어떻게 준비했나요?  (0) 2021.12.19
어떻게 글을 써야하지?  (0) 2021.11.07
글또 5기 / 아 벌써..?  (0) 2021.05.02
2021 1분기 회고  (0) 2021.04.18
일일 커밋 100 Combo!  (0) 2021.02.05

댓글