몇 년 만에 찾아온 평온한 크리스마스 이브. 이번 이브는 도서관에서 보냈다. 내심 좋은 인연을 만나, 함께 보내고 싶었지만, 올해도 어김없이 그러진 못했다. 내년에는 조금 달라질 수 있기를… 소망하며 글을 시작해보도록 하겠다.
눈도 펑펑오고 다들 감성에 젖어, 도서관에는 사람이 없을 것이라 생각했다. 눈이 와서 나도 도서관을 가지 말까? 많은 고민을 하다가 점심이 되서야 도서관에 도착했다. 하지만, 의외로 주말을 맞아 도서관을 찾은 사람들이 많았다. ‘크리스마스 이브’ 임에도 불구하고 마음의 양식을 쌓고자 도서관을 찾은 사람들 다시 한 번 존경한다.
보통 사람들은 연초에 계획을 시작하지만, 나는 조금 이른 11월부터 다음 한 해를 맞이하고자 계획을 실천해 옮기는 중이다. 그동안 학업으로 인해 잠시 중단했던 블로그 활동도 시작할 겸 1주에 1권씩 책을 읽고 있다.
2024년 12월 24일 일요일. 크리스마스 이브 날을 장식해줄 책으로는 ‘육각형 개발자’라는 책을 손에 들었다. “개발자가 되려면 어떠한 역량이 필요할까?” 전공을 가리지 않고, 개발자에 대한 관심이 높아진 이래 다들 한 번쯤 이러한 생각을 해보았을 것이다. 나도 물론 똑같았다. ‘개발자’가 되고 싶어, 편입도 하고 이제는 졸업을 앞둔 시기에서 “과연 개발자는 무엇이 필요할까?” 연말을 맞아 다시금 고민에 잠겼다. 사람마다 환경이 다르기에 이 책을 통해 모든 것을 충족할 순 없었다. 하지만, 이 책을 통해 어느 정도 방향성은 수립할 수 있었다고 자부할 수 있다.
본 책은 총 11장으로 구성되었다. 그에 비해 책의 두께는 얇아서 책과 거리가 있는 개발자분들도 거리낌 없이 읽을 수 있을 것이다. 책이 얇다고 하여, 내용이 부실한 것은 절대 아니다. 오히려 구구절절 내용만 잔뜩 써 놓은 다른 책에 비해 보다 양질의 글을 담고 있어 읽는 내내 미소가 내 입가에 머물었다.
‘주니어 개발자’에서 ‘시니어 개발자’로 넘어가는 약 3년 정도 경력을 가진 사람들을 대상으로 작성된 책이다보니 아직 개발자로서 온전한 경력이 없는 내가 읽기에는 모든 내용을 이해할 순 없었다. 따라서, 나의 글이 책의 모든 내용을 소화하진 못한 상태에서 작성하있음을 알아주길 바란다.
나는 이 책에서 1~2장, 4장, 9~11장 정도가 현재로서는 이해할 수 있는 레벨이었다.
‘1장 들어가며, 2장 구현 기술과 학습’에서는 현업에 종사하고 있는 개발자로서의 경험과 내가 관심을 두고 있는 ‘학습’에 대한 이야기를 중점적으로 다루고 있다. 특히 ‘주니어 개발자’ 에서 ‘시니어 개발자’가 되기 위해 갖추어야 하는 요소를 명확히 제시해주어 좋았다.
- 구현 기술
- 설계 역량
- 업무 관리와 요구 분석공유니즈 & 팔로우
‘실용주의 프로그래머’라는 책에 말을 인용하여 구현 기술 학습에는 끝이 없다. 계속해서 새로운 기술을 익혀야 함을 잊지 말라는 조언에는 적극 공감이 갔다. 이는 사실 내가 개발자가 되고자 생각한 계기 중 하나에 속했다. 일전에 군에 있을 때 어느 정도 연차가 차니, 늘 반복되는 일상에 지루함을 느낀 적이 있다. 이처럼 나는 배움뿐 만 아니라, 무언가 새로운 것에 대한 갈망을 가지고 있어 ‘개발자’의 길에 들어서게 되었다. 새로운 것을 도입하고 시도하는 것은 물론 좋지만, 저자는 본인의 경험을 기반으로 위험성도 함께 경고해주었다. 어떠한 기술을 도입할 때에는 아래와 같은 사항을 신경써야 한다고 한다.
- 신뢰 구축
- 함께할 동료
- 타당성
- 점진적 적용
- 시장 상황
결국 기술 도입은 사람이 하는 것이고, 이를 유지하는 것도 사람의 몫이므로 무작정 도입하는 것이 아니라, 여러가지 사항들을 점검하고 도입해야 한다는 사실을 깨달을 수 있었다.
‘4장 코드 이해’에서는 개발자(프로그래머)라면 필수로 하게 되는 코드 리뷰의 일환으로 코드 이해, 코드 변경에 대한 이야기를 다루고 있다. 신입으로 입사 하자마자, 혼자 프로젝트를 리드하는 경우는 거의 없을 것이다. 처음에는 다들 유지 보수 업무에 투입되어, 기존에 짜여진 코드를 분석하고 개선할 텐데 이때 도움이 될만한 내용이다. 컴퓨터 전공자라면 졸업작품 or 소프트웨어 공학 과목을 수강하면서 다들 해보았을 UML을 통해 코드 시각화가 코드를 이해하는 데 얼마나 도움이 되는 도구인 지 다시금 깨달을 수 있었다. 또한, 저자가 그 동안의 경험을 통해 코드를 A3 용지에 뽑아서 각각의 연결 관계를 표시하면 흐름을 파악하기 좋다는 팁도 얻어갈 수 있었다. 그리고 시중에 많은 UML 책들이 나와있지만, 그 중에서도 UML과 그래프 형식은 아래 책들을 살펴보면 좋다고 안내해주었다.
- UML DISTILLED
- 의존 그래프: 프로그래머의 뇌
- 이펙트 스케치: 레거시 코드 활용 전략
이 밖에도 이미 짜여진 코드를 이해하는 것도 중요하지만, 다른 사람이 이해할 수 있는 코드를 짜는 것도 중요하다고 강조했다.
- 켄트 백의 구현 패턴
- 클린 코드
‘9장 업무 관리, 10장 정리하고 공유하기, 11장 리더와 팔로워’에서는 ‘개발자’ 뿐만 아니라, ‘재직자’라면 더 좋은 팀원이 되기 위해, 더 좋은 리더가 되기 위해 필요한 역량에 대해 알려주고 있다.
그 첫번째로 업무 관리의 기본적인 맥락은 아래와 같다.
- 업무 나누기
- 위험 관리
- 요구 사항 이해 및 변경 대응
- 일정 관리(또는 계획)
하나씩 겪어보면 알게 되는 내용이지만, 하나하나가 정말 중요하고 반드시 챙겨야 하는 부분임을 다시금 짚고 넘어갈 수 있었다.
두 번째로 정리하고 공유하기에서는 글쓰기와 발표하기의 중요성이 가장 와 닿았다. 이 부분은 사실 이전부터 체감하고, 내 역량을 향상 시키고자 노력을 기울이고 있는 부분이다. 글쓰기와 발표의 공통점이라면 처음부터 잘하는 사람이 물론 있을 수 있지만, 못하던 사람도 계속 시도하다 보면 익숙해지고 더 나은 방향으로 성장할 수 있다는 점이다. 만약 당신이 이 글을 읽고 있는 대학생이라면 팀 프로젝트의 리더 혹은 발표자로 지원하라고 말해주고 싶다. 나 또한, 대중 앞에 서는 것이 두렵고 힘들었다. 하지만, 몇 차례 이겨내고 나니 극복할 수 있었고 지금은 그래도 남들이 알아주는 발표자이자 때로는 강사로도 활동할 수 있게 되었다.
세 번째로 리더와 팔로워에서는 문제해결 리더십이라는 내용이 가장 와 닿았다.
책 ‘테크니컬 리더’의 내용을 인용하여 MOI 모델을 소개하였는데, 아래와 같다.
- Motivation(동기부여)
- Organization(조직화)
- Idea◦Innovation(아이디어◦혁신)
결국 더 좋은 방법으로 무언가를 한다는 내용으로
- 문제 이해하기
- 아이디어 흐름 관리하기
- 품질 유지하기
풀어 나갔다. 이 부분을 통해 나는 그 동안 내가 업무를 하면서 느꼈던 갈증, 조금 더 일을 효율적으로 해보겠다는 그 마음가짐을 위의 내용과도 연결 시킬 수 있겠구나, 그리고 이를 통해 “한 단계 더 발전할 수 있겠구나” 라는 생각이 들었다. 이 밖에도 ‘테크니컬 리더’의 “자신의 교육은 스스로 책임진다”는 말을 통해 끊임없이 배우고 성장해야겠다는 느낌을 받았다.
중간에 소개된 ‘SCQA 프레임워크’
- Situation(상황)
- Complication(문제점)
- Question(의문점)
- Answer(해결)
을 통해서는 앞으로 일을 수행함에 있어, 이와 같은 형식을 지켜 업무 보고를 실시한다면 “조금 더 명확하겠구나”라는 깨달음을 얻을 수 있었다.
2020년이 올까? 라던 생각을 지나, 어느 덧 2023년의 끝자락에서 맞이한 크리스마스 이브.
오늘 읽었던 ‘육각형 개발자’ 라는 책을 총 정리하면 ‘클린 코드’와도 버금갈만큼 ‘주니어 개발자’라면 책장에 모셔두고 읽었으면 하는 책이라고 할 수 있겠다.
특히 책을 읽을수록 든 느낌은 저자가 개발자로서 역량도 출중하지만, 본 책을 위해 다양한 도서를 읽었다는 느낌을 많이 받았다. 본인의 생각만 서술하는 것이 아니라, 함께 읽으면 좋을 책들을 중간중간 소개해주어 독자로 하여금 생각의 깊이를 더하고, 영역을 확장하는데 큰 도움을 주었다.
다들 올 한해 잘 마무리하시길 바라며, 글을 마치도록 하겠다.
감사합니다.
'책으로 여는 세상' 카테고리의 다른 글
[책리뷰] 멘탈리티 (0) | 2024.01.07 |
---|---|
[책리뷰] 좋아 보이는 것들의 비밀 공간 디자인 (0) | 2023.12.31 |
[책리뷰] 사실 이것도 디자인입니다 (0) | 2023.12.17 |
[책리뷰] AI시대 직장인 생존법 (0) | 2023.12.10 |
[책리뷰] 우아한 타입스크립트 with 리액트 (2) | 2023.11.26 |