[연간 회고록] 2020년 회고 - 신입으로서 배운 것들

피누·2021년 1월 10일
17
post-thumbnail

20년은 19년에 비해 매우 느슨한 한 해였다. 취업이란 달콤함에 빠져 개인 성장과 공부에 나태해졌다. 19년도의 나의 회고나 다른 개발자분들의 회고를 보며 밀도가 낮은 한해를 보냈음을 반성하게 되었다. 이런 반성과 동시에 신입개발자로서 실무를 경험하며 스스로 부족함이 많다는 것을 뼈저리게 깨달았다. 20년을 간략히 돌이켜보고자 회고를 남긴다.

신입으로서 배운 것들

카사에 조인하여 실무를 시작한지 이제 반년이 조금 넘었다. 이 짧은 기간동안 정말 많은 것을 배웠는데, 이것들 중 몇가지를 추려 간단하게 정리해보고자 한다.

빠르게 구현하고, 발전시켜라.

책이나 사이드 프로젝트를 통해 학습 할 때는 항상 best pratice를 따를려고 고민하고 노력했다. 그러나 실무는 데드라인이 있고 끊임없이 새로운 테스크들이 들어온다.

입사 초기에는 복잡도가 높더라도 유연한 구조를, 좋은 코드를 작성하고자 많은 시간을 보냈는데 이는 오버 엔지니어링으로 이어지거나 회사 컨벤션을 깨뜨리는 경우도 종종 있었다. 이러한 경험들과 선배 개발자분들이 일하는 모습을 보며 이상과 현실의 괴리감을 느꼈고 과도한 생각이 스스로를 무너뜨리고 생산성 저하로 이어지는 모습을 발견 할 수 있었다.

중요한 것은 동작하는 코드를 정해진 일정 내의 만드는 것이다. 그 후 리팩토링을 통해 점진적으로 개선해나가면 된다. 그래서 최근에는 최대한 간결하게 요구사항을 구현하고 문제가 될만한 부분들은 TODO 주석을 활용해 동작하는 코드 구현 후 리팩토링을 하고자 노력하고 있다.

코드를 점진적으로 발전시키기 위해서라도 테스트 코드는 반드시 필요하다

일정관리를 잘하고 오버엔지니어링을 경계하는 동시에 점진적으로 코드를 발전시킬 수 있으며, 현재 구조의 문제점을 인지하고 개선해야 할 때가 언제인지 아는 것이 좋은 개발자가 되는데 얼마나 중요한 덕목인지 실무를 진행하며 배울 수 있었다.

사실 이런 자질들을 갖추는 것이 1년차 개발자로서는 참으로 어렵게 느껴졌다.

2%의 차이가 퀄리티를 결정한다.

제품의 퀄리티를 결정하는 요소에는 여러가지가 있겠지만, 지난 7개월동안 느낀 것은 사소하게 보일 수 있는 작은 차이가 제품의 퀄리티를 결정한다는 것이다. 개발자도 마찬가지다. 디테일에서 개발자의 퀄리티가 결정된다. 정상적인 피처 동작을 구현하는 것에는 누구나 최선을 다한다. 그렇지 않은 경우도 깔끔하게 처리되야하며 클라이언트와의 커뮤니케이션도 중요한 요소이다.

입사 초기에는 피처 미팅의 내용들만 정리해서 요구사항을 구현을 하다보니 비정상 케이스에 대한 처리나 클라이언트 개발자와의 커뮤니케이션에서 실수들이 종종 발생했다. 이런 실수들이 반복될 때마다 기능이 배포되기전에 잡아 다행이라고 안도하는 동시에 이 작은 차이가 개발자와 제품의 퀄리티를 결정한다는 생각이 들었다.

실수를 완전히 없애지는 못하더라도 최소화하기 위해 나름대로 고민하고 실행했다. 가장 효과적이었던 것이 내가 올린 PR을 스스로 리뷰해보는 것이었는데, 이 과정에서 꽤 많은 휴먼에러들을 잡아 낼 수 있었다.

최근에는 통합테스트 코드를 100% 신뢰하지 않고, 기능 완료후에 API Test Tool(Postman같은)로 API 응답이 제대로 오는지 확인하고 피처 작업이 들어가기 전과 후에 디자인과 Jira 티켓 내용을 다시 검토하고자 노력하고 있다.

의견이나 문제를 제시할 때는 명확해야한다.

의견 또는 문제를 제시할 때는 명확한 근거와 예시를 들어주는 것이 커뮤니케이션에 도움을 준다. 7개월 동안 스스로 가장 부족한 부분이라 생각한다. 문제가 있음을 직감적으로는 알겠으나 이를 명확히 설명하지 못한 경우들이 종종 있다. 나의 경우 스스로 관련 내용에 대한 이해도나 경험이 부족한 상태에서 어설프게 알고 있는 지식들이 머리속을 채우는 케이스인 경우가 많았다.

