Use Case Diagram


Environment and Prerequisite

  • UML


Use Case Diagram

Use Case

  • Use Case: Text story which user use system to achieve a goal.


Use Case Diagram

  • Use Case Diagram: Diagram which shows telationships between actors and use cases.


Actor, Use Case, System Boundary

Actor

  • Actor: External entity which interacts with system.
  • The diagram represents it with an human shape icon.
  • In Use Case image, “Registered User” is an actor.

Use Case

  • Check definition in Use Case.
  • The diagram represents it with an oval.
  • In Use Case image, “Edit an article.” is use case.

System Boundary

  • System Boundary: System model to design.
  • The diagram represents it with an rectangle.
  • Use Case Diagram image, “System Boundary” is system boundary.


Relationship

Association

  • Association: Shows interaction between actor and use case.
  • Ex) User edit board.

Include

  • Include: It refers to a relationship that one use case include another use case.
  • Ex) Compose post includes adding image.

Extend

  • Extend: It refers to a relationship that can extend to another use case when certain conditions are met.
  • Ex) Flight reservation allows seat selection under certain conditions.

Generalization

  • Generalization: It represents a concept similar to inheritance, where a use case is a generalized parent use case of other use cases.


Reference

업데이트(2024.12.19): “회사에서의 성과와 평가” 내용 추가

올해의 회고


올해도 어김없이 회고를 작성해 보려 한다. 글이 항상 너무 길어져서 이번에는 길어질걸 예상하고 미리 작성하려 한다. 올해도 다사다난했고 많은 일들과 느낀 점들이 있었다.


배경

올해를 정리하고 내려놓을 것들을 내려두고 어떻게 하면 더 좋은 삶을 살 수 있을지 고민하기 위해 작성한다. 아래는 지금까지 썼던 회고 목록이다.

목표를 달성했었는지, 올해는 어땠는지 그리고 앞으로의 계획과 삶에 관한 생각을 적어볼 생각이다.


목표는 이뤘나?

저번과 마찬가지로 작년 회고에 정리했던 목표들을 올해 이뤘는지 궁금했다. 그래서 작년에 목표로 기록했던 것들을 가져와 봤다.


개발 시 설계와 좋은 코드의 구현

시작부터 이루지 못한 목표다… 작년에 글을 작성할 때 개발하게 되면 많은 고민을 통해서 설계하고 코드도 생각을 많이 하자고 했었는데 고민할 틈도 없이 이건 만족스럽지 못하다.

대체로 회사에서 작성한 코드들은 빠르게 일을 완료하는 데 초점이 맞춰져 있었으며 집에서 하는 공부들도 여러 일들이 겹치다 보니 깊은 생각을 할 수 있는 여유가 없었다. 물론 이 모든 게 내 능력일 수 있지만 결과만 보면 제대로 이루지 못한 거 같다.

설계를 공부한다고 UML을 조금 공부했지만, 적용한 사례는 없었고 회사에서 문서를 정리하거나 내 업무를 할 때도 돌아보면 좋은 설계의 그림을 그려보거나 해본 적이 없다. 아 물론! 회사에서 일을 해야 하니 발표와 공유를 위한 그리고 내 개인 업무의 경우 정리를 위한 설계 그리고 그림을 그렸었지만 뭔가 마음에 들지 않았다. 어디에 보여주고 싶지만, 부족한 부분이 있었으며 잘했었는지 의문이 들었기에 부족했던 거 같다.

결론적으로 개발 시에 좋은 설계와 좋은 코드 구현이 있었냐고 묻는다면, 나는 “부족했다!”라고 대답할 것 같다. 회사를 떠나 개인 업무에서도 마찬가지로 좋은 설계와 코드는 찾아보기 어렵다.


선택과 집중

선택과 집중을 잘해서 우선순위를 정하고 중요한 일부터 하나하나 차근차근해야 하는 건 누구나 아는 사실이다. 그런데 이번에는 그 점이 잘되었는지 모르겠다. 우선 선택을 하기가 어려웠다. 회사에서는 업무의 인터럽트가 굉장히 잦았고 잦은 업무 변경으로 하나에 집중하기 어려웠다. 회사 밖을 나와서도 회사에서의 혼란스러운 정신 상태로 다른 여러 중요 일들을 하느라 집중하기 힘들었다. 집에 오면 집안일과 다른 일들이 당연히 우선순위가 높아지면서 다른 일들은 뒷전으로 뒀고 그로 인해 목표했던 일들을 덜 하게 된 것 같다.

선택과 집중은 인생의 성공 요소 중 하나라고 생각할 만큼 중요한데 언제나 어렵다.


추가적인 작품 개발

이것도 사실 달성하지 못했다. 개인 공부, 주식, 운동, 개발 등 여러 가지를 동시에 하려다 보니 목표했던 게임을 만들지는 못했다. 인터넷에서 디자인 강의도 듣고 따라 해 보면서 Illustrator를 사용해 보기도 했고, 그동안 책을 사서 도트 그래픽도 공부했지만, 시간이 아주 부족했다. 개발보다 디자인 리소스가 더 필요해서 관련 공부를 했는데 시간을 꽤 투자했지만, 피로만 남았고 결과적으로 아직 혼자 그림을 그리거나 리소스를 만들지는 못했다.

그래도 꾸준히 블로그는 열심히 작성하려고 했으며 생각보다 많이 작성한 것 같다. 애초에 작성할 개수를 정해두지 않았지만, 평균적으로 매달 하나씩은 작성했던 것 같고, 단순히 공부한 내용을 정리하는 것뿐만 아니라 경험한 내용들도 적어서 블로그 활동은 긍정적으로 보고 있다. 내년에도, 이 활동을 계속 유지할 생각이다. 개수를 정하지 않고 시간이 날 때 편하게 쓰는 방식으로 할 예정이다.


지속적인 성장과 공부

이것도 명확하게 답하기 애매하다. “지속적인 성장을 하였는가?” 당연히 답은 “예”라고 할 수 있다. 이유는 회사에서 일을 하면서 부딪히고 다른 분들께 배운 내용이 있기 때문이다. 그리고 “지속적인 공부를 하였는가?”라고 하면 당연히 답은 마찬가지로 “예”라고 할 수 있다. 공부는 사실 회사뿐만 아니라 내 스스로 이것저것 조금씩 했다.

그런데 “그 내용들이 내가 목표했던 만큼이었을까?”라고 물어본다면 “아니다”라고 답할 수 있다. 자유롭게 게임 디자인 리소스를 그릴 수 있을 정도로 공부하는 것이 목표였는데 강의 몇 개만 따라 한 수준이다. Spring을 공부하면서 서버 개발에 필요한 개념과 원리를 알고 싶었는데 회사에서 작업한 내용들만 공부했다. UML의 경우 거의 공부하지 못했다. 그 외에 잡다한 지식은 호기심에 찾아보거나 하면서 공부했다.

지속적인 성장을 했고 공부를 했지만, 목표에 미치지는 못했으며 그 부분이 아쉽다.

정리해 보니 무리하게 목표를 잡은 부분도 있지만 구체적인 목표가 없었던 것 같다. 구체적인 목표와 현실 가능성이 있었는지 검토가 필요했었던 것 같다.


올해는 어땠나?

올해는 참으로 많은 생각을 하고 느낀 게 많았다. 사실 그런 내용들도 하나하나 매일 일기에 쓰려고 했는데 시간이 너무 없었다. 생각나는 부분들만 적어 보겠다.

회사는 내 인생의 일부분에 지나지 않으며 내 인생이 중요하므로 중요한 내 삶 이야기를 뒤에 써야겠다.


회사에서 느낀 여러 가지 부분들

정말 느낀 게 많았다. 개발적으로 경험한 것도 있고 삶에 관해서도 느낀 게 많았던 것 같다.

업무와 개발을 하면서 느꼈던 부분들을 나열하면 아래와 같다. 평소에 적었던 부분들부터 나열해 보자.

  • 일반화 및 표준화의 중요성
  • 어딘가에는 흔적을 남겨 놓아야 한다.
  • 기술이 다가 아니다.
  • 리소스만 믿고 의존하면 안 된다.
  • 우려한 건 언젠가는 발생할 수 있다.
  • DEV, STG, PROD의 구분은 중요하다.
  • 테스트는 너무도 중요하다
  • 사람을 믿지 말자.
  • 바쁘더라도 필요한 건 해야 한다.
  • 컨텍스트 체인지에는 많은 시간이 든다.
  • 높은 조직의 정책과 당시 상황의 영향
  • 체력이 튼튼하고 정신을 똑바로 차려야 한다.

이야기를 풀어내면 각 항목이 하나의 글이 될 것 같은데… 이건 따로 정리해 보겠다. 따로 [회고] 개발 회고에 정리해 봤다.

올해 상반기에 쓴 [회고] 상반기 회고와 작년에 쓴 [회고] 회고를 해보자를 다시 한번 읽어 봤다.

회사 관련 부분은 작년에 “전사에 관한 회사의 업무”, “회의감이 들기도 했던 업무”, “조직 변경과 불안한 미래”, “작년만큼은 아니지만 작은 성장” 그리고 상반기에는 1월부터 6월까지를 돌아본 내용이 있었다.

그러면 과연 올해는 어땠지? 포맷을 작년과 동일하게 큰 제목으로 자세한 내용을 써 보자.


지속된 업무와 새로운 업무

작년과 비슷한 과제에 몇 가지를 추가하여 올해 과제를 진행하였다. 전사의 데이터 수집을 진행했고 여러 서비스를 연동하는 작업을 했다. 비슷한 업무를 여러 해 진행하면서 작년에도 언급했지만 매년 단기적인 과제만 하다가 지속적인 과제를 맡는 부분은 만족스럽다. 흔히 지속적인 업무를 하면 회의감에 빠진다고 하지만 나는 단기적인 과제보다 장기적인 과제가 더 좋다. 하지만 파트 내에서 업무 분장을 새로 했다. 작년에 했던 일들에 더해 추가적인 업무와 함께 2년 전에 맡았던 업무도 다시 맡았다.

추가적인 업무로는 DevOps 관련 CI/CD 업무를 맡았다. 통합 테스트를 실무에 적용해 봤고 GitHub Actions를 통해 CI/CD 관련 설정을 해보고 적용해 봤다.

학생 때 CI/CD 관련한 일들을 해봤지만, 기본적인 배포와 통합만 해봤고 실무에서는 처음 해봤다. GitHub Actions를 써보면서 자동화에 매력을 느꼈다.

  • 귀찮은 일들을 자동화할 수 있다.
  • 깨끗한 환경에서 테스트, 빌드, 배포를 통해 품질을 보증할 수 있다.

위와 같은 부분들이 흥미롭고 마음에 들었다. 사실 일을 하면서 내가 수정하지 않은 부분에서 에러가 나서 고생하는 것이 싫었고, 그런 부분을 개선하고 싶어 시작했는데, 공부가 되었다. 물론 현업에서 사용되는 많은 CI/CD 및 배포 도구들이 있지만 GitHub Actions만 사용한 부분은 조금 아쉽다. 현업을 통해 조금 더 발전한 느낌을 받았고 앞으로도 더 많이 배우고 적용하고 싶다. 통합 테스트는… 처음 시도했는데 어려운 부분이 많았다. 단위 테스트는 학생 때 책을 통해 그리고 회사에서도 했었지만, 기능 테스트 수준을 넘어서는 부분은 경험이 없었다. 학생 때 해봤던 기능 테스트가 전부였다. 지금 맡고 있는 플랫폼의 경우, 인프라 구축부터 데이터 적재까지 모든 부분을 테스트에 포함해야 하는데 이 작업이 정말 쉽지 않았다. 테스트도 오래 걸리고 변수가 많아서 꽤 고생했고 계속 고생하고 있다. 기회가 된다면 통합 테스트의 모범 사례들을 많이 접해보고 싶다.

기존에 했던 업무들은 이슈가 발생했을 때 어렵지 않게 수정할 수 있었지만 2년 전에 맡았던 업무는 많은 변화가 있었고 다른 분이 잘 해주셨으나 깊게 파악하지 못해 초반에 고생이 많았다. 여전히 이슈가 발생했을 때는 이전 개발자분께 종종 도움을 요청한다. 그래도 가끔 발생하는 이슈를 해결하면서 조금씩 배웠다. 프로그램은 1년 사이에도 많은 변화가 있었고, 그 내용을 따라가려면 충분한 시간이 필요한 것 같다.

지속적인 과제를 하는 부분은 여전히 마음에 들지만 아직도 갈 길이 멀고 해야 할 게 많은 부분은 마음에 걸린다. 뭔가 깔끔하게 과제를 마무리하고 더 발전시키는 걸 하고 싶은데 지나치게 많은 외부의 업무 요청과 산발적인 이슈로 인해 어려웠다.

작년부터 지속하던 과제를 올해 마침내 마무리했다. 같이 일하는 분들이 다들 너무 열심히 해주셔서 가능했다. 과제를 진행하면서 정말 다사다난했고, 많이 부딪히고 배우기도 하며 그랬다. 회사가 정량적인 평가로 수치화된 값으로 이 과제를 평가해서 조금 아쉽다. 이 과제가 많은 사람들과 많은 사례를 일반화하면서 이뤄낸 과제이고, 더 발전 가능성이 있어서 이 과제 하나만으로도 높은 평가를 받아도 충분할 것 같다. 결국 전례 없는 과제를 해냈고, 더 많은 것을 기대할 수 있게 되었다. 기술적으로 더 발전하고 보완할 부분도 있지만, 여러 사람과 조직의 노력으로 큰 과제를 해낸 부분이 자랑스럽다.

내년에는 더 큰 일들이 준비되어 있고, 더 큰 이슈들이 발생할 것이 눈에 보이는데, 과연 이 업무를 계속해 나갈 수 있을지 걱정이 된다. 이럴 때일수록 품질을 잘 보장해 주는 여러 기술이 필요해 보이는데, 이러한 부분을 적용해 보고 데이터 수집과 관련된 일들도 더 해보고 싶다.


체력과 휴식의 중요성

올해 가장 크게 중요하게 느낀 부분이 “체력”이다. 나이가 이제 30대 중반을 향해 가고 있는데 매년 체력이 약해지는 게 느껴진다. 운동을 매일 하는데도 체력이 따라가지 못하는 느낌이다. 체력이 부족하고 지치니 마음도 지치고, 효율도 떨어지는 경우를 올해 꽤 많이 느꼈다. 단순히 회사에서뿐만 아니라 퇴근 후의 삶을 보내기 위해서도 체력이 너무 중요하다는 걸 느꼈다.

영양제도 많이 먹고, 건강에 도움이 되는 것도 챙기지만, 노화는 어쩔 수 없는 것 같다.

체력을 유지하려면 앞으로, 정말 효율적으로 시간을 사용해야 살아남을 수 있다는 걸 올해 깨달았다.

