[워밍업 클럽 스터디 2기::백엔드] 1주차 발자국
1주일간의 학습 회고
이번 한 주 동안 운이 좋게도 시간을 내어 강의를 모두 들을 수 있었다. 강의를 들으면서 강사님이 예제로 주신 프로젝트를 리팩토링하는 시간을 가졌고, 이를 어떻게 하면 더 효율적으로 리팩토링할 수 있을지 고민도 많이 했다.
나의 개발 철학: 누구나 이해할 수 있는 코드
내가 코드를 작성할 때 가장 중요하게 생각하는 점은 바로 누구나 이해할 수 있는 코드다. 아무리 정교하고 복잡한 로직이라도 나 외에 다른 사람들이 이해하지 못한다면, 코드 자체는 잘 작성했을지 모르지만 그 코드는 좋은 코드라고 할 수 없다.
개발자는 혼자 일하는 것이 아니라 여러 명과 협업하는 직업이다. 또한 코드는 끊임없이 변화하고 발전하는 유기체라고 생각한다. 그렇기에 모든 사람이 이해할 수 있고, 지속적으로 유지보수할 수 있는 코드가 좋은 코드라고 생각한다.
이번 주 학습에서 잘한 점
이번 주 학습에서 내가 스스로 잘했다고 생각한 부분은 기존에 알고 있던 개념들, 예를 들어 톰 롱의 좋은 코드 나쁜 코드, 켄트 백의 Tidy First, 로버트 C. 마틴의 클린 코드와 같은 책에서 배운 내용을 확장시켰다는 점이다. 또한, 내가 경험한 부분들을 도입해서 좀 더 깊이 있게 이해하려고 노력했다는 점이 좋았다.
아쉬웠던 점: 집중력 유지의 어려움
하지만 아쉬웠던 점도 있었다. 집중력 유지가 생각보다 쉽지 않았던 것이다. 외부적 요인이든 내부적 요인이든 컨디션에 따라 학습의 진도가 들쑥날쑥했다. 컨디션이 좋은 날은 많은 진도를 나갔지만, 좋지 않은 날은 적은 진도를 공부하게 됐다.
그럼에도 꾸준히 공부하고 성취를 이뤄냈다는 점은 매우 중요한 성과다. 이번 주에 목표했던 학습을 어느 정도 완료했고, 다가오는 한 주는 더 구체적인 목표를 세워 동료와 함께 학습 내용을 토론하며 우리 회사에 적용해 볼 계획이다.
실습과 이론이 어우러진 미션
이번 주차에는 두 가지 미션이 주어졌다. 하나는 구체라는 개념을 일상생활에 빗대어 설명하는 미션이었고, 다른 하나는 주어진 코드를 SOLID 원칙에 맞게 리팩토링하는 과제였다.
구체를 일상생활에 빗대어 설명하는 과제는 매우 흥미로웠다. 프로그래밍을 공부하다 보면 언어 자체가 번역투로 이루어져 있거나 어려운 용어가 많아 쉽게 이해하기 힘들 때가 많다. 하지만 일상생활에 비유해 설명하니 훨씬 쉽게 이해할 수 있었고, 동료들에게도 설명할 때 유용했다.
SOLID 원칙 과제에서는 내가 생각하는 중복 문제를 예시로 들고 설명했다. 이 과정에서 초등학생에게 설명한다는 가정하에 설명을 시도해 보았다. 초등학생도 이해하지 못한다면, 나 역시 완전히 이해하지 못한 것이기 때문이다. 이는 전문가는 어려운 개념을 쉽게 설명할 수 있지만, 사기꾼은 쉬운 개념을 어렵게 설명한다는 유명한 말과 일맥상통한다.
회사 팀원들과의 협업
이번 스터디는 회사 팀원들과 함께 진행하고 있는데, 팀원들과 함께 성장할 수 있는 좋은 기회가 되고 있다. 강의 내용도 매우 만족스러웠고, 팀원들의 반응도 긍정적이다.
누군가 이 강의를 추천하냐고 물어봤을 때, 나는 이렇게 대답했다. “클린 코드 책 읽어보셨나요? 읽으셨다면 좋은 강의고, 안 읽으셨다면 꼭 들어야 할 강의에요.” 클린 코드는 한 사람의 의견만이 정답은 아니라고 생각한다. 여러 사람의 이야기와 경험이 모여야 비로소 읽기 좋은 코드가 완성된다고 본다.
댓글을 작성해보세요.