이럴 때는 스스로 생각을 먼저 정리해야 한다. 부족한 지식을 채우든 문제가 되는 상황의 예시를 생각하든 차분히 생각을 정리해야 한다.(개인적으로는 글로 정리하는게 효과가 좋았다.) 반대의 상황에서는 어떻게 동작하는지 어떤 방법으로 해결 할 수 있는지, 때로는 화이트보드를 이용하거나 ERD 다이어그램을 이용 할 수 있다.

스스로 정리되지 않은 의견제시는 회의에 참가한 분들의 리소스를 뺐는 행위이다. 이를 경계하고 명확히 의견을 제시 할 수 있도록 본인 생각을 먼저 정리 할 수 있는 개발자가 되기 위해 고민하고 있고 경험들을 쌓고 있다..

동료들의 평가

1년차라고 믿기 어려울 정도로 큰 성과를 내고 있고 무엇보다 일감을 믿고 맞길 수 있습니다.

입사 초기 일하는 방식에 대한 정의가 없던 때 부터, 본인이 해야하는 일들을 스스로 잘 정의하여 결과를 만들어 내었고, 더 나은 성과를 위해 적극적으로 의견개진을 하던 모습이 인상적이었습니다. 어려운 비즈니스 상황들로 인하여, 업무의 성과가 나타나지 않은 부분으로 위축되지 말고, 처음처럼 늘 적극적이고, 진취적인 모습 보여주셨음 좋겠습니다. 감사합니다.

개발에 기본적으로 관심이 많고, 열정적인 점이 아주 보기 좋습니다. 회의 등에서 적극적으로 의견을 내는 점이나, 먼저 다양한 제안을 하는 것도 연차 대비 우월한 퍼포먼스를 내고 있지 않나라는 생각을 합니다. 팀을 변화시킬 수 있는 영향력을 끼칠 수 있는 사람이라고 생각합니다. 팀원으로써나 개발자로써나 빠른 속도로 성장을 하고 있다고 생각하고, 앞으로도 꾸준한 모습 보여주면 좋을듯 합니다.

피누는 보통의 개발자와 다르게 여러 수단을 동원해서 커뮤니케이션을 하는데 능한 동료입니다. 본인이 겪고 있는 문제나 경험을 잘 공유하는 것을 지속해주세요.

그 외

카카오 클라우드네이티브 인턴

1,2월에는 카카오 클라우드 네이티브 파트에서 과제를 수행했다.관련 내용은 카카오 인턴 회고에서 살펴 볼 수 있다.

인턴이 끝난지 1년이 다되어서야 인턴때 부족했던 모습들이 조금씩 보이는 거 같다. 당시에는 과제를 전환을 위한 과정 그 이상, 그 이하로 생각하지 않았다. 그렇기에 주도적으로 이끌어간다거나, 발전시킬 수 있는 부분들에 대한 고민이 부족했고 이것이 전환 실패라는 결과로 이어진 것이 아닐까

그럼에도 인턴 회고에서도 언급했듯이 좋은 문화와 배움을 경험하여 성장의 동력이 되었다.

인턴과 취업사이

인턴이 끝나고 부산으로 내려와서 곧바로 취업준비를 시작했다. 당시 공채보다는 수시채용 위주로 지원했고, 카사코리아라는 현재 회사에 입사하게 되었다. 동시에 여러회사들도 진행중이었으나, 카사코리아의 도메인에 큰 흥미를 느꼈고, 면접관들의 인상이 너무 좋았다. 그래서 3월에 카사의 오퍼링을 받고 진행중인 전형들은 모두 멈추고, 5월 입사확정을 지었다.

2달정도 여유를 둔 이유는 주거지 문제고 있고 무엇보다 지난 한해동안 쉼없이 달려왔기에 2달정도는 쉬어가고 싶은 마음이 컸다. 이 2달동안 게임도 하고, 데이트도 하고 전문가를 위한 파이썬이라는 책과 간단한 장고 튜토리얼을 통해 여유롭게 입사준비를 했다.

profile
어려운 문제를 함께 풀어가는 것을 좋아합니다.

4개의 댓글

comment-user-thumbnail
2021년 1월 12일

1년간 자신이 한 일에 대해 서술한 다른 회고들과는 다르게 '신입으로서 배운 것들'이나 '동료들의 평가'처럼 1년 동안 자신이 깨달은 내용에 대한 회고도 새롭네요.
곧 입사를 앞두고 있는데 많은 도움이 될 것 같습니다!

답글 달기
comment-user-thumbnail
2021년 1월 13일

와.. 신입인데 이렇게 열심히 하시다니 대단하네요~~

답글 달기
comment-user-thumbnail
2021년 2월 14일

멋지십니다~!~! 항상 응원해요 ㅎㅎ

답글 달기
comment-user-thumbnail
2021년 2월 18일

멋쟁이십니다!🔥🔥

답글 달기