체력을 유지하기 위해서는 충분히 쉬는 것이 중요한 것 같다. 어떤 일이든 휴식이 부족하면 체력에 영향을 받을 수밖에 없다. 최근에 생활 방식을 바꿔 일찍 잠들고 수면 시간을 늘렸더니 몸과 체력이 눈에 띄게 좋아졌다. 무조건 달리는 것만이 능사가 아니고, 충분한 휴식을 취해야 다른 일도 제대로 해낼 수 있다.

건강이 최우선이다!


업무 전문성의 중요성

업무 전문성은 직업을 가진 사람이라면 당연히 중요한 부분이다. 시간이 지날수록 업무에 대한 전문성을 확실히 가져야 한다는 걸 느꼈다. 사실 이 부분은 길게 설명하기보다는 올해 “더 전문성을 기른 사람이 되어야겠다”라는 생각을 자주 했다. 어떤 일을 하더라도 전문성이 있어야 모든 일이 더 잘 풀린다는 것을 느꼈다.

최근에 본 프로그램에서도 전문성을 확실하게 가진 사람들이 자신 있어 보였고, 일에서도 더 강하게 치고 나갈 수 있는 모습을 보며 내 스스로 더 고무된 것 같다.

본업에 충실하고 잘 해야 한다.


조직의 구성과 문화와 업무 분배

지금까지 회사에 다니면서 일도 하고 여러 활동과 프로그램을 보며 조직과 문화에 대해 많은 생각을 하게 되었다.

리더의 중요성

올해를 보내면서 리더의 중요성을 느꼈다. 회사에서만 느꼈던 것이 아니라, 올해 축구 경기를 많이 보며 감독의 중요성을 깨달았고, 최근 본 TV 프로그램에서도 비슷한 부분을 느꼈다. 어릴 때부터 이순신 장군을 정말 존경하고 좋아했는데, 최근 이순신 장군에 관한 영화를 다시 정주행하며 리더의 중요성이 얼마나 중요한지 다시 한번 느꼈다.

축구를 보면 감독에 따른 전술과 선수 운용 능력에 따라 경기가 천차만별로 바뀌는 것을 볼 수 있다. 전쟁에서도 누가 전장을 지휘하느냐에 따라 불리한 상황에서도 승리하는 사례들을 봤다.

회사에서 지내면서 여기가 열린 공간이라 회사에서 볼까 봐 자세히 쓰기는 어렵지만, 느꼈던 부분을 간단히 적어보려 한다. 예전에는 내가 잘하면 되고, 개인이 뛰어나면 소속된 팀을 바꿀 수 있다고 생각했다. 물론, 정말 뛰어난 사람이 팀을 바꾸고 전체를 바꾸는 경우도 간혹 있지만, 그것은 정말 드물다. 일반적인 상황에서는 불가능하다고 봐도 된다.

업무가 팀에 과중되었다고 작년부터 생각했었는데, 그런 분배가 더 잘 이루어졌고 자원(사람이나 기타 등등)이 더 있었다면 덜 힘들지 않았을까 하는 생각이 든다. 내가 속한 작은 단위의 팀에서는 제조업이라 그런지 유지 및 보수 업무가 생각보다 좋은 평가를 받지 못하는 것 같다. 물론 유지와 보수는 업무의 기본적인 부분이라고 생각할 수 있지만, 소프트웨어의 경우 만들기보다는 그 이후 관리가 더 힘든 경우가 많다. 우리가 바로 그런 경우에 속하는 것 같다.

말이 조금 길어졌지만, 올해 느낀 점은 리더의 역할이 굉장히 중요하다는 것이다. 내가 생각하는 좋은 리더는 업무를 정확하게 이해하고, 사람들의 능력을 최대한 파악하여 업무를 적절히 분배하며, 상관과 팀원 간의 조율을 충분히 잘하는 사람이라고 생각한다.

개인 능력의 중요성

너무도 당연한 이야기라 길게 말할 필요가 없다. 아무리 리더의 계획과 방향이 뛰어나더라도, 개개인의 능력이 부족하면 좋은 결과를 기대하기 어렵다. 좋은 팀에 들어가 많은 것을 배운다고 하더라도, 충분한 개인 능력이 뒷받침되어야 한다.

개인이 항상 열심히 노력하는 것은 삶의 기본이다.

문화의 중요성

많은 블로그와 매체에서 이미 강조했듯, 문화의 중요성에 대해서도 길게 말할 필요는 없을 것 같다. 문화는 다양한 요소를 포함한다. 실패를 용인하는 문화, 지식을 공유하는 문화, 개인이 아닌 팀에 집중하는 문화 등 다양한 문화가 조직의 성공에 얼마나 중요한지 다시 한번 깨달았다.

특히 수직적인 구조에서, 상위층의 권한이 지나치게 지배적일 경우, 아래에서 올린 의견이 수정되거나 제대로 전달되지 않을 때가 있다. 반대로, 위에서 내려온 지시가 무조건 실행되어야 하는 상황도 종종 발생한다. 물론, 이러한 문제를 해결하기 위해 큰 노력이 이루어지고 있다는 점은 알고 있지만, 큰 조직에서는 이러한 문제를 완벽히 해결하기란 쉽지 않아 보인다.

이럴 때일수록 각 위치에 있는 리더의 역할이 얼마나 중요한지 실감한다.

구체적인 사례를 쓰면 어디선가 연락이 올 것 같아 다소 모호하게 적었다. 다양한 글을 통해 배우기도 했지만, 작년부터 올해까지의 경험을 통해 리더, 개인, 그리고 문화의 중요성을 몸소 느낄 수 있었다.


회사에서의 성과와 평가

회사에서 올해 성과에 대한 평가가 나왔다. 약간의 마음 준비를 했고 예상했던 결과 중 하나였지만, 막상 보니 반갑지는 않았다. 올해 많은 고생을 했는데, 정작 덜 고생했던 때의 평가가 더 좋았던 적도 있었다. 물론 고생과 평가는 별개의 문제일 수 있다. 운 좋게 일이 잘 풀려 좋은 평가를 받을 수도 있고, 반대로 어려운 업무를 맡아 결과가 좋지 않을 수도 있다. 더 나아가, 어려운 업무를 맡고도 이를 잘 풀어내는 사람도 있다.

하지만 이번에 나는 어려운 업무를 맡고 잘 풀어내지 못한 사람이었다. 업무 자체가 어려웠고, 일부 건들은 지연되기도 했다. 지금 돌아보면 “어차피 이럴 거면 좀 더 편하게 할 걸” 혹은 “소속을 옮겨 더 편한 곳으로 갈 걸”이라는 생각이 든다. 나는 보통 결과가 아쉬워도 과정에서 많이 배웠다면 그것만으로도 위안을 삼는 편이다. 그러나 이번에는 고생에 비해 결과도, 배운 것도 크지 않아, 차라리 더 편한 환경에서 일해야 하지 않았을까 하는 생각이 든다. 실제로 그렇게 하는 게 어떠냐는 조언도 들었었다.

원래 평가에 대해서는 담담히 받아들이는 편이었다. 그런데 최근에는 가치관에 변화가 생기고 있다. 어차피 회사에서는 일의 완료가 중요하다면, 비교적 쉬운 환경에서 더 많은 업적을 이루는 게 낫지 않을까 하는 생각이 든다. 이전에는 도전적인 업무를 선호하며 어렵더라도 각광 받고 인기가 많은 과제를 선호했지만, 2년간 고생하면서 생각이 조금 바뀌었다.

성과나 평가에 대해서는 이전부터 냉정하게 바라봤다. 이제는 내 삶과 나에 대해서도 냉정하게 판단하고 선택해야겠다는 결심을 하게 됐다. 이번 평가는 그런 새로운 방향의 생각을 하게 만든 계기였다.


개인 업무와 자기 개발

이제 드디어 내 개인 이야기를 할 차례다. 올해 상반기 회고에서 썼던 내용에 더해 이번에는 내 일상과 관련된 회고도 조금 추가해 보았다.


블로그

올해는 많은 글을 쓰지는 못했지만, 꾸준히 작성하는 습관을 유지했다는 점에서는 만족스럽다. 작년과 달리 올해는 목표를 조금 낮추고, 글 쓰는 습관만 유지하는 데 집중했는데 이를 달성했기에 뿌듯하다. 다만, 쓰고 싶은 내용은 많았지만 모두 작성하지 못한 점은 조금 아쉽다. 그래도 올해 작성한 글에 대해 대체로 만족한다.

올해 초, 나도 모르는 사이에 내 블로그가 어썸데브블로그에 등록되었다는 사실을 회사 동료에게 듣고 알았다. 내가 작성한 글이 거기에 자동으로 올라가고 있었다. 이 사실을 미리 알았다면 글을 더 잘 쓸 걸 하는 생각이 들었다. 그래도 내 블로그를 어썸데브블로그에 등록해 준 분께 감사하며 뿌듯했다.

3년 전에는 최대 주간 방문자가 20,000명에 달했지만, 지금은 약 5,000명 정도로 유지되고 있다. 이 정도만으로도 만족스럽다. 수입은 여전히 적지만, 이전보다 늘어난 점이 신기하다. 아마 앵커형 광고 덕분인 것 같다. 이렇게 블로그를 방문해 주시는 분들이 계시고 소소하게나마 수익도 들어오면서 블로그가 내게 작은 에너지 충전기 같은 존재가 되었다.

앞으로도 블로그를 꾸준히 작성할 예정이다. 내년에는 가족을 더 돌봐야 해서 글 쓰는 빈도는 더 줄어들 수 있겠지만, 짧은 내용이라도 기록하는 것이 목표다. 내년까지 꾸준히 이어간다면 블로그를 8년간 운영하게 된다. 전공 관련 내용을 지속적으로 기록해 온 점이 스스로에게도 뿌듯하고 값지게 느껴진다. 그래서 앞으로도 계속 쓰고 싶다.


게임

역시 세상에 쉬운 일이란 없다. 게임을 하나 개발하는 것을 목표로 했지만, 올해는 일러스트레이터를 공부하는 데 그쳤고, 제대로 된 게임 출시는 하지 못했다. 의지가 부족했던 건 아닌 것 같은데, 매일 정해진 시간 동안 공부했음에도 뚜렷한 결과를 내지 못했다. 지금은 너무 바빠서 손을 놓고 있지만, 내년에는 시간이 조금이라도 생기면 다시 도전해 볼 생각이다.

스토리와 연출, 전개 같은 아이디어는 머릿속에 잘 정리되어 있지만, 그림이 원하는 대로 나오지 않아 다음 단계를 진행하기가 어려웠다. Unity Asset Store의 무료 리소스를 활용할까 고민했지만, 내년에는 유료 리소스도 적극적으로 고려해 볼 계획이다.

여전히 게임을 통해 사람들에게 메시지, 감동, 그리고 여운을 전달하고 싶다. 하지만 현재 다른 우선순위가 더 높아 한동안은 이 꿈을 잠시 보류하려 한다.


영어

영어는 꾸준히 하지 않으면 계속 놓치게 되는 것 같다. 올해 초부터 출근길에 영어 회화를 듣기 시작했고, 주위에 사람들이 없을 때는 혼자 따라 말하기도 했다. 따로 시간을 내지 못하기 때문에 이렇게라도 습관을 유지하려고 한다.

아침마다 영어를 따라 하다 보면 입이 조금씩 풀리는 것을 느낀다. 반면, 며칠만 쉬어도 발음이 다시 어려워지는 걸 보면 꾸준함이 얼마나 중요한지 실감한다.

영어는 이제 선택이 아니라 필수인 시대다. 인공지능과 번역 기술이 발전했더라도, 사람과 사람이 직접 대화하는 건 완전히 다르다. 그래서 시간을 쪼개서라도 꾸준히 영어를 공부할 필요가 있다고 생각한다.


전공

작년과 동일하다. 사실, 동일하다는 점이 긍정적이다. 작년에도 만족스러운 상태였기에, 올해도 변함없이 좋은 습관을 유지하고 있다고 느낀다. 특별히 정리할 필요는 없는 것 같다. 언제 어디서나 궁금한 점이 생기면 찾아보고, 회사에서 제공하는 다양한 교육 과정을 통해 자연스럽게 공부하게 된다. 지금처럼 꾸준히 이 상태를 유지할 수 있으면 좋겠다.


DX 크리에이터

올해 새로 시작한 회사 활동으로, 상반기 회고에서도 언급했듯이 스트레스를 풀고 에너지를 얻을 수 있었던 경험이었다. 발표와 카메라 앞에 서는 것을 연습하며, 동시에 다양한 활동을 하고 싶다는 목표를 잘 이뤘다고 생각한다. 내년에도, 이 활동을 이어갈 수 있으면 좋겠다. 이곳에서 활동한 덕분에 유명인과 촬영을 해보는 특별한 경험도 했고, 사내 유튜브 채널에도 출연했다. 이 활동도 내 스트레스 해소에 도움을 줬다.


운동

몇 년째 꾸준히 열심히 하고 있는 일 중 하나다. 효과가 생각보다 크게 나타나지 않아 아쉬운 부분도 있지만, 원래 노력에 비해 결과가 적게 보이는 편이라 큰 기대를 하지는 않는다. 출근하는 날에는 주로 아침에 운동하러 가서 근력 운동과 유산소 운동을 병행했다. 마른 체질이라 운동은 필수이고, 건강에도 좋으니 올해 꾸준히 해온 점에 만족한다. 내년에도 계속 이어갈 계획이다.

다만, 올해는 과하게 운동한 날도 있어 몸에 무리가 간 적이 있었다. 내년에는 2주에 한 번 정도는 평일에 더 늦게까지 잠을 자며 운동을 쉬는 날을 가져볼 생각이다. 꾸준함과 건강의 균형을 맞추고 싶다.


건강 관리

30대가 된 지 꽤 되었고, 내년이면 벌써 33살이 된다니 믿기지 않는다. 시간이 정말 빠르게 지나간다. 나이를 먹으면서 이제 몸의 변화를 체감할 수 있는 것 같다. 일을 마치고 집에 오면 바로 쉬어야 할 정도로 피곤해지고, 주말에는 하루 정도는 푹 쉬어야만 회복이 된다. 감기도 예전에는 하루 만에 나았는데, 이제는 며칠씩 앓는 경우가 잦아졌다. 이런 경험을 통해 건강의 중요성을 더욱 실감하고 있다.

원래도 건강을 중요하게 여겼지만, 이제는 더욱 신경을 쓰게 된다. 운동은 꾸준히 하고, 설탕이 들어간 음료나 음식을 줄이려고 노력 중이다. 음식도 최대한 덜 짜게 먹으려고 신경 쓰고 있다. 충분한 수면 역시 중요하게 생각해, 하루 7시간 이상 자려고 노력한다. 잠을 줄여 더 많은 일을 해내는 사람들은 정말 대단하지만, 이제는 내 몸을 위해 충분히 자는 게 우선이라고 느낀다.

