안녕하세요, 매일 이 소리 하는 것 같지만, 오랜만에 글을 쓰는 거 같아요.
드디어 두 번째 책에 대한 독후감을 씁니다.
이번에 읽어본 책은 <대체 뭐가 문제야>라는 제목을 가진 책인데요. 제목만 봐서는 무슨 내용을 다룰지 감이 안 오죠?
이번 책은 회사 VPE님께 추천 받았던 책입니다. 1on1 때 책 한 권 추천해주실 수 있냐고 여쭤봤더니, 존경하는 분의 책이라며 <대체 뭐가 문제야>라는 책을 추천해주셨는데요.
추천은 꽤 오래 전에(..) 받았었는데 드디어 다 읽고 독후감을 쓰고 있네요.
아무튼, 개인적으로는 재밌게 읽었습니다. 엔지니어링의 관점보다는 "문제를 해결한다"라는 관점에서 쓰여진 책이었는데요. 문제에 대한 접근을 좀 더 새롭게 해줘서, 기억 날 때마다 한 번씩 읽으면 그때그때 처해있는 상황에 따라 또 다르게 읽힐 것 같아요.
단순히 제시된 문제를 바라보는 것이 아니라, 그 문제의 본질은 무엇인지, 그 전에 문제란 뭔지, 문제를 해결하길 바라는 사람이 이 문제를 왜 문제라고 생각하는지, 누구의 문제인지, 그에 따라 우리는 어떻게 이 문제에 접근해야 하는지.
여러 생각에 들게 하는 책이었습니다. 지금까지 개발자로써 나는 어떻게 일을 해 왔는지 돌아보는 계기도 되는 것 같구요.
그냥 눈 앞에 있는 문제를 해결하기만 급급했던 것이 아닐까? 다른 접근 방법이 있었던 건 아닐까? 내가 내놓은 해결안은 정말 이 문제를 해결하는 방법이 맞았을까? 문제의 본질은 뭘까?
개발자들은 특히 모든 문제를 프로그램을 개발함으로써 해결하려 합니다. 저도 그렇고, 대부분의 개발자들이 그렇죠. 하지만 프로그램을 개발하는 것이 정말 빠른 방법일까요? 프로그램을 개발해야만 이 문제가 해결되는 걸까요?
물론, 개발자들은 소프트웨어로써 문제를 해결하는 사람이 맞습니다. 하지만, 더 적은 비용으로 문제를 해결할 수 있다면 더 좋겠죠.
회사에 계시던 시니어 개발자 한 분이 저한테 해 주신 말씀이 있습니다. 개인적으로는 정말 크게 마음에 와 닿았었는데요.
개발자가 코드를 작성하는 건 가장 마지막에 접근해야 할 방법이다.
코드를 작성하면 유지보수를 해야 합니다. 일회용으로 사용될 코드야 얼마든지 지지고 볶고 난리를 만들어놔도 문제가 없습니다. 하지만, 최근에는 정말 많은 노코드 툴이 존재하고, 코드를 작성하지 않더라도 어느 정도의 수준까지는 충분히 우리의 문제를 해결해줄 수 있습니다.
실제로 그 말씀을 해주신 시니어 개발자께서는 노코드, 로우코드 툴로 사내 도구를 만들어 많은 비효율적인 과정을 효율화시켰습니다. 물론, 코드도 당연히 잘 작성하십니다.
그러한 관점에서, 스스로에게, 그리고 이 글을 읽는 다른 개발자에게 하고 싶은 말은,
정말 코드를 작성하는 것이 문제를 해결하는 방법일까요?
그저 단순히 우리가 코드를 작성하고 싶은 게 아닐까요?
문제를 해결하는 사람들에게 추천하고 싶습니다.
실제로 이 책이 이러한 사람들을 대상으로 쓰여진 책이기도 하구요.
문제의 정확한 정의는 존재하지 않습니다.
그럼에도 우리는 계속해서 정확한 정의에 다가가려고 노력해야 합니다
책에서는 위와 같은 문장이 나옵니다. 이에 따라 우리가 해결해야 하는 문제를 우리는 정말로 제대로 보고 있는게 맞을지 계속해서 고민하고, 고민하며 문제의 정확한 정의에 다가가야 합니다.
그러면서 우리가 제시한 해결책이 정말 최선인지 고민해야 합니다. 이미 해결책이 결정되고 나서 다시 되돌리기에는 수많은 비용이 들어가거든요.
재밌게 읽었지만, 아직은 조금 난해하게 다가왔습니다.
매년 읽어보면 읽을 때마다 새로운 인사이트를 얻을 수 있을 것 같은데요. 그건.. 내년의 저에게 미뤄두도록 하겠습니다.
다음 책은 <켄트 벡의 Tidy First?>를 읽어보려 합니다. CTO님이 추천해주셨는데, 꽤 유명한 책이라 기대가 됩니다. 이 글은 언제 올라올지..
읽어주셔서 감사합니다!