프로그래밍 경영: 알고리즘
MZ아들이 사업이 고되다며 말을 걸어왔다.
그게 쉬운 게 아냐.
엄마도 긴 시간 쉬지 않고 하루하루 열심히 살았어.
그래도 성실하면... 기본은 해.
아들은 내 말을 단박에 잘라냈다.
“열심히만 하면 궁상이지—”
구... 궁상이라니??
못된 말에 모자라, 못된 말을 또 더한다.
"맞잖아. 최악의 무한루프.
조건도, 탈출도 없는 반복—
5년이 지나도 10년이 지나도 달라질 게 없는
버. 티. 기.
그건 시간을 팔아 돈을 버는 거지.
엄마가 없으면 사업도 다 스톱이고
직원들은 다른 직장을 찾아야 할 테지.
너무 이기적인 거 아냐?"
이야기가 이렇게 된다고?
그래서? 그럼 넌 어떻게 할 건데.
"재귀적 알고리즘으로 설계해야지."
그건 또 뭔데.
"엄마가 여러 역할을 도맡지 않아도
되는 구조를 만드는 거."
각 과정을 모듈화 시키면 독립적으로 굴러간다.
문제가 생기면 해당 모듈만 해결하면
전체가 해결되고, 또 서로 필요하면
호출해서 쓰면 그만이다.
아들이 한마디 덧붙인다.
"그래야 나중에 스케일업도 하지."
당시에는 논리가 맞는 문장으로만 이해했었다.
하지만 지금은 '재귀'의 유용성을 실감하고 있다.
우린 문제가 생기면 책임 모듈 중심으로
이전 데이터와 현재 데이터를 비교해 해결한다.
그러면 신기하게도, 자전거 체인이 다시 걸린 듯
전체가 다시 잘 굴러간다.
MZ의 말에는 정곡을 찌르는 직설이 있다.
못 되게 말하지만, 듣다 보면 틀린 말이 없다.
우리는 같은 목표를 향한 다른 문법을 사용했다.
내가 성실함을 무기로 '버티는 코드'를 짰다면,
아들의 시선은 효율적인 알고리즘으로 '굴러가는 코드'에 있었다.
Designed by Freepik