brunch

You can make anything
by writing

C.S.Lewis

by 안영회 습작 Sep 02. 2022

기능을 함수로 포착하고 맥락을 표현하기

도메인 모델링 세미나 17

김창준 님이 페북으로 스타트업의 개발자 채용에서 머니볼 전략 수행이라는 흥미로운 주제를 던졌다.

꽤나 공감하는 주제이고, 채용을 진행할 때 창준님이 제시하신 기각으로 전후에 훑어볼(일종의 walk-through 수행) 생각이 들었지만 당장 할 일은 아니다. 그래서 도메인 모델링 세미나에서 축구 영상을 촉매제로 해오던 사고(응용) 연습의 예시로 또 글을 써본다.


개발자 채용 함수라는 사고 모형

어떤 행동을 할 것인가라고 물을 때도 함수라는 (수학에서 차용한) 사고의 틀은 유용하다. 빠르게 대강 그려보면 이런 식이다.

컴퓨터 분야[1]에서 함수를 기능을 정의할 때 주로 쓴다. 스타트업의 기능으로 함수를 차용한다. 그렇다면 이름은 개발자 채용 함수가 된다.


함수의 맥락(context)

동료를 도와 Context에 대한 글을 여러 개 쓰고 있었다. 보편적인 맥락을 다루고 있었는데, 이렇게 함수로 한정해도 맥락을 인식할 수 있다.

창준님의 글에서 맥락의 핵심은 표현한 문구는 이렇다.

자본력이 부족한 스타트업에게 유용한 전략이다.

스타트업이라는 맥락이 지니는 특성은 자본력이 부족하다는 점이다. 주어진 자본력에 맞춰 선택과 집중을 해야 할 필요가 있다.


파라미터로 주어진 머니볼 전략

기능을 수행함에 있어 어떤 입력(제약)을 가할 것인가 하는 문제를 전략이라 할 수 있다. 앞서 함수의 입력 값으로 머니볼 전략을 대응시킨 이유다. 상징적으로 머니볼 전략이라 명명했지만 기능 수행을 위해서는 내용 즉 정의가 필요하다.

이때 핵심은 시장에서 중요하게 보는 변수이지만 성과 예측에 효과적이지 않다고 과학적으로 밝혀진 변수들에 대해서 너그럽게 보는 걸 넘어서서 해당 변수의 수치가 안 좋은 사람을 타기팅하는 거다.

이에 대해 조금 더 상세한 전략 수행의 힌트를 창준님이 연이어 제시한다. 명쾌하게 예시를 이용한 설명이다.

예컨대 개발자의 성과 예측에 도움이 안 되는 변수로 밝혀진 것 중 시장에서 overly-weighted 된 건: 출신학교, 경력연차/나이, 수행 프로젝트 개수, 최고 학위(학사/석사/박사 등), 자신감 수준 등이다. 머니볼 전략을 쓴다면 의도적으로 이 변수가 평균이거나 그 이하인 사람을 타깃으로 한다는 거다.


맺음말

창준님이 제시한 주제를 소재로 삼아 모델링에 필요한 사고 훈련을 즉흥적으로 썼다. 내 글을 계속 보던 분이 아니라면 헷갈릴 수도 있겠지만, 일단 영감을 받으실 소수라도 있길 바라며 쓴다.


주석

[1] 컴퓨터 공학, 컴퓨터 과학, 소프트웨어 공학 중에 뭘 써야 할지 몰라 위키피디아 정의를 볼 때 Computer Science라고 부르는 말의 어감이 적당하다는 생각에 약어인 CS로 하려다가, 이론이 아니라 현장 경험이 더 크기 때문에 포괄적으로 컴퓨터 분야라고 쓴다.


지난 도메인 모델링 세미나 연재

1. 도메인 모델링? 비즈니스 모델링 어떻게 하나요?

2. 도메인 모델링 활용의 기본 아이디어

3. 데이터 제품 접근방식과 그 표현

4. 아키텍처는 의사소통에 관한 문제라서?

5. 아주 이상적인 아키텍처

6. 모델 저장소의 의미와 구현

7. 리팩토링을 내장할 수 있다면?

8. Repository 의미 더 찾아 보기

9. 도메인 모델링에서 맥락은 왜 필요한가?

10. Repository 빌딩 블록에 대해 생각해보기

11. 맥락은 어떻게 표현할 것인가?

12. 경계 설정은 소프트웨어 설계의 핵심 활동

13. Context와 컴포넌트와 이상적인 아키텍처

14. Context와 그 시점 문제인지 여부

15. 개체(시스템)의 재설계와 경계의 변경

16. 도메인 모델링은 어떻게 하는가?


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari