2022년 전체 회고
- 내 개발자 인생에서 2021년과 2022년은 가장 큰 변화가 있는 시기였다.
- SI 업무를 하다가 처음으로 서비스 회사의 업무를 시작했다.
- 많은 시행착오를 겪고, 또 많은 다짐을 하게 만들었다.
전체적인 글의 구조
- 원하는 것을 구체적으로 알아야 내 삶의 전체적인 방향성을 잡을 수 있기에 이것부터 적을 것이다.
- 실제 있었던 일을 적어보고 그에 대한 피드백에는 내가 원하는 것이 이뤄질 수 있도록 하려면 앞으로 어떻게 행동해야 할지를 적는 식으로 회고할 것이다.
- 삶에 대한 메타인지를 높이기 위해
내가 원하는 것
,내가 원하지 않는 것
,내가 행동한 것
,행동에 대한 결과
순으로 적어볼 것이다.- 삶은 간단하게
가치관에 따른 결정
,결정에 따른 행동
,행동에 따른 결과
만 있다고 생각한다. 이에 대해 피드백하면 더 나은 삶을 살 수 있을 것이라 믿는다.
- 삶은 간단하게
- 큰 사건 위주로 적으며, 사건 자체를 인지한 뒤에는 꼭 내 행동에 대한 셀프 피드백을 해보자.
내가 진짜 원하는 것 (WANT)
- 소프트웨어 전문가가 되는 것
- 뭐든 잘해야 즐거울 수 있다는 생각이다.
- 좋든 싫든 앞으로 소프트웨어로 먹고 살 것이다. 그러므로 내가 이걸 잘해야 인생이 즐거울 것 같다.
- 난 남들보다 뒤떨어지면, 그 대상이 무엇이어도 재미가 없었던 사람이다.
- 협업의 전문가가 되는 것
- 소프트웨어는 결국 언제나 팀플레이이므로, 소프트웨어를 잘하기 위해 필요하다.
- 사람이 사회의 인간관계에서 받는 인정이나 성취감에 대한 행복은 매우 크므로 분명 이것도 잘해야 행복하다.
- 일 자체를 즐기게 되는 것
- 일을 즐기지 못하면, 결국 삶이 너무 불행할 것 같기 때문이다.
- 더 많은 수입을 가져 안정적인 생활을 하는 것
- 지금은 서울에서 월세를 살고 있는데, 뭔가 정착을 하지 못한 느낌이라 불안하다.
- 내후년엔 돈을 모아서 서울의 거점으로 삼을 오피스텔이나 아파트를 매수하고 싶다.
- 동반자와 함께 사는 것
- 지금은 고양이와 함께 살고 있다. 고양이와 살게 된 뒤에 삶의 우울함이 많이 사라졌다.
- 여자친구와 언젠가 결혼해 함께 살고 싶다. 내 인생의 반려자와 함께 살게 된다면 얼마나 행복할지 감이 안온다.
내가 원하지 않는 것 (DO NOT WANT)
- 매우 호화로운 삶을 사는 것
- SNS 에 휩쓸려 내가 원하는 것을 착각한 적이 있다. 그런데 나는 확실히 호화스런 삶을 원하진 않는다.
- 명품을 샀을 때도 사실 크게 즐겁지 않았고, 꾸미는 것을 크게 즐기지도 않는다.
- 지속 불가능한 삶
- 너무 무리해서 공부하거나 일을 하는 것은 지속할 수 없다고 생각한다.
- 금전적 욕심 때문에, 본업 외에 외주를 했는데 돈은 벌었지만, 정신적으로 크게 힘들었다.
- 자부심 없는 삶
- 그래도 인생에서 자부심 가질만한 것 하나라도 있으면 좋겠다.
내가 행동한 것 (WHAT I DID)
- 개발 공부를 (나름) 꾸준히 했다.
- 하루에 약 1~2시간 정도는 꾸준히 했다.
- 인터넷 강의를 봤다.
- 인터넷 강의들로 인해 많은 개발 주변 지식에 대한 흥미가 생겼다.
- 인터넷 강의를 보던 초반엔 잘못된 방식으로 강의를 보다가 이젠 효율적인 나만의 학습 방식을 어느정도 정립해가고 있다.
- 지식의 단권화
- 클론코딩 피하기 등
- 학습을 할수록 학습을 잘하는 방법에 대해서도 생각하게 되고 학습하는 실력 자체도 느는 것 같아서 기분이 좋다.
- 성장욕구가 차올라 코드숨이라는 교육기관에서 교육도 받았다.
- 330 만원이라는 거금을 투자해서 교육을 들었다.
- 사실 개발 지식 자체보다는 학습 방식에 대해 많은 도움이 되었다.
- 너무 비싸게 배운 감은 있지만, 크게 후회하진 않는다.
- 결과적으로 개발공부는 나를 좋은 방향으로 견인 시킨 가장 큰 힘이 되었다.
- 앞으로도 꾸준히 공부하고 경쟁력 있는 사람이 되어야지.
- 일을 관두지 않고 열심히 다녔다.
- 주변 사람들이 수없이 많이 이직했지만, 난 이직하지 않았다.
- 최신 기술스택을 가진 회사로 갈 수 있는 기회도 있었지만, 나는 아직 레거시에서도 배울 게 많다고 믿었기 때문이다.
- 개발의 본질은 변하지 않을 것이다.
- 이 결정으로 인해, 한 회사에 오래 다녔다. 덕분에 경영진들에게 크게 인정받고 처우도 아주 많이 좋아질 수 있는 기회가 되었다.
- 서울로 오기로 결심하고, 서울로 왔다.
- 대전에서 계속 일하면 더이상 발전이 없을 것 같다는 생각에 서울로 올라왔다. (회사는 동일하다.)
- 급여수준이 크게 올랐고, 주변에 성장 욕심이 있는 개발자들이 조금 생겼다.
- 주변에 사람들이 열심히 성장하려 하니 나까지 탄력받는 느낌이 들어서 너무 좋았다.
부정적이었던 큰 이벤트들
- 표면적으로는 나쁜 일이지만, 반대로 생각해보면 배울 점이 있었던 일이다.
메모리 과부하 장애
- 서버의 메모리가 주기적으로 100%가 되어 서버를 새로 켜줘야하는 문제가 발생했었다.
- 처음으로 메모리 덤프라는 것을 떠봤고, 메모리 덤프가 jdk 에서 지원해주는 공식 기능이라는 것을 배웠다.
- jdk 에 있는 기능들을 한번 쭉 훑을 필요도 있겠다라는 생각도 들었다.
- 새삼 jdk 가 java development kit 이라는 사실을 상기했다.
- 이 메모리 덤프를 통해
AWS SDK Client
가 메모리 과부하의 원인이라는 것을 밝혀냈다.
AWS SDK Client
문제 해결- 발견한 키워드를 이용해 구글 검색을 하여 참고 링크 를 찾았고, 이를 통해 해결할 수 있었다.
- 작업이 끝난 클라이언트가 죽여지지 않고 계속 쌓이는 문제였다.
- 멀티스레드 환경에서 항상 스프링 빈을 사용했고, 스프링 빈의 기본 스코프인 싱글톤 스코프가 알아서 대부분의 문제를 해결하고 있었다는 것을 새삼 깨달았다.
- 내부 동작을 모르지만, 문제가 자동으로 해결됐다는 사실을 알고 난 뒤 내부 동작에 관심이 갔다.
- 내부 동작에 대해 공부하긴 했지만, 금세 다 까먹었다. 계속 복습하고 상기하자. 두번째 배우는 것은 첫번째보다 빠르다.
- 직접 싱글톤 스코프를 갖는 오브젝트를 구현해보거나 멀티스레드 환경에서 일으키는 문제에 대해 구현해본 경험이 없었다는 것을 깨달았다.
- 최근에야 몇번 시도해보았다. 멀티스레드 환경에 대해서는 확실히 더 공부해야 한다.
- 사실 이 이슈는 내가 개발한 기능에서 발생한 것이 아닌, 다른 차장급 개발자분이 개발한 기능에서 발생한 메모리 누수였다.
- 나는 문제를 파악하고, 그분께 상의도 하지 않고 내 판단 하에 마음대로 소스코드를 건드렸다.
- 해결은 됐지만, 설령 그게 맞는 변경이었다고 해도 그렇게 해서는 안됐다.
- 앞으로는 소통을 통해 같이 개선해보아야겠다. 협업을 더 노력하자.
- 나는 문제를 파악하고, 그분께 상의도 하지 않고 내 판단 하에 마음대로 소스코드를 건드렸다.
레디스에 의해 일어난 장애
- 레디스에 의해서 CPU 과부하가 의심되었다.
- 의심했던 이유는 스레드 덤프를 떴는데, 레디스와 관련된 스레드들이 많이 보였기 때문이다.
- 레디스를 잘 알지도 못하면서 괜히 고쳐보려다가 코드를 잘못 작성해 서비스에 한번 장애를 만들어버렸다.
- 장애가 오래가진 않았지만, 나 때문에 장애가 일어났다는 사실에 매우 자책했고 창피했다.
- 앞으로는 적어도 꼼꼼하게 공부한 뒤에 뭘 고쳐보려고 해야겠다. 섣불리 행동하지 말자.
- 특히, 이 레디스 장애는 트래픽이 없으면 재연하기도 어려웠던 장애라 꽤 까다로웠는데, 너무 쉽게 봤다.
- 이런 일이 있기 전에 회사에서 현재 사용 중인 기술스택들은 미리 공부해놓자.
- 준비된 자에게 기회가 올지도 모른다.
- 결국 해당 기능을 개발하신 개발자님이 관련 코드를 주석처리하는 것으로 일단락됐다.
CPU 과부하로 인한 장애
- 원인 미상의 CPU 과부하 장애가 다시 일어났다.
- 결국 서버의 스펙을 올려 해결했다.
- 최근 집요한 모니터링을 통해 이 장애를 해결했는데, 원인은 보안프로그램이었다.
- 보안프로그램이 보안로그를 쏠 때, 무언가 네트워크적인 부하가 일어났다.
- 보안프로그램 재설치 및 재설정으로 문제를 해결했다.
- 앞으로는 무조건 애플리케이션의 코드만 의심하지 말고 환경도 의심해야겠다.
- 네트워크 로그나 모니터링 지표를 꾸준히 보자. 무언가 힌트가 있을 수도 있다.
의도치 않은 일정 지연
- 프로젝트를 진행하다가 일정을 매우 지연했다.
- 과도한 욕심 때문이었다. 모든 것을 옳게 고치며 가고 싶었다.
- 모든 것을 옳게 고치며 가는 것은 내 능력 밖의 일이다. 시간 내에는 불가능했다.
- 출근길에 내가 걷는 모든 길거리의 쓰레기를 주우며 걷다간 제시간에 회사에 도착하지 못한다.
- 물론 회사 앞의 쓰레기를 줍는 것은 착한 일이지만, 회사에선 이런 일 때문에 생긴 일정 지연에 대해 이해해줄 의무가 없다.
- 내 과오는 모든 레거시의 잘못 됐던 코드를 제대로 고쳐놓고 가고 싶었던 것이다.
- 결국 업무에 있어서도 우선 순위를 결정하고, 문제를 발견하더라도 해결을 지연할 부분을 정하는 것이 매우 중요하다는 것을 깨달았다.
- 문제가 보이더라도 미뤄 놓아도 되는 일을 찾고, 미뤄놓자.
- 미뤄둘 일을 잘 미뤄두는 것은 일정관리를 잘 하는 것이다.
- 프로젝트를 끝낸 뒤에는 어려운 프로젝트를 끝내고도 인정받지 못했다.
- IT 위주의 회사가 아니라면, 다들 코드를 볼 줄 모른다.
- 코드를 볼 줄 모르니 동작이 비슷하면 내가 무엇을 했는지 알지 못한다.
- 코드 퀄리티를 크게 개선하여 유지보수성을 증대시켰지만, 그들은 알 수 없다.
- 이건 그들의 잘못이 아니라, 그들에게 내가 한 일이 무엇인지 이해시키지 못한 내 잘못이다.
- 부모님은 자식을 힘들게 키우지만, 자식은 부모가 어깨에 짊어진 무게를 알지 못하는 것과 같다
- 앞으로는 비개발자에게도 '내가 무엇을 해야 하는지', '내가 무엇을 했는지', '왜 이것을 했는지', '무엇이 더 나아졌는지' 에 대해 설득시키는 힘을 길러봐야겠다.
- 설득시키지 못할 일이라면, 과감하게 던져버려야 될 때도 있을 것이다.
- 나는 회사가 원하는 것을 개발하러 왔지 개인 프로젝트를 개발하는 사람이 아니다.
팀원이 레거시에 익숙해 좋은 최신 기술을 도입하지 못함
- 팀에는 아직 최신 지식을 능숙하게 사용하지 못하는 사람이 많다. 그래서 최신 기술을 도입하지 못했다.
- 팀원들은 레거시에 너무 익숙해서 최신 문법을 잘 모른다.
- 반면, 나는 자바스크립트나 자바 최신 스펙에 나름대로 익숙한 편이다.
- 하지만, 개발은 협업이기에 나만 최신 스펙과 문법을 안다고 해서 바로 프로젝트 코드 베이스를 크게크게 최신으로 변경할 순 없다.
- 근데 그렇다고 분명 더 좋은 방법이 있는데, 팀원들이 그걸 모른다고 해서 아예 그 방식을 포기하는 것은 분명 미래지향적으로 손해다.
- 앞으로는 과감하게 담대하게 점진적으로 도입하자.
- 익숙해지면 분명 팀원에게도 크게 도움이 될 것이라 믿는다.
- 컨플루언스에 문서를 열심히 업로드하여 팀원들의 지식 함양을 도와야겠다.
- 문서를 계속 늘려나가고, 지속적으로 팀원들을 가르쳐나가야겠다.
- 팀원들이 모른다고 아예 사용을 포기하지 말자.
- 혁신이 있으려면 어느정도는 무언가를 희생할 수 밖에 없다.
기분 나쁜 소통 경험
- 가끔 타팀과 소통하다 상당히 기분이 나쁜 일이 있었다.
- 보통은 내 기준에 크게 업무에 의미없는 일인데, 거기에 시간을 쏟아달라는 부탁이었다.
- 이를테면, 운영중 일어난 '모든 버그나 오류'에 원인을 기재해달라는 것이었다.
- 원인은 따져보면 당연히 '실수'다. 걸어가다 돌부리에 걸려 넘어졌는데 그 원인을 찾으라고 한다면, 그게 크게 의미가 있을까?
- 돌부리에 걸려 넘어졌다는 것을 알아도 다음에는 돌부리에 넘어지지 않는다고 보장할 수 있을까?
- 돌부리만 조심하려고 땅만 보고 걷는다면 앞사람을 보지 못한다.
- 분명 누구나 돌부리는 피해야 된다는 것을 안다. 그러나 돌부리를 보지 못하고 실수로 넘어진 것이다.
- 이것에 대해 책임을 굳이 물어야 할까?
- 돌부리에 걸려 넘어졌다는 것을 알아도 다음에는 돌부리에 넘어지지 않는다고 보장할 수 있을까?
- 원인은 따져보면 당연히 '실수'다. 걸어가다 돌부리에 걸려 넘어졌는데 그 원인을 찾으라고 한다면, 그게 크게 의미가 있을까?
- 나는 위에 언급한 것과 같은 기분 나쁜 일이 있을 때, 보통 약간 뾰루퉁하게 대응했다. 부정적 감정을 크게 드러내진 않았지만, 시큰둥하게 대응했다.
- 분명 상대방도 내 감정을 느꼈을 것이다. 그리고 그게 상대에게도 썩 유쾌하진 않았을 것이라 생각된다.
- 앞으로 계속 같이 일해야 되는 상대와 불편한 관계가 되는 것은 분명 서로에게 큰 스트레스가 될 것이다.
- 앞으로 내 의견을 솔직하게 공유하고 그들과 더 좋은 방법을 모색하는 방향으로 가야할 것 같다.
- 이 경우엔 매번 '모든 원인'을 찾는 것에 시간낭비하지 말고, 실질적으로 효과가 있는 방법이 무엇일지 생각해보자고 제안해봐야겠다.
- 이를테면, 운영중 일어난 '모든 버그나 오류'에 원인을 기재해달라는 것이었다.
- 보통은 내 기준에 크게 업무에 의미없는 일인데, 거기에 시간을 쏟아달라는 부탁이었다.
긍정적이었던 큰 이벤트들
- 나를 행복하게 해주는 긍정적인 일도 있었다.
팀장이 되었다.
- 더 많은 책임을 지는 자리이긴 하지만, 팀장이 되었다.
- 아마 나의 꾸준함을 알아본 경영진의 몫이 가장 컸을 것이다.
- 연간 240 만원을 법인카드 팀장 회식비로 쓸 수 있는 권한이 생겼다.
- 유류비도 거의 무한정 지원된다.
- 연차도 내 마음대로 쓸 수 있으며, 팀원들의 연차 결재도 내가 하게 되었다.
- 많은 혜택이 주어지는 만큼 그에 보답하려 의식적으로 노력해야겠다.
- 회사가 나를 믿어주는 만큼 나도 회사의 믿음을 져버리지 말아야겠다.
- 팀장으로서 팀에 기여하는 방법에 대해 많이 알아보고 꼭 적용해보자.
급여 수준이 크게 증가했다.
- 단언컨데, 급여가 오르는 것은 회사를 다니며 가장 기분 좋은 일이다. 이로 인해 자존감도 많이 올랐다.
- 책임감도 많이 커졌고, 예전과는 다른 사람이 된 것을 느낀다.
- 역시 사람은 돈 받는 만큼 열심히 한다는 것이 맞다는 것을 실감한다.
- 이 금액에서 만족하지 말고 더 나은 퍼포먼스를 보여주어 더 많은 돈을 벌 수 있도록 노력할 것이다.
- 물론, 지속 가능한 것을 꿈꾸기에 크게 무리하진 않을 것이다.
이직하진 않았지만, 다른 기업에 합격했다.
- 이직 열풍이 불어 나도 다른 회사에 지원해보았다.
- 회사에서는 프론트와 백엔드 아무거나 하는 잡부인데, 이직시에는 백엔드로 지원해보았다.
- 경력직으로 지원해 면접을 봤다.
- 망쳤다고 생각했는데, 합격해서 당황했다.
- 막상 합격하고 나니 크게 이직할 생각이 안 들어 가지 않았다.
- 현재 회사에서 하고 있는 업무와 사람들에 애정이 있었다.
- 입사 제안을 정중히 거절했는데도, 다시 한번 붙잡아주시고 원하는 연봉을 다시한번 말해보라는 기회를 주셔서 너무너무 감사했다.
- 하지만 너무 죄송하게도 거절했다.
- 앞으로는 합격해도 입사하지 않을 회사에 다신 경험삼아 지원하지는 않을 것이다.
다양하게 많은 것을 학습했다.
- 인프라: 레디스, AWS 를 많이 학습했다.
- DB: MSSQL 실무에서 일어나는 다양한 문제를 해결해보았다.
- 백엔드: 스프링의 동작 원리에 대해 한번 깊게 공부해보았다.
- 복습이 필요함을 실감하여 다시 한번 복습할 예정이다.
- 프론트엔드: 자바스크립트를 깊게 학습하는 중이다.
- 이것도 배우면 얼마 지나지 않아 까먹어 복습을 많이 하며 뇌에 새기는 훈련이 필요하다고 느꼈다.
- 누군가는 하나에만 집중하기에도 시간이 없는데 왜 여러 분야를 배우냐고 한다.
- 컴퓨터의 여러 지식이 연계되어 지식의 네트워크를 형성하는 느낌을 받아 나는 앞으로도 거리낌 없이 다양한 분야를 공부할 것이다.
- 한 분야를 실무에 적용하는데, 항상 최고의 전문가가 필요하지는 않다고 생각하기 때문이다.
- 남들과 다른 나만의 경쟁력을 반드시 만들 것이다.
앞으로의 방향성
- 공부는 꾸준히 하자.
- 깊이 있게 학습하려 노력했지만, 배운뒤 얼마 지나지 않아 다 까먹었다.
- 이것은 인간인 이상 어쩔 수 없다. 계속 복습하자.
- 다양하게 하려면 절대적인 시간이 분명 모자르기 때문에 밀도있게 시간을 사용하여 학습하자.
- 내가 부족한 부분을 집착적으로 찾아내 수련하도록 하자.
- 깊이 있게 학습하려 노력했지만, 배운뒤 얼마 지나지 않아 다 까먹었다.
- 일은 열심히 하자.
- 예전엔 돈을 적게 받고 일했지만, 이제는 누가 봐도 돈을 많이 받고 일하는 사람이 되었다. 그에 걸맞는 사람이 되자.
- 과소비를 줄이고 침착하게 돈을 모으자.
- 내년이나 내후년에는 정착할만한 오피스텔이나 아파트를 사고 싶다.
- 기분이 나쁘다고 해서 상대에게 내 기분을 바로 표출하지 말고 기분이 나쁜 이유를 생각해보고, 골똘히 문제를 해결할만한 해결방안을 생각해보자.
- 아무리 개발을 잘해도 같이 일하기 싫은 사람이 되어버리면, 그것은 내가 원하는 나의 미래의 모습이 아니다.
- 결국 내가 일을 즐기기 위해서도 다같이 즐겁게 일할 수 있어야 한다.
반응형
'회고 > 연간 회고' 카테고리의 다른 글
2023년 전체 회고 (0) | 2023.12.31 |
---|