이제는 음식, 운동, 수면 등 모든 면에서 더욱 철저히 관리해야 하는 나이가 된 것 같다.


가족과 시간

가족은 인생에서 가장 중요한 부분 중 하나라고 생각한다. 지금까지 열심히 살아온 이유 중 큰 부분도 현재의 가족, 그리고 앞으로 만날 가족을 위해서였다. 이 각박하고 삭막한 사회 속에서, 결국 마지막으로 기댈 수 있는 존재는 가족인 것 같다. 가장 편안하게 내 모습을 보여줄 수 있는 가족이 작년에 새로 생겼고, 덕분에 내 삶의 책임감도 크게 늘었다. 앞으로는 더 큰 책임이 다가올 일도 있지만, 그 역할을 잘 해낼 수 있을지에 대한 걱정도 있다. 앞으로 책임이 더 커지는데 잘 해내면 좋겠다.

그런데도, 지금보다 더 가족을 잘 챙기고, 더 열심히 살아가며 그들에게 도움과 보살핌을 주고 싶다. 가족이 나의 삶에서 가장 중요한 이유이고, 앞으로도 그럴 것이다.


내 일상

올해의 일상

올해도 바쁜 일상이 이어졌다. 매일 아침 일찍 일어나 출근 전에 운동을 다녀오고, 회사에서 하루를 보낸 후에는 집으로 돌아오거나 약속에 참석했다. 집에 돌아온 날은 집안일을 끝내고 나서 개인 공부를 하곤 했고, 약속이 있었던 날은 집에 와서 바로 잘 준비를 했다. 주말에는 이상하게도 매주 밖에 나갈 일이 있어 거의 매번 외출했던 것 같다.

이렇게 정리해 보니, 참 열심히 살았던 한 해였다. 다만, 체력이 점점 약해지는 걸 느꼈다. 앞으로는 체력을 고려해 운동이나 개인 시간을 줄이더라도 수면을 더 늘려야 할 것 같다. 잠을 줄여 더 많은 일을 하려는 사람들도 있지만, 충분한 수면이야말로 건강의 핵심이라는 건 이미 많은 연구로 증명된 사실이다. 영양제도 중요하지만, 수면보다 중요한 건 없다.

주말에는 주로 약속을 다니거나 가고 싶은 곳에 갔고, 한 달에 한 번 이상은 본가에도 다녀왔다. 올해는 연차를 이 글을 쓰는 시점 단 3일만 사용했고, 특별히 여행을 가지 않았다. 여행을 가지 않았던 게 조금 아쉽기는 하지만, 내년에는 꼭 떠날 계획이다.

돌아보면 하루하루를 정말 열심히 살았던 것 같다. 하루가 짧게 느껴졌는데, 앞으로는 시간이 더 빨리 흘러갈 것 같아 살짝 걱정된다.

올해를 돌아보며 느낀 건 첫째도, 둘째도 건강이라는 점이다. 앞으로도 지금처럼 열심히 살아가겠지만, 건강을 최우선으로 챙기려 한다.

후회와 아쉬움도 있지만, 다시 돌이켜봐도 스스로 열심히 살았다고 생각한다.


감정

올해는 내 감정과 성격에 많은 변화가 있던 해였다. MBTI는 ESFJ에서 ISFJ로 바뀌었고, 30대를 넘어서면서 성격도 더 차분해지고 혼자 시간을 보내며 에너지를 충전하는 스타일로 변했다.

올해 들어서 많이 느낀 감정인데 생각이 많아지고 머리가 복잡했다. 시간이 가고 나이가 들어감 그리고 뭔가 전성기?가 아닌 이제 가장으로 사는 삶이 강해진? 그런 여러 생각들이 많이 들었다. 그래서 간혹 혼자 걷기도 하고 혼자 멍하게 있기도 하고 그랬었다. 지금 이 문단을 작성할 때도 보면 정리된 생각이 아니고 감정을 표현하기도 어려운 거 보면 꽤 복잡한 심경인 거 같다. 사실 정확히 어떤 거 때문이라고 결론을 내리지는 못했으나 좀 진지하고 다운된 기분을 느낄 때가 있었던 거 같다.

어디서 대화하거나 그래야 할 정도는 아니고 그냥 나이를 먹어가면서 감정을 많이 타는 거 같다. 여전히 복잡하고 그렇다. 이제 가장이라 그런가? 내가?

아무 생각 없이 쉽게 생각하는 성격이면 좋겠다. 어려서부터 매사에 진지하고 걱정을 사서 하는 성격이라 이런 지금의 상황이 있는 게 아닌가 싶다.

가끔은 굳이 이렇게 지금까지 아등바등 살았던 것처럼 그렇게 살 필요가 있었나 하는 생각이 든다. 이렇게 열심히 살아서 지금의 나와 내 주변 모든 게 있는 거지만 굳이 그렇게 치열하게 살아야 했는지 하는 생각이 든다. 특별히 잘난 게 없어서 열심히 사는 거 말고는 다른 선택권이 없긴 했지만 그걸 알아서 열심히 살았지만 그게 맞았던 걸까? 그리고 앞으로도 맞는지에 대한 생각을 하게 되었다.

열심히 사는 것도 문제인데 이제는 운 그리고 선택이 진짜 중요하다는 걸 느낀다. 원래 인생이라는 게 태어날 때부터 운이 중요하고 살면서 뭘 선택하느냐에 따라 인생의 방향이 달라지긴 하는데 나는 그동안의 선택은 잘했던 건지 그리고 앞으로는 잘할 수 있을지와 같은 되돌아봄과 걱정이 드문드문 들었다. 앞으로의 선택은 되돌리기 점점 더 어려워질 거고 많아질 거고 운의 영향도 커질 거 같다. 아 오해가 있을 수 있지만 모든 게 운인 건 아니고 선택했다고 완전 잘되거나 완전히 망한다는 건 아니다. 선택과 운의 중요성을 말한 거였다. 지금까지의 선택들이 괜찮은 선택이었길 바라고 앞으로도 그러길 빈다.

회의적으로 보일 수 있으나 이제 “책임감과 의무만 있다.”라고 생각하라고 하시는 분들이 계시는데 어찌 보면 그게 답일 수도 있을 거 같다고 생각한다.

약간 우울증, 불안감, 걱정, 후회 이런 부분들이 올해 생긴 거 같다. 원래도 있었지만, 변화하는 삶에 앞서서 감정들이 더 가중된 거 같다.

항상 그랬듯 엄청 바쁘고 피곤해지면 이런 생각도 없어지겠거니 하면서 살면 된다.

부정적인 내용들을 주로 적었지만, 올해를 보내면서 뿌듯함도 있었고, 과거를 되돌아보고 스스로 시간을 가지면서 좀 차분해졌고, 새로 찾아올 가족 구성원에 대한 설렘과 기대도 있다.


노력과 타고남

항상 내가 가진 것들에 감사하며 살고 있다. 건강하고 사랑하는 가족이 있다는 사실만으로도 아주 행복하다. 그런데 욕심이 많다. 나는 잘 나가고 싶고, 잘하고 싶다. 내 단점과 콤플렉스를 극복하고 싶어 했다. 하지만 솔직히 머리가 특별히 좋다고는 할 수 없었다. 그런 나에게는 더 큰 노력이 필요했다. 고등학교 시절에는 쉬는 시간이나 이동 시간에도 공부했고, 학교와 학원에서는 늘 적극적으로 수업에 참여했다. 친구들 사이에서는 “저 친구는 왜 그렇게 공부를 열심히 해?”라는 이야기를 들었다. 왜 그랬을까? 잘하는 친구들과 어깨를 나란히 하려면 그만큼 열심히 해야 했기 때문이다. 그렇게 노력했기에 성적이 올랐고, 잘하는 친구들과 비슷한 성적을 유지할 수 있었다. 대학 진학 후에도, 회사에 입사한 후에도 나는 그렇게 살아왔다. 물론 고등학교 시절만큼은 아니었지만, 여전히 최선을 다해왔다.

가끔 그런 생각을 한다. “이렇게 노력해서 사는 게 맞는 건가? 받는 스트레스의 단점이 더 큰 거 아닌가?” 타고난 사람들은 나보다 덜한 노력으로도 더 뛰어난데 나 스스로에 맞게 살면 되는 거 아닌가? 타고난 사람들이 노력을 안 한다는 말이 아닌 내게 주어진 능력에서 그냥 편하게 사는 게 맞는가에 대한 의문이다.

단점과 콤플렉스 따위는 아무것도 아니게 보일 정도로 남들의 타고남을 넘고 싶은 욕심이 왜 생기는지는 모르겠는데 원동력이자 내 스트레스의 원인이기도 했었다. 지금까지 꾸준히 자신을 괴롭히면서도 움직이게 했는데 꽤 스트레스를 받았었고 이제는 약간 해탈한 상태가 되는 거 같다.

결국 타고난 사람들과 함께하거나 더 잘하려면 그 타고남 이상으로 노력해야 하는 건 어쩔 수 없는 부분이긴 하다. 그게 신체나 돈이나 능력이나 어떤 거든 현실이 그렇다.


요령

노력만큼 중요한 것이 방법이다. 열심히 하는 것만으로는 부족하다. 효율적이고 효과적인 방법을 찾아야 한다. 이 말은 모두가 알고 있는 사실이지만, 실제로 제대로 된 방법으로 하는지 살펴보지 않으면 그만큼 성과를 얻기 어렵다. 지금의 나도 마찬가지다. 열심히 하는 것만으로는 충분하지 않다. 방법을 점검하고, 효율적으로 노력해야 한다.


아쉽고 개선할 부분 그리고 목표

작년에 아래와 같은 부분들이 있었다.

  • 개발 시 설계와 좋은 코드의 구현
  • 선택과 집중
  • 추가적인 작품 개발
  • 지속적인 성장과 공부

올해도 관련 부분들이 아쉬운 점이 남아 있어, 더 개선할 필요가 있다. 각각에 대해서 어느 정도 목표를 달성한 거 같은데 그래도 각각이 아쉬운 부분이 있었고 이번에는 구체적인 목표를 잡아볼까 한다.


개발 시 설계와 좋은 코드의 구현

올해 시간을 내서 조금씩 UML도 공부하고 디자인 패턴도 공부했다. 그리고 회사에서 다른 분들이 만들어두신 설계 문서 같은 걸 비교적 꼼꼼히 읽었다. 설계를 잘하는 편은 아니지만, 그래도 공부하며 예제를 많이 접하면서 머릿속에 어느 정도 정리된 것 같다. 좋은 설계를 여러 개 만들지 못한 부분이 아쉽다. 설계할 기회가 부족했던 탓에 정신없이 일만 했지만, 다음에는 좋은 설계를 많이 읽고 따라 해보거나 직접 설계해 보고 싶다. UML이나 좋은 설계를 앞으로도 많이 읽고 공부하면서 실력을 키우면 될 거 같다. 공부하면서 여기 블로그에도 정리할 기회가 있다면 그렇게도 해볼 예정이다. 정략적인 목표를 잡기는 어렵지만 디자인 패턴과 UML 관련하여 블로그에 5개 정도는 작성하면 좋겠다. 설계의 경우 회사에서 맡은 업무가 있다면 해당 업무 관련해서는 구조를 다 그려보는 걸 목표로 하고 있다.

코드는 올해도 아쉬운 부분이 많다. 사실 작년과 크게 달라진 거 같지 않다. 리뷰를 받으면서 알게 모르게 조금씩 실력이 늘었겠지만 내놓고 자랑할 코드나 실력 변화를 못 느꼈다. 내년에도 아마 비슷할 것 같지만, 따로 공부하기보다는 회사에서 리뷰를 꾸준히 하고, 매달 올라오는 좋은 코드 사례들을 더 열심히 공부해야겠다.


선택과 집중

인생을 살면서 정말 중요한 부분인 거 같다. 이걸 잘하면 누구나 다 성공할 수 있을 정도로 중요한 부분 같다. 이 부분의 결론은 작년에 적은 대로다. “우선순위를 정하고, 정한 일에 확실히 집중해서 빠르게 처리하자.”라고 작년에 적었는데, 사실 이게 정답이지만, 실천하기는 정말 어렵다. (누구나 아는 사실이죠?) 사실, 이게 정말 방법이 있을까 싶은 생각도 든다. 그냥 지금처럼 해야 할 일을 적어두고 시간을 대략 계산해서 그 시간 안에 최대한 해결하려고 하고, 만약 못하면 뒤로 미루고 다음 일을 처리하는 방식이었다. 그런데 이 방법은 현실적이지만, 중간에 갑작스럽게 인터럽트가 자주 발생하면 생각보다 쉽지 않다… 다음에는 시간 여유를 충분히 둬서 일을 계획해야 할 거 같다. 계획을 만들 때 최대한 보수적으로 만들고 반드시 하루 또는 이틀의 여유를 둘 생각이다. 그리고 동시에 2가지 일을 하지 않을 것이며 하더라도 최대 2개의 일만 하는 방향으로 계획을 잡았다.

인생에서 선택과 집중만 잘해도 정말 성공할 수 있을 만큼 중요한 것 같다.


추가적인 작품 개발

원래 게임 하나를 출시하는 것이 목표였는데, 어느덧 1년이 금방 지나갔다. 올해는 정말 정신이 없어서 할 틈이 나지 않았다. 디자인을 공부하고 게임 개발을 하려고 했고, 책도 샀지만 인터넷 강의만 듣고 이후 작업은 못 했다. 일러스트레이터를 다루는 작업도 직접 따라 하는 것만 해도 30분 이상 걸렸다. 틈이 날 때마다 했는데 강의 하나만 완료하고 책은 도입부만 봤다. 실질적으로 당장 그릴 수는 없는 상태로… 계획은 실패인 거 같다. 작품은 나오지 않았고 디자인 툴 다루는 실력은 정말 아주 조금 늘었다.

내년에도, 이 목표를 유지해야 할지 고민된다. 원하는 게임을 만들려면 디자인 공부가 필요하고, 원하는 리소스를 만들 수 있어야 하는데, 퇴근 후와 주말에 시간을 내기에는 한계가 있다. 내가 원하는 수준까지 디자인 실력을 끌어올리는데, 어느 정도의 시간 투자가 필요한지 가늠이 안 되니까 목표를 잡기가 어렵다.

그래서 굳이 타협해서 한다면, 유료 리소스를 구매해 게임만 만들거나, 디자인 하나에 집중해야 할 것 같다. 아직 확실하게 어떻게 할지는 고민이지만 새해에는 확실하게 지금보다 훨씬 시간이 없을 예정이기에 계획을 대폭 축소해야 할 거 같다.

블로그는 꾸준하게 쓸 예정이다. 이 외에 다른 욕심은 이제 없다. 사실 생각과 욕심은 있지만 현실적으로는 보류해야 할 거 같다.


