개발일지 (2월 회고)

2023. 3. 1. 09:39Developer History

 

 

 

Business

비즈니스 목표를 달성하고 비선형적인 "J커브형 성장"을 이루어내려면 안티프래질에서 이야기하는 "하방 압력은 작으면서 상방 압력은 비선형적으로 큰" 시도들이 자주 일어나야 한다고 생각했다. 다들 바쁜 상황에서 누군가를 말로 설득하는 것만으로는 실제 구체적인 행동으로 이어지기 어렵다는 것을 배웠고, 최근 도덕경에서 "개념화, 논리화의 위험성"에 대해 지적한 것이 생각나서 사내에서 작은 사이드 프로젝트를 직접 한번 진행해 보게 되었다.

 

 

 

3주 정도 진행한 프로젝트를 진행하면서 개인적으로 느끼는 바가 많았다. 크게 두가지 부분에서 중요한 통찰을 얻었는데, 아무리 작은 서비스더라도 혼자서 모든 부분을 다 챙길 수는 없다는 것(할 수 있지만 시간이 부족한 것이 아니라 못하는 것이었다)과, 내가 생각하는 고객과 실제 고객 간의 간극이 생각 외로 클 수 있다는 것이었다.

 

처음 서비스를 구상할 때는 기술적인 부분에만 치우쳐서, 이미 있는 기술적 기반을 사용하면 되는 것이니까 하루이틀이면 바로 나갈 수 있겠지라고 생각했다. 하지만 실제 서비스를 준비하는 과정에서 구멍이 생각보다 많았다. 설문조사시에 중요한 질문을 빠뜨린다거나, 운영방침을 고려한다거나, 개인정보 수집 등에 대한 법적 조치등을 고려한다거나 하는 등의 서비스 운영에 필요한 필수적인 요소들을 그제야 파악하면서, UI화면과 비즈니스 로직만이 서비스의 거의 전부라고 안이하게 생각했던 지난날의 모습들을 많이 돌아보게 되었다.

 

또한 인터뷰하러 직접 찾아간 학생들은 생각보다 많이 어렸고, 좋은 대학에 가기 위해 기를 쓰고 컨텐츠를 자발적으로 구매해서 소비하는 모습보다는 그냥 공부하기 싫어하고 친구들하고 놀기 좋아하고 게임하고 싶어 하지만, 부모님이 보내서, 혹은 친구들이 다 가니까 학원에 와있는 평범한 아이들이 많았다. 물론 제한적인 표본을 가지고 일반화하는 것은 무리가 있지만, 이 프로젝트를 계기로 고객에게 더 가까이 가야 한다는 메시지를 전사적으로 퍼트리면 좋겠다는 소망이 생겼다. 고객을 잘 모르는 상태에서 "학생들은 이럴 것이다~"라는 가정을 세우고, 그 가정을 바탕으로 논리적인 도구들을 사용해서 연역적 결론에 이르는 방식은 논문을 쓰기에는 적합할지 몰라도, 문제를 해결하는 데는 매우 치명적인 오류로 이어질 가능성이 높다.

 

실험 결과는 기대했던 만큼 잘 나오지 않았다. 하지만 다행히도 이번 실험은 하방 압력이 작고 상방 압력이 클 것으로 기대되는 위 목적에 어느 정도 부합하는 프로젝트였기에 결과를 덤덤하게 공유할 수 있었고, 조만간 이런 실험들을 여러 가지의 형태로 더욱 자주 진행했으면 좋겠다는 메세지를 전달하려고 한다. 

 

최근 팀원분과 IM(Iterative Meeting)을 하면서 결혼생활 이야기가 나왔는데, 이야기를 계속해 나가면서 문득 이런 생각이 들었다. 다툰다는 것이 서로 다르게 살아오면서 만들어진 서로 다른 부분들이 맞닿아 불편한 것이 지속되면서 이것이 다듬어지는 과정이라고 한다면, 현재 우리가 가지고 있는 이론적, 논리적인 생각이 현실과 맞닿아 불편한 것이 지속되면서 다듬어지는 과정들도 그만큼 필요하다는 생각이 스쳤다. 애초에 현실과 부딪히지 않는 생각들은 편하다. 저 멀리 떨어져 연락도 잘 안 하는 친구와 싸우지는 않지만, 이것이 그 친구를 잘 알게 되었다는 결론을 낼 수는 없는 것처럼 현실과 부딪히지 않는 것은 편하지만, 이는 곧 현실의 문제를 해결할 수 없다는 것이기도 하다. 효과적인 교육을 제공하기 위한 생각들이 현실과 부딪혀 불편한 진실들을 마주하고 이로써 다듬어지려면 어떤 것들을 거쳐야 하는지 상반기 내내 고민해보려 한다.

 

 

