취업 한달 후 회고

오늘은 인터넷을 설치하려고 했으나, 정작 건물에 들어오는 중추허브? 같은것이 설치되지 않아서 다음주 중에 그것부터 설치하면 다시 연락준다고 한다. 그래서 대구를 가는길에 한 달 간의 취업 후기를 써보려고 한다.

최소한의 업무를 할 수 있을까?

우선 처음에 들어와서 느낀 점은 과연 내가 시키는 것 만이라도 어떻게든 해낼 수 있을까? 하는 것 이었다. 잘 하거나 깔끔하게 코드를 작성하는 것은 바라지도 않았다. 그냥 가능하기만 하면 된다고 생각했다. 소위 말하는 SI식 마음가짐이었다. 하지만 이조차도 나에게는 버거운 일이었다. ‘구현력'이 부족했고 주어진 정보가 아예 없을때부터 여러가지를 참조하면서 알아서 개발하는 능력이 부족했던 나는 문제를 해결하는데 꽤 오랜시간이 걸렸다. 그렇다면 이를 극복하기 위해서 어떤 노력을 해야할까?

우선 집중을 한다

집중이라는 말이 너무 당연한 말일지는 모르지만 나는 스터디를 할 때 부터, 아니 고등학교 공부를 할때부터 집중력있게 한 것 같지는 않다. 다만 정해진 시간에 어느정도 목표를 정해놓고 공부를 했다. 그리고 그 목표를 채우지 못하면 시간을 더 들여서라도 해야하는게 정상인데, 그냥 목표를 줄여버리는 방법을 택했다. 하지만 회사는 다르다. 정해진 시간 내에 일을 끝내지 못하면 영업적 손실이 일어날 수가 있다. 지금 내가 맡은 일들은 비록 크리티컬하지 않아서 그렇게 엄청난 손실을 가져다주지는 않지만, 만약 결제모듈이나 정산시스템 쪽의 개발에 문제가 생겼다면? 이는 이야기가 달라진다.

얼마전에 본 영상에서 머리를 쓰는 방법은 bottom-up방식과 top-down방식이 있다고 했다. bottom-up방식은 그냥 즉흥적인 감정이나 기분에 따라 드는 생각이다. 예를 들어, 일을 하다가 갑자기 배가 고프고, 오늘 점심은 뭐먹지? 같은 생각이 드는 것이다. 하지만 top-down은 반대이다. 우리의 의지로 강제적인 생각을 하려고 노력하는 것이다. 집중력은 top-down의 훈련에서 나온다. 유명 작가는 글을 잘 쓰기 위해서 글쓰기와 잠자기, 이 두 가지만 한다고 한다. 글을 더 잘 쓰기 위해서 잠을 자면서 top-down의 근육을 사용할 준비를 하는 것이다. 수축-이완을 반복해야 근육이 커지듯이, 적절한 휴식과 순간적인 집중력을 키우려고 노력해야한다.

내 옆의 사수?는 하나의 작업을 매우 집중력있게 완료하고 PR을 날린 후에 항상 바람을 쐬러나간다. 그리고 웹 서핑을 조금하다가 다시 새로운 작업을 시작한다. 페이스 조절을 하는 것이다. 나의 경우 안 그래도 없는 집중력을 쥐어짜내면서 계속 앉아있어보았다. 하지만 오후에 밥을 먹고 앉으면 뇌는 잠을 자는 것 같다. 그러다가 저녁에 되면 다시 뇌가 움직이기 시작한다. 순간적으로 뇌를 깨우고 휴식하는 방법은 스스로 깨우쳐야겠다.

개발 실력 향상?

한달 정도 일을 했는데 과연 나의 개발실력은 향상 되었을까? 글쎄.. 개발실력이 늘었다고 장담하기는 어렵다. 왜냐하면 내가 기존에 사용하던 도구가 아닌데 바로 투입되어 버려서, 그냥 이미 작성된 코드를 기반으로 규칙을 파악하는 수 밖에 없었다. 확실히 느끼는 것은 나는 빠르게 개발을 확확 치고 나가는 스타일은 아니다. (사실 그냥 실력이 부족한 것..) 하지만 아키텍처나 구조적인 이해를 하려고 노력한다. 그리고 시행착오를 통한 협업 규칙의 지정, 협업 플랫폼의 선택 등이 많이 늘었다. 그것만은 확실하다.

처음에는 고시원이 불편하다는 핑계, 집에 인터넷이 안된다는 핑계 등으로 계속 공부를 미루어왔다. 하지만 이는 사실 변명이 맞다. 그리고 개발일의 특성상 공부를 따로 하지 않으면 계속 비슷한 수준으로 머물러 있을 것이다. 어떻게든 구현은 해내야할테니 구현력은 늘겠지만, 과역 이게 최선의 방법이고 최선의 구조인가에 대해서는 확신할 수가 없게된다. 따라서 비일과 시간이나 틈틈이 공부를 해주어야 좀 더 퀄리티 높은 코딩을 할 수 있다.

앞으로 해야할 것

우선 지금 시작된 스터디는 두 개이다. 하나는 좋은 코드 작성을 위한 이펙티브 자바 스터디이고, 다른 하나는 테스트 코드 작성요령 및 JPA 숙달을 위한 쇼핑몰 스터디이다. 이 두 가지 스터디를 통해서 좀 더 실력을 향상 시키면 될 것 같다. 그리고 이를 위해서 김영한님의 JPA강의, 백기선님의 JUnit5강의, 그리고 코틀린 강의를 들어야겠다.

DB쿼리 성능 최적화와 Redis를 사용한 웹캐싱에 대해서도 맡게 되었는데, 이 부분에 대해서도 한 번 공부를 해보아야겠다. 이러한 내용들은 블로그에 계속 정리를 해 두어야 겠다. 블로그는 velog, github.io, tistory 중에서 우선은 github.io에 쓰고 조만간 블로그 공사를 좀 해야겠다.