티스토리 뷰
왜 지금 '취향'을 이야기해야 할까?
개발자나 디자이너로 일하다 보면 누구나 한 번쯤 이런 고민에 빠집니다. "내가 만든 게 정말 좋은 건가?" "왜 어떤 코드는 아름답고, 어떤 건 그렇지 않을까?"
2002년, Y Combinator의 창업자 폴 그레이엄은 이 본질적인 질문에 대한 답을 내놓았습니다. 20년이 넘은 글이지만, 오늘날 프론트엔드 개발자로 일하는 저에게도 여전히 강력한 메시지를 전달합니다.
취향은 타고나는 것일까, 만들어지는 것일까?
폴 그레이엄의 핵심 주장은 명확합니다. 좋은 취향은 학습 가능하며, 연습을 통해 발전시킬 수 있다는 것입니다.
저는 실제로 이를 경험했습니다. 3년 전 주니어 개발자 시절, 제 코드는 '작동하기만 하면 됐습니다'. 변수명은 temp1, temp2로 도배되어 있었고, 함수는 100줄이 넘어가기 일쑤였죠. 하지만 오픈소스 프로젝트에 참여하면서, 그리고 훌륭한 시니어 개발자들의 코드를 읽으면서 제 '코드 취향'은 완전히 달라졌습니다.
좋은 디자인의 특징들
그레이엄은 좋은 디자인이 가진 몇 가지 보편적 특성을 제시합니다:
1. 단순함(Simplicity) - 복잡한 문제를 단순하게 해결하는 것이야말로 진정한 실력입니다 - React의 Hooks API를 떠올려보세요. 클래스 컴포넌트의 복잡함을 얼마나 우아하게 단순화했는지!
2. 시대를 초월함(Timelessness) - 유행을 따르는 것과 본질을 담는 것은 다릅니다 - jQuery는 사라졌지만, "DOM 조작을 쉽게"라는 철학은 현대 프레임워크에도 살아있습니다
3. 문제 해결에 집중 - 기술을 위한 기술이 아닌, 실제 사용자 문제를 해결하는 디자인 - 제가 최근 작업한 프로젝트에서, 멋진 애니메이션을 모두 제거하고 로딩 속도를 개선했더니 사용자 만족도가 30% 올랐습니다
실전 팁: 개발자의 취향 키우기
📚 매일 15분, 좋은 코드 읽기
GitHub에서 스타가 많은 프로젝트를 찾아 코드를 읽어보세요. 단순히 읽는 게 아니라: - "왜 이렇게 구조를 잡았을까?" - "내가 했다면 어떻게 했을까?" 라고 스스로 질문하는 습관을 들이세요.
// 나쁜 예: 의도가 불명확한 코드
function process(data: any) {
const result = [];
for (let i = 0; i < data.length; i++) {
if (data[i].status === 1) {
result.push(data[i]);
}
}
return result;
}
// 좋은 예: 의도가 명확한 코드
function filterActiveUsers(users: User[]): User[] {
return users.filter(user => user.isActive);
}
🎨 제약 속에서 창조하기
제한된 환경이 오히려 창의성을 높입니다. 저는 개인 프로젝트를 할 때 의도적으로 제약을 걸곤 합니다: - "라이브러리 3개 이하로만 개발하기" - "번들 사이즈 100KB 이하로 유지하기"
이런 제약이 코드 품질을 더 높이더군요.
🔄 리팩토링은 취향을 키우는 체육관
같은 기능을 구현하는 코드를 3가지 방식으로 작성해보세요. 각각의 장단점을 비교하면서 '왜 이 방식이 더 나은가?'를 고민하는 과정이 취향을 만듭니다.
커뮤니티는 뭐라고 할까?
폴 그레이엄의 이 에세이는 실리콘밸리 개발자들 사이에서 고전으로 자리잡았습니다. 특히:
- "취향은 결국 경험의 축적"이라는 의견이 지배적입니다
- 많은 시니어 개발자들이 "초기에는 작동하는 코드를, 이후에는 아름다운 코드를 추구하게 된다"는 개인적 경험을 공유합니다
- 일부는 "과도한 완벽주의는 독"이라며 균형의 필요성을 강조하기도 합니다
개발자에게 취향이란 무엇인가
5년 차 개발자로서 제가 내린 결론은 이렇습니다: 취향은 곧 판단력입니다.
언제 추상화해야 하고, 언제는 구체적으로 가야 하는지. 언제 새 라이브러리를 도입하고, 언제는 직접 구현해야 하는지. 이런 판단을 내리는 능력이 바로 취향입니다.
그리고 이 취향은: - 수많은 실패를 통해 - 다른 사람의 코드를 읽으며 - 끊임없이 '왜?'라고 질문하며 발전합니다.
폴 그레이엄의 20년 전 통찰이 2025년에도 유효한 이유는 명확합니다. 기술은 변해도 좋은 것을 판별하는 능력의 본질은 변하지 않기 때문입니다.
오늘부터 여러분의 코드, 디자인, 그리고 창작물을 바라보는 눈을 조금씩 키워보세요. 당장은 변화가 미미해 보여도, 1년 후 여러분은 완전히 다른 차원의 창작자가 되어 있을 것입니다.
원문 링크: Original Source
이 글이 도움이 되셨다면, 여러분만의 '취향 키우기' 경험을 댓글로 공유해주세요!