I 💚 Architecture - 2022년, 새로운 발견

Broccolism·2023년 1월 8일
2

회고록

목록 보기
9/16
post-thumbnail

2022년은 격변의 시기였다. 그만큼 회고할 내용도 많아서 여러편으로 회고록을 작성하고 있다. 드디어 마지막, 기술 편이다.

가장 중요한 기술편을 마지막까지 남겨놓은 이유는 딱히 없다. 그냥 편한 내용대로 쓰다보니 스터디 - 일 - 기술 순서대로 쓰게 되었다. 아무래도 아직까지는 컴퓨터와 한 몸이 되지 못했기 때문인 것 같다. (운영체제 수업 교수님이 말씀하신 '내가 운영체제요, 운영체제가 곧 나다'의 지경까지는 이르지 못했다.😇 언젠가 그런 날이 올지..?)

서론

특정 프레임워크나 툴을 다뤄보았다는 사실이 곧 나의 성장을 의미하지는 않는다. 그 기술이 나온 배경과 역할, 장단점을 잘 이해하고 적재적소에 잘 써먹을 수 있어야 한다. 그런 점에서 아직까지 갈 길이 멀고도 멀다. 하지만 그 첫 발걸음을 내딛었다는 것에 의의를 두고 회고록을 작성해보려한다.

2022년에 만난 기술 결산

개인 레포지토리에서 실습하며 써본 기술을 소환해보기로 했다. 정말 다행히 깃 잔디가 완전히 말라죽지는 않았지만 작년에 비하면 많이 줄어들었다. 올해에는 좀 더 많이 심어보고 싶다. 😇
깃 잔디 캡처

우리 오래 오래 보자

우리 오래 오래 보자

Java, Typescript, Dart, Spring, Flutter, Kubernetes, Docker

  • 학부생 때는 Java를 싫어했다. 일단 모든게 클래스라는 사상도 마음에 안 들었고 클래스명이 엄청나게 길어지는 것도 별로였다. 하지만 모던 자바 인 액션 책에서 최신 자바 문법을 알게 되면서 생각을 바꾸게 되었다. OOP 개념은 아직까지 완전히 정복하지 못했지만, 적어도 구닥다리 언어라는 이미지는 벗었다. 아무래도 Typescript를 쓰면서 함수형 프로그래밍에 익숙해지다보니 좀 더 편하게 받아들여진 것 같다.

  • K8S, Docker쪽은 써보기 전에 겁을 먹었다. 옆에서 DevOps 업무를 혼자 담당하는 팀원이 고통받는걸 지켜봤기 때문이다. 왠지 나와 아주 먼 세상 이야기인줄로만 알았는데 어쩌다보니 도커 스터디도 하고 내 노트북에 도커 데스크탑을 깔아서 실습을 하게 되었다. 이론을 하나씩 배우고 있는데 잘 써먹기만 한다면 굉장히 강력한 툴이라는 생각이 들어서 앞으로도 계속 보기로 했다.

  • Flutter, Dart는 개발에 입문할 때 친해진 스택이다. Git 컨벤션을 처음 정해보고, 처음으로 역할 분배를 해보고, 처음으로 데드라인을 받아서 개발 이라는 일을 했을 때 플러터 애플리케이션 만드는 일을 하고 있었다. 그 뒤로 React 웹앱도 만들어봤지만 UI 만드는데는 역시 플러터가 가장 직관적이고 편하다. '개발자라면 내가 원하는 앱 하나정도는 혼자 만들 수 있어야지!'라는 기준을 갖고 있는데, 그 도구로 플러터를 쭉 애용할 것 같다.

우리 한번 본 사이에요

한번쯤 써봤지만 아직 익숙하진 않은 친구들이다. 하지만 계속 보게 될 것 같다.
우리 한번 본 사이에요
ELK Stack, Ruby, Sentry, MongoDB, Redis

  • ELK Stack, Redis, MongoDB를 한번 써보기는 어렵지 않다. 하지만 "제대로" 활용하기 위해서는 이론 공부와 경험이 많이 필요할 것 같다. 2023년에는 이 친구들과 좀 더 친해지고 싶다.