지속적인 성장과 공부

지금처럼 회사에서 업무를 하면서 궁금한 부분이 생기면 추가로 찾아보고, 블로그에도 정리하고, 공부하고 싶은 부분이 있으면 그때그때 공부할 예정이다. 특별한 계획보다는 앞서 언급한 대로 지금까지 해왔던 방식을 계속 이어 나갈 생각이다.


작년에도 언급했고 올해도 다시 나오니, 아마 이 부분들이 정말 중요한 것 아닐까 싶다. 어느 정도 개선되었고, 앞으로도 계속 개선할 예정이지만, 다시 언급된다는 건 그만큼 중요하다는 뜻이겠지? 작년에 쓴 글이지만, 잘 고른 내용인 것 같다.

위의 부분들은 회사 및 업무와 관련된 내용이라 추가로 한 가지 더 적어보겠다.


가족과 업무의 시간 분배

나이가 들면서 가족의 중요성을 많이 느꼈고, 가족과 더 많은 시간을 보내고 싶어졌다. 예전에는 회사 임원이 되어 국위선양을 하고 나라를 위해 일하는 것이 큰 목표였으나, 가족이 없다면 그런 목표가 아무 의미 없다는 걸 깨닫고 생각이 완전히 바뀌었다. 이전 회고에서도 썼었지만, 내 동생이자 우리 강아지인 보보에게 미안한 마음이 들고, 부모님과 더 많은 시간을 보냈어야 했다는 후회가 있다. 회사에 시간을 덜 투자하면 승진의 기회가 자연스럽게 낮아지겠지만, 그런데도 회사에만 내 인생을 쓰고 싶지는 않다. 충분한 시간을 내서 가족과 가까운 사람들, 그리고 혼자만의 시간도 반드시 가지는 것이 앞으로의 새로운 목표가 되었다.


인생에 관하여

목표와 방향?

작년에 작성한 글을 읽어보니 이번에는 달라진 부분도 있고 그대로인 부분도 있다. 또 새로운 내용도 추가된 것 같다. 2년 전에 썼던 내용 중 그대로인 부분은 여전히 유효한 것 같아 아래에 다시 가져와 봤다.

어렸을 때 32살이면 많은 걸 이룰 줄 알았는데 어디까지 왔는지 잘 왔는지 모르겠다. 어렸을 때 그리고 자라면서 많은 목표가 있었던 거 같다. 위인전을 많이 읽어서 그런가 힘들게 버티고 발전해 온 우리나라를 지키고 발전시키고 싶기도 했고 착한 분들이 나쁜 놈들한테 피해 보는 걸 보면서 “어떻게 하면 저런 사람들이 세상에 없을 수 있을까?”와 같은 생각을 했고 어려운 사람들을 보면 돕고 싶기도 했고 세상에 기여하고 싶기도 했다. 아 물론! 지금도 동일하다. 나중에 아주 많은 시간 후에 내가 죽기 전에 내 삶이 “괜찮았다.”라고 생각하면서 앞선 목표 중 하나라도 이룬 모습을 가끔 꿈꾼다. 사람의 손길이 비교적 적은 동물들도 돕고 싶다.

앞선 목표들도 중요하지만 내 삶에서 가장 중요한 건 내 행복이다. 내 행복의 많은 부분은 가족과 사람들이라고 이전에도 적었었다. 앞선 어떤 목표들보다도 내 가족이 중요하다. 내 삶에만 집중하고 성공만을 바라보면서 열심히 살다가 강아지 동생을 못 챙겼던 부분이 있었고 가족과 더 많은 시간을 보냈었으면 하는 후회가 있다. 그 이후부터는 가족을 중요시하고 가족과 1분이라도 더 많이 보내려고 노력한다. 남은 시간이라도 내 가족을 잘 챙기고 더 많은 시간을 보내고 싶다. 어떤 일도 나와 내 가족보다 우선시될 수 없는 거 같다.

다시 읽어보니, 생각이 크게 바뀐 건 없는 것 같다. 여전히 예전과 같은 방식으로 살고 있는 것 같고, 어쩌면 한결같은 삶을 살고 있는지도 모르겠다. 이제 내 가족이 늘어나면서 책임감도 더 커진 것 같다.

나이가 들면서 체력이 약해지고 하루하루가 점점 더 짧게 느껴진다. 바쁘게 지내는 것도 실감한다. 작년만 해도 퇴근 후 1시간 정도는 공부하거나, 놀거나, 내 시간을 가졌었는데, 이제는 바로 잠을 자고 싶어졌다. 체력이 나이 들어가며 약해지는 것인지 책임은 늘어나고 욕심과 목표는 그대로인데 그걸 실천할 에너지가 점점 부족해지는 게 느껴진다. 사실 답은 이미 정해져 있는 것 같다. 몸이 힘들면, 정말 철저히 계획을 세워 실천하는 방법 외에는 없다. 물론 욕심과 목표를 조금 내려놓는 방법도 있겠지만 그걸 고민하고 올해를 보내면서 많은 생각을 했다. 지금까지 세운 목표 중 몇 가지는 이루었고 몇 가지는 이루지 못했다. 앞으로는 과연 그 목표들을 이룰 수 있을까 하는 걱정도 든다.

목표하던 학교와 회사에 입사하고, 버킷리스트 중 몇 가지는 이루었지만, 여전히 못 이룬 목표들도 있었다. 예를 들어, 예전에 살던 집을 내 명의로 구매하기, 그리고 돈을 많이 벌기 같은 목표는 아직 이루지 못했다. 그 이유가 목표가 구체적이지 않아서일까? 아니면 목표가 너무 높아서일까? 이제는 이러한 목표들을 다시 한번 정리하고, 필요하다면 포기할 것은 포기하며, 구체적이고 실현 가능한 계획을 세워야 할 때인 것 같다. 그렇지 않으면, 여전히 이루지 못한 목표가 계속 꿈으로만 남을 것 같다. 올해를 보내면서 느낀 위기감은, 내가 꿈꾸던 목표들이 이제는 그저 허황된 꿈으로만 남을 것 같은 느낌이었다.

이제는 허황된 꿈들을 정리하고 더 구체적이고 현실적인 목표를 세워야 한다고 느낀다.

작년 글을 읽어보니 그때는 머릿속이 꽃밭 같았던 것 같다. 희망이 가득한 아이였던 것 같다. 그 글을 그대로 가져와 봤다.

올해는 가족이 생겼고 그렇게 같이 지내고 있다. 가족과 내 사람들을 잘 챙기는 게 목표였는데 그걸 잘하고 있는지는 잘 모르겠다… 정말 정신이 없는 거 같다. 앞으로는 더 정신이 없을 텐데 걱정이 이만저만이 아니다. 하고 싶은 것들도 여전히 많다. 앞선 공부들과 목표를 포함해 주식, 여행, 운동, 영상 제작, 글쓰기, 독서, 취미, 게임, 봉사 그리고 사람 만나기 등등 하고 싶은 게 많다.

그래도 다~ 할 수 있을 거라 믿는다. 다들 그렇게 잘 살고 있으니까! 새해에는 가족도 나도 내가 챙기고 싶은 모든 걸 다 더 잘 챙겨야겠다. 선택과 집중을 잘하면 된다.

그리고 아무리 어렵고 걱정이 많더라도 이제는 해야 한다고 생각한다. 그리고 지금까지 해온 걸 보면 충분히 할 수 있다.

1년이 지나 돌아보니, 욕심은 많았고 노력도 충분히 했지만, 완료한 것은 별로 없었다. 그렇다고 기분이 나쁘거나 그런 건 아니다. 다시 생각해 보니, 목표가 구체적이지 않았고, 욕심만 많았던 것 같다. 위에 나열된 “공부, 주식, 여행, 운동, 영상 제작, 글쓰기, 독서, 취미, 게임, 봉사, 사람 만나기”는 사실 내가 하고 싶은 것들이지, 목표로서 설정된 건 아니었던 것 같다. 결국 제대로 이룬 것은 없고 일부만 이룬 것 같다.

그 외에도 예전 집으로 이사 가는 것과 30살까지 얼마를 모은다는 더 큰 목표가 있었는데, 그것도 이루지 못했다.

그래서 위를 보았을 때 든 생각이 몇 가지 있다.

  • 이제 하고 싶은 게 있어도 못 할 수도 있다.
  • 목표는 구체적으로 세워야 한다.
  • 욕심을 정리해야 한다.

항상 그래왔듯이 스스로 희망에 차 있고 많은 욕심과 꿈을 가지는 것은 좋지만, 제대로 하려면 그중에서 우선순위가 높은 몇 가지를 고르고, 그것들을 더 구체적으로 해야 할 것 같다. 이제까지처럼 내년에도 하고 싶은 것을 나열하고 혼자서 화이팅을 외치며 해보겠다! 하는 건 이제 의미가 없을 것 같아서, 계획을 좀 수정해야 할 것 같다.

조금 더 생각해 볼 거지만 넓은 범위에서 가장 중요한 3가지만 골라봤다.

  • 가족
  • 건강

이제는 가장이자 가족이 있기 때문에 가족 관련 일을 가장 우선시하고 챙길 예정이다. 실제로 올해부터 어떤 결정을 하거나 행동할 때 판단의 기준이 가족이 되었다. 또한 건강이 정말 중요한 요소인 것 같아서 어떤 일을 할 때 가장 먼저 고려하고 철저하게 관리해야 할 것 같다. 그리고 인생에서 가장 중요한 것은 아니지만 돈을 벌어야 하기에 일을 우선순위에 넣었다.

위의 내용을 중심으로 생활을 해보려 한다.

나머지 부분들을 아래에 조금 정리해 보겠다.

운동은 매일 아침 하고 있는데 주 5일에서 주 4일로 변경하고 하루는 잠을 좀 더 자는 방향으로 해보려 한다. 노화에 수면이 가장 중요하다고 영상을 통해 봤다.

영어 공부는 회사에서 영어 문서를 읽고, 출근할 때 영어 회화를 듣는 정도로 하고 있다. 우선 그 정도만 해보려 한다.

주식의 경우, 아직 방법을 잘 모르겠다. 대응이 중요하다는 것은 느꼈고, 기본적인 지식은 공부했지만 어떻게 계획을 세우고 실천해야 잘할 수 있을지 모르겠다. 그래서 추가적인 목표를 세우지 않고, 시장에 맞춰 적절히 대응하는 것이 목표다. 매달 급여에서 일정 부분 투자할 목적으로 빼두는데 정해둔 비율로 잘 나눠 투자해 볼 계획이다. 구체적인 부분은 여기는 개발 블로그니 패스.

여행은 갈 예정이다!

영상 제작의 경우 프리미어를 공부하는 것이 목표였다. 그런데 회사에서 진행 중인 크리에이터 활동을 계속할 수 있다면 지금처럼 출연하는 방향으로 하려 한다. 스트레스도 많이 풀 수 있고, 과거 버킷리스트도 이룰 수 있어서 계속할 예정이며, 일정도 타이트하지 않아서 괜찮다.

마지막으로, 게임이 문제다. 만들고 싶은 마음은 굴뚝 같지만, 디자인 요소를 어떻게 해야 할지 모르겠다. 하나하나 직접 배우고 그리기에는 턱없이 부족하다. 그래서 지금은 투자할 시간에 다른 일을 할 게 많아 목표로 잡지 않기로 했다. 아쉽고 머릿속에서 계속 스토리와 연출이 떠오르지만 일단 다른 중요한 일들을 먼저 마친 후에 그때 방법을 생각해 보려 한다. 매번 강의를 듣기만 했던 것이 비효율적이었고 머리에 남은 게 거의 없다.

그래서 정리해 보면 새해에 생각해 둔 목표들은 우선 아래와 같으며 상황에 따라 바뀔 수 있다.

  • 가족과 관련된 일을 최우선
    • 회사 업무
    • DX 크리에이터 활동
  • 해외여행 1~2번
  • 주 4회 운동
  • 출근 시 영어 회화 듣기
  • 충분한 수면과 휴식
  • 블로그
  • 투자

과거를 돌아보면서, 취업하고 가정을 만드는 목표를 이뤘지만, 그 외 목표들은 이루지 못한 자신을 발견했다. 이대로라면 내가 목표한 것들은 미래에도 이루어지지 못할 것 같다는 생각이 들었다. 그래서 우선 목표와 욕심을 많이 내려놓고, 중요한 부분들을 먼저 챙기는 방향으로 가는 것이 맞다고 느꼈다.

예전에는 무조건 열심히 살고, 덜 자고 부지런하면 된다고 생각했지만, 요즘에는 그게 정답이 아니라는 걸 깨달았다. 물론 누군가에게는 그 방식이 맞을 수 있지만, 자신에게 맞게 요령 있게 살아가는 것이 중요하다. 실제로 그렇게 하다가 몸과 마음이 약해지는 경우를 많이 봤고, 나도 겪어봤다.

많은 목표를 세우고 자신감 있게 열심히 사는 것도 좋지만, 이번에는 현실적인 목표를 구체적으로 잡고, 그것을 우선순위에 두고 살아볼 예정이다. 대신 목표를 줄인 만큼, 확실하게 이루는 것이 목표다.

좋은 학군지로 이사도 가고, 가족을 더 잘 보살피려면 돈이 더 많이 필요하다. 그 목표만으로는 부족하지만 우선 환경이 많이 바뀌었기 때문에 현실적인 목표를 설정하는 것이 맞다고 생각한다.

그리고 두 번 다시 후회하지 않도록 가족에게 신경 쓰는 것을 가장 최우선으로 할 예정이다.


마무리

이제는 개인적인 일보다는 가족을 위해 시간을 더 많이 쓰려고 한다. 그래서 블로그를 자주 못 쓸 것 같아 올해 회고는 의식의 흐름대로 주저리주저리 적어보았다. 원래 이 블로그는 내 기술과 전공에 관한 내용을 중심으로 작성했기에 사적인 인생이나 개인적인 내용은 최대한 적지 않으려 했지만 이제 중요한 시점을 맞이한 것 같아 머릿속의 여러 감정과 생각들 그리고 미래를 생각해 보자는 마음에서 길게 적어봤다. 사실 머릿속에 너무 많은 생각들이 있어서 다 정리하지는 못한 것 같다. 다 적었으면 아마… 블로그가 아니라 의식의 흐름으로 쓴 난장판 글이 되었을 것 같다.

그래도 여전히 블로그는 최대한 시간을 내어 작성할 예정이다.

앞으로도 지금처럼 겸손하고 성실하게 최선을 다해 살 예정이다. 다음에는 이렇게 회고를 쓸 시간도 여유도 없을 것 같아, 거의 마지막 회고(?)가 될 것 같지만 그래도 기존처럼 꾸준하게 글은 써보겠다. 길게 쓴 만큼 어지럽고 복잡했던 감정과 생각이 조금은 정리되었으면 하는 바람이다.

