brunch

해야 할 일이 여러 개면, 차분하게 돌아가면서 하자.

2025년 8월 7일 근무일지

by 김영재
이 글은 제 근무일지에서 개인정보와 구체적인 근무 내용들만 편집해 작성했습니다.

오늘은 크게 5가지 todo가 있었다. todo가 뭐였는지가 중요하다기보다는, 일단 꼭 해야 하는 일이 다양하게 있었다. 그래서 한 가지 일을 다 마무리하고, 남은 일을 하는 것이 아니라 동시에 여러 가지 일을 돌아가면서 신선도 있게 일을 하게 되었다.


우선 출근 직후부터는 알고리즘 개발을 위해서 만들어둔 웹 대시보드가, 데이터의 양이 늘어나면서 급격히 비효율적으로 바뀌어버린 문제를 해결해야 했다. 이 일을 수행할 때는 대시보드의 실행 시간이 길기 때문에, 이 작업을 하면서 동시에 다른 todo를 진행했다.


Stable Diffusion은 회사에서 끊어준 패스트캠퍼스를 통해 좀 맛을 봤다. 거기서 주요 캐릭터로부터 원하는 디자인을 넣는 방법까지 간단하게 배운 후, 이제는 Midjourney를 사용하는 방법들을 주로 찾아봤다. 종종 보는 유튜브 채널인 티타임즈TV에서 미드저니를 다룬 동영상들을 보면서 강의 내용을 구성해 봤다. 흥미로운 내용이 많았다.


1부에서는 현재 AI로 디자인을 맡고 있는 일이 어떤 것인지 개요를 알려주셨고, 기본적인 프롬프트 작성 요령을 설명해 준다. 2부에서는 본격적으로 Midjourney의 강점인 다양한 parameter들의 힘을 배워볼 수 있었다. 직접적인 설명은 아니었지만, Midjourney를 잘 쓴다는 건 이런 거구나! 나도 여러 개 만들어보면서 시도를 해봐야겠다는 청사진이 그려질 수 있었다.

https://www.youtube.com/watch?v=og0mGD29Hw8&t=382s

https://www.youtube.com/watch?v=sDDW5w2jD2Q

이 동영상들을 보는 중간중간에 대시보드를 수정했는데, 꽤 빨리 끝났다. 그래서 바로 알고리즘의 개선 방법을 찾는 todo를 시작했다.


여기까지 진행하다 보니 2시간이 훌쩍 지나갔다. 점심을 먹고 나서는 이제 알고리즘 개선 방법을 찾는 것에 집중했다. 그리고 동시에 다른 todo를 시작했다. 내일 오후에 다 같이 각자 풀고 싶은 문제를 ‘The Basics’라는 프레임워크에 맞게 작성하고, 이에 대해서 토의하는 시간을 가져보기로 했다. 지금까지는 외부에서 들어온 문제만 풀어왔지만, 우리가 다 같이 합심해서 풀고 싶은 문제가 무엇일지 이야기해 볼 수 있는 좋은 기회인 만큼, 나도 내 생각을 차분하게 정리해야 했다.


틈틈이 ChatGPT랑 혼잣말을 하면서, 내가 하고 싶었던 내용을 어느 정도 요약을 했었다. 무슨 내용인지는 아직은 비밀이다. (심지어 우리 팀원들에게도) 이제 이 내용을 다시 세부적으로 줄글로 늘어 쓴 다음에, 모처럼 ChatGPT에게 내 의도를 분석해 달라고 했다. 몇 번 대화를 나누고, 나중에는 이 내용을 ‘The Basics’라는 프레임워크로 정리를 해달라고 했다. 나름대로 결과를 출력했고, 가볍게 훑어보기에는 나쁘지 않아 보였다.


이렇게 일하면서 동시에 여러 옵션의 알고리즘을 조사하던 중에 운이 좋게도 빨리 해답을 찾았다. 물론 별 거 안 한 것 같더라도 시간은 쏜살같이 흘러갔기 때문에 이 일을 마무리했을 때의 시각이 오후 3시 40분이었다. 집중을 잘했다는 뜻이겠지? 나쁘지 않았다. 생각해 보면 틈틈이 멍 때리는 것에 죄책감을 가지지 않고, 잠깐 멍 때리고 다시 일에 돌입하는 걸 어렵지 않게 돌아왔는데, 이게 도움이 됐던 것 같다. 원래 여러 가지를 돌아가면서 하면 일의 효율이 급격히 떨어진다고 해서, 병렬적으로 일하는 것이 도움이 되지는 않는다고 하는데, 나는 생각보다 편안했다. ‘동시에 여러 개를 해야 해!’가 아니라, 생각이 흐르는 대로, 한 가지에 너무 치우치지 않고 일을 할 수 있어서 심적으로 편안했던 것 같다.