Reading

2월달에는 30여 권 정도의 책을 읽었고, 이렇게 2023년이 시작하고 60권 정도의 책을 읽은 것 같다. 다음 주부터는 정규 학기가 시작되어 이 정도의 책을 읽지는 못할 것 같아서, 읽는 방식이나 읽은 내용을 연결하고 정리하는 새로운 방식을 조금 찾아보려 한다. 책은 보통 출근하고 업무를 시작하기 전 1~2시간 정도 읽었던 것 같은데, 읽은 내용을 Frontend TMI 채널에 매일매일 공유하는 재미가 쏠쏠했다. 팀원분들도 좋아하시는 것 같아서, 아무도 시키지 않았지만 최근 몇 주 동안은 여기에 올릴 내용을 찾기 위해 책을 더 꼼꼼하게 읽었던 것 같다. (내용이 너무 길어지면 나라도 안 읽을 것 같다)

 

 

이번 달에 특히 인상 깊었던 점은 안티프래질과 노자 도덕경에 이은 또 다른 인생책을 발견했다는 점이다. "생각의 탄생"이라는 책인데, 위대한 천재들이 생각하는 여러 가지 방법들에 대해 통찰력 있게 작성한 책이라서 여러 번 반복해서 읽는 중이다. 특히 인상 깊었던 부분은 "추상"에 대한 부분인데, 조만간 이에 대한 생각을 정리해서 글로 옮겨 보고자 한다. 

 

요즘에는 책을 읽을때, 한 문장을 읽으면 이와 비슷한 이야기를 했던 책, 이와 반대되는 이야기를 했던 책을 어렵지 않게 떠올릴 수 있게 된 것 같다. (물론 모든 문장이 그런 것은 아니다.) 이런 순간이 오면, 정반합 과정을 통해 나에게 더 의미 있는 결론을 이끌어낼 수 있게 되는 것 같아 재미있는 시간이 되며, 종이에 끄적거리며 어떻게 현실에 있는 문제를 해결할 수 있을까에 대해 고민을 하며 시간을 더 끌고 가게 되는 것 같다.

 

 

AI

ChatGPT천하다. 여기저기서 ChatGPT에 대한 내용들이 나오면서 전반적인 Generative AI 분야가 주목을 받는 것 같다. AI를 전문적으로 깊게 공부한 것은 아니기 때문에 수학적 모델에 대한 깊은 내용까지는 이해하지 못하더라도 Chat GPT를 구성하고 있는 기술기반, 특히 어떤 모델에서부터 어떻게 발전되었고, 기존의 GPT3와는 어떤 점들이 다른지 정도에 대해서는 다시 이해해야겠다 싶었다.

 

출근해서 독서하고 남는 시간동안 틈틈이 NLP의 기본 개념들을 다시 정리하고 있다. 코드까지 작성하기에는 시간이 나지 않고, 뭐든지 우선 전반적인 흐름을 가볍게 훑고 들어가야 적성이 풀리는 것도 있어서 매우 매우 가볍게 TF-IDF벡터부터 시작해서 RNN, LSTM을 거쳐 Attention, Transformer, GPT Series에 해당하는 내용들을 보고 있다. 올해 안으로는 간단한 모델을 만들 수 있을 정도의 개념적인 지식이 머릿속에 들어가 있기를 바란다. 3월 중으로 Chat GPT의 개념적 모델을 다룬 간단한 글을 작성해볼까 한다.

 

Backend

내가 속해 있는 TF는 여러 개의 백엔드 서비스들과 프론트엔드 서비스들이 유기적으로 얽혀서 돌아가는 플랫폼의 성격을 띠는데, 백엔드의 경우 AI Division에서 만드는 서비스는 Golang으로, Product Division에서 만드는 서비스는 Spring MVC + Kotlin이나 Spring Webflux + Kotlin으로 만들어져 있다. "서버공부를 해서 서버개발자가 되겠다"라는 느낌보다는 서비스를 더 잘 이해하고 생산적인 논의에 적극적으로 참여하기 위해서는 도메인과, Back Pipeline에 대한 이해도를 높여야겠다는 생각이 들었고, 이에 따라 사내에서 운영하고 있는 서버들을 이해할 수 있는 정도의 도메인 / 기술 지식은 익혀야겠다는 생각이 들었다. 

 

궁극적인 목표는 이번 Infrastructure 공부를 할 때처럼 사내의 주요 백엔드 서비스들을 직접 작성해서 내가 만들어 두었던 인프라 구조에 띄워보는 것이다. 지금은 아직 걸음마 수준이지만, 해야할 것이 많고 모르는 것은 많고, 도움을 받을 수 있는 훌륭한 개발자들이 많은 지금의 상황이 의외로 재밌는 것 같다.

 

Go / Kotlin을 틈틈히 공식문서를 보면서 익히고 있는데, 공식문서를 처음부터 끝까지 읽는 건 별로 의미가 없는 것 같아서 그냥 각각 서버 하나씩 만들어보면서 그때그때 필요한 부분들을 문서를 찾아가며 익히고 있다. 두 언어를 한꺼번에 공부하다 보니 비슷한 부분과 다른 부분들을 비교하는 재미가 있는 것 같다. 이것도 마찬가지로 Go / Kotlin을 공부한 기록들을 주요한 내용들 위주로 가볍게 포스팅해 가면서 정리해볼까 한다.

 

Infrastructure

1월에 목표로 했던 Infrastructure in Frontend 세미나를 사내에서 한번 진행했다. 인프라는 아래의 그림으로 가볍게 구성했다. 실제 사내에서 운영되는 서비스 구조는 여기서 앞에 GCLB를 붙이고 kong-gateway 뒤에 훨씬 더 많은 마이크로서비스들이 붙어있고, Kong Gateway 자체에도 여러 플러그인들이 붙어있는 등등 복잡도가 훨씬 높지만 첫 삽을 떴으니, 여기서 개선하면 되지 않을까 한다. 이제 백엔드 공부도 조금씩 하고 있으니 하나하나씩 추가하면서 추가하는 내용들을 기록해가려 한다.

 

발표할 때, Argocd, kong-gateway 등의 내용들은 시간 관계상 다 다루지는 못했지만 CNCF, Kubernetes, Istio, Prometheus, Grafana, Helm Charts, Terraform등 현재 Scalable 한 클라우드 마이크로서비스 아키텍처를 설명하기 위한 기본 개념들을 2시간 남짓한 시간 동안에 잘 설명할 수 있었고, 팀원들이 사내 서비스 구조를 이해하고 더 좋은 아키텍처와 안정성 있는 서비스를 위해 고민할 좋은 포인트들을 마련하는데 기여했다는 생각이 든다.

 

 

 

 

Etc

수강신청을 했다. 산업공학개론은 수강신청에 실패해서 초안지를 노려보아야 하지만, 하드웨어 시스템 설계를 제외하고는 기대가 되는 과목들이다. 저번 시스템프로그래밍과 데이터베이스 수업을 통해 실질적으로 업무에 기여하는 능력이 개인적으로는 많이 향상되었다고 느끼는데, 이번에 들을 AI와 법, 인간 컴퓨터 상호작용, 데이터 통신등의 수업을 통해서도 어떤 것들을 얻을 수 있을지가 기대된다.

반응형

'Developer History' 카테고리의 다른 글

개발일지 (4월 회고)  (1) 2023.04.29
개발일지 (3월 회고)  (0) 2023.04.02
개발 일지 (1월 회고)  (2) 2023.01.29
개발일지 (11월 & 12월 회고)  (0) 2022.12.18
개발일지 (10월 회고)  (0) 2022.11.06