지금까지 해왔던 것처럼 꾸준하게 열심히 살자. 감사한 마음과 겸손한 마음으로 열심히!

Update(2024.12.19): Add “Performance and Evaluation at Work” content

Retrospective of this year


This year, as always, I plan to write a reflection. My writings tend to get quite long, so I’ve decided to start early. This year also was full of ups and downs with many events and lessons learned.


Background

I’m writing this to reflect this year, let go of what needs to be left behind, and think about how I can live a better life. Below is a list of the reflections I’ve written so far.

I plan to write about whether I achieved my goals, how this year went, and my thoughts on future plans and life.


Did I achieve goals?

Just like last time, I was curious whether I achieved the goals I outlined in last year’s reflection. So I brought up the goals I had written down last year.


Make design and code well

It’s a goal I failed to achieve right from the start. When writing last year’s reflection, I planned to put a lot of thought into design and carefully consider my code whenever I worked on development. However these goals were not achieved.

Most of the code I wrote at work was focused on completing tasks quickly, and even the studies I did at home were often disrupted by overlapping responsibilities which give me no time to take deep thought. Of course, this could be limit of my abilities, but looking at the results, it seems I didn’t achieve this goal properly.

I studied UML a bit as part of learning about design, but I never applied it in practice. Looking back, even when organizing documents or handling my tasks at work, I didn’t create or attempt to draw up any good design. Of course, I created designs and diagrams for presentations for sharing to colleagues or organizing my personal tasks. Those things were not satisfied. While I wanted to share them, I doubted whether those were done well. That uncertainty is the reason of my dissatisfaction.

To conclude, if someone asked whether there was good design and good code during development, I would answer, “It was lacking!”. Even outside of the company in my personal work as well it’s hard to find good design and good code.


Choice and Focus

Everyone knows that it’s important to make choices and focus, to prioritize tasks, and to do the most important ones step by step. However I’m not sure if I did this well this time. The first challenge was making choices. At work, there were frequent interruptions and constant changes in tasks, which made it hard to focus on one thing. Even after leaving the office, I had trouble focusing on important tasks due to the mental chaos from work. When I got home, household chores and other tasks naturally took priority, pushing other tasks to the back burner. As a result, I think I ended up accomplishing fewer of the things I had planned.

Focus and prioritization are among the key elements of success in life, but those are always difficult.


Additional Project Development

To be honest, I didn’t achieve this either. I tried to do personal studies, stock trading, exercise, and development all at once, so I couldn’t complete the game I had planned. I took online design courses, practiced using Illustrator, and even bought books to study pixel art. However, time was extremely limited. Since the project required more design resources than development, I focused on studying related areas. Although I invested quite a bit of time, it only left me feeling exhausted, and in the end, I still can’t draw or create resources on my own.

Still, I made an effort to consistently write on my blog, and I think I managed to write more than I expected. While I didn’t set a specific number of posts to write, I ended up averaging about one post per month. I didn’t just organize what I studied but also wrote about my personal experiences, so I view my blogging activity positively. I plan to continue this activity next year as well. I’ll stick to the same approach writing comfortably whenever I have time, without setting a specific number of posts.


Continuous Growth and Learning

This is also a bit tricky to answer clearly. “Have I achieved continuous growth?” The answer is undoubtedly “Yes.” The reason is that I’ve learned a lot while facing challenges at work and gaining knowledge from my colleagues. And if the question is, “Have I continued learning?” the answer is likewise “Yes.” In addition to work, I’ve also done some study here and there on my own.

However, if I ask myself, “Did I study as much as I aimed to?” the answer would be “No.” My goal was to study enough to freely create game design resources, but I only managed to follow a few tutorials. I wanted to understand the concepts and principles necessary for server development while studying Spring, but I only focused on the tasks I worked on at my company. As for UML, I barely studied it at all. Aside from that, I studied to resolve my curiosity and learned bits and pieces here and there.

While I achieved continuous growth and studied consistently, I fell short of my goals, and that’s something I regret.

Looking back, some of my goals were overly ambitious, but it also seems that I lacked clear and specific objectives. I realize now that I should have evaluated whether my goals were concrete and realistically achievable.


How Was This Year?

This year, I had countless thoughts and experiences that left a deep impression on me. I had planned to write about them daily in a journal, but I simply didn’t have enough time. For now, I’ll write down the parts I can remember.

The company is just a part of my life, and since my life is what truly matters, I’ll write about the important aspects of my life later.


Various Things I Felt at Work

I really had a lot of realizations. Some were related to development, while others were more about life in general.

Here are some thoughts I had while working and developing. I’ll start by listing the things I noted down regularly.

  • The importance of generalization and standardization.
  • Traces must be left somewhere.
  • Technology is not everything.
  • Resources cannot be completely trusted.
  • What you worry about can happen someday.
  • Distinguishing between DEV, STG, and PROD is important.
  • Test is very important.
  • Don’t trust people.
  • Even when busy, you must do what’s necessary.
  • Context switching takes a lot of time.
  • The policies of high level organizations and the circumstances at the time.
  • You need to maintain physical strength and stay mentally focused.

When I start to elaborate on the topics, each one feels like it could be an article on its own, so I will organize them separately. I’ve summarized them in [Retrospective](EN) Development Retrospective.

This year, I read again the [Retrospective](EN) The first half retrospective and the retrospective from last year [Retrospective](EN) Let’s look back.

In the company related sections from last year, I wrote about “Work relates to the entire organization”, “Work that sometimes felt skeptical” “Changes in company and uncertain future” and “Not as much as last year, but some growth” and in the first half of this year, I reviewed the period from January to June.

So, how about this year? Let’s follow the same format as last year with major headings and write the details.


Continued and New Tasks

This year, I worked on tasks similar to those of last year, with a few additional tasks. I carried out organization wide data collection and integrated various services. As I mentioned last year, I appreciate being assigned ongoing long term projects rather than just short term ones. Although some might feel a sense of monotony with long term projects, I prefer them over short term projects. However, there was a reassignment of tasks within the team. Alongside my previous tasks, I also took on some additional tasks and resumed tasks which I involved two years ago.

One of the new tasks was related to DevOps, specifically CI/CD. I applied integration test in practice and implemented CI/CD using GitHub Actions.

I had experience about CI/CD when I was student but it was easy and basice deployment. This was my first time applying it in a production setting. Using GitHub Actions, I discovered the appeal of automation.

  • Tedious tasks can be automated.
  • Quality can be assured through test, build, and deploy in clean environments.

Above things are interesting. In fact, I took that work by myself because I disliked issue occurs in my tasks evev though its not my fault. It became a learning experience to me. While there are many CI/CD and deployment tools used in the industry, it was a bit disappointing that I only worked with GitHub Actions. However, I feel I’ve made some progress through work, and I’d like to continue learning and applying more in the future. Integration test was first time to me and it was challenging. I had experience with unit test during my studies, through books, and at work, but I had no experience beyond the level of functional test. The functional tests I had done when I was a student were all of my done about tests. For the platform I’m currently working on, I made test from setting infrastructure to saving data. This was incredibly difficult, as the tests took a long time and there were many variables to account for. I struggled a lot and still struggling with it. If I get the chance, I’d like to study best practices in integration test.

In my previous tasks, I was able to fix issues without much difficulty when those arose. However task that I took on two years ago had significant changes. Although the previous developer had done a great job, I struggled in the beginning because I didn’t have an in depth understanding of the system. Even now when issues occur, I often reach out to the previous developer for help. However I learned some when resolving issues. Over the past year the program has changed significantly and keeping up with those changes requires a lot of time.

I satisfied with current tasks but it concerns me that there’s still a long way to go and so much to do. I’d like to wrap up projects neatly and focus on improving them further but the overwhelming number of work requests and scattered issues made it difficult.

The project that had been ongoing since last year was finally completed this year. It was only possible because everyone I worked with put in so much effort. The process was truly eventful, filled with challenges, learning experiences, and moments of growth. While I’m a bit disappointed that the company evaluated this project mainly based on quantitative metrics, I believe it deserves greater recognition. This project generalized numerous cases and demonstrated significant potential for further development. Ultimately, we achieved something unprecedented and opened doors to even greater possibilities. Although there’s room for further technical advancement and refinement, I’m proud of the collaborative efforts of so many individuals and organizations in accomplishing such a substantial project.

Next year, even larger tasks and bigger challenges await, and I’m worried about whether I’ll be able to continue managing this work. At times like this, it seems crucial to adopt technologies that can ensure quality, and I’d like to study those areas further. Additionally, I’m eager to take on more work related to data collection.


The Importance of Physical Strength and Rest

This year, I’ve come to realize the importance of “physical strength” more than ever. As I approach my mid-30s, I can feel my energy declining year by year. Even though I exercise daily, it feels like my physical strength just can’t keep up. This lack of energy has often left me feeling mentally drained and less efficient, not only at work but also in my personal life after hours.

While I take various supplements and try to maintain healthy habits, it seems that aging is inevitable.

This year, I learned that in order to maintain my physical strength, I need to manage my time more efficiently than ever. It’s the only way to keep up and move forward.

Maintaining physical strength requires getting enough rest. Without proper rest, it’s inevitable that your energy levels will be affected. Recently, I changed my lifestyle to go to bed earlier and increase my sleep duration, and I’ve noticed a remarkable improvement in my body and physical strength. Constantly pushing yourself isn’t always the answer; taking enough rest allows you to handle other tasks more effectively.

Health comes first!


The Importance of Professional Expertise

Professional expertise is a naturally essential in a job. Over time, I’ve come to realize just how crucial expertise is in my work. Instead of explaining this at length, I found myself frequently thinking, “I need to become someone with greater expertise this year.” Whatever the task may be, having expertise makes everything flow more smoothly in work.

Watching a recent program, I was inspired by how confident and capable people with professional expertise appeared, and how they were able to advance more strongly in their work. This motivated me to push myself further.

It’s important to stay dedicated and do well in your primary job.


Organization’s Composition, Culture and Division of Work

Until now, I have been working at a company, watching various activities and programs, and thinking a lot about the organization and culture.

The Importance of a Leader

As I spent this year, I felt the importance of a leader. Not only did I feel it at work, but I realized the importance of a leader by watching a lot of soccer games this year, and I felt a similar part in a recent TV program. I really respected and liked Admiral Yi Sun-sin since I was young, but I felt again how important the importance of a leader was by watching a movie about Admiral Yi Sun-sin recently.

When you watch soccer, you can see that the game changes from time to time depending on the tactics of the coach and the player’s ability to operate. Even in wars, I have often seen cases in which players win even when they are at a disadvantage depending on who directs the battlefield.

It is difficult to write in detail because I am afraid someone see it at work because this is an open space. However I would like to briefly write down what I felt. In the past, I thought that if I was good at it, I could change the team I belonged to. Of course, sometimes a really outstanding person changes teams and then the whole team but it’s really rare. It can be considered impossible in general situations.

I’ve been thinking since last year that the work was heavy on the team, but I wonder if it would have been less difficult if such distribution had been made better and there were more resources (people, etc.). Maintenance work is not considered important maybe because it’s the manufacturing industry. Of course, maintenance and repair can be considered a basic part of work, but in the case of software, it is often more difficult to manage after released. It seems like we belong to that case.

My words got a little longer, but I can’t write in detail, but what I felt this year is that the role of a leader is very important. I think a good leader is a person who understands the work accurately, understands people’s abilities as much as possible, distributes the work appropriately, and coordinates between superiors and team members well enough.

The Importance of Personal Ability

It is so natural that there is no need to say it in a long time. No matter how good the leader’s plan and direction are, it is difficult to expect good results if individual abilities are insufficient. Even if you enter a good team and learn a lot, you must have sufficient personal skills.

It is the basis of life that an individual always tries hard.

The Importance of Culture

As many blogs and media have already emphasized, there seems to be no need to talk about the importance of culture at length. Culture includes a variety of elements. I once again realized how important various cultures are to the success of an organization, such as a culture that tolerates failure, a culture that shares knowledge, and a culture that focuses on teams rather than individuals.

In particular, in a vertical structure, when the authority of the upper class is too dominant, the opinion raised below may be revised or not delivered properly. Conversely, there are often situations in which the instructions from above must be executed even though it is hard to do. Of course, I know that great efforts are being made to solve these problems but it seems difficult for large organizations to completely solve these problems.

At times like this, I realized how important the role of leaders is in each position.

If I use a specific example, I think I will get a conact from somewhere, so I wrote it somewhat vaguely. Through my experience from last year to this year, I could feel the importance of leaders, individuals, and cultures.


Performance and Evaluation at Work

The company’s performance evaluation for this year has been announced. I had prepared myself to some extent but seeing it firsthand was not particularly pleasant. I worked hard this year, yet there were times when my evaluation was better despite putting in less effort. Of course, effort and evaluation can be entirely separate matters. Sometimes, things go smoothly due to luck, leading to a good evaluation, while taking on challenging tasks might not yield favorable results. Moreover, there are people who excel even when dealing with difficult assignments.

However, this time, I was not one of those who successfully managed challenging tasks. The tasks themselves were difficult, and some were delayed. Looking back, I find myself thinking, “If it was going to turn out like this, I should have taken it easier.” or “I should have moved to a more comfortable team.” I usually console myself with the learning and growth that come from the process, even if the results are disappointing. However, this time, the results and what I gained from the work were not significant compared to the effort I put in. It makes me wonder if I should have followed the advice to work in a less demanding environment.

I used to accept evaluations with composure. But recently, my values have started to change. If completing tasks is all that matters in a company, wouldn’t it be better to achieve more in a relatively easier environment? That thought has been crossing my mind lately. In the past, I preferred challenging tasks and favored high-profile, popular projects, even if they were difficult. However, after two years of struggles, my perspective has shifted somewhat.

I’ve always viewed performance and evaluations objectively. Now, I feel the need to take the same objective approach toward my life and myself, making choices based on clear judgment. This year’s evaluation has been a catalyst for me to think in a new direction.


Personal Work and Self Development

Now it’s time to finally tell my personal story. In addition to what I wrote in my retrospective in the first half of this year, this time I added a little bit of retrospectives related to my daily life.


Blog

I didn’t write as much this year, but I’m satisfied that I maintained a consistent writing habit. Unlike last year, I set lower goals this time and focused solely on sustaining the habit of writing, which I successfully achieved. However, I do feel a bit regretful about not being able to write everything I wanted to. Still, I’m generally satisfied with what I’ve written this year.

Earlier this year, I heard from a colleague at work that my blog had been registered as an Awesome Devblog without even realizing it. The post I wrote was automatically uploaded there. I thought I should have written better if I had known this in advance. Still, I was proud to thank the person who registered my blog on Awesome Devblog.