알고리즘의 해답을 찾고 난 이후로는 이제 담당자들에게 알고리즘의 방향을 선택해 볼 수 있도록 하는 대시보드를 새롭게 제작해 보기로 했다. 이를 다른 서버를 열어서, 그분들도 보기 편하게 만들려면, 일단 데이터를 경량화시키는 일이 필요했다. 이를 위해서 새로운 작업 환경을 만들고, 결과를 확인하는 것에 필요한 데이터들만 따로 똑 떼어내서 대시보드를 만드는 데 꼭 필요한 준비물만 모았다. 그리고 알고리즘 연구를 위해서 쓰이던 대시보드에서도 꼭 필요한 기능만 담은 경량화된 대시보드 코드를 만들었다.


이 과정은 역시 커서를 사용해 바이브 코딩으로 제작했다. 커서를 계속 쓰다 보면서 챗을 효과적으로 사용하는 요령이 익혀졌다. 사실 이건 그냥 LLM을 쓰는 대부분의 서비스가 그렇긴 하지만, 또 한 번 확실히 체감했다. 가장 처음에 본인이 구현하고 싶고, 요구하고 싶은 모든 내용을 성의를 들여서 완결성 있는 글로 전달하는 것이 가장 중요하다. 그냥 카톡 보내듯이, 디엠 보내듯이 일을 시키면 안 된다. 제일 첫 글만 똑바로 써도, 그 이후로는 카톡 답장하듯이, 간단하게 피드백하듯이 챗을 해도 일을 굉장히 잘한다. 덕분에 역대급 생산성으로 필요한 기능을 만들었다.


여기까지 하고 나니 약간 멍해지고 쉬고 싶은 타이밍이 왔다. 바이브 코딩을 하는 중에 기다리는 시간도 있으니까, 이 때는 ChatGPT가 만든 ‘The Basics’ 프레임워크를 더 꼼꼼하게 보면서, 어떤 점이 적합한 것 같은지, 어떤 점은 애매한 면이 있어서 더 구체화가 필요할지, 어떤 점은 지워야 할지를 생각하는 시간을 가졌다. 하지만 웹 대시보드 경량화가 끝나고 나니까, The Basics도 눈에 잘 들어오지 않았다. 그래서 팀원분들과 대화를 하면서 환기를 하는 게 좋겠다고 생각했다. 마침 생성형 AI로 필요한 이미지를 만드는 강의를 진행해야 하는데, “필요한 이미지를 만들기 위한 키워드나 무드를 뽑아내는 과정”에 대해서 우리 팀의 디자이너 분에게 질문을 하고 싶었다. 원래는 어제 이야기하고 싶어서, 점심시간 중에 이쪽 이야기를 하자는 말도 했었는데, 쓱 지나가 버렸다.


생각난 김에, 필요한 일이니까, 디자이너 분과 대화를 해보게 되었다. 우리 팀에서 일하면서 프로젝트 별로 디자인이나 콘셉트를 생각해 낼 때 어떤 과정을 거치고, 어떤 생각을 하는지에 대해서 짧게 대화를 나눴다. ‘무드’라는 단어가 많이 나왔다. 우리가 하려고 하는 것을 짧게 정의하면서 키워드를 추출하고, 이 키워드를 통해서 전달할 ‘무드’를 고른다는 것이 핵심 골자였다. 여러 맥락이 쌓여서 뭔가 구슬에 궤가 끼워지긴 했다. 다만 이를 간략하게 정리하려면 시간이 좀 걸릴 것이다. 괜찮다. 이런 건 보통 멍 때릴 때 제일 신선하게 연결된다.


대화를 마친 이후로는 이제는 경량화된 웹 대시보드를 보게 될 ‘컨슈머’들인 담당자들의 니즈를 고려해서 웹 대시보드 속 내용들과 워딩들을 보기 좋게 간결화된 형태로 바꾸었다. 그 사람들 입장에서 무엇을 봐줬으면 좋겠는지 생각하면서 전체 내용을 시각화하는 과정을 다듬었고, 불편한 부분들을 몇 가지 간략화하는 과정을 거쳤다. 나름 뿌듯하게 완성을 했고, 현재 이 일에 대해서 조금만 알고 있는 팀원 분에게 이 대시보드를 공유했다. 내가 많이 설명하지 않아도, 이해를 잘하시는 걸 보고, 또 괜찮다는 긍정적인 답변을 받으면서 뿌듯함을 느꼈다. 내가 봐도 괜찮게 했어서 반응이 나쁘지는 않을 거라고 예상했는데, 예상보다 더 좋은 반응이 나왔다는 게 특히 더 뿌듯했던 것 같다.


그리고 공부를 했다. ‘웹 API 디자인’의 2.4절을 읽음으로써 2절을 마무리했다. API의 구조가 현재 컨슈머의 입장에서 나쁘다는 걸 확인하는 방법은 ‘provider’의 입장이 API 디자인에 그대로 반영된 경우라는 점으로 크게 요약이 되는데, 적절한 예시와 구성도가 있어서 이해가 잘 됐다. 2장을 마무리하면서는 API 디자인을 할 때, 어떤 파이프라인으로 진행하면 좋을지를 갈무리해 줬다. 이제 3장에서는 RESTful API의 개념과, 이를 실제로 만드는 과정을 다루게 될 텐데, 꽤 기대된다.

keyword