입사, 운동, 자기개발


나의 20대 전반을 돌아봤을때 가장 큰 이벤트와 행복감을 느낀 해를 꼽는다면 올해가 아닐까 싶다. 그리고 1년간의 가장 굵직한 키워드 3개를 꼽는다면 입사, 운동, 자기개발(학습)이 되겠다.

이 세 가지 키워드로 한 해를 돌아보며 신년 계획을 위한 피드백으로 삼기 위해 2019 회고록을 작성해본다.


입사

팀장의 무능, 실무진의 유능, 한숨나오는 개발문화, 무능한 외주직원의 을질

대책없는 비판과 비난, 불평은 항상 지양해야하고 볼멘소리하기를 정말 싫어하지만 두고두고 항상 이직을 위한 마음가짐을 되새기기 위해 원색적이고 부끄러운 비난을 위주로 적어보려한다.

  • 1년간 솔루션 개발 및 유지보수 수행
    • 화면 - 코어 로 구성된 솔루션의 화면 쪽의 업무를 주로 수행

    • jQuery, JSP로 개발된 프론트엔드와 SpringBoot로 개발된 백엔드 구성

    • 아직 실력과 경험이 많이 부족하여 좋은 개발과 좋은 코드에 대해서 잘은 모르지만 아쉬운 부분이 많이 눈에 띔

    • 주로 SI에서 개발한 부분이라 개발 완성단계가 아닌데다 버그 및 수정부분이 상당히 많았음(아직도 계속해서 수정중)
      • 무분별한 비동기 통신(ajax)와 그에 따른 Undefined 에러는 손쓰기가 힘든 지경까지 이름

      • 문제는 이러한 코드 베이스를 내가 그대로 답습(프론트엔드에 대한 지식이 많이 부족)

    • 팀 내 개발 문화가 정착되지 않음 (위에 선배들이 모두 실력이 상당히 좋은것과는 별개의 문제)
      • 대표적으로 회사 내 가장 트렌디한 기술을 지향하고 전문적인 집단임에도 불구하고 아직까지 SVN 으로 형상 관리
    • 과/차장급의 실무진의 지식과 실력을 따라가지못하지 받쳐주지 못하는 무능한 팀장
      • 무능하지만 개발에대한 욕심은 강해서 팀원과의 어떤 상의 없이 독단적으로 코드 수정 및 커밋

      • 커밋 로그 전혀 없음

      • 형상 관리를 위한 Branch 구조도 전혀 없음 (오직 Master에 커밋, 이부분은 내가 SVN을 공부해서 브랜치 전략을 세우고 구조화 시켜버림)

      • 문제는 팀장은 계속해서 Master에 어떠한 커밋로그도 없이 코드 수정

      • (팀장의 손을 탄)수정된 코드의 질적 퀄리티가 상당히 떨어짐(당장 돌아가는 코드, Controller에서 모든걸 처리, 객체간의 책임이나 확장성, 캡슐화, 응집도, 결합도에 대한 고려가 전혀 없음)

      • 현재 팀 차원에서 진행중인 업무나 팀원들이 진행하는 개발에 대한 어떠한 고려 없이 개인적으로 필요하다고 생각하는 기능을 마구잡이로 지시하는 팀장의 무능한 리더십(당연하게 본인이 뭘 지시하는지도 모름)

      • 다행스러운것은 과/차장급의 실무진이 사내 최고의 인재들로 구성 (팀장의 무능을 최대한 커버)

    • 코드리뷰 전혀 없음 (무능한 팀장이 무능한 코드를 로그없이 커밋 가능한 이유중 하나)

    • 테스트코드 전혀 없음(이건 내가 스스로 공부해서 코드리뷰와 같이 무조건 내가 맡은 솔루션에는 정착시킬 예정)
  • 새로운 개발 경험
    • JVM 기반의 MVEL 스크립트를 이용한 서비스 코드베이스의 프레임워크 경험

    • REST API 서버 처럼 동작함으로써 더 유연하고 동적인 서비스 구현이 가능

    • Jenkins, Gradle 기반의 빌드 자동화 시스템 구축 경험

    • 사내 Nexus 구축함으로써 Maven 라이브러리 관리의 용이성 경험

    • Gradle 의 서브프로젝트와 스크립트를 이용한 빌드 및 디펜던시 관리의 편의성을 느끼고 유연성을 경험함 (솔루션 패치 패키징 역시 스크립트를 이용하여 구축)

    • 솔루션 기능 확장에 따른 기존 구조의 한계성 때문에 모듈화 수행

  • 회원사 프로젝트 지원
    • 팀장의 무능함과 고집때문에 우리 팀과 전혀 관련없는 해외 동남아 프로젝트를 위해 팀이 바쁨에도 불구하고 약 2주간 해외 출장
      • 실제 출장 간 수행한 업무 전혀 없음(어떤 업무, 어떤 프로젝트를 진행하는지 물어봐도 그냥 앉아있으면 된다는 식)

      • 출장 결정 당시엔 너무 바빠서 누구라도 필요했기에 팀내 막내인 나를 차출했지만 막상 출장 당시엔 바쁜상황이 모두 해결됨. 그러나 팀장은 본인의 무능을 숨기기 위해 결정을 번복하지 않음

    • 회원사에서 프로젝트 인원으로 투입된 외주 직원의 말도안되는 요구(본인 업무를 직접 회원사로 찾아와서 나에게 해결해달라는 말도안되는 지속적인 요구)
      • 프로젝트에 투입된 PM역시 외주 직원들의 편에서 만만한 나, 팀 동기를 계속해서 압박(직접 회원사에 방문해서 도와줄 수 없냐는 요구)

      • 결국 말도안되는 요구임을 파악한 팀내 선배가 PM에게 전무에게 직접 전달하라 며 답변, 그 뒤로 외주 직원과 PM의 무능한 요구가 뚝 끊김 (병신새끼들)