The maximum weekly visitors reached 20,000 three years ago, but now it is maintained at around 5,000. This is satisfactory. Although the income is still low, it is surprising that it has increased compared to the past. This may be due to anchor-type advertising. Blog has become like a small energy charger to me.

I will continue to write blogs. I may have to take care of my family more next year, so I write less often, but my goal is to record even a short amount of content. If it continues until next year, I will run a blog for eight years. I feel proud and valuable to myself that I have continuously recorded contents related to my major.


Game

As expected, nothing is easy in the world. I aimed to develop a game, but this year I ended up studying illustrator, and I didn’t get a proper game release. I don’t think I lacked will, but I didn’t get any clear results even though I studied for a set amount of time every day. I will try again if I have time in future.

Ideas such as story, direction, and development are well organized in my head, but it was difficult to proceed to the next stage because the picture did not come out as I wanted. I thought about using the free resources of the Unity Asset Store but I plan to actively consider paid resources next year.

I still want to send messages, emotions, and lingering feelings to people through the game. However, other priorities are higher at the moment, so I’m trying to put this dream on hold for a while.


English

If I don’t speak English consistently, I think I keep missing it. I started listening to English conversations on my way to work earlier this year, and when there were no people around me, I spoke alone. I try to maintain my habit like this because I can’t make time separately.

If I follow English every morning, I feel my mouth relaxes little by little. On the other hand, I realize how important consistency is when I see that pronunciation becomes difficult again even after a few days off.

English is now a must, not an option. Even with the advancement of artificial intelligence and translation technology, people to people conversations are completely different. That’s why I think it’s necessary to study English consistently even if I use my time.


Major

It is the same as last year. In fact, it is positive that it is the same. I was in a satisfactory state last year, so I feel that I am maintaining a good habit this year as always. I don’t think there is a need to organize it in particular. If I have any questions anytime, anywhere, I look it up and study naturally through the various curriculum provided by the company. I wish I could maintain this state as steadily as I am now.


DX Creator

This was a new company activity that I started this year, and as mentioned in the first half of the year retrospective, it was an experience that I was able to relieve stress and gain energy. I think I achieved my goal of doing various activities at the same time by practicing presenting and standing in front of the camera. I hope I can continue this activity next year. Thanks to my activities here, I had a special experience filming with celebrities and appeared on my company’s YouTube channel. This activity also helped relieve my stress.


Excercise

It’s one of the things I’ve been working hard on consistently for several years. On the day I go to work, I usually go to exercise in the morning and do muscle and aerobic exercises at the same time. I’m satisfied with what I’ve been doing steadily this year because I’m skinny, so exercising is essential and it’s good for my health. I plan to continue next year.

However this year there were days when I exercised excessively so I had a body strain. Next year I plan to take a day off from exercise by sleeping late on weekdays at least once every two weeks. I’d like to balance consistency and health.


Health Management

It’s been a while since I’ve been in my 30s, and I can’t believe I’ll already be 33 next year. Time really flies. As I get older, I feel like I can feel the changes in my body. When I get home from work, I get tired enough to rest right away and on the weekend I need to rest well for about a day to recover. Colds used to be cured in a day but now I often suffer from them for several days. Through these experiences, I am realizing the importance of health more.

Health was originally important, but now I’m more concerned. I’m trying to exercise consistently and cut back on sugary drinks and foods. I’m also trying to eat less salty food as much as possible. Sufficient sleep is also important, I try to sleep more than 7 hours a day. People who do more by reducing sleep are amazing, but now I feel like getting enough sleep for my body is more important.

I think I’m at an age where I have to manage more thoroughly in everything, including food, exercise, and sleep.


Time with Family

I think family is one of the most important parts of life. A big part of the reason for my hard life so far was for my current family and the family I will meet in the future. In this cruel and desolate society, the last thing I can lean on is my family. Last year, a new family was created that could show me the most comfortable way, and thanks to this, my sense of responsibility in life has increased significantly. There will be greater responsibilities to come in the future, but there are also concerns about whether I can perform the role well. I hope I can do well as my responsibilities grow in the future.

Nevertheless, I’d like to take better care of my family and live harder and give them help and care. Family is and will continue to be the most important reason in my life.


My Life

Life of This Year

This year was also a busy one. I woke up early every morning, went to exercise before going to work, and after spending the day at work, I came back home or attended appointments. On the day I came home, I used to study individually after I finished my housework, and on the day I had an appointment, I came home and prepared for bed right away. On the weekends, strangely, I had to go out every week, so I think I went out almost every time.

In summary, it was a very hard year. However, I felt that my physical strength was getting weaker. In the future, even if I exercise or reduce my personal time, I need to increase my sleep more. There are people who want to do more by reducing sleep, but it is already proven by many studies that adequate sleep is the core of health. Nutrition is important, but sleep is also.

On the weekend, I usually went to an appointment or a place I wanted to go, and I went to my parents’ house more than once a month. This year I used my day off for only 3 days at the time of writing this article and I didn’t travel specifically. I have a little regret that I didn’t travel but I plan to go next year.

Looking back, I feel like I’ve lived my days really hard. The day felt short but I’m slightly worried that time will go by faster in the future.

Looking back on this year, I felt that the first and second are health. I will continue to live as hard as I do now but I will try to take care of my health first.

There are some regrets but even looking back I think I lived hard on my own.


Emotion

This year was a year of many changes in my emotions and personality. MBTI changed from ESFJ to ISFJ. As I was in my 30s and older, my personality became calmer. I changed to prefer spending time alone and recharging my energy.

I had a lot of thoughts and my head was complicated. Time passed, getting older and my young adult image is getting down. I thought a lot of things like that. So sometimes I walked alone and spaced out by myself. It’s hard to express my feelings. There were times when I felt a little serious and down.

It is just getting emotional when time goes. Still complicated. Is because I am head of my family? Am I?

I hope I have a personality that thinks easily without thinking. I think there is this current situation because I am serious about everything and buy worries from a young age.

Sometimes, I wonder if it was really necessary to live so fiercely, struggling as I have until now. While it’s true that my current self and everything around me exist because of this effort, I can’t help but question whether living so intensely was truly the right approach. I wasn’t particularly gifted, so working hard felt like the only option available to me. However I wonder its way was right.

Living hard is also a problem but now I feel that luck and choice are really important. Luck is important from birth and the direction of life changes depending on what you choose in your life. I wonder whether I made a good choices in my life. Future choices will become more and more difficult to turn around and the impact of luck will increase. I don’t mean everything is luck and choosing does not make complete success or fail. I was talking about the importance of choice and luck. I hope that the choices so far have been good choices.

It may seem skeptical but now there are people who ask me to think like “There is only responsibility and obligation”. I think that might be the answer in a way.

I think depression, anxiety, worry, and regret were created this year. I already had those before but it seems that emotions were added than before.

However as always, if I become very busy and tired those thoughts will disappear.

While I’ve mostly written about negative thoughts, this year also brought moments of pride. Reflecting on the past and taking time for myself helped me feel more grounded and calm. I’m also filled with excitement and anticipation for our new member of my family in the near future.


Effort and Natural Talent

I am always grateful for what I have. I am happy just to have a healthy and loving family. However I have a lot of greed. I’d like to do well and do well more. I wanted to overcome my weaknesses and complexes. But honestly I couldn’t say that I was particularly smart. I needed more effort. In high school, I studied during breaks and travel times and I always actively participated in classes at school and academy. I was told by my friends “Why is that friend studying so hard?” Why did I do that? It’s because I had to work that hard to stand shoulder to shoulder with friends who are good at it. Because I tried so hard, my grades improved and I was able to maintain similar grades to those who were good at it. Even after entering college and after joining the company I have lived like that. Of course it wasn’t as much as in high school but I still did my best.

Sometimes I think, “Is this the right way to live? Isn’t this what I’m under more pressure?” Talent people are better at with less effort than I am so shouldn’t I just live with what I have? It’s not to say that talent people don’t make an effort but it’s a question of whether it’s right to just live comfortably in the abilities that are given to me.

I have a desire to win others to hide my flaws and complexes. I don’t know why but it was my stress and also moving force to me. Now though I feel like I’ve reached a state of partial acceptance.

After all, it’s inevitable that I have to work harder than I am born with or to do better with people I am born with. This is the reality of your body, money, ability, or whatever it is.


The Importance of Method

As important as effort is, the method is equally crucial. Simply working hard isn’t enough. One must find efficient and effective ways to achieve goals. While this is something everyone knows, without regularly reviewing whether we’re applying the right approach, it becomes difficult to achieve meaningful results. Just working hard isn’t enough for me. I need to evaluate my methods and make sure my efforts are being applied efficiently.


Regrets, Areas for Improvement, and Goals

Last year, there were things that I wrote as follows.

  • Design and Implementation of Good Code in Development
  • Choice and Concentrate
  • Additional works and releases
  • Keep growing and studying

This year there are still some regrets about above things so further improvement is needed. It seems that I have achieved some goals for each but each one still had some regrets and this time I am going to set specific goals.


Design and Implementation of Good Code in Development

This year, I took time to study UML and design patterns little by little. And I read the design documents made by other people at work carefully. I’m still not good at it but I think my design skill is little bit improved by reading others. I have regret that I didn’t make many good designs. I was busy because I didn’t have enough opportunities to design but next time I’d like to read and copy a lot of good designs or design them by myself. If I have a chance to write it on my blog while studying I will try to do so. It is difficult to set specific goals, but I plan to write at least five blog posts about design patterns and UML. In the case of design, if there is a task assigned in my work at company, the goal is to draw the entire structure related to that task.

There are many things I have regret about this year’s code. In fact, it doesn’t seem to have changed much from last year. I probably improved my skills little by little while taking reviews but its not satisfied. I think it’ll probably be the same next year but rather than studying separately I should continue to review at work and study better examples of good codes that come up every month in company.


Choice and Concentrate

I think it’s a really important thing in life. I think it’s an important thing that anyone can do well and succeed. The conclusion of this is as I wrote last year. I wrote last year, “Let’s make priority on what I have to do and focus on what’s been decided to do.” Actually, this is the answer, but it’s really hard to put into practice. Actually, I wonder if there’s really a way. I just wrote down what I have to do as I do now, roughly calculate the time and try to solve it as much as possible within that time but if I can’t, I put it behind me and deal with the next thing. However it’s not as easy as I think if there’s a lot of sudden interrupts in the middle… Next time, I think I should have enough time to plan my work. I plan to be as conservative as possible when making a plan and make sure to have a day or two to spare. And I plan to do only one thing at the same time if possible.

I think choice and concentrate is the most key important key point in life.


Additional works and releases

I originally plan to release a game, but a year has flown so fast. This year was so hectic that I couldn’t find the time to work on it. I wanted to study design and develop a game, even bought books, but only managed to watch online lectures and couldn’t proceed further. Just following along with Illustrator tutorials took over 30 minutes each time. I worked on it whenever I had a time, but I only completed one lecture and barely read the introductory part of the book. As it stands, I’m not at a level where I can actually create anything. It feels like the plan has failed. I didn’t produce any work and my skills with design tools have improved only very little.

Now, I’m wondering if I should keep this goal for next year. To create the game I want, I need to study design and be able to produce the assets I need. But there’s a limit to how much time I can dedicate after work and on weekends. Since I have no sense of how much time investment is needed to reach the skill level I want, it’s hard to set a clear goal.

So if I were to compromise, I think I’d either need to buy paid assets and focus solely on making the game. I’m still unsure about what to do exactly, but since I know I’ll have even less time next year, I’ll likely need to drastically scale down my plans.

I will keep writing blog. Honestly I do have thoughts and ambitions about making game or others but I think I’ll have to put them on hold for now.


Keep growing and studying

As I have been doing, I plan to continue studying additional questions that come up during work, organizing them on my blog, and studying areas of interest as arise. Instead of setting a new plan, I intend to stick with this approach that has worked for me so far.


Since I mentioned things last year and those come up again this year, it seems these aspects must be truly important. Looking back at what I wrote last year, I think I made a good choice in focusing on these priorities.

While above things are related to work and my job, I’d like to add one more thing.


Time Distribution between Family and Work

As I got older, I felt a lot of the importance of family. I wanted to spend more time with my family. In the past, my big goal was to become a company executive and promote national prestige and work for my country. However I completely changed my mind when I realized that without my family, those goals meant nothing. As I wrote in my previous retrospective, I feel sorry for my brother dog Bobo, and I regret that I should have spent more time with my parents. If I invest less time in the company, my chances for promotion will naturally decrease. However I still don’t want to spend my life alone at the company. My new goal in the future is to make enough time to have time alone with my family, people close to me and others.


About Life

Objects and Direction?

When I read the post I wrote last year some have changed and some have remained the same. There are some new content need to be added. The same part of what I wrote two years ago seems to be still valid so I brought it back below.

When I was young, I thought 32 years of me would achieve many things but I cannot sure how many things I achieved. I think I had many goals when I was young and growing up. Maybe because I read a lot of great personal biography I’d like to protect and develop our country which has been struggling and developed in difficult circumstances, I’d like to help good people who suffered from bad people and I’d like to help and contribute to the world. Of course! It’s the same now. I sometimes dream of achieving any of my previous goals and thinking that my life was “OK” before I died so many times later. I’d like to help animals that receive relatively little human touch as well.

The previous goals are important but the most important thing in my life is my happiness. Most of my happiness is from my family and my people. My family is more important than any previous goal. I regret that I could not care for my brother(dog) and family because I just cared for myself and focused on my success. After that, I’m trying to spend even one more minute with my family. I’d like to take care of my family and spend more time with them. Nothing is more important than my family.

Reading it again, I don’t think I’ve changed my mind much. I still feel like I’m living the same way I used to, and maybe I’m living a consistent life. Now as my family member increases I feel more responsible for my family.

As I get older my physical strength weakens and every day feels shorter and shorter. I also feel to my body that I am busy. Last year, I studied, played, or had my time after work for about an hour. However now I’d like to go to sleep right away. Perhaps physical strength is weakening with age, responsibility increases, and greed and goals remain the same but I feel that I am losing energy to do them. In fact, the answer seems to be already decided. If I’m tired, there is no other way than to plan and implement it really thoroughly. Of course, there is a way to set down my greed and goals a little. Some of the goals I have set so far have been achieved and some have not been achieved. I am also worried about whether I will be able to achieve those goals in the future.

I joined the school and company I was aiming for, and I achieved some of my bucket list. However there were still some goals I didn’t achieve. For example, purchasing a house where I lived in past and making a lot of money have not been achieved yet. Is that because the goals are not specific? Or is it because the goals are too high? It seems that it is time to reorganize these goals once again, give up some goals and make concrete and feasible plans. Otherwise I think my unfulfilled goals will remain as only dreams. The sense of crisis I felt while spending this year was that the goals I dreamed of would now remain just empty dreams.

Now, I feel that I need to organize my dreams and set more specific goals.