2022년의 새로운 발견

그 전까지 눈치채지 못한 사실.

I 💚 Architecture

소프트웨어 개발에는 여러 단계가 있다. 기획 - 설계 - 구현 - QA - 운영 - ... 나는 그중 설계 단계를 가장 좋아한다. 이걸 그동안 깨닫지 못하고 있었다. 내가 알고 있는 것 외에 얼마나 다양한 선택지가 있는지 몰랐고, 복잡한 요구사항을 최대한 효율적으로 해결해야하는 경우가 거의 없었기 때문이다.

돌이켜보면 졸업 프로젝트를 진행하면서 한번 제대로 된 설계를 해본 적이 있다. 그 때는 이런 그림을 그렸는데, 주어진 제약사항을 어떻게 해결할지 고민하는게 머리 아프면서도 굉장히 재밌었던 기억이 난다.
아키텍처

설계 작업이 재밌어서 대규모 시스템 설계 기초 스터디도 해보고, 데이터 중심 애플리케이션 설계 책도 읽어보고, 얼마 전에는 테크 스택 그림 그리는 레포지토리 도 만들었다. (레포지토리 Issue, PR은 언제나 환영입니다.🎉)

I 💚 to Code

퇴근 후, 주말에도 심심하면 코딩을 한다고 하면 다른 과 친구들이 이상한 눈빛으로 보는 경험을 다들 했을 것이다.(저만 그런거아니죠?🤗) 그래도 아직까지는 뭔가 만들어내는게 재밌다. 깔끔한 코드를 위해 고민하는 것도 재밌고, 그 코드가 돌아가면서 내가 생각한대로 동작하는걸 보는 것도 재밌다. 물론 나 대신 디버깅하고 삽질해주는 인공지능이 필요하다는 생각은 항상 하고 있지만, 경험이 쌓이면서 디버깅하고 삽질하는 시간도 줄어들지않을까?

🧐 아직 잘 와닿지 않는 것들

OOP 개념, 네트워크, 분산 환경과 같이 눈에 보이지 않는 것들에 대한 이해가 부족하다는 생각이 든다. 2023년도에는 이런 부분을 좀 더 채워나가는 해가 되었으면 좋겠다.

앞으로 나아가기 위해

잘 써먹은 능력

  • 영어로 소통하기 - 모든 글로벌 오픈소스 프로젝트는 영어로 진행된다.(아주 가끔 열받게 중국어로 적힌것도 좀 있지만..) 그리고 생각보다 오픈소스 쓸 일이 많다. 문의글을 남길 일도 종종 생겼다.

새롭게 얻은 능력

  • 기록하고 문서화하기 - 인간의 기억력이 유한하다는걸 수십번 느꼈다. 당장 내가 블로그에 쓴 예전 글만 읽어봐도 새로운 느낌이 든다. 회의록이든 결정사항이든 디버깅 기록이든 혼자 생각하거나 대화한 내용이든 뭐든지 기록해놓으면 언젠가는 써먹을 일이 있는 것 같다.
  • 일정 산출하기 - 일단 넉넉하게 잡아야 한다.😎 그리고 그렇게 잡아놓으면 생각보다 딱 들어맞는다. 스스로를 과대평가하지 않는 습관도 함께 필요하다.

더 알아가야 할 능력

  • 본질을 꿰뚫어보는 능력 - 작업을 하기 전 한번 더 생각해보는 것. 궁극적으로 해결하려는 문제는 무엇이고, 지금 적용하려는 해결책이 최선인지 알아보는 능력을 갖고싶다.
profile
설계를 좋아합니다. 코드도 적고 그림도 그리고 글도 씁니다. 넓고 얕은 경험을 쌓고 있습니다.

0개의 댓글