맨땅에 헤딩한다는 말이 있다. 아무것도 없는 상태에서 문제에 부딪히면서 결국 해결해낸다는 뜻이리라.

 

언젠가 유퀴즈였던 것으로 기억하는데, 한 출연자가 기업에서 받은 어려운 과제에 대해 바로 답을 내놓을 수 있는 이유는 미리 그 문제와 비슷한 문제에 대한 고민을 해봤기 때문이라고 말하는 장면이 기억난다. 결국 한번 해본 문제는 더 좋게, 잘 해결할 수 있다.

 

개발자들에게는 그러한 역량이 뭘까? 결국 직접 만들어본 경험이라 생각한다. 책으로 지식을 쌓고, 프로젝트를 통해 적용해 보면서 경험하는 것. 그로 인한 Lessons Learned를 얻는 것. 이 과정이 개발 지식을 제대로 소화하는 과정이 아닐까?

 

최근 제목에 '밑바닥부터' 또는 '직접 만들어보는'이 들어간 IT서적들이 보인다.  

특히 최근 주목받는 두 권이 있는데, 하나는 길벗에서 나온 <밑바닥부터 만들면서 배우는 LLM>, 또하나는 한빛미디어에서 나온 <밑바닥부터 시작하는 웹 브라우저>이다. 둘다 파이썬으로 LLM과 웹브라우저를 만든다.  밑바닥 시리즈는 딥러닝아닌가 싶긴 한데.. 여하튼 결국 개발자/엔지니어에게 학습 경험이란 뭔가를 따라하면서 만들어 보고, 그것을 수정하면서 고장냈다가 고쳐보고, 그 과정에서 전체적인 모델이 마음속에 그려지는 과정이지 않을까하는 생각이 들었다. 하긴 소프트웨어의 개발 풀 과정을 경험해 보기 위해 사이드 프로젝트를 하는 것 아닌가.

 

 

 

덤으로 에전에 트위터에서 봤던 직접 만들기 웹사이트도 찾아서 기록해 둔다.

레디스같은 키-밸류 캐시 만들기: https://www.build-redis-from-scratch.dev/en/introduction

 

Build Redis from scratch

How to Build an In-Memory Database like Redis from Scratch with Go

www.build-redis-from-scratch.dev

 

엇. 예전 알던 자신만의 레디스 만들기 사이트 갔더니, 레디스 뿐만 아니라 쉘, grep, 인터프리터, 토런트, 카프카, SQLite, HTTP 서버 만들기가 생겼다.추석때 해보자(추석때 해야할 게 너무 많구나....)

https://app.codecrafters.io/catalog

 

The Software Pro's Best Kept Secret.

Real-world proficiency projects designed for experienced engineers. Develop software craftsmanship by recreating popular devtools from scratch.

app.codecrafters.io

 

반응형

 

지난주 토요일(9월 20일) 코엑스에서 열린 <에듀테크 코리아 페어>에 다녀왔다.

작년에 이어 올해도 참석했는데, 이번엔 서비스 설계의 본질에 대한 두가지 중요한 통찰을 얻을 수 있었다.

 

첫번째, 뾰쪽함이란 무엇인가... 서비스의 차별성과 확장성 사이의 딜레마

생기부 자동 작성, 토픽별 문제 자동 출제, 답안지 자동채점, 영어 자동 읽기 등 에듀테크 기업들의 서비스가 대부분 비슷했다. 어쩌면 고만고만하다고 표현하는게 맞을지 모르겠다. 흥미로운 점은 각 서비스의 진화 과정이었다. 초기 버전에서는 각 서비스마다 명확한 차별점과 독자적인 철학이 있었는데, 시간이 지나면서 경쟁 서비스의 기능들이 하나둘씩 추가해 가면서 서비스간 경계가 모호해졌다. 기능 확장이라는 명목하에 서비스의 정체성이 희석되는 과정으로 보였다.

물론 이런 현상이 에듀테크만의 문제는 아니라고 본다. 시장의 요구와 경쟁 압력 속에서 초기의 뾰쪽한 가치 제안(Value Proposition)을 유지하는 것은 모든 서비스 기업이 직면하는 근본적인 도전 과제라는 생각이 들었다.

 

두번째, 현실적인 솔루션이란 무엇인가... 답은 현장에 있다.

학교 수업 과정을 인공 지능으로 생성해 주는 솔루션이 있었다. 주제만 입력하면 어떤 교구를 사용해서 수업을 진행해야 하는지에 대한 이상적인 수업 교안을 작성해 준다. 그러나 부산에서 올라오신 현직 선생님의 발표에서는 이러한 접근법의 한계를 명확히 보여주었다. 실제 교육 현장에서는  어떤 수업을 할 것인가보다는 활용가능한 교구로 무엇을 할 수 있는가가 선행되어야 한다는 것이다. 아무리 이상적인 교안이라 하더라도 현장의 제약조건(예산, 교구 보유 현황 등)을 고려하지 않으면 예쁜 실행 불가능한 계획일 뿐이다.

이는 마치  레시피 자동 추천 서비스가 사용자의 냉장고 재료를 확인하지 않은 채 한밤중에 한우 요리를 추천하는 것과 같다. 기술적 완성도도 중요하지만 사용자의 맥락(컨텍스트)를 우선 고려해야 진정한 문제 해결이 가능하다는 교훈을 얻었다. 답은 현장에 있다.

 

두 주제는 내가 일상 업무 속에서 서비스를 기획하고 개발할 때 늘 유념해야할 원칙이라는 생각이 들었다. 이 둘을 최소한 지키다 보면 성공적인 서비스를 만들 수 있지 않을까?

 

사족. 에듀테크 박람회였는데, 골든래빗 출판사와 길벗 출판사가 부스를 차리고 있어서 반가웠다. 골든래빗에서 클로드 책을 한권 샀다. 사두기만 했다. 아직 읽지 않고 있다. 언젠가는 읽겠지.

요즘 바이브 코딩

 

반응형

+ Recent posts