When I read last year’s article, I think my head was fully filled with flowers at that time. I think I was a child full of hope. I brought the past post as it is.

This year I made a new family and we’re living together. My goal was to take good care of my family and loved ones, but I’m not sure if I’m doing that well… It feels truly hectic. Future will be difficult more but I still have many concerns. I still have many things I want to do, including previous studies and goals, as well as interests such as stocks, travel, exercise, video production, writing, reading, hobbies, game, volunteering, and meeting people, and more.

Even though I believe that I can do it. Everyone else is living so well! In the new year, I’d like to take better care of my family, myself, and everything I want to take care of.

And no matter how difficult and worrisome it may be, I now believe that it’s time to do it. Looking at what I have accomplished so far, I am confident that I can do it sufficiently.

Looking back after a year, I had a lot of goals but I didn’t complete much. That doesn’t mean I feel bad. On second thought, it seems that the goal was not specific and I only had greed. The “study, stock, travel, exercise, video production, writing, reading, hobbies, games, volunteering, meeting people” listed above are actually things I want to do but I don’t think those were set as goals. In the end nothing was achieved properly but only some of it seems to have been achieved.

Other than that I had a bigger goal of moving to my old house and earning some much money by the age of 30. However I couldn’t achieve it either.

I had a few thoughts.

  • Even if there is something that I’d like to do, I may not be able to do it.
  • Goals should be set specifically.
  • I have to clean up my greed.

As always it’s good to be hopeful and have a lot of greed and dreams on my own but to do it properly, I think I need to choose a few of them with high priority and plan them more specifically. I think it’s no longer meaningful to list what I want to do next year and shout “I can do it” by myself so I think I need to revise my plans.

I’ll think about it a little more. I’ve only picked three of the most important things in a wide range.

  • Family
  • Health
  • Work

Now that I am a head of family and have a family, I will prioritize and take care of family related things first. In fact, from this year, the criteria for judgment has become a family when making a decision or doing something. Also health seems to be a really important factor so I think I should consider it first when doing something and take care of it thoroughly. And although it is not the most important thing in life I put work on the priority list because I have to make money.

I will try to live my life as listed above.

I’ll sort out the rest of things.

I exercise every morning but I’m going to change it from 5 days a week to 4 days a week and try to sleep more one day. I saw through a video that sleep is the most important thing in aging.

I only read english documents at work and listen to english conversations on my way to work. I will try to do that as same as now.

About stocks I still don’t know how. I’ve learned basic knowledge and felt that response to stock market is important but I don’t know how to plan and do it well. So my goal is to respond appropriately to the market without setting additional goals. I’m going to subtract a certain portion of my monthly salary and plan to invest well at the set rate. This is a development blog so pass about deatil.

I’m going to go on a trip!

In the case of video making, my goal was to study the Premier Pro. However if I can continue my ongoing creator activities at the company I will try to appear as I do now. I can relieve a lot of stress and achieve my past bucket list. So I will continue to do it.

Finally the problem is the game. I’d like to make game but I don’t know what and how to do with the design elements. It’s not enough to learn and draw one by one. So I decided not to set a goal because I have a lot of other things to do. It’s a bit sad, and the story and concept of game keep coming to mind but I’m going to think about it after I finish other important things first. It was inefficient to just listen to the lecture every time and there’s very little left in my head.

So in summary, the goals I have in mind for the new year are as follows first. It can be changed depending on the situation.

  • Family related work first
  • Work
    • Company
    • DX Creator
  • One or two overseas trips
  • Exercise four times a week
  • Listening to english conversation on the way to work
  • A good night’s sleep and rest
  • Blog
  • Investment

Looking back the past, I found myself achieving my goals of getting a job and creating a family. However not achieving other goals. At this rate, I felt that my goals would not be achieved in the future. So I felt that it was right to first put down a lot of goals and greed and take care of important things first.

In the past I thought that I just had to live hard, sleep less and be diligent was good. However these days, I realized that’s not the answer. Of course, it may be right for someone, but it’s important to live a tactful life that suits me. In fact, I’ve seen many cases where my body and mind weaken while doing so, and I’ve experienced it this year.

It is good to set many goals and live hard with confidence but this time I plan to set realistic goals specifically and live with them as a priority. Instead, as much as I reduce my goals, I should achieve my goals.

I need more money to move to a good school district and take better care of my family. Those goals cannot fullfill me but I think it is right to set realistic goals first because the environment has changed a lot.

And so that I don’t regret it again, I’m going to put caring about my family first.


Conclusion

Now I try to spend more time for my family than for personal things. That’s why I don’t think I can write blogs often so I wrote down this year’s retrospectives hesitantly according to the flow of consciousness. This blog is focused on my skills and majors so I tried not to write down personal life or personal content as much as possible. However now I think I’m at an important point so I wrote it down for a long time with the intention of thinking about the various emotions and thoughts in my head. In fact, I have so many thoughts in my head that I haven’t been able to organize them all. If I had written them all down, maybe… I think it would have been a mess of writing as a stream of consciousness. It would be not a blog.

Still, I’m going to take the time to write a blog.

I will continue to live my life as humble and sincere as I do now. I don’t think I will have time to write a retrospective like this next time. It will be almost my last retrospective, but I will continue to write as I used to. I hope that the emotions and thoughts that I felt complicated will be removed.

Let’s continue to work hard as I’ve done so far! Gratefully and humbly, let’s work hard!

개발 회고


배경

회고를 작성하다 보니 내용이 많아서, 따로 글을 작성하게 되었다.


개발 사례 회고

내용

아래 내용들은 회고에 이미 적었던 부분이며, 관련해서 형식 없이 이야기하고 의식의 흐름대로 적어보려고 한다.

  • 일반화 및 표준화의 중요성
  • 어딘가에는 흔적을 남겨 놓아야 한다.
  • 기술이 다가 아니다.
  • 리소스만 믿고 의존하면 안 된다.
  • 우려한 건 언젠가는 발생할 수 있다.
  • DEV, STG, PROD의 구분은 중요하다.
  • 테스트는 너무도 중요하다
  • 사람을 믿지 말자.
  • 바쁘더라도 필요한 건 해야 한다.
  • 컨텍스트 체인지에는 많은 시간이 든다.
  • 높은 조직의 정책과 당시 상황의 영향
  • 체력이 튼튼하고 정신을 똑바로 차려야 한다.


일반화 및 표준화의 중요성

회사 Big Data센터에 오면서 전사 데이터에 관한 일을 해왔다. 여기에 와서 가장 크게 느꼈던 부분이 일반화 및 표준화의 중요성이다. 그 반대가 파편화다.

일하는 곳이 전사 조직이 되면서, 전사 데이터를 수집하는 시스템을 만드는 과제를 받았다. 그런데 그 과제를 진행하기에 앞서 이전에 진행했던 과제들을 살펴보았는데, 많은 고생이 있었던 것이 눈에 띄었다. 대표적으로 서비스별로 수집하는 방식이나 포맷이 서로 달랐고, 이러한 부분이 하나로 일원화되지 않은 채 진행된 상황이었다. 글을 읽으면서 “왜?”라고 의문을 가질 수 있다. 그런데 그렇게 된 이유는 분명 있었을거라 생각한다.. 그 이유를 모두 알지는 못하지만, 관련된 추가 이야기는 뒤에 적겠다.

표준화와 일반화가 이루어지지 않으면 파편화가 발생하고, 서비스가 커질수록 그것을 관리하고 유지하는 것이 굉장히 힘들어진다는 것을 경험했다. 서비스가 커질수록 표준화와 일반화는 필수적이라고 생각한다.

리더나 매니저급에서는 단순히 과제를 완수하는 것에 그치지 않고, 최대한 일반화하여 그에 맞추도록 노력해야 실무가 덜 힘들고 품질도 개선될 수 있다고 생각다. 기존에 만들어 놓은 플랫폼이 있는데, 협업하는 곳이 요구하는 대로 모두 맞춰주면 그것은 SI 업체일 뿐, 진정한 협업이 아니라 본다. 물론 어느 정도 이유가 있을 수 있고, 그 의견을 듣고 방법이 하나밖에 없다면 미루거나 하면 되지 않나 싶다.

작은 서비스이고 사람이 관리하기 쉬운 10개? 이하는 문제가 없지만 그 이상이면 플랫폼 성격을 가졌다면 일반화 및 표준화가 중요한 거 같다. 큰 플랫폼이라면, 힘과 영향력을 가진 상위 부서에서 일반화 및 표준화를 위한 방향을 설정하고 가는 것이 맞다고 생각한다.


어딘가에는 흔적을 남겨 놓아야 한다.

특정 기능을 개발한 사람이 평생 관리한다면 이 이야기는 필요 없겠지만, 프로그램과 달리 사람은 언제든 바뀔 수 있다. 그렇기에 어떤 작업을 왜 했는지 기록으로 남겨두는 것이 중요하다는 것을 몸소 체감했다. 그 방법은 여러 가지가 될 수 있다. 문서로 정리해서 남겨두거나, 코드에서는 주석이나 함수명을 자세히 작성하는 방식이 있을 수 있다. 주석을 다는 것이 코드로 충분히 표현하지 못한 것을 보완하는 방법이라 좋지 않다는 말을 들었지만, 코드로 표현할 수 없다면 주석이라도 남겨두어야 다. “왜 이렇게 되어 있는 거지?”라는 질문을 담당자가 찾아가서 직접 설명을 듣는 시간을 아낄 수 있고, 담당자가 없을 때도 대처할 수 있다.

코드에 의도를 최대한 표현하고, 그렇지 않으면 문서나 다른 곳에 표시를 해두는 것이 팀의 효율성을 위한 일이다.

실제로 올해 너무 바빴던 나머지 이런 상황이 가끔 있었고, 내가 겪은 적도 있었기에 이제는 최대한 기록을 남기는 습관이 생겼다.


기술이 다가 아니다.

올해 [회고] 상반기 회고에도 기록했던 내용이다. 크게 달라진 점이 없어 그대로 가져왔다.

기술이 다가 아니다. 10분 만에 해결될 일이 감정 문제로 10일이 걸릴 수도 있다. 개발은 완료되었지만, 서비스 측에 갑자기 생긴 프로세스로 업무가 늘어난 사례가 있었다. 실무자의 협조가 어렵다고 한 부분을 매니저 또는 더 위에 상급자의 도움을 받아서 더 빠르게 해결한 경우도 있었다. 이렇듯 때로는 개발만이 아닌 사람을 통해서도 문제가 해결될 수 있는 거 같다.


리소스만 믿고 의존하면 안 된다.

큰 서비스 개발 경험이 부족해서 그럴 수도 있지만, 개발하다 보면 리소스를 믿는 경향이 있었다. 예를 들면 코드 작성 시 메모리가 충분하다고 생각해 개발했는데 OOM(Out of Memory) 오류가 발생한 경우가 있었고, 옵션을 지나치게 줘서 OOM 오류가 발생한 적도 있었다. 메모리의 예시만 들었지만, 스토리지뿐만 아니라 서비스가 커지면서 네트워크나 데이터베이스에 부하가 걸려 이슈가 발생했던 경험도 있다.

Pod를 실행하면서 OOM 오류가 발생했고, Airflow에서 데이터베이스에 많이 접근하다 보니 병목이 생겼다. 또 인프라 구축 시 옵션을 너무 크게 설정하여 Pod가 죽는 경우도 있었다. 물론 응답 결과가 너무 느리거나 많아서 Swagger에서 응답 없는 상태가 되었던 적도 있다. 서비스가 커지면서 AWS Quota에 걸려 늘려달라고 요청한 경우도 많았다.

초기에 개발 시에는 메모리 신경 쓸 여유가 없지만, 서비스가 커지면서 문제가 터질 수 있다는 점을 항상 염두에 두어야 하고, 가능하다면 미리 대비하는 것이 좋다.


우려한 건 언젠가는 발생할 수 있다.

“아… 이거 나중에 문제가 될 수 있을 것 같은데?”라는 생각이 들었던 부분이 실제로 발생한 경우가 있었다.

클라우드에서 자동으로 생성되는 부분이 있었는데, 좀 포괄적으로 제외해 놓고 나중에 수정했던 경험이 있다. 이 경우, 문서에도 없고 좀 이상하게 만든 것 같다는 의견이 있었지만, 그래도 우려했던 문제가 발생했던 사례였다. 또 다른 사례로는 인프라 구축 설정값을 하나로만 관리하다가, 서비스가 커지면서 배포가 느려지고 관리가 어려워질 것 같았는데, 담당자가 고생해서 이를 바꿔준 경험이 있다.

너무 당연하고 모두가 아는 이야기지만, 한 번 더 염두에 두고 미리 해결하면 좋을 것 같아서 적어봤다. 물론 일을 하다 보면 그것이 쉽지 않지만… 하하. 적절한 타협은 당연히 필요하다.


DEV, STG, PROD의 구분은 중요하다.

개발하는 컴포넌트가 많아짐에 따라 환경 구분의 중요성을 몸소 체감했다.

테스트를 진행하면서 내가 개발한 것과 다른 사람이 개발한 부분이 충돌하거나, 통합 테스트 중에 이슈가 발생하곤 했다. DEV/STG 환경이 일부 겹쳐 있어서 발생한 일이었다.

너무도 당연한 이야기지만, 신규 과제를 진행하는 환경에서는 발생할 수 있기에 적어봤다.


테스트는 너무 중요하다

올해 테스트 및 CI/CD 업무를 맡아 진행했는데, 테스트가 있을 때와 없을 때 품질의 차이와 불안함의 체감 정도가 너무 달랐다.

단위 테스트와 통합 테스트가 있었기 때문에 배포할 때 마음이 많이 놓였다.

품질을 높여주고 사람들을 불안하지 않게 해주는 점에서 큰 매력을 느꼈다.

너무 바쁘다 보니 테스트 작성할 시간이 없다는 건 이해하지만, 그래도 테스트만큼은 꼭 작성하는 게 맞다고 생각한다. 나중에 개발할 때도 반드시 도움이 된다.


사람을 믿지 말자.

오해할 수 있지만, 사람이 나빠서 믿지 말자는 이야기가 아니다. 사람이 실수할 수 있기 때문에 사람에게만 의존하면 안 된다는 이야기다.

협업 중에 사람이 직접 매일 작업을 해주겠다고 했던 곳이 있었는데, 결국 이슈가 생기고 연쇄적으로 스트레스를 받았던 기억이 있다. 최근에도 데이터를 수집해야 하는데 데이터를 올려주지 않거나 다른 포맷으로 주는 경우가 있었기에, 직접 데이터를 수집하는 쪽에서 데이터에 직접 접근할 수 있도록 시스템을 만드는 것이 맞다고 생각한다.

