[회고] 21년 2월 회고
벌써 올해 들어서 쓰는 2번째 회고다. 길다면 길고 짧다면 짧았던 2월.
2월의 업무
영업에서 들어온 기능을 추가하는 업무를 진행하고, 기존 코드 중 논리적으로 맞지 않는 부분을 리팩토링 및 추가 서버 개발을 통해 보완했다. 그런데 리팩토링 하는 도중 한 코드라인을 놓쳐 배포 직후 (퇴근 후) 팀장님이 말씀해 주셔서 알게 되었다… 노트북이 회사에 있어 바로 수정 및 배포를 못하는 상황이었는데, 팀장님이 회사에 계셔 팀장님이 배포해주셨다.
또 한번은 기존 기능 중 오류가 났던 기능을 수정했다. 그런데 수정 과정에서 다른 기능에도 영향을 미쳐,영업팀에서 발견해 급하게 수습해서 다시 배포했던 일이 있었다. 그 후 출근해서 (재택 주인데…) 기능 싹 다 테스트 하라는 지시에 테스트를 진행했다. 테스트 인원도 나랑 팀장님 밖에 없지만, 10가지 이상의 문제가 발견되었다. 앱 개발 및 수정인력이 나뿐이라… 하나씩 고치고 있지만은, 솔직히 전부터 앱의 아키텍쳐와 테스트 방식에 엄청난 불만을 가지고 있던 터라, 얘기 나온김에 팀장님께 말씀드렸다. 우선은 결제수단 방식에 대해 리팩토링을 진행하기로 했다. (물론 나혼자)
그리고 말은 안했지만, 절대적으로 TDD 방식의 도입이 시급하다고 느껴져서 계속 찾아보고 있다. 관심있어 하는 사람도 없고 조언받을 사람도 없어서, 혼자 가는 길이 맞는지 불안하고 피곤하다. 우선 앞으로 개발할 신규 기능들에 대해서는 어설프더라도 TDD 방식으로 진행해봐야겠다.
저번 주는 외주가 진짜 뭣같이 짜놓은 코드를 걷어내고 리팩토링을 진행했다. 쓸모없는 변수, 쓸모없는 함수, 이상한 로직, 구분 안되는 클래스, 노가다 선언… 아무튼 최악의 코딩이란 코딩은 다해놓은 기능을 보자니 또 어째든 굴러는 가는 기능들이라 모르는 척 할까 말까를 수 백 번 고민하다가 모르는 척 하다 속 터질 것 같아 손을 대버렸다. 알다시피 손을 대버리면… 결과가 나올 때 까진 멈출 수가 없다. 사실 기존 코드들도 리팩토링 할게 너무 많은데, (UI와 비지닉스로직이 전혀 구분되지 않고 있다ㅠㅠ) 기본 조차 안된 코드들을 리팩토링 하느라 죽을거 같다. 솔직히 이 기능도 일부분이고 아직 더 많다…
여러가지 프로젝트에 내재되어 있던 문제가 뻥뻥 터지는 한 달이었다. 신체적으로 힘든게 아니라 정신적으로 너무 고통받아서 힘들었다… 적어도 문제가 생기면 같이 의논하고 같이 고생할 동료가 있었으면 좋겠다…
책책책 책을 읽읍시다.
회사에서 책을 신청하는 좋은 복지제도…!가 있었는데, 여태 까먹다가 후다닭 알아보고 책을 신청했다. 클린 코드와 클린 아키텍쳐 두 권인데, 그것 말고도 클린 코더와 클린 애자일 책도 신청했다. 먼저 두권을 다 읽으면 나머지 두 권도 읽어야지…!
매일 밤에 조금씩 읽고 정리하면서, 얼마 보지는 않았지만 들은 생각이 ‘이 내용을 대학교때 부터 알고 있었으면 얼마나 좋았을까’ 였다. 너무 당연하고 너무 기본인데, 아무데서도 알려주지 않는 내용, 알면 쉬운데 몰라서 돌아가는 내용이 여기 있었다. 나도 프로젝트를 하면서 더 깔끔하게 짤 수 없나? 왜이리 읽기 어렵지? 하는 생각이 너무 많았는데, 프로젝트 마감일에 급급해 적당히 넘어가면서 묻혀있던 질문을 다시 꺼내볼 수 있었다. 그리고 내가 너무 많이 틀렸다는 것이 오히려 크으~ 이거지~ 하는 마음으로 다가왔다.
깃블로그를 다시 시작하면서 책을 읽고 공부할 때마다 커밋을 해보고 있다. 깃이 아주 익숙치 않아서… 블로그 커밋을 할 때, 잔디가 안심어져 뭐지? 왜지?! 하다가 FORK된 레파지토리는 잔디가 안심어진다는…!! 엄청난 지식을 알게 되었다. 너무 어처구니 없지만, 그래도 현업에서 창피당하지 않을 경험을 쌓았으니 다행이다.
코딩 공부
작년 12월부터 틈나는대로 코딩 공부를 진행하고 있는데, 이번 2월에는 기존에 쓰는 프로그래머스에서 벗어나 릿코드(LeetCode)를 시작했다…! 프로그래머스는 바로 코딩할 수 있고, 한글이라는 장점이 있지만, 문제 자체를 좀 꼬아 놓는다… 그래서 EASY난이도여도 문제가 이해 안가서 계속 읽다가 다른 사람들이 해석해준 문제를 읽기도 한다… 그에 반해, 릿코드는 문제가 영어지만, 영어공부도 할 겸 읽어보면 뭘 풀어라! 하고 쉽게 이해도 가고 문제 해석하는데 많은 시간을 안써도 되서 좋다.
아주 조금이나마 잔디가 심어졌다. ㅎㅎ 릿코드는 잔디 기능도 있어서 욕심내서 잔디 심으면, 성취감이 어마어마 할 것 같다!
채용 알고리즘 시험을 풀어봤는데, 아주 쉬운 문제를 시간이 없어서 제대로 읽지도 못하고 대충 풀었다. 그리고 답이 틀린걸 알았을 때, 너무너무 슬펐다… 자꾸 플러터랑 자바랑 API가 헷갈려서 코딩 시험볼때는 보통 JAVA로 보니까 컴파일오류 날때, 너무 짜증난다…. 그거때매 시간을 많이 잡아먹은것도 너무 억울하다…
작심 2월로 끝내지말구, 3월에도 열심히 해보자…!
운동
PT를 받은지 꽤 됐고, 아마 5번 정도 횟수가 남았다. 이제 연장을 하냐마냐의 기로에 서있는데, 솔직한 마음으로는 연장하고 싶지가 않다… 왜냐면 PT선생님이 바뀌기도 했고… (지금 선생님이 안좋은게 아니라 저번 선생님이 매우 잘맞았다.) 회사에 체육관이 멀어 운동가려면 무조건 야근을 포기하거나, 급한일이 있으면 운동을 포기해야 한다. 그래서 연장할지 아니면 회사 근처 체육관으로 옮길지, 아니면 날도 풀리겠다 혼자 운동할지를 두고 고민중이다. 확실히 근육 조질거면 체육관이 좋긴 좋다. 운동한 느낌이 나고, 혼자 공원 뛰는거랑은 느낌이 많이 다르다.
솔직히 재택할 때, 제일 워라밸이 좋았다. 6시에 집에서 퇴근이니까 근육 조지고 여름이니까 저녁에도 날밝을 때, 공원 좀 뛰면 그 날 보람 찬 하루 보낸 느낌이었는데…! 운동으로 하루가 보람차고 싶다!!
2월을 마무리하며…
설날도 껴있었던 2월. 그래서 더 짧게 느껴졌던 2월이지만, 개발자로서는 새로움을 배우고 시도해보는 좋은 달이었다. 비록 크리티컬 오류들도 있었지만, 덕분에 프로젝트의 방향과 구조에 대한 고찰을 해보기도 했다. 3월에도 신규 기능 개발과 각종 오류들의 해결과 리팩토링들이 기다리고 있어서 하나도 안설레지만, 같이 할 동료가 있다면 아주 조금은 설렐것 같다.
여담이지만, 나는 전공 개발자 친구도 있고, 비전공 개발자 친구들도 있는데, 개인적으로 전공 개발자 친구들이 더 프로젝트에 대해 논하기를 좋아하고 성장하는 것에 관심있는 것 같다. 물론 당연히 100% 비전공자 개발자분들도 뛰어난 분들이 많다. 다만, 내 주변의 비전공 개발자 친구들은 일단 개발자로서의 성장이나, 공부나, 욕심같은게 적다고 느껴진다. 이게 진짜 욕심이 없어서가 아니라 그런 개념을 몰라서 해야하는지에 대해 잘 모르는 것 같다. 컴공은 일단 내가 개발자에 관심이 없더라도 끊임없이 공부하고 성장해야 하는 분야라는 걸 알고 있고, 내가 그렇게 하기 싫더라도 주변 친구들이 다 하니까 등 떠밀려서라도 공부하는 분위기가 있다.
만약 우리 회사가 개발에 대해, 개발자에 대해 욕심 있는 회사라면, 좀 달랐을까? 그런 생각이 많이 든다.
댓글남기기