Search

심플 소프트웨어 - 맥스 카넷 알렉산더

published
2022/02/05
pinned
subtitle
나는 개발자로서 잘하고 있을까?
장르
교양
개발
author
맥스 카넷 알렉산더
출처: yes24

“나는 개발자로서 잘하고 있을까?”

우리는 왜 애플의 디자인을 아름답다고 느끼는 걸까요? 애플의 디자인이 가진 단순성(Simplicity)은 군더더기 없으면서도 애플이라는 브랜드에 대한 본질을 잘 나타내기 때문이라고 생각합니다.
단순해지기까지는 필요 없는 것을 덜어내고 또 덜어내야 하기 때문에 본질이 무엇인지 생각해야 하고 어떻게 해야 깔끔하게 표현할 수 있을까 고민해야 합니다. 따라서 단순성의 결과물은 복잡성보다 간단해 보이지만 단순함이 나오기까지의 과정은 복잡성보다 더 많은 사고력을 요구합니다.
코드의 단순성을 유지하는 것도 이와 마찬가지입니다. 문제가 생겼을 때 편법으로 덕테이핑한 코드는 임시방편으로 빠르게 문제를 해결할 수 있지만 기존 코드의 복잡성을 증가시키고 가독성을 떨어뜨리고 유지보수를 어렵게 만듭니다. 반대로 단순한 코드를 짜기 위해서는 초반에 시간은 걸리지만 소프트웨어의 가독성, 안정성, 유지보수성을 높입니다. 그렇다면 코드의 단순성을 유지하기 위해서는 어떻게 해야할까요? 오늘 소개해 드릴 책은 ‘심플 소프트웨어`라는 책입니다.
소프트웨어 엔지니어로서의 자세, 능력자 프로그래머의 특징, 심플한 소프트웨어를 설계하기 위해 해야 할 고민, 디버깅, 테스트, 엔지니어 팀에서 일하는 방법 등 좋은 개발자가 되기 위한 바른길을 제시해줍니다.
심플한 소프트웨어는 심플한 디자인만큼이나 깔끔하면서도 제 기능을 확실히 해냅니다. 코드의 가독성, 단순성을 유지하면서 안정성, 유지보수성을 높입니다. 하지만 쉽지 않죠. 책을 읽다 보면 나는 개발자가 아니라 스파게티 요리사였구나 라는 생각이 듭니다.
혼자서 일하거나, 주변의 피드백을 받기 어려운 상황에서 ‘나는 개발자로서 잘하고 있을까?’, ‘내가 좋은 코드를 작성하고 있는 걸까?’라는 의구심이 들 때 읽어보면 좋은 책입니다. ‘역시 나는 잘하고 있어!’가 아닌 ‘아 역시 나는 멀었구나`라는 생각이 들게 하면서 자신을 더욱 채찍질, 아니 동기 부여할 수 있습니다.
아주 자세한 설명은 없지만 좋은 프로그래머가 되기 위한 마음가짐과 사고방식, 프로그래밍 방법론에 대해 배울 수 있습니다. 각 챕터마다 내용도 짧아서 자투리 시간에 짬짬이 읽기 좋습니다.