회고 | 2023년 - 지고 싶지 않다면 이길 때까지 계속하면 된다.

     

    💪🏻 내가 한 것과 잘한 것

    1. 일

    1-1. 금융권  CI/CD 프로젝트 오픈 

     
    2023년 7월부터 12월까지 숨 가쁘게 달려왔던 금융권 CI/CD 프로젝트를 오픈했다.
    나는 소스코드점검 파트에 배정 받았고, 간단하게 설명하자면 배포 전 소스코드를 사전에 점검하여 사용자에게 취약점 분석 결과를 전달하는 업무이다. 소스코드 분석을 위해 소나큐브 오픈소스를 활용했고, 효율적인 운영 관리를 위해 소나큐브에서 제공하는 룰셋, 룰 옵션 기능을 추가적으로 개발하였다.
     
    지난 5개월 동안 정말 많은 것들을 경험할 수 있었는데 다음과 같다.
     
    1. SI 프로젝트를 경험할 수 있었다. 
    2. MSA로 백엔드 개발을 할 수 있었다.
    3. 화면 기획부터 DB 설계까지 참여할 수 있어 다양한 직무의 일들을 체험할 수 있었다. 
    4. 많은 개발자분들과 협업할 수 있어, 정확한 단어를 사용하고 명확한 커뮤니케이션의 중요성을 알 수 있었다.  
    5. 다양한 관점에서의 회의 진행하였고, 클라이언트과 직접 커뮤니케이션할 수 있었다. 
    6. 회의록등 중요 안건은 문서화하는 것이 중요하다는 것을 알 수 있었다. 
    7. 담당자가 정해지지 않은 일에 대해 관리자에게 사전에 보고하고, 업무 분장하는 것이 중요하다는 것을 알 수 있었다.
    8. 관리자의 역할이 광범위하다는 것을 인지하고, 이슈 사항은 주기적으로 보고하는 것이 중요하다는 것을 알 수 있었다.
     
    그동안 전 회사에서도, 프로젝트 투입 전에도 솔루션 제품을 가지고 풀스택으로 일 했었기 때문에 타 직무에 있는 분들과 F/E 개발자 분들과 협업할 수 있는 기회가 없었다. 신규 기능이 추가되면 내가 백부터 프론트까지 개발했으니까 데이터를 어떻게 주고받아야겠다는 설계를 할 수 있었는데, 이번 프로젝트에서는 B/E 포지션으로 투입되었기 때문에 최대한 F/E 분들과 원활하게 협업할 수 있도록 노력했다. (백단에서 가공해서 내려줄 수 있는 건 최대한 가공해서 예쁘게 내려주고, 도저히 안 되는 건 스웨거에 구구절절 편지를 썼다.......) F/E 분들과 언성을 높이거나(?) 서로 감정 상하는 일은 없던 걸 보니 노력이 조금은 먹혔다고 생각한다. 그리고 주니어 레벨에서 운영에 들어가는 화면 기획과 DB 설계까지 할 기회가 많이 없다고 생각하는데, 이 프로젝트에서는 내 의견을 반영할 수 있었다. (UI, UX부터 데이터를 어떤 형식으로 DB에 적재하고 이걸 화면에 보여주려면 어떻게 설계해야하는까지! 전문가분들 대단하십니다..)
     
    MSA로 진행된 프로젝트로 타 서비스와 연계하는 작업도 있었는데, 덕분에 B/E 개발자분들이랑도 같이 협업할 수 있었다.
    깔끔하게 짠 소스보면 너무 멋지고 부러웠고, 열심히 공부해야겠다는 동기부여가 되었다. 
     
    화면 기획에 참여하다보니 자연스럽게 고객과 직접 커뮤니케이션 할 수 있었다. 그 과정에서 정처기 공부할 때 인상 깊었던 문장이 떠올랐다. 

     사람들은 직접 보여주기 전까지 자신이 뭘 원하는 것을 모른다. 

     
    그래서 요구사항 분석과 설계에 많은 리소스가 투입될 수밖에 없고 매우 중요하다는 것을 알게 되었다. 보여주는 시점에서 고객이 원하는 걸 깨닫는다면 기존 설계의 의도와 전혀 다른 방향이 될 수 있기 때문이다. 그러기 위해서는 도메인에 대한 지식과 해당 업무에 대한 이해도가  아주 !!!! 많이 중요하다는 것을 알게 되었다. 
     
    프로젝트를 진행하며 개발적으로, 인성적으로도 스킬업 할 수 있어서 인상 깊었던 경험이었다.
     

    1-2. 레드마인 오픈소스를 활용한 이슈 추적 프로젝트 

     
    3개월의 수습 기간동안 Spiring Boot + JPA + Vue을 바탕으로 레드마인 오픈소스 연계한 이슈 추적 프로젝트 진행했다.
    지금 다시보면 정말 어디에 내놓아도 부끄러운 코드이지만, 당시에는 정말 열심히 만들어서 애정이 갔다. 리팩토링을 하겠다는 목표가 있었지만 다른 프로젝트를 진행할 계획이라 그 목표는 깔끔하게 접었다. (서버 살아있을 때 동영상이라도 찍어둘 걸 아쉽다 ㅠ)
     
    회고는 아래 링크 참고!
    https://seongeun-it.tistory.com/293

     

    [3차 과제 프로젝트 회고] 레드마인 API를 활용한 이슈 추척 App. 구축기

    목차 1. 내가 한 것과 잘한 것 2. 배운 것과 성장 지점 3. 아쉬운 것과 다음에 다시 시도해 볼 수 있는 것 4. 미래의 나에게 3차 프로젝트 과제로 레드마인 API를 활용한 이슈 추적 application 구축을 진

    seongeun-it.tistory.com

    1-3.  퇴직금 적립 

     
    작년 12월에 입사하여 벌써 입사 1주년이 되었다. 으쌰으쌰 한 동기들과 맛있는 걸 먹으며 1주년을 기념했다.
    이제 2년차 퇴직금 적립 시작! 


     

    2. 개발공부

    2-1. 리눅스 마스터 1급 도전

    2분기 도전했으나 실패했던 리.마 1급.. 3,4분기에는 프로젝트 때문에 정신없어서 더 이상 공부하지 못했다. 시험 날짜로 연기했다!
    그래도 공부하면서 주워 들었던 단어들이 업무에 나올 때 반가웠고, 더 공부하고 싶다는 생각이 들었다 ㅠ 마스터까지는 안되더라도 리눅스 쪼렙에서는 벗어나고 싶다. 
     

     

    회고 | 그리고 누구나 두려워하면서 창작을 하는구나.

    벌써 2분기가 끝났다. 만족스러웠던 2분기를 마무리 해보고자 한다. 💪🏻 내가 한 것과 잘한 것1. 회사1-1. 퇴직금 적립 벌써 입사한 지 200일이 넘었다! 시간 정말 빨리 가는 거 같다. 입사 1주년

    seongeun-it.tistory.com

    2-2. 인프런 코테 인강 챕터 7 완강 

     
    전체 강의 완강하는게 목표지만 7강까지 완강했다. 그래도 예전보다 코테에 아주 쪼오끔 더 친해졌다.
    올해는 꼭 완강해야지! '각 잡고 하지 말고 힘 빼면서 하자~'라는 마음으로 시작해도 각 잡고 하게 되어서 시간이 오래 걸리는 거 같다.
    꾸준하게 코테 근육 키우는 게 올해 목표
     

    2-3. 개발 컨퍼런스 및 소모임 - AWS 성수 소모임 

     


    학원 동기들과 무신사 캠퍼스에서 열리는 AWS 성수 소모임에 다녀왔다. 내용은 아직 어려웠지만, 리. 마 공부하면서 들었던 단어들이 들려서 신기했다. 무신사 건물 정말 멋졌다. 다음엔 꼭 네트워킹 세션 참가해 봐야지

     

    2-4. 개발 블로그 포스팅 - 36개 

     
    2023년 개발 블로그 포스팅을 36개 했다. 원래는 52개 하는게 목표였으니 목표치의 약 70% 를 달성했다고 할 수 있겠다.
    이제는 개발하면서 막힌 부분이 있으면 "아..이거 포스팅 각이다.." 하면서 정리하면서 하게 된다. 
    올해는 작년만큼 자주 올리지는 않을 예정이지만 그래도 꾸준하게 올릴 예정! 월 2회 이상으로 총 30개 올리는 게 목표이다. 

    2-5. 스터디 

    2-5-1. Cloud Study Jam 수료 (Kubernetes in Google Cloud) 
    https://seongeun-it.tistory.com/302

     

    후기 | 2023 Cloud Study Jam 수료 후기(Kubernetes in Google Cloud

    1. Kubernetes in Google Cloud란?구글에서 제공하는 Google Cloud Skills Boost 교육 과정 중 하나로 도커 컨테이너부터 Google Kubernetes Engine 쿠버네티스 클러스터로 배포하는 방법, 어플리케이션 업데이트에 따

    seongeun-it.tistory.com

     
    2-5-2. Clean Code Study
     
    구글 엔지니어는 이렇게 일한다. chapter 8 스타일 가이드와 규칙의 구글의 Java Style Guide 링크 참조 명명 규칙이랑 같이 보면 좋을 거 같다. 클린 코드란 읽기 쉬운 제대로 된 코드!로 정의하는데 이 책은 크게 "읽기 쉬운"과 "제대로 된"로 나누어 설명하고 있다. 개발 공부 초창기에는 어렵다고 느껴져서 포기했는데, 다시 읽어보니 좋은 문장들이 많아서 사내 스터디용으로 괜찮은 거 같다. 
     
    + 첫째도 작게, 둘째도 작게, 그리고 중복은 악의 근원!
    + 틀린 주석보다 아무것도 없는 코드가 더 낫다는 생각을 했다. 그리고 너무 구체적인 주석보다 적당히 추상적인 주석이 좋은 거 같다.
    + null을 반환하지 마라 그 중 첫째가 null을 반환하는 습관이다. 한 줄 건너 하나씩 null을 확인하는 코드로 가득한 애플리케이션을 지금까지도 수도 없이 봤다. 다음이 한 예다.

    다행스럽게 자바에는 Collections.emptyList()가 있어 미리 정의된 읽기 전용 리스트를 반환한다. 이렇게 코드를 변경하면 코드도 깔끔해질뿐더러 NPE를 발생한 가능성도 줄어든다.

     
    + 특히 11장 시스템에서 인상 깊었던 구절이 많았다.

    확장 성장할지 모른다는 기대로 자그만 마을에 6차선을 뚫는데 들어가는 비용을 정당화할 수 있을까? 아니, 어느 조그만 마을이 6차선을 반길까? ’ 처음부터 올바르게’ 시스템을 만들 수 있다는 믿음은 미신이다. 대신에 우리는 새로운 스토리에 맞춰 시스템을 조정하고 확장하면 된다. 이것이 반복적이고 점진적인 애자일 방식의 핵심이다. 테스트 주도 개발, 리팩터링 깨끗한 코드는 코드 수준에서 시스템을 조정하고 확장하기 쉽게 만든다.
    (생략)
    의사 결정을 최적화하라
    우리는 때때로 가능한 마지막 순간까지 결정을 미루는 방법이 최선이라는 사실을 까먹곤 한다. 게으르거나 무책임해서가 아니다. 최대한 정보를 모아 최선의 결정을 내리기 위해서다. 성급한 결정은 불충분한 지식으로 내린 결정이다. 너무 일찍 결정하면 고객 피드백을 더 모으고, 프로젝트를 더 고민하고, 구현 방안을 더 탐험할 기회가 사라진다.

     
    처음부터 올바르게’ 만들기 위해, 상사분들에게 빠른 의사 결정을 요구했는데 그러다보니 이미 결정된 사항이 변경되면 스트레스를 받았는데, 이 글을 읽고 '처음부터 제대로 만드는 것도 좋지만, 일단 만들어보고 조금씩 확장해 봐도 되겠다.'는 생각을 했다.
     
    +💡 미래의 내가 고통받지 않는 방법 = 의도를 분명히 표현하자

    코드를 변경하면서 버그의 싹을 심지 않으려면 유지보수 개발자가 시스템을 제대로 이해해야 한다. 하지만 시스템이 점차 복잡해지면서 유지보수 개발자가 시스템을 이해하느라 보내는 시간은 점점 늘어나고 동시에 코드를 오해할 가능성도 점점 커진다. 그러므로 코드는 개발자의 의도를 분명히 표현해야 한다.
    우선, 좋은 이름을 선택한다. 이름과 기능이 완전히 딴판인 클래스나 함수로 유지보수 담당자를 놀라게 해서는 안 된다.
    하지만 나중에 코드를 읽을 사람은 바로 자신일 가능성이 높다는 사실을 명심하자.
    함수를 여럿으로 나누고, 자신의 작품에 조금만 더 주의를 기울이자. 주의는 대단한 재능이다.

     
    + 5분 전에 엉망으로 만든 코드는 정리하기 쉽다. 돌아가는 코드에 만족하는 프로그래머는 전문가 정신이 부족하다. 나쁜 코드는 썩어 문드러진다. 점점 무게가 늘어나 팀의 발목을 잡는다. 너무 서두르다 업보를 짊어지기 전에 점진적으로 개선하자.
     
    https://github.com/Growth-Collectors/Clean-Code

     

    GitHub - Growth-Collectors/Clean-Code

    Contribute to Growth-Collectors/Clean-Code development by creating an account on GitHub.

    github.com

    2-6. 개발서적  3권 완독

     
    올해도 개발서적 꾸준하게 읽어봐야겠다. 일하면서 권태로운 마음이 들거나, 심적으로 복잡하면 '구글 엔지니어는 이렇게 일한다.'  읽고 있는데 좋은 문장들이 많아서 완독하면 정리해서 올릴 예정이다. 
     
    [완독]
    1. Clean Code
    2. 개발자의 글쓰기
    3. IT 5분 잡학사전
     
    [진행중]
    1. 구글 엔지니어는 이렇게 일한다.
    2. 기술 문서 작성 완벽 가이드
     
    [예정]
    1. 요즘 개발자  

    💭 고민/생각

     
    - 프로젝트하면서 알게 되었다. 나는 백단 개발이 더 재미있고, 잘한다는 사실을.... 좀 더 백엔드쪽으로 포지셔닝을 하고 싶은데, 가능할지 모르겠다. 프론트 개발 할 생각에 벌써부터 머리가 지끈하지만... 그래도 어쩌겠어 해 내야지
     
    - 공부하는 게 좋아서 개발자라는 직업을 선택했는데, 정말 매일 같이 공부해야 되는 직업이라서 부담이 되기도 할 때가 있다. 쉬는 것도 잘하고, 개발 공부도 잘하고 싶어서 교착상태에 빠졌던 시기가 있다. 내 강점은 1. 그럼에도 불구하고 몸을 움직임 2. 죽이 되든 밥이 되든 뭔가를 꾸준하게 함이라고 생각해서, 다시 열심히 공부하려고 마음을 다잡는 중이다. 다른 사람이랑 경쟁하는 걸 좋아하지 않는 성향이라 그런지 "도태되지 않으려면 공부해!"라는 말을 들으면 더 하기 싫어지는 이상한 심보(?)가 있어서, 그냥 "어제의 나보다 오늘 조금 더 알면 그걸로 된다. 매일 1%씩만 성장하면 된다."는 입장으로 마음을 편하게 먹어야겠다.
     
    - 어른이 된다는 건, 스스로의 "가장"이 되었다가 "관리자"도 되었다가, 당근도 줘야 하고 채찍도 줘야 하는 무수한 과정의 반복인 거 같다. 
     

    👏🏼 아쉬운 것과 다음에 다시 시도해 볼 수 있는 것

    작년은 수습 기간 + 프로젝트 투입으로 솔루션 제품과 친해질 수 없어서 아쉬웠다.
    프로젝트에서 배운 것들을 바탕으로 솔루션 제품에 녹여내보고 싶다. 애정을 가지고 내 제품을 만들고 싶다. 
     
    리눅스 공부 다시 해보고 싶다. 그래도 열심히 준비한 게 있는데, 죽.밥 정신으로 가보자


     


    🚀 2023년을 보내며 

    2023년을 보내고 2024년이 된 지 벌써 13일이 넘었다. 
    아직도 날짜를 2023년이라고 적는 경우가 있어서, 잠시동안 작년의 오늘을 다녀올 때가 있다.
    회고를 해줘야 진짜로 2023년을 보낼 수 있을 거 같아서, 미루고 미루다 드디어 회고를 한다.
     
    2023년의 키워드는 "성장"이라고 할 수 있다.
     
    대나무가 자라는 과정에 대해 이야기를 들은 적이 있는데,
    모죽이라는 대나무는 5년 동안 아무리 물을 줘도 자라지 않는다. 5년이 지나고 죽순이 나기 시작하는 순간 하루에 70-80cm씩 자란다고 한다. 정체된 것이 아니라 깊게 뿌리를 내리기 위해 힘을 썼다는 말을 좋아한다.
     
    내 상황에 대입하자면, 더 큰 무언가를 하기 위해 한 해동안 고난과 역경을 겪었다는 생각이 들었다. 
    너무 막막해서 샤워하다가 울컥 눈물이 나기도 하고, 무기력하기도 했다가,
    그래도 다시 잘해보자는 마음을 먹었다가, 좋은 동료들과 일할 수 있으니 같이 버티자고 생각했다. 
     
    그런 순간들이 깊게 뿌리내리는 과정이라고 생각해 보면, 3년 후에는 내가 얼마나 성장할 수 있을지, 어디까지 갈 수 있을지 궁금해지기도 한다. 


     

    728x90

    댓글