연봉, 복지를 제외한 개발자의 입장에서 봤을 떄에는 업무를 통한 성장을 절대 바라면 안되는 곳이라고 판단된다. 오히려 무능한 상사들이 실무진들의 잠재성을 갉아먹는 구조. 스스로 공부하고 꾸준히 정진하여 보다 나은 개발문화를 갖춘 회사로 이직하는 것이 최선의 방법으로 사료된다. 그간 다른 개발자들의 경험을 들어보면 스스로 개발문화를 개척하기 보다는 떠나는 것이 답이라는 것이 정론

막상 입사 와 관련된 내용을 적어보고나니(원래 의도가 그러했지만) 비판이 아닌 비난 일색이다. (내가 극혐하는 부류들이 싸질러놓은 글과 다를게 없다.) 일부러 긍정적인 멘션은 최대한 숨기고 스스로 작성하면서 부끄럽고 불쾌했지만 볼 때 마다 이직을 위한 다짐을 다잡기 위함이라고 생각하자.


운동

웨이트 트레이닝, 스트렝스, 파워리프팅

원체 운동을 잘하고 좋아하는 편이라 입사 후에는 무조건 운동을 꾸준히 하리라 다짐했었고 별다른 무리 없이 진행중이기에 한편으론 뿌듯하면서 무덤덤하다.

예전(군대, 복학이후)에 진행했던 웨이트 프로그램과 달라진 점이라면 보디빌딩(심미적)식의 훈련이 아닌 스트렝스 발달 위주의 프로그램으로 구성했다.

  • 주 3일 리프팅(스트렝스) 훈련

  • 주로 5X5 프로그램으로 훈련

  • 3대 중량이 460kg 까지 상승

  • 몸무게는 거의 13kg 증량 (근육 + 체지방)

  • 심미적으로 좋은 몸은 아님

  • 하지만 보디빌딩식으로 훈련해서 몸이 좋아졌을 때 보다 더 큰 만족감과 자신감

  • 무능한 팀장 의 묻지마 동남아 출장으로 잃어버린 스트렝스 회복이 더딤

  • 딱히 식단관리 하지 않음

  • 왼쪽 고관절쪽 통증