결국 모든 것은 자동화해야 하는 것이 맞다. 서로를 위해 시스템화해야 서로가 편하다. 데이터 파이프라인을 만든다고 가정할 때, 데이터베이스에 직접 접근하는 것부터 적재까지 하나의 팀에서 모니터링할 수 있어야 소통이 줄어든다. 또 다른 예로, 비밀번호나 정보를 사람이 직접 입력하면 실수가 있을 수 있기 때문에 검증을 입력한 사람이 직접 하도록 시스템을 만들어야 한다. 마지막으로, 사람이 테스트를 모두 했더라도 최종 테스트는 기계에 의해 진행되어야 품질을 확실히 보장할 수 있다.


바쁘더라도 필요한 건 해야 한다.

위에서 언급한 내용과 일부 겹치긴 한다. 이 부분도 타협의 영역이고 상황에 따라 달라질 수 있지만, 테스트처럼 중요한 부분은 최대한 시간을 내서 해야 한다.

마이그레이션을 하면서 사용하던 옵션을 빠뜨려서 큰 용량의 값을 처리해야 하는 상황이 있었다. 이를 계속 미루다가 결국 용량이 너무 커져 이슈가 발생했다. 반드시 일어날 것 같고 해야 할 것 같다는 강한 의심이 든다면, 바쁘더라도 지금 해결하는 게 좋다. 서비스 측에도 관련된 부분이라 미리 해야 일이었다.

역시 말처럼 쉽지 않다는 걸 아주 잘 알고 있다.


컨텍스트 체인지에는 많은 시간이 든다.

여기서 말하는 컨텍스트 체인지란 업무의 변경을 의미한다. 맡은 업무가 변경될 수도 있고, 해야 하는 일이 바뀔 수도 있다.

올해 잦은 인터럽트로 인해서 하던 일이 자주 바뀌었고, 정신이 없었으며 일을 재개할 때 집중하기 어려웠다.

상반기에 업무 분장을 새로 했는데, 바쁜 와중에 새로운 업무를 시작하니 다시 익히는 데 시간이 많이 소요됐다. 이렇듯 업무가 변경되면 익히는 데 시간이 많이 드는 것 같으므로, 그런 계획이 있다면 충분한 버퍼를 두는 게 좋을 것 같다.


높은 조직의 정책과 당시 상황의 영향

일을 하다 보면 “왜 저렇게 만들었을까?”라는 질문을 종종 한다. 내가 더 잘 만들 수 있을 것 같다는 자만에서 나오는 질문이 아니라, 조금 돌아서 만드는 느낌을 받을 때가 있었다. 위에서 언급한 파편화가 된 것도 비슷한 맥락이다. 그래서 당시 담당자들과 이야기해 보면 다 이유가 있었다. 팀의 힘이 부족해서 정치나 권력 문제로 상대방에 맞춰야 했던 경우도 있고, “이렇게 안 하면 안 해준다”라는 식의 상황도 있었다. 요구사항이 매번 달라졌고, 일반화가 안 되었으며 여러 가지 이유가 있었다. 이렇듯 당시의 개발 외적인 외부 상황에 따라 개발이 영향을 받아 어려운 방향으로 가는 경우가 있다. 엔지니어가 놓치거나 못한 부분일 수도 있지만, 외부의 영향이 큰 경우도 있다.

파편화된 상황에서 전사 조직으로 바뀌고, 조직 내 힘 있는 리더가 전사에 공표하니 누구나 해야 할 일이 되어서 모두가 대응해 줬다. 기술이 뛰어나도 전사 차원에서 밀어주지 않으면 진행되지 않았을 것이다. 이렇듯 힘 있는 조직에서 정책을 만들어야 일이 진행된다는 것을 경험했고, 그게 맞는 방향이라고 생각한다. 상무급에서 협의하는 것보다 사장급에서 전사에 지시를 내리는 게 훨씬 효율적이다.


체력이 튼튼하고 정신을 똑바로 차려야 한다.

체력은 아무리 강조해도 부족할 정도로 중요하다. 체력이 있어야 집중할 수 있다. 체력이 떨어지면 집중력도 떨어지고 효율도 나지 않는다. 체력이 부족하면 어떤 일이든 효율이 떨어지게 된다.

이전에는 이슈가 발생해도 큰 문제가 되지 않았지만, 이제는 연관된 서비스가 매우 크고, 사용자가 많아 실수가 나면 안 되는 상황이기 때문에 매번 집중해서 일을 했다.

이슈 발생 시 영향이 큰 경우 실수하면 안 되므로 정신을 차려야 한다. 이를 받쳐주려면 체력이 필요하다.


마무리

이 모든 이야기는 올해 느낀 부분으로, 좀 더 자세히 적어서 더 많은 공감을 얻고 싶었지만 회사 관련된 이야기가 많아 세세히 쓰지 못한 것이 아쉽다. 그런데도 제목과 내용을 읽으면서 충분히 공감할 수 있는 사례가 많을 것으로 생각한다. 물론, 이러한 사례들은 상황에 따라 달라질 수 있기 때문에 언제나 유연하게 사고하고 대처해야 한다. 당연히 정답은 아니다.

일을 하면서 몸과 마음이 고생했지만, 그럼에도 몇 가지 배운 점이 있어 긍정적으로 생각한다.

Development Retrospective


Background

I made another post because retrospective already has long contents so I extract this post from there.


Development Case Retrospective

Contents

I’ve already included the content below in the retrospective, and now I want to write freely, following the flow of thoughts without any specific format.

  • The importance of generalization and standardization.
  • Traces must be left somewhere.
  • Technology is not everything.
  • Resources cannot be completely trusted.
  • What you worry about can happen someday.
  • Distinguishing between DEV, STG, and PROD is important.
  • Test is very important.
  • Don’t trust people.
  • Even when busy, you must do what’s necessary.
  • Context switching takes a lot of time.
  • The policies of high level organizations and the circumstances at the time.
  • You need to maintain physical strength and stay mentally focused.


The importance of generalization and standardization.

Since joining the Big Data Center of the company, I have been working on projects related to company wide data. One of the most significant realizations I’ve had here is the importance of generalization and standardization. The opposite of these is fragmentation.

As I became part of an enterprise level organization, I got a task which creating a system to collect data across the company. However, before proceeding with this task, I reviewed previous projects and noticed the challenges that had been encountered. A major issue was the lack of consistency data collection methods and formats differed across services, and these discrepancies had not been unified. While reading this, you might ask, “Why?” There were likely reasons for this, even though I may not know all of them. I’ll share more thoughts on this later.

Through my experience, I’ve learned that when standardization and generalization are not achieved, fragmentation occurs. As a service grows, managing and maintaining it becomes increasingly difficult. I believe that standardization and generalization are essential as services expand.

For leaders or managers, it’s not enough to simply complete a project; they should aim to generalize as much as possible to ease the workload for workers and improve quality. If you just adapt entire demands of collaborating parties, it would be a SI not a collaboration. Of course, there might be valid reasons to consider such requests, but in cases where there’s no alternative, I think it’s better to postpone or make adjustments rather than applying everything.

For small services that are easy to manage such as under ten systems, fragmentation may not pose much of an issue. However, when the service exceeds this scale and takes on the characteristics of a platform, generalization and standardization become crucial. In the case of a large platform, I believe it is appropriate for a higher level department to set the direction for generalization and standardization.


Traces must be left somewhere.

If the person who developed a specific feature were to manage it for life, this discussion might not be necessary. However, unlike programs, people can change at any time. This has made me realize firsthand the importance of documenting why certain tasks were done. There are various ways to do this: organizing it in a document, or leaving detailed comments and function names in the code. While some argue that comments are not ideal as they compensate for what code fails to express, if something cannot be conveyed through code, leaving comments is still necessary. This can save time by avoiding the need for a new person to ask, “Why is this done this way?” and having to track down someone to explain. It also allows for handling situations even when the person in charge is unavailable.

Expressing intent as much as possible in the code and documenting it elsewhere when that’s not feasible is crucial for team efficiency.

This year, there were times when I was so busy that such situations occurred occasionally. Having experienced it myself, I’ve now developed a habit of leaving records as much as possible.


Technology is not everything.

This is something I also documented earlier this year in my retrospective: [Retrospective](EN) The first half retrospective). Since there haven’t been any major changes, I’ve brought it over as is.

It’s not all about technical skills. Something that could be resolved in 10 minutes technically might take 10 days due to emotional issues. There was a case that work time becomes longer due to newly created process in service part even though development were done. There was a case that owner told us that they cannot corporate but we asked to high level manager to corporate it. After that issue was solved. It seems that sometimes problems can be resolved not only through development but also by communication with people.


Resources cannot be completely trusted.

It could be due to my lack of experience in developing large scale services, but I’ve noticed a tendency to trust resources while developing. For example, I once assumed there was sufficient memory when writing code, only to encounter an OOM (Out of Memory) error. In another instance, an OOM error occurred because I set the options excessively. Although I’ve used memory as an example, I’ve also faced issues with storage, as well as load related problems on the network or database as the service grows.

For instance, I experienced OOM errors while running Pods and bottlenecks caused by frequent database access in Airflow. There were also cases where Pods crashed because options were set too big during infrastructure setup. Additionally, responses were either too slow or too large, causing Swagger to become unresponsive. As the service scaled, there were several instances where we hit AWS Quotas and had to request increases to AWS.

While there may not be enough bandwidth to worry about memory in the early stages of development, it’s crucial to keep in mind that problems can arise as the service grows. Whenever possible, it’s better to anticipate and prepare for these issues in advance.


What you worry about can happen someday.

There were moments when I thought, “Ah… this could become a problem later,” and those concerns did, in fact, happen.

For instance, there was a part in the cloud that automatically generates resources. Initially, I excluded it more broadly and later modified it. Although there were comments that it seemed oddly configured and it wasn’t documented, the potential issue I had been concerned about actually occurred. In another case, we initially managed infrastructure setup values as a single file. As the service grows, deployments became slower, and management became increasingly difficult. Eventually, a team member took the initiative to revise and improve the system, although it required significant effort.

This may seem obvious and like something everyone already knows, but I thought it was worth emphasizing again. It’s better to address these concerns in advance if possible. Of course, it’s easier said than done in practice… haha. Finding the right balance is, of course, necessary.


Distinguishing between DEV, STG, and PROD is important.

As the number of components I developed increased, I came to realize firsthand the importance of environment.

While testing, there were cases where my work conflicted with parts developed by others, or issues arose during integration testing. These problems occurred because the DEV and STG environments partially overlapped.

Although this may seem obvious, I wanted to note it down as it’s something that can happen in new project environments.


Test is very important.

This year, I was responsible for testing and CI/CD tasks, and I deeply felt the difference in quality and the level of anxiety between having tests and not having them.

Having unit tests and integration tests provided significant peace of mind during deployments.

I found it incredibly appealing how tests not only improve quality but also reduce anxiety for everyone involved.

While I understand the argument that there’s no time to write tests because of a busy schedule, I still firmly believe that writing tests is essential. They are invaluable when it comes to future development.


Don’t trust people.

It might be misunderstood, but this is not about saying that people are untrustworthy. It’s about the fact that people can make mistakes, so we shouldn’t rely solely on them.

During a collaboration, there was a case where someone promised to handle tasks manually every day, but eventually issues arose, causing a chain reaction of stress. Recently, there have also been instances where data wasn’t provided or was given in a different format when it needed to be collected. In such cases, I believe it’s better to build a system that allows the team to directly access database.

In the end, everything should be automated. It’s better for everyone if we systematize tasks for mutual convenience. For example, when building a data pipeline, a single team should be able to monitor everything from direct access to the database to data loading, which would reduce the need for communication. Another example is when people manually enter passwords or information, errors can occur, so a system should be created to allow the person entering the data to perform the validation. Lastly, even if people perform all the tests, the final testing should be done by machines to ensure quality is reliably guaranteed.


Even when busy, you must do what’s necessary.

Some of this overlaps with what I mentioned earlier. This is also a matter of compromise, and it can vary depending on the situation, but for critical areas like testing, it’s essential to make time and make them.

During a migration, I once overlooked an option, which led to a situation where I had to handle large data volumes. I kept postponing it, and eventually, the data size grew too large, causing issues. If you have a strong suspicion that something will definitely happen or is something that needs to be done, even if you’re busy, it’s better to address it right away. This was something that also involved the service side, so it should’ve been handled in advance.

Again, I fully understand that, as mentioned, it’s not easy.


Context switching takes a lot of time.

The “context change” referred to here means a change in tasks. The work you’re assigned could change, or the tasks you need to complete may shift.

This year, frequent interruptions caused me to often switch tasks, making it hard to focus and difficult to get back into the flow of work when doing again.

In the first half of the year, we reorganized our tasks, and starting new work in the middle of a busy period took a lot of time to get up to speed. When tasks change, it seems to take a lot of time to learn everything again. So, if such changes are planned, it’s a good idea to leave enough buffer time.


The policies of high level organizations and the circumstances at the time.

When working, I often ask myself, “Why was it made like that?” This question doesn’t come from arrogance, but rather from the feeling that things were made in a somewhat roundabout way. This is similar to the fragmentation I mentioned earlier. When I talked to the people in charge at the time, I found that there were reasons for everything. Sometimes, the team lacked the necessary organization power, and decisions had to be made to accommodate political or power related issues. There were also situations where it was a matter of, “If you don’t do it this way, we won’t cooperate.” The requirements were constantly changing, there was no standardization, and there were many other reasons. In situations like this, external factors beyond development can influence the direction of the project, making things harder. While there may have been areas where engineers missed or couldn’t address something, external influences played a large role as well.

When my team shifted to a larger, enterprise wide organization, and a powerful leader within the organization publicly announced a change, it became something everyone had to follow. Everyone responded. Even with strong technical capabilities, without support from the organization at the enterprise level, it wouldn’t have moved forward. From this experience, I learned that in a strong organization, policies need to be created for progress, and that’s the right approach. It’s much more efficient for the CEO to give a directive for the whole company than for an executive at the director level to try to negotiate.


You need to maintain physical strength and stay mentally focused.

Physical stamina is incredibly important, and no matter how much it’s emphasized, it still can’t be stressed enough. You need stamina to stay focused. When your energy drops, your concentration decreases, and efficiency suffers. When you’re lacking stamina, your efficiency in any task drops.

In the past, even if issues arose, they weren’t a huge problem. But now there are many services and users which mistakes are unacceptable. So, I have to stay focused every time I work.

When issues arise and the impact is significant, you can’t afford to make mistakes, so it’s important to stay alert. And to maintain that focus, you need physical stamina.


Conclusion

All of this reflects what I’ve felt this year. I wanted to go into more detail and share more specific examples to gain deeper empathy, but since many of the stories are related to the company, I couldn’t elaborate as much as I would have liked. Even so, I believe there are many relatable examples in the title and the content. Of course, these situations can vary depending on the context, so it’s important to think flexibly and respond accordingly. This are not definite answers.

While my body and mind went through some tough times, I try to think positively because there are still several things I’ve learned.