신년 이후에도 계속해서 스트렝스 위주의 훈련으로 진행 예정


자기개발(학습)

객체지향, 알고리즘, 스프링, 주말스터디, 오브젝트

가장 실천하기 힘들지만 내 인생에 있어 가장 중요하고 앞으로도 가장 중요한 부분이 되어야 할 키워드가 아닐까 싶다.

  • 하루 최소 2시간 이상 자기개발 진행하려 노력중

  • 하루 1커밋 생활 지키려고 노력중 (블로깅 포함)

  • 개인 블로그에 학습 내용 정리중

  • 1년 이상 주 언어가 JAVA였는데도 불구하고 객체지향에 대한 이해도가 많이 부족(캡슐화, 응집도, 결합도)하여 새로운 기능 개발시 클래스 설계에있어 많이 헤매는 모습떄문에 관련 도서 학습 및 업무에 적용
    • 조영호 저자님의 객체지향의 사실과 오해 약 3회독 및 아이패드 노트 정리 (많은 인사이트를 얻게됨)

    • 마찬가지로 조영호 저자님의 오브젝트를 한 챕터씩 학습하여 개인 블로그에 정리하여 올리는 중 (코드 위주의 설명이라 상당히 많은 도움이 됨)

    • 학습 중 궁금점에 대해서는 저자님께 직접 이메일로 질문을 드렸고 상당히 친절하게 코드 예시 까지 작성하시면서 설명을 해주심 (팬이되어버림)

    • 객체를 지향 하고 책임 주도 설계 를 지향하며 협력이라는 문맥을 바탕 으로 메시지가 객체를 선택 함에 따라 자율적인 객체를 설계 하는 연습을 할 줄 알게됨

    • 실제로 솔루션 기능 개발시 위와 같은 생각을 하면서 설계를 하니 기존에 막 만들었던 코드보다는 훨씬 유연해지고 확장성있는 설계를 하게됨(물론 아직도 한참 멀었지만)

  • 프로그래머스 사이트에서 꾸준히 알고리즘 문제 풀이중 (운동 가는 날 2시간 자기개발시 알고리즘 문제 해결에 투자)

  • 블로깅과 같은 학습 및 자기개발은 알고리즘보다 우선순위가 높다고 판단하여 운동 안가는 평일 4시간, 주말을 활용

  • 기존에 진행하던 스프링 웹은 중도 하차, 객치지향 학습알고리즘 학습이 보다 본질적이고 더 중요하다고 생각되어 선택과 집중

  • 새벽 5시 기상, 오후 11시 취침으로 루틴 변화 (오전 5시 ~ 7시 30분 출근 전까지 자기개발)
    • 아직 실행중. 생각보다 회사에서 피로도를 느낌
  • 주말 스터디 그룹 진행 및 해체
    • 구성원들 중 신변의 변화가 생김

    • 강제적이지 않다보니 구성원들간 책임감이 결여되어 3주 이상 본인이 맡은 부분을 준비해오지 않는 인원들 속출

    • 긴장감 없는 진행방식 때문에 오히려 혼자 학습하는게 더 효율적이라 판단되어 스터디 그룹 해체

  • 친구 스터디 진행 및 해체
    • 위와 마찬가지의 이유

자기개발에 있어 좀더 엄격해져야 함. 자기개발에서 따로 스트레스를 받기 싫어서 엄격하지 않게 진행하려 했지만 오히려 효율성도 떨어지고 그에 따른 스트레스가 더 큰것같음. 학습과 휴식, 보상에 대한 계획을 보다 세밀하게 세워서 우선순위가 높은 자기개발을 위주로 꾸준한 학습이 필요

참고 및 출처