메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

육각형 개발자

시니어 개발자로 성장하기 위한 10가지 핵심 역량

한빛미디어

집필서

판매중

  • 저자 : 최범균
  • 출간 : 2023-07-22
  • 페이지 : 276 쪽
  • ISBN : 9791169211239
  • 물류코드 :11123
  • 초급 초중급 중급 중고급 고급
4.9점 (41명)
좋아요 : 4

육각형 개발자가 좋은 개발자다!

 

스포츠계에서 각종 능력치가 고루 균등한 선수를 육각형 선수라고 부른다. 이 책의 제목이기도 한 육각형 개발자는 다양한 역량을 고루 갖춘 개발자라는 의미이다. 건강한 몸을 갖기 위해 여러 가지 영양소가 필요한 것처럼 좋은 개발자가 되려면 구현 기술 외에도 여러 역량을 키워야 한다. 모든 역량을 다 잘하기는 어렵지만 골고루 발전시킬 수는 있다. 이 책에 담긴 개발자 필수 역량을 살펴보면서 좋은 개발자로 성장하는 데 필요한 인사이트를 얻을 수 있을 것이다.

최범균 저자

최범균

코딩하는 걸 좋아하고 나이 들어서도 코딩하고 싶은 개발자다. 좋은 책과 글을 쓰고 싶어 하며 유튜브나 SNS로 개발 관련 이야기를 나누고 있다.

 

 

 

 

1장 들어가며

실패

3년 차

개발이란

개발에 필요한 것

 

2장 구현 기술과 학습

구현 기술

학습 대상

기술 파기

학습 전략

유행에 상관없는 구현 기술

구현 기술 적용

주의할 점

 

3장 소프트웨어 가치와 비용

소프트웨어 가치

개발 비용

유지보수 비용을 낮추려면

 

4장 코드 이해

코드 변경

코드 이해 도구

이해하기 좋은 코드

 

5장 응집도와 결합도

응집도

결합도

 

6장 리팩터링

수정 공포와 변경 비용

리팩터링

리팩터링 vs 새로 만들기

 

7장 테스트

테스트 코드

테스트 가능성

리팩터링을 위한 테스트 작성하기

 

8장 아키텍처·패턴

아키텍처 고민하기

패턴 익히기

 

9장 업무 관리

처음부터 끝까지

업무 나누기

완료의 의미

위험 관리

요구 사항은 바뀐다

일정

점진적·반복적 개발

안 된다고 말하기, 대안 제시하기

수작업 줄이기

이유와 목적 생각하기

 

10장 정리하고 공유하기

글로 정리해서 공유하기

마인드맵 사용

발표하기

외래어 남용하지 않기

글쓰기와 발표가 주는 효과

 

11장 리더와 팔로워

리더 연습하기

팔로워

겸손·존중·신뢰

 

맺음말

좋은 시니어 개발자로 성장하기 위한 주니어 개발자 시야 넓히기

 

이 책은 좋은 시니어 개발자가 되길 원하는 주니어 또는 중니어 개발자를 대상으로 한다.

 

★ 이 책에서 다루는 내용

  • 효율적으로 구현 기술을 적용하고 학습하는 방법
  • 소프트웨어 가치를 이해하고 유지보수 비용을 낮추는 방법
  • 이해하기 좋은 코드를 작성하는 법
  • 높은 응집도 + 낮은 결합도 원칙으로 설계하는 방법
  • 변경 비용을 낮추는 기본적인 리팩터링 기법 
  • 테스트 코드의 중요성·자동화된 테스트와 TDD의 필요성
  • 아키텍처의 중요성과 패턴의 유용함
  • 업무 전반을 관리하기 위해 필요한 사항
  • 협업과 소통을 위한 글쓰기와 시각화·지식 공유의 가치
  • 리더와 팔로워의 역할 이해

 

★ 이 책의 구성

1장 들어가며

개발 시야를 넓히게 된 배경을 설명하고 개발의 범주와 개발을 잘하기 위해 필요한 것을 정리한다.

  • 실패 이야기
  • 개발이란
  • 개발에 필요한 것

 

2장 구현 기술과 학습

개발자가 갖춰야 할 가장 기본적인 역량인 구현 기술을 다룬다. 학습해야 할 구현 기술을 어떻게 정하고 어떻게 익히는지를 설명한다. 그리고 구현 기술을 적용할 때 고려해야 하는 내용과 주의할 점을 살펴본다.

  • 구현 기술·학습 대상·학습 전략
  • 구현 기술 적용하기
  • 주의할 점

 

3장 소프트웨어 가치와 비용

코드 품질과 개발 시간의 관계를 살펴보면서 소프트웨어 가치를 안정적으로 유지하기 위해 비용적 측면에서 고려해야 할 내용이 무엇인지 알아본다.

  • 소프트웨어 가치
  • 개발 비용
  • 유지보수 비용을 낮추려면

 

4장 코드 이해

코드를 이해하는 역량을 높이면 효율적으로 유지보수할 수 있고 개발 시간을 줄일 수 있다. 코드를 분석하는 데 도움을 주는 도구를 살펴보고, 이해하기 좋은 코드를 작성하기 위한 기법을 알아본다.

  • 코드 이해 도구
  • 이해하기 좋은 코드

 

5장 응집도와 결합도

변경에 유연한 구조를 만들기 위해 어떻게 응집도를 높이고 결합도를 낮추는지를 살펴본다.

  • 응집도
  • 결합도

 

6장 리팩터링

리팩터링은 기능은 그대로 유지하면서 코드 품질을 높이는 방법이다. 이해하기 쉽고 수월하게 변경할 수 있는 코드로 바꾸는 기본적인 리팩터링 기법을 살펴본다.

  • 레거시와 수정 공포
  • 기초 리팩터링 기법

 

7장 테스트

리팩터링한 다음 동작을 확인하려면 테스트 코드로 테스트해야 한다. 테스트 코드가 왜 중요한지와 자동화된 테스트의 장점을 설명한다. 그리고 테스트 코드를 먼저 작성하는 테스트 주도 개발에 대해 살펴보고 개발 생산성과 설계 품질을 높이기 위해 어떻게 테스트 가능성을 높일 수 있는지 알아본다.

  • 테스트 코드
  • 테스트 가능성
  • 리팩터링을 위한 테스트 작성하기

 

8장 아키텍처·패턴

능력 있는 시니어 개발자가 되기 위해서는 아키텍처 설계 역량을 키워야 한다. 아키텍처가 왜 중요한지 알아보고 패턴의 유용함에 대해 살펴본다.

  • 아키텍처가 중요한 이유
  • 패턴 익히기

 

9장 업무 관리

어느 정도 경력이 쌓이면 업무 관리 역량을 갖춰야 한다. 업무를 잘 관리하기 위해 필요한 사항인 업무 나누기, 위험 관리, 요구 사항 이해 및 변경 대응, 일정 관리에 대해 알아본다. 그리고 좋은 결과물을 만들기 위한 점진적·반복적 개발 방법을 설명하고 업무 효율을 높이기 위한 팁을 제시한다.

  • 업무 나누기
  • 위험 관리
  • 요구 사항
  • 점진적·반복적 개발
  • 수작업 줄이기
  • 이유와 목적

 

10장 정리하고 공유하기

원활하게 소통하기 위해 글쓰기와 발표 역량을 키워야 한다. 모호하지 않고 정확하게 글로 표현하는 방법과 발표 역량을 어떻게 키울 수 있는지 살펴본다.

  • 글로 정리해서 공유하기
  • 발표하기

 

11장 리더와 팔로워

협업을 위한 리더와 팔로워의 역할에 대해 알아본다. 

  • 리더 연습하기
  • 팔로워십

사회 생활을 처음 시작하면 가장 힘든 것은 내가 잘하고 있는지, 아닌지 알 수 없다는 점이다. 옆에서 가르쳐주고 이끌어줄 수 있는 사수가 있다면 조언과 피드백을 받을 수 있겠지만 내 경우는 그렇지 못했다. 이번에 읽은 한빛미디어의 책은 <육각형 개발자>다. 나는 코딩을 하는 개발자는 아니지만 이 책에서 말하는 개발자들과 일해보기도 했고, 일의 흐름은 같기 대문에 많은 부분 공감을 할 수 있었고, 내가 주니어 시절에 이 책을 읽었다면 일을 하면서 조금 덜 스트레스를 받았을 것 같다.

 

책 <육각형 개발자>는 제목 그대로 개발자가 하나의 영역이 아닌 개발 전반에 걸쳐 시야를 넓히고 성장할 수 있는 방법을 본인의 경험을 기반으로 설명한다. <육각형 개발자>는 11개의 장으로 구성되어 있는데 첫 번째 장의 인트로를 제외한다면 각 장에서 주니어 개발자가 알아두어야 할, 필요한 정보들을 주제별로 이야기를 한다.

 

그 중에 내게도 좋았던, 인상 깊었던 장들을 몇 가지 소개를 하고자 한다.

 

2장 구현 기술과 학습

 

프로그래밍을 비롯하여 프레임워크, 플랫폼, 운영체제 등 개발자가 배워야 할 구현 기술이 무엇이고, 그 중 무엇을 배워야 할 지, 어떻게 배우면 좋을지 본인의 경험에 빗대어 설명한다. 단순히 배우는 것은 누구나 할 수 있지만 저자가 선배로서 효율적인 학습전략을 제시하여 수 많은 기술들 중 무엇을 어떻게 취해야 할 지 이야기한다.

 

4장 코드 이해

 

개발자는 보통 기능 변경이나 구현을 위해 기존 코드를 보는데 개발 시간의 60% 정도를 할애한다고 한다. 개발 시간을 줄이기 위해선 코드를 이해하는 시간을 줄이는 것이 효율적인 방법인데, 그러기 위해선 1) 코드를 제대로 이해하는 능력, 2) 이해하기 쉬운 코드를 작성하는 능력이 필요하다. 

 

이를 위해 코드 시각화 도구인 다이어그램이나 함께 모여 보기, 이해하기 쉬운 코드를 작성하는 추상화 수준을 맞추거나 변수를 줄이는 등의 팁을 다룬다.

 

6장 리팩터링

 

오랜 시간 라이브 중인 서비스를 담당 중이라 공감이 많이 갔는데, 레거시에 대한 정의와 어떻게 받아들여야 하는지, 그리고 리팩터링을 할 때 어떤 점들을 주의해야 하는지 이야기를 하면서 클래스 추출, 클래스 분리, 파라미터값 정리와 같은 본인이 알고 있는 팁들을 다루고 있다.

 

9장부터는 프로그래밍 뿐만 아니라 회사에서 일을 하면서 누구에게나 적용될 수 있는 마인드셋과 노하우들을 다루고 있다. 9장은 업무 관리고, 10장은 정리하고 공유하기, 11장은 리더와 팔로워다. 

 

흔히 개발자라고 하면 코딩만 하는 것을 상상할 수 있는데, 어쨌든 혼자 일을 하지 않는 이상 큰 궤는 회사에서 일하는 일반적인 근로자와 같다. 본인에게 주어진 업무를 적당한 스케줄로 구성할 줄 알아야 하고, 중간중간 변경되는 요구사항도 유연하게 대응할 수 있어야 한다. 또한 동료나 상사에게 업무 내용을 공유, 보고할 수 있도록 페이퍼워크도 요구된다. 어느 정도 경력이 차면 팀장과 같은 관리자가 아니더라도 주니어를 관리해야하는 상황이 생기는데 이건 혼자 잘하는 것과는 또 다른 영역이다. 각각의 내용에 대해 세밀하진 않지만 책의 취지 자체가 육각형 개발자가 되기위해 전반적으로 뭘 해야 하는지 알려주는 것이라 무엇을 알아야하는지에 대해선 충분히 설명이 될 듯 싶다.

 

코딩을 하는 개발자는 아니지만, 같은 업계에서 일하는 입장에서 알아두면 좋고, 배워두면 좋을 내용들로 구성된 책이었다. 그들이 무엇을 고민하고 있는지, 해야 하는지 알게된다면 주니어 기획자 입장에서도 큰 도움이 되리라 생각한다.

KakaoTalk_20230829_002021670.jpg

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

시니어 개발자로 성장하기위해 주니어 혹은 시니어는 아니지만 주니어도 아닌 '중니어' 개발자 

대상으로 저자가 작성한 책입니다.

 

저 또한 '개발만 하며 살고싶다' = '코딩만 하며 살고싶다' 는 의미로 생각을 많이 했었는데

세월이 지나고 이 책을 읽으면서 저자분이 말씀하시는 '개발' 이라는 행위가 코딩 뿐 아니라 

많은 활동이 개발 범주에 속한다는 것을 깨달아 공감이 많이 되었습니다.

 

그러면서.. 자신이 얻은 지식을 나누거나 타인을 위해 가독성이 좋은 코드를 작성하고싶거나

뭐가 뭔지는 모르지만 아키텍처 설계를 잘 하고 싶다거나 하는 책 속의 내용들도 지향하게 되었습니다.

 

하지만 살면서 이런 생각의 방향이 일치하는 개발자를 만난다는 것 또한 행운이 아닐까 싶습니다.

 

제 주변에 한정된 얘기지만 주변 사람들은 코딩이라는 행위만으로 개발을 바라보고 팀이나 집단으로 

일하기 보다는 개인이 잘하고자하며 문서나 지식공유, 테스트 에 대해서는 상당히 비관적인 시선이 많았습니다.

 

완전히 이해가 안되는 것도 아닌게 개발해나가야하는 업무량이 많다보니 이를 위한 테스트코드를 작성하는 것,

새로운 기능을 설명하고 보기좋게 정리하는 문서화 같은 일은 쓸데없거나 개발자가 할 일이 

아니라고 현실이 생각을 지배하는 광경도 목격했습니다.

 

그렇다고해서 제가 시니어 개발자도 아니지만 저자분이 설명하시는 개발자가 갖추고 나아가야할

좋은 길잡이라는 생각이 들어 많은 분들이 읽으셨으면 좋겠습니다.

 

육각형 개발자 책 표지


육각형 개발자

  최범균 지음

  [ https://www.youtube.com/@madvirus , https://javacan.tistory.com ]

 

이 책은 저자의 경험을 기반으로 구성된 책입니다.

책 표지에서의 육각형 역량표의 각 항목을 기반으로 책의 부제 처럼 "시니어 개발자로 성장하기 위한 10가지 핵심 역량"에 대해서 저자의 경험을 기반으로 재미있게 얘기해주듯 서술하고 있습니다.


 

이 책은 총 11개의 장으로 구성되어 있습니다.

1장, 들어가며

  저자가 개발자로서 시작하게 되면서 처음 격었던 프로젝트의 실패 경험 및 프로젝트를 완료한 경험등을 토대로

  개발이란 무엇인지 그리고 개발에 필요한 것은 무엇인지를 얘기하고 있습니다.


2장, 구현 기술과 학습

  구현 기술의 중요성과 능숙하게 다루어야 하는 이유와 효율적으로 기술을 학습하고 구현 기술 적용 및

  기술 적용시 주의할 점에 대해서 서술하고 있습니다.

  학습 전략에 대한 정리와, 유행에 민감한 기술과 그렇지 않은 기술에 대해 얘기하는 부분은 처음 시작하거나

  초급 엔지니어 분들이 자신이 하고자 하는 분야 또는 하고자 하는 방향을 정리할 때 한번 즈음 읽어 보면

  좋을 것 같습니다.

  주의할 점은 저자가 선배로써 후배에게 얘기하고자 하는 내용들로 채워져 있습니다.

  기술에 대한것 팀 프로젝트를 위한 것... 그리고 구현 기술에만 선을 두지 않기를 바라는 마음으로 ....


3장, 소프트웨어 가치와 비용

  소프트웨어 가치, 개발 비용, 유지보수 비용을 낮추려면 이 3가지 섹션으로 구성되어 있는데, 사실상 처음 시작하거나

  개발팀 팀원으로 소속되어 있다면 굳이 생각할 필요는 없는 내용일 수 있습니다.

  하지만, 시니어 개발자로 이어지려면 필요한 내용들이기에 읽어 보고 자신이 소속된 프로젝트에 접목 시켜서

  나름 정리해보면 좋을 것 같습니다.


4장, 코드 이해

  이 장에서는 기존에 이미 구현되어 있는 코드를 좀 더 효율적으로 접근 할 수 있는 방향에 대해 저자의 경험을 바탕으로

  설명하고, 좋은 코드 / 읽기 좋은 코드에 대해 얘기하고 있습니다.

  저자가 얘기하는 방법이나 방식 이외에도 여러가지가 있을 것이지만 코드 분석이나 좋읕 코드 등에 대해서 이전에

  생각해 본적이 없다면 저자가 얘기하는 방법에 대해 우선 고려 하면서 관련하여 여러 코드나 여러 자료들을 보면서

  자신의 코딩 기술에 대해 레벨업 할 수 있을 것 같습니다.


5장, 응집도와 결합도

  응집도, 결합도 관련은 설계, 패턴, 아키텍처 등과 관련된 용어라고 합니다.

  응집도란 ? 

  결합도란 ?

 개발에서 응집도와 결합도라는 용어는 설계 등을 공부해보지 않았으면 쉽게 접할 수 있는 용어는 아닌것 같습니다.

 결합도가 높고 응집도가 높은 코드를 작성하는것도 쉽지는 않을 것 같습니다.

 장 초입에도 저자가 얘기하는 것 처럼 적은 장에서 모든 내용을 담기도 어렵지만, 의미상 추상적인 부분들도

 가지고 있기에 저자의 설명 및 예제를 학습 하면서 응집도와 결합도가 어떠한 것이고 아 이런 것이구나라는 감을

 이 책을 통하여 잡을 수 있을 것 같습니다.


6장, 리팩터링

 예제를 통하여 리팩터링이 어떠한 것인지 학습하고,

 리팩터링이 좋을지 새로 만드는게 좋을지 상황에 따라 고민이 필요한 부분인데,

 저자가 꼭 기억했으면 좋겠다는 ...

   "새로 만든다고 코드가 좋아진다는 법은 없다. 좋은 코드를 만드는 방법을 알아야 코드 품질이 좋아진다."

 이 부분은 정말 꼭 기억해야할 저자의 메시지인 것 같습니다. 


7장, 테스트

  테스트 주도 개발과 설계가 어떠한 것인지,

  그리고 예제를 통한 테스트 코드 및 테스트 방법 등에 대해서 학습할 수 있습니다.


8장, 아키택처*패턴

  이 장 또한 일반적으로 팀원 개발자로써는 크게 신경쓰지 않는 부분들일 것입니다.

  하지만, 시니어 개발자로 가기 위해서는 필수 인 것 같습니다.

  그리고, 많은 경험 (직/간접 ...)이 필요한 부분이기도 합니다.

  시스템에 맞는 아키택처와 패턴의 선정 또는 구성이 좋은 품질의 결과물을 가져올 수 있기에

  많이 고민하고 학습해야할 부분인 것 같습니다.


9장, 업무관리

  프로젝트 메니저 또는 프로젝트 리더로서 필요한 부분 입니다.

  저자는 자신의 경험을 바탕으로 실제 필요한 부분들 위주로 얘기해주고 있습니다.

  이미 프로젝트 리더로써 담당하고 있더라도 저자가 얘기하는 내용들을 읽어 보면 많은 도움이 될 것 같습니다.


10장, 정리하고 공유하기

  개발자들이 특히나 싫어하는 부분이 문서화 하는 것일 듯 합니다.

  많은 시간이 소요되고 그리고 표현하는 부분에서 익숙하지 않다면 쉽지 않은 부분입니다.

  그런 문서 작성 초보 개발자 또는 리더를 위해 글쓰기에 도움되는 팁과 글쓰기를 익히는데 도움이 되는

  책을 소개해 주고 있습니다.


11장, 리더와 팔로워

  리더와 팔로워....

   "우리 모두가 리더이면서 동시에 팔로워이기에 두 역할을 이해하고 연습해야 한다."

  리더로써 알아야할 부분들 그리고 팔로워로써 필요한 것 그리고 리더와 팔로워와의 관계 등에 대해

  저자의 경험을 기반으로 얘기하고 있습니다.

 

[ 결론 ]

시작하는 개발자 및 리더로 올라가고 있는 중급 개발자들을 위해 저자는 자신이 걸어간 그리고 걸어가고 있는 길에서 경험을 바탕으로 조금이나마 시작하는 개발자 또는 초/중급 개발자들이 돌아가지 않고 걸어갈 수 있도록 필요한 기술 및 알면 좋은 내용들을 얘기 하듯이 서술하고 있습니다.

책 제목처럼 시니어 개발자로 성장하기 위한 10가지 핵심 역량에 대해 저자의 여러 경험과 여러 예제를 통해 얘기하고 있는데 각각에 대해서 이 책을 통하여 어떤 역량이 필요한지 감을 잡은 후 더 필요하다 생각하는 부분 또는 좀 더 학습해보고 싶은 부분들 위주로 공부해보면 좋을 것 같습니다.

주니어 개발자가 필독서 "육각형 개발자"

 

 

육각형개발자.jpg

 

 

 

 

 

 

"육각형개발자"

 

저자가 개발자 길을 걸으면서 경험했던 노하우를 공유한 책이다.

저자가 생각한 개발이란?

개발업무를 처음할때는 "구현 기술을 사용해서 코드를 작성하는 것"으로 생각했다.

 

하지만 실무 개발 업무 경험하면서 생각의 폭이 넓어졌다.

 

" 고객의 요구를 파악하고 원하는 것을 충족하는 기능을 만드는게 개발이다."

 

 

 

" 저자의  경험 노하우 공유 "

 

책 내용을 보면 경험을 바탕으로 주니어 개발자에게 전달 하고 싶은 내용을 상세하게 적혀 있다.  

또한 책 내용안에 간단 간단한 저자의 경험담이 적혀 있어 주니어 개발자에게는 너무 좋은 팁이다. 

육각형개발자1.jpg

[ 출처 책 내용 일부 ]

 

 

 

육각형 개발자에서 다루는 내용은

 

  • 효율적으로 구현 기술을 적용하고 학습하는 방법
  • 소프트웨어 가치를 이해하고 유지보수 비용을 낮추는 방법
  • 이해하기 좋은 코드를 작성하는 법
  • 높은 응집도 + 낮은 결합도 원칙으로 설계하는 방법
  • 변경 비용을 낮추는 기본적인 리팩터링 기법
  • 테스트 코드의 중요성·자동화된 테스트와 TDD의 필요성
  • 아키텍처의 중요성과 패턴의 유용함
  • 업무 전반을 관리하기 위해 필요한 사항
  • 협업과 소통을 위한 글쓰기와 시각화·지식 공유의 가치
  • 리더와 팔로워의 역할 이해

 

멋진 시니어 개발자로 성장하는  

개발업무를 준비하는 준비생과, 개발업무를 시작한 주니어 개발자에게는 
꼭 한번 읽어봤으면 한다.

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

10여 년 넘게 개발 업무를 보면서 SI도 해보고 제품 개발도 해보고 요즘엔 팀 관리도 하고 있다. 나름 다양하게 경험해 본 것 같다. 하지만 새로운 업무를 하다 보면 한계도 많이 느끼고 어떤 걸 공부해야 할지 파악하는 것도 어렵다. 가정에 충실하다 보니 더욱 시간이 부족한 것 같기도 하다.

이 책은, 게임으로 치면 캐릭터 능력치를 나타내는 것과 같은 육각형 능력치 모델을 표지로 시작한다. 당연하게도 모든 능력치가 최고수치라면 서버 1등이 되겠다.

각 항목은 챕터로 구성되어 있고 읽다 보면 다른 서적과 다르게 뭔가 친숙하게 느껴진다. 글쓴이의 경험에 대해서 꽤 많이 읽을 수 있는데 본인이 경험했던 것과 느꼈던 것이 많이 겹쳐서일지도 모르겠다. 이런 공감대를 통해 고민했던 것과 나가야하는 방향에 대해 좀 더 해답을 찾게 되는 느낌이 든다.

지금은 새로운 기능 개발을 주로 하지만 예전에 유지 보수 업무를 하다 보면 많이 지루하기도 하고 발전하지 않는다는 느낌이 들었었는데 이 책에서도 비슷한 경험에 대해 설명해 준다. 하지만 유지 보수 업무도 아주 중요한 업무이며 인용을 통해 설득해 주고 있다. "유지 보수는 변화하는 세상에서 유용함을 유지하는 것이다".

지금 개발하고 있는 제품도 메인 모듈은 10~20년이나 된 코드라 수정하기가 어려운 부분이 많다. 삭제하고 싶어도 괜히 삭제하면 문제가 생길까 걱정이 되어서 주석으로만 남기는 경우도 있는데, 이 책에서도 똑같은 상황에 대해 이야기하고 있어서 다들 비슷하구나 하고 느껴지기도 한다.

이렇게 이런저런 경험을 많이 해본 개발자일수록 이 책을 읽으면 많은 공감을 하게 되고, 이게 맞나 싶었던 부분에 대해서도 좀 더 확신을 가질 수 있을 것 같다.

나름 빠르게 읽기는 책이기 때문에 가벼운 마음으로 힐링하기에 적당한 책이라고 생각한다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

육각형의 정의

 

육각형은 테니스, 축구에서 다재다능한 선수를 뜻한다. (혹은 반대로 단점은 없지만, 장점도 없는 선수를 '작은 육각형' 이라고도 한다.) 오랫동안 꾸준히 플레이한 피파온라인4의 아래 사진을 보면 이해할 수 있다.

 



참고로 야구에서는, 육각형이 아닌 5TOOL PLAYER로 표현한다.

즉, 육각형 개발자 용어의 본질은 여러 역량을 고루 갖춘 개발자라는 뜻이다. 이 책은 좋은 개발자가 되기 위해 기술 외에도 어떤 역량을 키워야하는지 1)학습하는 방법 2)가치를 이해하고 비용을 낮추는 방법 3)좋은 코드 작성 방법등을 다루고 그 외에도 4)업무 전반을 관리하기 위해 필요한 사항 5)글쓰기와 시각화 방법 6)리더와 팔로워의 역할 이해등과 같은 소프트 스킬에 대해서도 다룬다.



 

인상적이었던 부분 : 시각화



하드스킬중 시각화를 추천하고 싶다.

삼국지를 읽으면 맞는 논리를 펼치고도, '전달'에 실패해 안좋은 결말로 끝나는 재능들이 많다.

대표적으로 진궁과 육손이 그렇다.

 

시각화도 마찬가지이다. 수치적으로, 정량적으로 '증명'을 했지만

이를 협력하는 팀에게 '전달'하지 못한다면 100% 활용되지 못한다.

 

회사를 다니면서 느끼는건 항상 모두가 같은 생각이 되도록 하는게 어렵고 중요하다.

같은 회의에 들어갔어도, 계속 말하는 것과 이해한것이 일치하지 않으면 시간이 지날수록 각자 다른 이해를 하면서

갈등이 발생한다.

 

그 갈등을 해결해주는 만능 열쇠가 '시각화'이다.



 

연봉협상과 육각형 개발자

 



연봉협상을 할 때, 돈도 물론 중요하다. 하지만 연봉에서 상승되는 돈은 정해져 있다.

중요한건 내가 어떤 목표를 가지고 내년을 보낼꺼고, 어떤 지원이 필요한지를 말해야한다.

운이 좋아 좋은 사수,팀장을 만나면 길이 보이지만

그들을 못만날수도, 시대가 변했을수도 있다. 변수가 정말 많다.

3년차 미만에서 이제 시니어가 되기 위한 올바른 길을 찾고 있다면 강력 추천하는 책이고 꼭 읽어보라고 권하고 싶다.

 

 

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."



 

 

 

 

IMG_6713.jfif

 

 

 

추천 독자

개발자로서의 성장을 원하는 신입/주니어 개발자 및 개발에 관심이 있는 취준생

주요 내용

육각형 개발자의 주요 내용은 다음과 같은 갈래로 요약해볼 수 있을 것 같습니다. 1) 프로덕트 관점

2) 좋은 코드를 작성하는 법, 3) 협업 이렇게 큰 세 가지 파트에서 개발자로서 성장하는데에 꼭 필요한 내용들을 다루고 있었습니다.

1) 프로덕트

- 효율적으로 구현 기술을 적용하고 학습하는 방법

- 소프트웨어 가치를 이해하고 유지보수 비용을 낮추는 방법

2) 클린 코드 & 아키텍쳐

- 이해하기 좋은 코드를 작성하는 법

- 높은 응집도 + 낮은 결합도 원칙으로 설계하는 방법

- 변경 비용을 낮추는 기본적인 리팩터링 기법

- 테스트 코드의 중요성ㆍ자동화된 테스트와 TDD의 필요성

- 아키텍처의 중요성과 패턴의 유용함

3) 협업

- 업무 전반을 관리하기 위해 필요한 사항

- 협업과 소통을 위한 글쓰기와 시각화ㆍ지식 공유의 가치

- 리더와 팔로워의 역할 이해

프로그래밍은 시인이 시를 쓰듯이 함축적으로 간결하게 정리가 된 글이라고 생각하는데요.

장황하게 정리가 안된 코드를 보면 이해하기도 어렵고 수정하기 힘들기 때문입니다.

잘 정리된 글을 보게 되면 감탄하듯이 시니어 개발자들이 짜놓은 코드를 보면 배울 게 많을 때가 많습니다.

 

시니어 개발자는 코드의 품질(응집도 결합도, 리팩토링)을 이해하고 구현(아키텍처 패턴)은 척척해야 합니다.

동료 직원에 대한 업무관리 공유, 리드 및 팔로우를 해야 하죠.

 

주니어 개발자가 시야를 넓힐 수 있도록 도와주는 책이 나왔습니다.

바로 "육각형 개발자"인데요.

이 책은 에스씨지랩 개발 실장인 최범균님이 쓴 책입니다.

 

주로 테스트 주고 개발, DDD, 객체지향 등 관련 책들을 썼습니다.

이번에는 시니어 개발자에 대한 덕목에 초점을 맞췄습니다.

 

주의 깊게 본 부분 2가지를 정리 해보도록 하겠습니다.

 

one.jpg

 

 

1) 이해하기 좋은 코드

이해하기 좋은 코드는 무엇일까요?

글이 나이를 불문하고 쉽게 읽혀야 한다고 봅니다.

 

잘 쓴 글을 찾는 노력과 이해하는 데 시간이 많이 필요한데요.

각각의 틀을 정리하는 게 중요하다고 봅니다.

 

이때 도움이 될 만한 책은 저자가 인용한 클린코드, 켄터벡의 구현 패턴입니다.

 

책에도 코드를 리팩토링하는 부분과 저자가 고민한 흔적이 책에 서술돼 있어서 이해하기 편했습니다.

 

또한 저자는 SCQA프레임워크를 도입해 설득에 관련된 글을 정리한다고 합니다.

 

two.jpg

 

 

2) 나쁜 리더와의 관계

가장 최악의 리더는 조직이 망가지는 것도 모르는 무능한 리더라고 봅니다.

회사는 고를 때 제일 중요한 것은 임금체불이 될 수 있는지 아닌지를 중점으로 검증합니다.(주겠다는 약속을 지키지 않는 사기꾼들이 생각보다 많습니다.)

 

그때 보는 것은 바로 회사의 '퇴사율'인데요.

갑자기 퇴사자가 많아지면 회사에 문제가 많은 시그널일 수 있습니다.

 

인수인계도 안 되어서 붕 뜰 수 있기 때문입니다.

 

저자는 나쁜 리더를 피하면 좋지만, 만났을 때 대한 책을 책에 잘 정리 해줬습니다.

관련된 책들도 읽으면서 대비하는 것도 하나의 방법일 것입니다.

 

 

 

thm 2.jpg

 

 

PS

이 책은 마치 클린코드 + 테크 커리어 책이 꼭 중요한 부분만 있는 한국판 느낌입니다. 

 

최근 읽을 책 중에서 가독성이 너무 좋고 도움이 많이 됐습니다.

자바 개발자나 커리어에 변화가 있는 분들 시니어로 막 진급하신 분들이 읽으면 딱 맞는다는 생각이 듭니다.

 

또한 인용된 책들을 잘 정리해 주셨는데요.

이 책을 읽고 인용된 책들도 안 읽었다면 읽어보는 것도 추천해 드립니다. 

육각형 개발자 도서 사진, 책 뒷면의 얼룩은 책으로 방에 들어온 벌레를 디버깅한 흔적입니다..

 

안녕하세요.

백엔드 개발자로 2년 일하고 미뤄둔 학교 졸업을 위해 잠시 쉬고 있는 다람쥐입니다.

신입 개발자, 주니어 개발자 추천 도서로 굉장히 추천하고픈 도서가 있습니다.

바로 최범균 저자님의 육각형 개발자, 한빛미디어 (2023) 도서입니다.

지난 7월 22일에 출간한 따끈따끈한 도서인데요.

저는 육각형 개발자, 라는 이름도 끌렸지만 최범균 저자님이라 더 읽고 싶었어요.

도메인 주도 개발(DDD, Domain Driven Development)의 바이블이라 할 수 있는 도서로 유명하셔서

과연 어떤 이야기를 저같은 주니어 개발자, 신입 개발자에게 하고프실까, 무척 궁금했어요.

 

책을 다 읽은 소감으로는, 정말 하고픈 말이 많으셨구나, 라고 느꼈어요.



한빛미디어의 '나는 리뷰어다' 2023년 8월 리뷰 대상 도서로 선정한 책이다.

작가님 이름이 낯익어서, 이 책으로 골랐다.

 

작가님의 도서들

이미지 12.png

 

개발책을 많이 써 본 분이라 그런지,

책을 읽기 쉽게 잘 쓰셨더라.

 

그전에는 특정 분야 기술(JSP, Spring 등등)에 대한 전문 서적이었다면,

이 책은 개발 태도 등등에 대한 책이다.

이런 류로는 미국 개발자들이 쓴 책만 잔뜩 있었는데, 드디어 우리 나라 개발자 분도 이런 책을 내 주셔서 다행이다 싶다.

 

내가 하고 싶었던 말도 잘 정리해주셔서 좋더라(내가 하려면 실력이 전제되어야 할 것 같다는 생각도 들었다).

 

특정 기술을 사용해야 우월하다는 생각을 가진 개발자를 마주칠 때가 있다. 우월함을 느끼다 못해 다른 기술을 사용하면 무시하거나 경멸하는 모습을 볼 때도 있다. 하지만 특정 기술을 사용한다고 우월해지는 것은 아니다. 또 오래된 기술을 사용한다고 해서 열등하다고 할 수 없다. 구현 기술은 단지 구현 기술일 뿐이다. 구현 기술을 맹종하지 말자.


기술 적용 전략에는 유연함이 필요하다. 모든 문제에 하나의 기술을 사용하려고 하면 안 된다. 예를 들어 카프카를 사용한 비동기 연동의 장점을 경험했다고 해서 모든 비동기 연동에 카프카를 사용할 필요는 없다. 비동기 연동을 카프라고만 할 수 있는 것은 아니다. 카프카를 적용하면 복잡도도 증가하기 때문에 이점이 줄어들 수도 있다. 마이크로서비스 아키텍처도 비슷하다. 기능이 적고 사용자가 많지 않은데 기능을 잘게 나눠 별도 서비스로 분리하면 서비스를 분리했을 때 얻는 이점이 반감된다. 되려 시스템만 복잡해지고 운영이 힘들어질 수 있다.

...

마지막으로 잘해야 하는 게 구현 기술만은 아니라는 점을 말하고 싶다. 흔히 개발만 하고 싶다고 말하는 개발자를 보면 개발을 코딩과 같은 구현에 한정 짓곤 하는데 개발의 영역은 훨씬 넓다. 앞으로 구현 기술 외에 필요한 개발 역량에 관해 이야기할 것이다. 이 책으로 구현 기술 말고도 개발자로서 키워야 할 역량이 많다는 것을 깨닫고 다양한 지식을 쌓기 위해 노력했으면 좋겠다.

p.52~53

 

레거시는 폄하 대상이 아니다.

가끔 레거시 코드를 무시하는 개발자를 만날 때가 있다. 회사 코드가 최악이라거나 다시 만들면 그거보다 잘 만들 수 있다는 식으로 말이다. 물론 틀린 말이 아닐 수도 있지만, 이런 말을 하는 개발자 중 기존 코드를 더 낫게 개선할 수 있는 사람은 많지 않았다. 더 좋게 개선하지도 못하는데 새로 잘 만들 수 있을까?


복잡하고 수정하기 힘든 레거시 코드를 만나면 당연히 투덜댈 수 있다. 하지만 레거시는 폄하 대상이 아니다. 레거시가 있었기에 서비스가 굴러가고 수익이 난 것이다. 그리고 모든 코드에는 나름의 사정이 있다. 그러니 레거시를 만나면 다음처럼 생각해보자.


"개선할 거리가 있다. 해보자!"

p.133

 

도서는 주니어/중니어를 위한 책이라는데,

연차로는 시니어인 나한테도 도움될 내용이 많았다.

부끄럽지만, 내가 잘못 알고 있었던 부분도 있어서 바로 잡을 수 있었다(예. for 문 안에서 변수 선언하기 등).

 

요새 설계 교육도 들으면서 개발 프로젝트도 병행하고 있었는데,

둘 다 모두에 도움될 만한 내용도 많이 있었다.

 

나는 시니어 연차니깐 이 책은 가볍게 통독해야지 하는 마음이 있었는데,

코드 개선 부분 등 거의 모든 내용을 정독해서 읽었다.

 

시간 될 때 작가님의 유튜브도 틈틈이 봐야겠다(유튜브 채널명은 작가님 본인 이름에서 따온 듯 하다).

https://www.youtube.com/@madvirus

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다"



KakaoTalk_Photo_2023-08-27-22-43-25.jpeg

 

KakaoTalk_Photo_2023-08-27-22-43-30.jpeg

 

 

평소에 최범균님 유튜브 구독해서 간간히 영상도 잘 보고있고 <객체지향과 디자인 패턴> 책도 잘 읽었어서 신간이 나온걸 보고 바로 선택했다.

 

책의 초반부에는 개발이 무엇인지, 어떻게 학습할 것인지 에 대해 조금 가볍게 시작하고 중반부에서는 리팩토링, 테스트, 아키텍처 등 개발의 기술적인 내용이 나온다. 그리고 후반부에서는 기술 외적이지만 일 자체에서 중요한 업무 관리 기술, 문서화와 공유, 리딩 방법 등에 대해 다루고 있다. 직장인이자 개발자로서 알아두면 유익한 내용들이 너무 무겁지 않게 담겨있다.

 

구성의 맨 앞에 쓰인 것처럼 개발자로 커리어는 시작했는데 앞으로 어떻게 더 좋은 개발자가 되어야 할지 고민인 주니어나 중니어 개발자에게 추천해줄 수 있는 책이다. 학습하는 방법, 좋은 코드를 작성하기 위한 기술론, 방법론에 대해서 쉽게 설명해준다. 특히 본인의 경험담을 공유해주고 있어서 공감도 가고 더 와닿았다.

 

나도 개발자로 경력은 계속 쌓여갈텐데 어떻게 해야 주니어에서 미드 레벨, 시니어로 잘 성장할 수 있을까 항상 생각한다. 최근에는 회사에 인턴으로 신입 개발자분들이 계속 들어오고 있는데 내가 선배 개발자로 어떻게 그들을 잘 리딩할 수 있을지에 대한 부분도 고민하게 되었다. 특히나 이직을 하면서 이전 직장에서 혼자 일했던 것과 비교해서 타인과의 소통과 업무 내용 및 진행도 공유가 무척 중요해졌다. 이런 시기에 읽기 적절한 책이었다는 생각이 든다.

IMG_6292.JPG

 

수년간 개발자로 일했지만 어떤 개발자가 좋은 개발자인지 잘 모르고 있었던 거 같습니다. 그러던 중 개발자 최범균님이 지은 육각형 개발자를 읽고 어떤 능력을 가진 개발자가 좋은 개발자인지, 저또한 좋은 개발자로 성장 하고 있었는지에 대해 생각해볼 수 있었습니다.

스포츠계에서 다양한 능력치가 고루 균등한 선수를 ‘육각형 선수’라고 부르는데 저자는 여러 역량을 고루 갖춘 개발자라는 의미로 ‘육각형 개발자’라는 제목을 지었다고 합니다. 이렇듯 저자는 구현 기술만 편식하지 말고 개발에 필요한 다양한 역량을 섭취해서 좋은 개발자로 성장하라고 이야기 하고 있습니다.

책에서는 10가지 핵심 역량을 챕터 별로 나누어 저자의 경험을 토대로 설명하고 있습니다. 책을 읽다보면 연차가 쌓이면서 겪을 수 있는 상황이나 내용들을 마치 사수가 차근차근 설명해주는 듯한 느낌을 받았습니다. 신입 개발자가 이 책을 읽는 다면 업무에 대한 막막함이나 개발 방향성 같은 것을 잘 수립하고 업무에 적응 하기 쉬울 것이며, 주니어 개발자라면 자신에게 부족한 부분을 발견해 시니어 개발자로 성장할 수 있는 발판이 될 수 있는 책이 될 것 입니다.

개발자에 대한 시야를 밝히기에 좋은 책이므로 꾸준히 성장하고 싶은 개발자들에게 이 책을 추천하는 바입니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

개발자에 관심이 많고 개발자와 함께 일하지만, 실제로 하는 직무는 기획자인 내가 '개발자'의 자기 계발에 대한 책의 리뷰를 쓰는 것이 얼마나 전달력이 있을지는 잘 모르겠다만. 직무는 다르더라도 IT 직군에 있으면서 자기 계발의 영역은 다 비슷하지 않겠는가란 생각을 해보았다.

 

1.jpg

 

왜냐면, 시니어 개발자로 성장하기 위한 아름다운 육각형 그래프의 각 끝에는 '업무 관리, 공유, 리드&팔로우'와 '테스트'의 영역, '품질, 코드 이해' 등이 포함되어 있는데, IT 회사를 다니는 기획자라면, 그리고 어느 정도 경력이 쌓인 기획자라면 알아두면 좋은 내용들이기 때문이다.

 

책 한 권을 읽는데 어마어마한 시간이 드는 것이 아니기 때문에 나는 전문 기획자의 영역이 아니더라도 내 업무에 간접적인 영향이 있다고 생각되는 책들은 모두 사서 읽는 편인데, 이 책도 그런 면에서 꽤 도움이 되었다.

 

2.png

 

책은 저자가 첫 직장에 입사했을 때의 이야기부터 시작한다. 신입 프로그래머는 이미 만들어진 코드를 유지 보수하는 것을 한다. 라이브 서비스를 하는 회사라면 더욱 그렇고, 이것은 사실 기획자도 마찬가지다. 훌륭하고 멋진 기획을 하겠다는 포부를 가지고 회사에 입사를 하지만, 현실의 신입 기획자는 잡무들과 함께 한다. 단순한 문서 정리부터 데이터 입력, 아니면 쪼개고 쪼개고 쪼개고 쪼개어진 아주 작은 부분의 기획을 정리하는 일까지. 프로그래머나 기획자나 신입에게 주어지는 일이란 비슷하고 그 상황에서 언제 찾아올지 모를 기회를 위해 철저하게 준비하는 것이 자신에게 좋다.

 

내가 우리 부사수이자 파트원에게 입이 닳도록 기회가 찾아왔을 때를 대비해서 공부도 열심히 하고 준비를 해두어야 한다고 해도, 우리 부사수는 여전히 닥쳐 있는 일을 해내는 것 외에는 놀고 쉴 생각뿐이다. 결국 직접 부딪히기 전까지는 와닿지 않는 걸까.

 

음, 이야기가 많이 샜는데, 아무튼 찾아온 기회를 잡은 저자는 새로운 프로젝트를 할 수 있는 기회를 얻었다는 이야기다. 물론 단락의 제목이 '실패'인 것을 보면 그 끝도 평화로웠다는 이야기는 아니지만.

 

개발자의 자기 계발과 성장에 대한 이야기를 배우는 것도 좋지만, 나는 10년 차 기획자로써 저자의 각 연차별 에피소드를 보는 것이 너무 재밌고 즐거웠다.

3.png

책은 사이사이에 삽화들이 첨부되어 있어서 내용의 이해를 돕고 있는데 무려 풀 컬러인 것이다. 그리고 마치 신문의 만평을 보는 것처럼 포인트를 딱 집은 삽화가 아주 확확 와닿는다. 더 나은 방법을 찾고 싶지만 당장 발등에 떨어진 불을 끄는 데 급급하여 그럴 여유가 없다. 비효율적인 것을 알고 있거나 또는 비효율적인 것을 모른 상태로 프로젝트는 질질 끌려간다. 진짜 어디에나 이런 일은 있구나란 생각에 공감이 갔다.

 

개인적으로는 발등에 떨어진, 런칭이 촉박한 프로젝트가 진행할 때에는 정말로 시간이 없는 것도 사실이다. 1분 1초가 부족한 상황에서 100% 성공하고 효율적이라는 확신을 갖지 못하는 새로운 방법에 R&D를 하는 것조차 쉽지 않은 결정이기 때문에 스킬업이나 역량 강화에 신경을 못쓰는 것은 사실인데 바로 그렇기 때문에 수시로 틈틈이 준비를 해야 한다는 것이다. '닥쳐서' 어쩔 수 없는 상황에 어쩔 수 없다는 핑계를 대며 비효율의 흐름을 타지 않게 하기 위해서.

 

4.png

 

놀랍게도 경력자 중에서도 개발 비용 부분을 염두에 두지 않는 사람이 굉장히 많다. 지금까지 거쳐 온 회사와 개발자들을 생각해 보면 비단 지금 다이고 있는 회사만의 이야기는 아닐 것 같다. 경영진과 프로젝트 오너가 아니라고 하더라도 개발 비용은 항상 염두에 두어야 한다. 밑도 끝도 없이 3년이 넘는 시간을 개발 비용을 쏟아붓고도 결과를 내놓지 못해서 드롭된 프로젝트의 팀원이 "회사가 우리에게 투자를 해주지 않았어요."라고 말을 하는 놀라운 광경을 직접 목격했기 때문에, 나는 항상 이 문제에 대해서 철저하게 부사수와 파트원을 교육하고 있다. 개발직 군에서 개발비용은 '인건비'가 다수를 차지하는데, 3년이라는 시간 동안 결과도 못내는 프로젝트의 수많은 팀원들에게 '인건비'를 꼬박꼬박 주고 기기도 구매해 주고 인프라도 지원하고 있었는데 이게 어찌 투자가 아니라는 건지.

 

기획자가 개발비용과 유지 보수 비용을 생각하지 않고 대책 없이 '그냥 이런 거 하고 싶으니까 해보죠'하는 순간 헬게이트가 열린다.

 

그 외에도 이 책에서는 3년 차를 넘겨 이제 좀 어엿한 개발자가 되어 볼까 하는 사람의 성장에 도움이 되는 이야기들이 가득 채워져 있다. 프로그래머 직군이 아닌 기획 직군도 그 정도 연차라면 이 책에 나오는 부분들에 대해서는 알고 이해할 수 있어야 한다고 생각한다. 정말로 이 길이 나의 길이라고 생각하고 성장할 욕심이 있다면 봐두면 좋겠지. 프로그래머 직군이라면 읽어두고 잘 받아들이면 책을 읽는데 투자한 시간 대비 실제 자신의 연봉에 1% 이상은 도움이 되지 않을까.

 

개인의 경력과 역량을 쌓는 것만큼 꼭 필요한 인간관계에서의 저자의 팁도 대방출하니, 재밌고. 또 좋은 책이다. 개인적으로 '나쁜 리더와의 관계' 부분이 와닿았다. 실제로 나도 나쁜 리더와 함께 하고 있고, 저자가 말한 방식으로 해결한 상태이기 때문이다. 나도 직접 겪어 본, 쉽지는 않지만 확실한 이 방법이 어떤 방법인지 궁금하다면 책을 사서 읽어보자!

 

흥미롭고 유익한 내용을 재미있게 풀어준 작가와 이 책을 내준 출판사에 감사를 표한다.

 


 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

0. 들어가기에 앞서

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

제목 : 육각형 개발자
저자 : 최범균
출판사 : 한빛 미디어
출간 : 2023년 7월 22일
페이지 : 276


1. TL;DR

  • 276 페이지, 그자리에서 다 읽기에 괜찮은 정도의 분량을 가진 책입니다.
  • 코딩 영상, 개발 기술 서적에서는 다루지 않는 내용입니다. 개발자의 업무를 어떻게 더 잘 할 수 있고, 어떤 관점과 역량을 키워야 하는지 알려줄 수 있는 책입니다.
  • 코딩, 유지보수, 리팩토링, 테스트, 커뮤니케이션, 문서화, 작업 일정 관리 등 IT 기업에서 일하고 있는 개발자가 고민하고, 경험하고 있는 내용들, 잘 하거나 잘 하고 있지 못한 것들에 대해 이야기 합니다. 자기 자신이 잘 하고 있는지 평가하기에 좋고 또는 못하는 부분이 있다면 반성하기에 좋은 내용들을 담아내고 있습니다.
  • 추천 대상은 주니어 개발자와 중니어 개발자 입니다. 그리고 현재 일을 하고 있는 개발자 또는 일을 조금 더 잘 하고 싶은 개발자 그리고 어떻게 성장해 나가야 할지 고민하는 개발자들에게 추천합니다.

2. 이 책을 선택한 이유

저는 4년차 개발자 입니다. 첫 1년은 신입 개발자라는 핑계로 아웃풋에 대한 부담감이 전혀 없었습니다. 하지만 이직을 하게 되고 경력이 쌓이게 되면서 저에게 원하는 퍼포먼스와 역량들이 슬슬 생기고 있습니다. 그리고 그에 대한 역할과 책임들도 명확히 나타나고 있습니다.

일은 어떻게든 처리 할 수 있습니다. 그러나 이 시기쯤 되면 내가 커리어를 잘 쌓아나고 있는지, 향후 커리어를 위해 내가 보완해 나가야 할 부분이 어떤지를 고민하게 됩니다. 여기서 중요한건 보완해야 할 내용이 단순 코딩 지식이나 새로운 기술만은 아니라는 것을 명확히 알고 있습니다.

이제 쌓아나가야 할 것은 코딩만은 아닌데 어떤 것을 준비해야 할까요? 커뮤니케이션, 도메인, 다양한 관련인들과 소통 및 히스토리를 쌓아가고 문서화를 하는 등 일을 하고, 계속 진행되게 하는 것 들이라고 생각합니다.

다만 위 내용들을 체계적으로 공부해보거나, 더 나은 방안이 무엇인지 아직은 잘 모르기 때문에 지침이 될 수 있는 무엇인가가 필요하다고 절실히 느끼던 요즘 이었습니다.

그렇기에, 제가 더 나은 개발자로써 지침이 될 내용들을 이 육각형 개발자 책이 알려주루 것이라 생각하고 이 책을 골랐습니다.

3. 리뷰

이 책은 시니어 개발자로 일하고 있는 저자가 본인이 경험했던, 본인이 만났던 사람들의 이야기를 종종 사례로 들고 있습니다. 그래서 이 고민이 독자 뿐만 아니라 저자 그리고 나뿐만 아닌 다른 개발자들도 고민하고 어려움을 겪고 있음을 알 수 있어서 좋았습니다.

개발자가 해야하는건 코딩 뿐만은 아니지만 코딩이 기초 라고 이야기 해줍니다. 그리고 그 기초에서 중요한 것은 신기술 이 아닌 비즈니스를 이루는 것이며 그 안에서 유지보수, 개선, 수정등이 중요하다고 이야기 합니다. 그런 내용들을 이야기 하면서 자연스럽게 응집도와 결합도 리팩토링 테스트 아키텍처 등의 내용이 나옵니다. 각 목차들이 동떨어진 내용들이 아니라 이어진 것임을 저수준에서 고수준으로 이동하며 잘, 충분히 이해할 수 있게 배치해 두었습니다.

코드가 나왔다고 직접 쳐보면서 할 필요는 없다고 생각합니다. 다만 본인이 작성했거나 마주쳤던 코드들을 생각하며 읽어 보시면 큰 도움이 될거라 생각합니다. 그리고 본인의 코드를 수정해보고 싶은 마음이 들 수도 있습니다.

개발자로써 개발 역량 뿐만 아니라 작업 매니지먼트와 공유, 글쓰기 등에대해서도 이야기 하고 있습니다. 주니어에서 시니어 개발자로 갈 수록 본인이 한 작업을 공유하거나, 공통된 모듈등을 공유하고 재사용하기 편하게 알려주는 것도 아주 중요합니다. 그렇기에 후반부로 갈 수록 주니어 개발자를 위한 내용이라기 보다는 그 다음 스텝을 위한 내용들을 알려주고 있습니다.

마지막은 조직내 구성원으로써 마음 가짐에 대해 이야기 합니다. 리더십과 팔로워십. 협업을 위해 가져야 할 태도에 대해 이야기 하며 책을 마무리 하고 있습니다


4. 총평

  • 시니어 개발자로 성장하기 위한 10가지 핵심 역량을 이야기 해줍니다. 하지만 10가지는 꽤 많긴 한 것 같습니다.
  • 코드와 소프트웨어에 대해 이야기 합니다. 다만 기술적인 이야기가 아닌 소프트웨어 공학 측면에서 이야기이기 때문에 다시한번 리마인드 하기 좋습니다.
  • 본인을 평가하기에 좋은 책 인것 같습니다. 10가지 역량을 기반으로 스스로 평가를 해보면 좋을 것 같습니다. 만약 이 10가지 핵심 역량이 좋은 개발자라고 이야기 할 수 있다고 동의 하신다면 평가지로써도 충분히 의미가 있을 것 같다는 생각이 듭니다.
  • 시간적으로 분기, 반기, 년도 단위로 스스로를 평가해 본다면 제법 가치있는 데이터가 나올 것 같습니다. 정량적이든 정성적이든 말이지요.
  • 책 내용을 한 자리에서 쑥 읽어도 좋을 것 같습니다. 아니면 발췌독도 충분히 의미있다 생각합니다.
  • 역량을 키우고 싶은 주니어, 중니어 개발자들에게 추천하는 책 입니다.

개발 커리어에 대한 열정이 사그라진 중니어 개발자의 마음에 다시금 불을 지피는 책입니다. 

시니어 개발자 또는 좋은 개발자가 되기 위해 필요한 것들을 친절하게 설명하고 있습니다. 

좋은 코드를 만드는 것 뿐만 아니라 설계와 일정 관리 그리고 어떤 리더십이 필요한지 등… 시니어 개발자가 되기 위해 갖춰야할 역량들을 저자의 경험에 기대어 구체적으로 설명하고 있습니다. 

8년차 개발자로써 많은 부분 공감했고 앞으로 커리어에 대해서도 고민하는 시간을 갖게 되었습니다. 

개발 커리어가 정체된 듯해 고민하고 있는 개발자 분들에게 강력하게 추천합니다. 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

육각형 개발자라는 최범균 저자가 집필하였으며, 본인의 이야기를 시작으로 내용이 시작된다. 이 책은 좋은 시니어 개발자가 되길 원하는 주니어 또는 중니어 개발자를 대상으로 하고 있으며, 아래 6가지를 두루 다 갖춘 개발자를 칭하는데 이러한 개발자가 되기 위해서 필요한 덕목 10가지를 소개하고 있다. 에세이와 자기계발서에 가까운 책이다. 

 

1. 구현 기술

2. 업무 관리, 공유, 리드 & 팔로우

3. 리펙토링, 테스트

4. 응집도, 결합도

5. 아키텍처, 패턴

6. 품질, 코드 이해 

 

이 책에서 다루고 있는 내용은 효율적으로 구현 기술을 적용하고 학습하는 방법, 소프트웨어 가치를 이해하고 유지보수 비용을 낮추는 방법, 이해하기 좋은 코드를 작성하는 법, 높은 응집도 + 낮은 결합도 원칙으로 설계하는 방법, 변경 비용을 낮추는 기본적인 리펙토링 기법, 테스트 코드의 중요성 및 자동화된 테스트와 TDD의 필요성, 아키텍처의 중요성과 패턴의 유용함, 업무 전반을 관리하기 위해 필요한 사항, 협업과 소통을 위한 글쓰기와 시각화 및 지식 공유의 가치, 리더와 팔로워의 역할 이해 등의 내용을 다루고 있다. 저자가 시행착오를 겪으며 깨달은 내용을 기반으로 서술되기 때문에 책이 딱딱한 편은 아니다. 

 

과연 이러한 육각형을 다 채울 수 있는 개발자는 국내에 몇이나 될지 궁금하다. 아마도 이런 육각형에 부합하는 완벽한 사람은 정말 없겠지만, 완벽하려고 노력하는 사람들은 많을 것 같다. 

 

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

주니어-중니어 사이의 단계에 있는 개발자들을 위한 지침서. 이제 주니어와 중니어를 매니징 하기 시작한 시니어에게 간략한 지침이 되어줄 있는 .

책은 개발을 오랜 기간 해오며 시니어 자리에 이른 저자의 개발 일대기를 기반으로 이제 실무에 투입되어 개발자로서의 커리어를 쌓기 시작한 주니어들이 알아두면 좋을 법한 내용들을 총괄한 책이다.

물론 중니어(주니어 + 연차 3 이상) 비롯한 시니어도 책을 통해서 얻어 법한 내용이 많을 것이란 생각이 들긴 하지만, 어느 정도 실무에서의 경험이 있고 개발을 비롯한 매니징까지 경험해 개발자라면 거의 번쯤은 생각해 봤을 법한 내용들이 수록되어 있다.

또한 책에서 저자의 다양한 경험을 기반으로 사례에 기반한 저자가 주장하는 이론과 배움의 필요성에 대해사 적극 어필하고 있다는 점에서 해당 도서는 틀림없이 매력을 가지고 있다고 평하고 싶다.

그렇기에 책은 이제 실무에 투입되어 개발자로써 커리어를 쌓아가기 시작한 주니어에게는 필독서까지는 아니더라도 지침서로써 추천하고, 중니어와 시니어급의 개발자들이라면 다른 개발자는 개발자로써 살아가며 어떤 커리어를 쌓기 위해서 분투하였고 또한 어떤 고뇌를 느꼈는지 /간접 체험하기 적당한 도서라는 점에서 추천한다.

【책의 구성】 "육각형 개발자"의 구성은?

책은 11개의 챕터로 구성되어 있으며, 장마다 저자의 경험에 기반한 사례 케이스를 기반으로 저자가 주장하는 이론의 필요성과 중요성에 대해 논평하고 있다.

특히 중간중간 다른 개발자 혹은 여러 사람들의 글과 말을 인용한 부분이 있는데, 정말 공감 가고 마음에 와닿는 글귀가 많았기에 해당 책을 스터디 하는 독자가 있다면 마음에 새겨두시길 바란다.

그중 어록을 발취하자면 아래와 같다.

' 이끌거나, 따르거나, 비켜서라' - XNN 창업자 테드 터너

 

 

5 챕터() : 응집도와 결합도

챕터에서는 코드를 구성함에 있어서 응집도와 결합도가 중요한지에 대해서 사례 케이스를 통해 설명하고 있다.

응집도라함은 간단히 말해서 여러 개의 논리 도메인이 있을 , 각각의 논리 도메인에 맞게 코드들을 분리하여 서로 간의 의존성을 격리하고 관계된 코드들만을 집중하여 도메인에 위치시키게 하는 것을 의미한다.

또한 결합도라함은 서로 다른 도메인의 코드가 서로 연관되어 의존 관계를 가짐을 의미한다.

그렇기에 시중에 있는 대부분의 전공서와 마찬가지로 책에서도 응집도는 높고 결합도는 낮게라는 철칙에 따라 프로젝트를 구성하길 권하고 있다.

 

 

7 챕터() : 테스트

대부분의 개발자들이 신규 기술을 이용한 새로운 서비스 개발에는 관심이 많은 편이다. 하지만 유지 보수와 테스트 코드 작성 그리고 통합 테스트 구축과 같은 운영 관련 업무는 지루하고 괴로운 일이라 치부하는 편이다.

아무래도 유지 보수의 경우 신기술을 배울 기회도 적을뿐 더려 하는 일의 양에 비해 실적이나 본인 성장에 있어서 도움이 된다고 생각하는 경향이 강하기 때문일 것이다.

하지만 다년간 개발자로써 살아온 필자의 경험에 빗대어 , 이는 잘못된 생각이다. 특히, 서비스의 안정성을 보장하기 위한 테스트 코드를 구축하고 이를 통합 테스트와 연동하여 서비스의 안정성을 도모한다는 것은 신규 서비스 개발 못지않게 배울 점이 많고 많은 것을 체득할 있는 기회이기 때문이다.

또한 테스트 코드가 구축되지 않은 상태에서 해당 서비스가 배포되거나 사용자에게 노출된다는 것은 추후 막대한 운영 코스트와 서비스 신뢰 저하라는 대가를 치를 명분을 스스로에게 짊어지게 하는 것과 같다.

 

 

11챕터() : 리더와 팔로워

회사 생활을 크게 부류로 나뉜다. 프로젝트를 총괄하는 사람과 이를 따르는 사람.

, 지위 고하를 막론하고 세상의 모든 조직은 위에 말한 것과 같이 리더-팔로워로 나뉘어있다고 봐도 무방할 만큼 사이의 관계는 때려야 없는 관계라 있다.

해당 챕터에서는 리더와 팔로워가 갖춰야 덕목과 자세에 대해서 정리하고 있다. 저자는 팔로워라 하여 영원히 팔로워가 아니며 리더라 하여 영원히 리더가 아니므로 서로의 능력 고양을 위해 항상 힘써야 하며 또한 서로의 역할에 단순히 선을 그어 학습을 제한하지 말고 항상 준비된 자세와 열린 마음으로 상호 필요한 역량을 발전시킬 것을 당부하고 있다.

또한 리더와 팔로워로 둘은 서로 상하의 관계에 따라 존속해가는 것이 아닌 상호 보완하며 나아가야 관계임을 강조함으로써 리더와 팔로우 관계가 수동적인 관계가 아님을 강조하고 있다.

육각형 개발자를 읽고 나서

오랜만에 상당히 읽기 편한 책을 리뷰하게 같다. (책의 내용이 편하다고 하여 결단고 책의 내용이 부실하거나 가볍다는 것은 아니므로 오해하지 않으셨으면 한다.)

개발자로써 살아간다는 것은 어찌 보면 상당히 피로한 일일 있다. 왜냐하면 수시로 변화하는 IT 생태계에서 개발자로써 역량을 다하려면 끊임없이 학습하고 스스로를 갈고닦아야 하기 때문이다. 무엇보다 하루가 다르게 흥망성쇠를 번복하는 수많은 기술들을 바라보고 있노라면 절로 피로가 몸에 스며드는 같다.

하지만, 책의 저자가 신신당부한 바와 같이 세상에 존재하는 모든 지식을 습득하기 위해 자신의 시간을 허비해서는 된다. 가장 중요한 것은 '선택과 집중' , 우리가 가진 리소스는 한정되어 있음을 자각하고 우리의 시간을 우리가 해야 업에 최대한 도움이 될법한 것들에 투자해야 함을 의미한다.

그렇기에 우리의 인생이 한층 의미 있는 것이 아닐까?

 

ChatGPT를 시작으로 빠르게 발전하고 있는 현대사회에서 개발자로서 꾸준히 살아남으려면 어떤 개발자가 되어야 할까?

책 표지에서부터 위 질문에 답을 해주고 있는 책이다.

 

선배 개발자가 직접 신입때 겪었던 사례들을 바탕으로 당시 어떤 게 문제였고, 어떤 방법이 있었다면 더 발전할 수 있었을까를 깔끔하게 설명해준다.

경험담을 들으면서 어떤 경험은 어? 얼마 전 내가 겪었던 문제랑 비슷한데? 저렇게 생각하면 안되겠구나. 등 나를 돌아볼 수 있는 계기였다.

 

이 책은 1~3년차가 읽으면 정말 도움이 많이 될 거라 생각한다.

개발자는 단순히 코딩만 하는 사람이 아니다.

설계도 해야하고, 다른 팀과 협업을 통해 일정관리도 해야하고, 후배 케어 및 동료와의 소통, 내가 만든 결과물에 책임감, 유지보수 등 코딩 외에 해야할 일이 정말 많다.

이때 어떤 걸 연습하고 공부하면 좋을지를 실무를 하고 있는 시니어 개발자가 해주는 생생한 조언을 책 하나를 통해 들을 수 있다.

앞으로 개발자로서 살아가면서 나는 단순히 코더가 아니라 좋은 시니어 개발자로 발전하고, 좋은 리더가, 좋은 팔로워가, 좋은 동료가 되고 싶다면 이 책을 추천한다.

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다"

개발 선배가 좋은 개발자는 어떤 느낌일까를 얘기하는 분위기로 읽으면 좋음

삽화와 함께 편안하게 그렇지만 흥미진진한 책

 

야구에 관심이 많은 편인데, 야구에서도 굉장히 귀하고 좋은 타자로 5툴 플레이어가 있다. 수비, 주루, 타격 모든 것이 빠지지 않는 존재같다.

야구를 볼 때도 홈런왕 보다는 이것저것 다 잘하는 5툴 플레이어를 좋아하는 나는 아무튼 개발로 이것저것 다 해보려고 하는 편이다.

그런 의미에서 육각형 개발자는 내 성향과 가장 잘 맞는, 읽고 싶은 책 이름이었다.

나는 개발만 할거야 ≠ 나는 코드만 짤거야 (개발자에게 필요한 역량은?)

이 책에서 육각형 개발자로 이야기하는 것은 구현만 잘하는 사람이 아니라 코드의 품질, 테스트 그리고 코드 작업 외적인 업무 관리에 대한 부분들까지도 골고루 잘하는 사람을 뜻한다.

조금씩 팀프로젝트를 하나 둘 해가면서 난 좋았던 팀원도 있었고 다시 보고 싶지 않은 팀원도 있었다. 그래서 늘 난 같이 있고 싶은 팀원이길 바라면서 어떻게 하면 팀원들이 날 기억할 지 조금이라도 고민했던 것 같다.

그런 의미에서 이 책은 팀에 도움이 되는 ‘개발자’가 어떤 능력치가 필요한 지 알려주는 책이다.

당연히 구현을 잘하고 품질, 테스트, 패턴, 업무관리까지 잘하면 된다.

표지에서 모든 것을 함축해서 알려주는 것 같다.

개발자가 어떤 자세로 임해야 하는지, 선배 개발자의 10가지 역량에 대하여 간접 경험을 할 수 있었습니다. 하드 스킬부터 소프트 스킬까지 상세히 소개해 주고 있습니다. 책에서 나오는 10가지를 나열해 보자면 아래와 같이 되어있습니다. 1. 구현기술과 학습 2. 소프트웨어 가치와 비용 3. 코드 이해 4. 응집도와 결합도 5. 리팩터링 6. 테스트 7. 아키텍처, 패턴 8. 업무 관리 9. 정리하고 공유하기 10. 리더와 팔로워 ### 소감 이 책은 편안하게 읽을 수 있는 책과 신뢰할 수 있는 가이드 역할 사이의 균형을 이루고 있습니다. 개발 프로세스에 대한 시니어 개발자의 경험을 제공하므로 주니어 개발자에게 적합한 것으로 보입니다. 그러나 개발자의 흐름을 더 폭넓게 이해하는 데 관심이 있는 모든 사람에게도 유익하다고 생각됩니다. 책을 읽는 동안 책의 매끄러운 흐름은 마치 시니어 개발자와 커피챗을 나누는 것처럼 느꼈습니다. 실제 경험이 녹아들어 있는 실질적이고 실무적인 내용과 적절한 예제로 읽는 데 많은 도움이 되었습니다. 저자에게 도움이 되었던 도서들도 추천해 줘서 좋았습니다. 레거시 코드에 대한 편견이 있었는데, 책을 통해 새로운 관점을 배웠습니다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

다람쥐 쳇바퀴 도는 일상에서 이 책을 만났다.

주니어 개발자 또는 중니어 개발자들이 시니어 개발자로 자리매김하는데 가져야 할 역량들을,

저자의 사적일 수도 있는 경험담을 통해 알려주는 것이 이제껏 읽어 온 IT 계통의 다른 책들과 차별화되었다.


신입 개발자에서 주니어 개발자에 이르는 경력을 쌓아가는 과정에서 잘못 인지되고 있는 사실들을 콕 찝어주고, 자신의 경험담을 통해서 쉽게 이해할 수 있게 한다.


이 분야에서 어쩌면 겪을 수 없는 일들도 사례를 들면서, 개발자로서 겪고 있을 고민점들을 헤쳐나간 이야기를 해준다. 그 과정속에서 앞으로 겪을 수도 있는 사람들에게 미리 준비할 수 있는 여지도 준다. 저자에게 도움이 되었던 도서들도 추천해준다.


"4장 코드 이해"에서는 코드 이해를 돕는 도구를 알려주며, 구체적인 다이어그램 예제들을 보여주고. 코드의 독해성을 높여주는 과정도 보여주면서 이해하기 좋은 코드를 만들기 위해 노력할 것을 주문한다.


"6장 리팩토링"에서는 코드 리팩토링 과정을 통해 주의할 점도 알려주고, 이해하기 좋은 코드 작성을 설명한다. "7장 테스트"에서는 테스트 작성을 통한 응집도 향상과 이에 상응하는 설계 품질 개선, 비용 감소 및 개발 생산성 증대를 이야기하고, "8장 아키텍처·패턴"에서 시니어로 구분될 수 있는 필수 역량을 알려준다.


"9장 업무 관리", "10장 정리하고 공유하기", "11장 리더와 팔로워" 에서는 개발자의 입장에서 소홀히 생각하거나, 무시할 수 있는 것들을 주지시켜준다. 당장 처한 현실속에서는 필요없다고 생각할 수 있지만, 결국 나중에는 밑거름이 될 수 있는 것들을 알려준다. 프로젝트 관리에서 필요한 소통과 자기 업무 관리, 문서 작성 과정의 설명과 글쓰기의 중요성, 리더와 팔로워로서 갖춰야 할 사회적 기술도 알려준다.


개발자로 나아가는 길에 필요한 것들을 경험담을 통해 알려주는 것은 이제껏 이 책이 처음이었다. 더불어 책 속에 삽입된 일러스트들은 글을 잘 요약해서 보여주고, 적재적소에 배치된 도표, 개념 설명은 이해를 도와준다. 담담히 이야기해주는 경험담들은 상당히 진지하다는 것을 느낄 수 있고, 배울 것들이 많다.


실무 경험에서 우러나와 금과옥조로 삼을 만한 저자의 조언들을 마음에 새겨본다. 회사 생활에만 국한되는 것이 아니라, 삶을 대하는 원칙으로 가져보려고 노력해야겠다.


※ 지극히 개인적인 도서 추천 대상

지금 가고 있는 길에서 생기는 의문으로 시야가 흐릿하거나, 답답함으로 힘든 늦깎이들에게,

잠시 쉬면서 숨을 고르고 이 책을 한 번 읽어보는 것도 도움이 될 것 같아 추천한다.


읽어주셔서 감사합니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

개발자 사이에서 유명하신 최범균님이 주니어 개발자들을 위한 책을 하나 출간하셨습니다.

출간하기 전부터 여러 사이트에서 좋은 리뷰들이 많이 보여서 꼭 리뷰를 해보고 싶었는데

운 좋게 당첨이 되었네요

 

이 책 주니어한테 정말 좋습니다.

더 나은 개발자로 성장하기 위해서 필요한 엑기스들을 모아놓은 책이라고 생각합니다.

 

특히 개발과 관련된 내용도 좋은데 '일'과 관련된 부분에서도 많이 배울 수 있었습니다.

 

 일단 책 자체도 작고 양도 많지 않아서 읽으려면 금방 읽을 수 있습니다.

 

책의 가독성도 좋고요

 

 코드가 필요한 부분은 코드까지 같이 보여주기에 내용이 잘 파악이 됩니다.

 

 

1장 들어가며

간단하게 개발자가 해야 되는 일이 무엇이고 새로운 기술을 써야만 개발 능력이 향상된다고 여기지 말자라고 알려줍니다.

또한 많은 개발자들이 개발만 하면 일을 잘하는 걸로 알고 있는데 개발자는 개발뿐만 아니라 구현 기술, 설계 역량, 업무 관리와 요구 분석/공유, 리드&팔로우 등등 여러 가지도 같이 중요하다고 알려줍니다.

2장 구현 기술과 학습

학습하려고 하는 구현 기술을 정할 때는 현재 사용 중인 기술, 문제를 해결하기 위한 기술 2가지로 정하는 게 좋다고 알려줍니다.

또한 처음부터 완벽히 배우려고 하는 건 좋지 않고 빠르게 실무에 필요한 일부 요소를 배우고 나중에 필요할 때 더 배우는 게 좋다고 알려줍니다. 저도 최근에 이와 관련해서 도대체 어디까지 공부를 해야 되는 건가 고민을 많이 했는데 고민이 많이 해결이 되었습니다.

또한 기술을 공부하는 것도 좋은데 기초 지식도 같이 학습해야 더 나은 개발자가 될 수 있고

모든 문제를 해결할 수 있다는 영웅주의도 경계하자고 알려줍니다.

3장 소프트웨어 가치와 비용

개발을 할 때 소프트웨어의 변경 비용을 생각해서 유지 보수 비용을 낮출 수 있는 방법을 찾아야 한다고 합니다.

또한 많은 개발자들이 레거시를 유지 보수하는 건 실력이 늘지 않는다고 생각하는데 레거시에서는 테스트 코드와 리팩토링 능력을 기를 수 있기에 너무 부정적으로만 보지 말자고 알려줍니다

4장 코드 이해

4장에서는 실제 코드를 보여줍니다. 여기 있는 것만 잘 지켜도 어느 정도 유지 보수에 좋은 코드가 나올 거라고 생각합니다.

변수 이름, if 문 중첩을 역으로 바꾸기, 변수 줄이기, 변수에 의미 부여, 변수 범위 좁히기, 변경 최소화하기

메서드 추출, 추상화 수준 맞추기, 개념적인 단위로 코드 묶어서 표현하기 등을 알려줍니다.

5장 응집도와 결합도

응집도와 결합도가 무엇인지 알려주고 어떻게 하면 응집도를 높이고 결합도를 낮추는지를 알려줍니다.

결국 응집도늘 높이고 결합도를 낮추려면 4장에서 나운 방법들을 잘 사용할 줄 알아야 할 수 있습니다.

다만 결합도를 낮추려고 할 때는 결합도 감소, 응집도 증가, 변경 비용 감소, 테스트 가능성 등의 이점을 파악해서 적용하는 게 좋다고 합니다.

6장 리팩토링

어찌 보면 4장과 비슷한 내용일 수 있습니다. 현재 코드에 대해서 리팩토링을 하는 몇 가지 방법에 대해서 알려줍니다.

사용하지 않는 코드 삭제, 주석 처리 코드 및 변수 삭제, 매직넘버 주의, 메서드 이름 명확하게, 메서드 추출

클래스 추출, 클래스 분리, 파라미터 값 정리, for 문에서 하는 2가지 일 분리

와 같은 방법을 알려줍니다.

4장에서와 마찬가지로 코드까지 보여주기에 이해가 잘됩니다.

실제 실무에서 적용하면 좋다고 생각합니다.

7장 테스트

테스트 코드의 중요성과 TDD에 대해서 알려줍니다.

여기서는 코드는 없고 이론적인 것만 주로 알려주는데 확실한 건 읽고 나면 테스트 코드가 중요하다는 걸 알 수 있게 됩니다.

8장 아키텍처 / 패턴

아키텍처를 결정할 때 기능 요구 사항과 품질 속성/비기능 요구 사항 2가지를 고려해야 한다고 알려줍니다.

저도 처음 보는 개념이라서 많이 배웠습니다.

기능 요구 사항은 소프트웨어로 해결하고자 하는 문제와 관련이 있고 비기능 요구 사항은 성능 확장성, 가용성 등등과 관련이 있다고 알려줍니다.

또한 상황에 맞는 아키텍처를 만들어야 하고 레거시 프로젝트의 아키텍처를 개선하려고 할 때는 한 번에 바꾸는 빅뱅 방식의 위험성에 대해서 알려주고 점진적으로 구조를 변경하는 게 현실적으로 알려줍니다.

그리고 가장 중요한 걸 알려줍니다.

바로 아키텍처 변경은 반드시 필요성에 기반해서 이루어져야 하고

해결해야 할 문제와 상관없는 복잡함을 우발적 복잡성이라고 하는데 기술 사용 욕구에 빠져서 문제 해결을 오히려 복잡하게 만들지 말자고 알려줍니다.

9장 업무 관리

개발자는 개발만 잘하면 된다는 사람들은 꼭 읽어보면 좋은 부분이라고 생각합니다.

업무 관리에 대해서 알려줍니다. 저도 제 나름대로의 업무 관리를 하고 있는데 이번에 책을 읽으면서 다시 한번 어떻게 업무를 관리해야 좋은지 배울 수 있게 되었습니다.

저도 개발을 할 때 생각나는 대로 개발하기도 하는 데 여기서는 이게 가장 흔한 실수라고 하고 알려주고

업무 크기에 따라서 일하는 방식을 알려주고 반드시 계획을 세우고 업무를 나눠서 하자고 알려줍니다.

또한 개발뿐만 아니라 일을 잘하는 방법도 공부해야 된다고 말합니다.

주니어 때는 위험 신호를 감지하면 빠르게 공유해야 더 큰 위험을 막을 수 있다고 알려줍니다.

 

저도 실무를 해보면서 느낀 건데 요구사항은 계속 계속해서 바뀌게 됩니다.

책에서도 똑같이 말을 하는데 여기서 중요한 건 요구 사항이 왜 자주 바뀌는지에 대해서 명확하게 이해를 해야 더 나은 방식이나 다른 대안을 떠올릴 수 있다고 합니다.

또한 요구사항이 계속 계속해서 바뀌기니까 나눠수 분석하는 게 좋다고 합니다.

 

그리고 제가 읽으면서 가장 많이 공감이 되었던 부분인데 일정 관련이었습니다.

저도 초반에는 일정을 산정할 때 제 능력을 과신해서 산정하는 경우가 많았습니다.

하지만 실무를 해보니 과신해서 일정을 짜게 되면 절대로 일정안에 마칠 수 없다는 걸 깨달았습니다.

무조건 여유 기간을 가지고 일정을 산정해야 한다는 걸 다시 한번 배울 수 있게 되었습니다.

10장 정리하고 공유하기

글로 정리해서 공유하는 방법과 발표의 중요성에 대해서 알려줍니다.

글로 정리를 할 때도 핵심만 뽑아서 글로 쓰는 게 좋다고 알려주고 그림까지 있으면 좋다고 알려줍니다.

 

11장 리더와 팔로워

아직 여기는 다 읽지 못했는데 모두가 리더가 될 수 있기에 어떻게 하면 더 좋은 리더가 될 수 있는지와

어떻게 하면 더 좋은 팔로워가 될 수 있는지를 알려줍니다.

 

 

주니어 개발자면 꼭 읽어보는 걸 추천합니다.

개발 전체에 관련해서 꼭 필요한 핵심 개념들을 배울 수 있고

개발뿐만 아니라 '일'을 잘하는 방법에 대해서 배울 수 있는 책이라고 생각합니다.

그리고 본인이 사수가 없이 일하는 주니어 개발자면 더욱더 추천합니다!!!

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

IT 개발 직군에서 주니어에서 시니어로 가기 위한 역량들을 점검해 보고 어떻게 성장할지 좋은 가이드가 되는 책이었습니다. 

《육각형 개발자》는 개발자로서 성장하고자 하는 모든 이들에게 필요한 핵심 가이드북입니다. 이 책은 다양한 역량을 고루 갖춘 개발자로 성장하기 위한 방법과 원칙을 상세하게 제시하며, 주니어부터 시니어, 그리고 리더로 성장하는 과정에서 겪는 도전과 해결 방법을 깊이 있게 다룹니다.


책의 구성은 11장의로 되어 있으며 각 단원 마다 개발자가 필요한 지식이나, 원칙을 소개하고 있습니다.

1. 들어가며

- 개발자로서 시야를 넓히는 중요성을 강조합니다.

- 성공뿐만 아니라 실패 이야기에 대해서도 다루며, 개발자로서의 현실적인 시각을 제시합니다.

- 개발에 필요한 요소와 역량에 대해 얘기합니다.

2. 구현 기술과 학습

- 개발자의 기본 역량인 구현 기술의 중요성을 설명합니다.

- 어떻게 효과적으로 구현 기술을 학습하고 적용할 수 있는지를 다룹니다.

- 구현 기술을 학습하기 위한 전략과 고려사항을 공유합니다.

3. 소프트웨어 가치와 비용

- 코드 품질과 소프트웨어 가치의 관계를 설명하며, 유지보수 비용을 줄이기 위한 방법에 대해 논의합니다.

- 소프트웨어 개발과정에서 발생하는 비용을 이해하고 관리하는 방법을 제시합니다.

4. 코드 이해

- 코드를 이해하는 능력의 중요성을 강조하며, 이를 향상시키는 방법을 소개합니다.

- 코드 이해를 돕는 도구와 이해하기 좋은 코드를 작성하는 기법을 설명합니다.

5. 응집도와 결합도

- 유연하고 확장 가능한 소프트웨어 구조를 위해 응집도와 결합도의 개념을 소개합니다.

- 응집도와 결합도를 높이는 방법과 그 중요성을 설명합니다.

6. 리팩터링

- 리팩터링의 개념과 중요성을 소개하며, 코드 품질 향상을 위한 기본적인 리팩터링 기법을 다룹니다.

- 레거시 코드의 수정과 변경 비용을 다루면서 리팩터링의 필요성을 강조합니다.

7. 테스트

- 테스트 코드 작성의 중요성과 자동화된 테스트의 장점을 설명합니다.

- 테스트 주도 개발(TDD)의 개념과 이를 통해 효과적인 개발을 어떻게 할 수 있는지를 다룹니다.

- 테스트 가능한 코드 작성과 리팩터링을 위한 테스트 작성 방법을 제시합니다.

8. 아키텍처와 패턴

- 아키텍처 설계와 패턴의 중요성을 강조하며, 이를 통해 소프트웨어 구조를 개선하는 방법을 설명합니다.

- 다양한 아키텍처 패턴과 그 활용법을 다룹니다.

9. 업무 관리

- 개발자의 역량을 넘어서 업무 관리의 중요성을 강조하며, 업무를 효과적으로 관리하는 방법을 다룹니다.

- 업무 분할, 위험 관리, 요구 사항 대응, 일정 관리 등을 다룹니다.

- 점진적이고 반복적인 개발 방법과 업무 효율 향상을 위한 팁을 제공합니다.

10. 정리하고 공유하기**

- 효과적인 소통을 위한 글쓰기와 발표 역량의 중요성을 강조하며, 이를 향상시키는 방법을 설명합니다.

- 글로 정리하고 공유하는 방법과 발표 기술, 그리고 그 결과로 얻을 수 있는 효과를 다룹니다.

11. 리더와 팔로워

- 협업을 위한 리더와 팔로워의 역할과 중요성을 설명합니다.

- 리더십과 팔로워십에 관한 인사이트를 제공하며, 효과적인 팀 협업을 위한 가이드를 제시합니다.


이 책은 다양한 주제에 대한 깊은 통찰과 실제 경험을 바탕으로한 조언, 코드 예시와 사례를 통해 개발자의 성장을 돕는 탁월한 자료입니다. 특히 업무 관리, 협업, 소통, 리더십 등 다양한 영역에서의 역량을 다루며, 개발자의 성장에 필요한 다양한 관점을 제시합니다.


"육각형 개발자"는 단순한 코드 작성 능력을 넘어서 다양한 역량을 키우고 성장하기를 원하는 개발자들에게 꼭 필요한 자료입니다. 이 책의 내용을 숙지하고 실제 업무에 적용한다면, 개발자로서의 전문성과 성장을 더욱 효과적으로 달성할 수 있을 것으로 기대됩니다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이 리뷰는 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.서평을 작성하기 위해 책을 끝까지 정독하고, 제 주관적인 의견을 담아 작성하였습니다.
 
 
 
 

들어가며

개발자의 삶은 빠르게 지나간다. 대학을 졸업하고 회사에 취업해서 이리저리 정신없이 살다 보면, 어느새 경력직 개발자라는 타이틀이 붙는다. 많은 경험과 넓은 시야로 개발자들을 선도하는 개발자들을 우린 시니어 개발자라고 한다.
 
경력을 많이 쌓으면 자동으로 시니어 개발자가 될까? 안타깝게도, 시니어 개발자로 성장하는 것과 경력을 쌓는 것은 다른 이야기다. 가끔은 경력이 많은 개발자가 물경력이라는 소리를 듣는 경우도 있다.
 
그렇다면 시니어 개발자로 성장하려면 어떻게 해야 할까? 어떤 능력이 필요하고 키워야 할까?
 

이 책의 주요 내용

이 책은 시니어 개발자로서 성장하기 위해, 어떤 기술과 소프트 스킬을 배워야 하는지 설명해 준다.
 
특정 기술에 국한된 것이 아닌, 넓은 시야를 가지고 기술의 핵심을 바라보는 관점으로 설명한다.
 
1.
들어가며
a.
저자의 개발 경험과 개발이라는 행위에 대한 정의를 설명한다.
2.
구현 기술과 학습
a.
기술을 선택하고 공부하는 데 대한 본인의 인사이트를 설명한다.
3.
소프트웨어 가치와 비용
a.
유지보수에 대한 이해와 비용을 절감하는 법에 관해 설명한다.
4.
코드 이해
a.
코드를 잘 이해하고, 이해하기 쉽게 관리하는 방법에 관해 설명한다.
5.
응집도와 결합도
a.
응집도와 결합도를 관리해야 하는 이유를 설명하고, 관리 방법에 관해 설명한다.
6.
리팩터링
a.
리팩토링에 대한 의의를 설명하고, 구체적인 방법에 관해 설명한다.
b.
자세한 내용은 마틴 파울러의 ‘리팩토링’ 도서를 참고하자. 내용이 겹친다.
7.
테스트
a.
테스트의 필요성과 구체적인 방법에 관해 설명한다.
b.
이론적인 부분보다는 실용적인 방법에 대한 설명이다.
8.
아키텍처, 패턴
a.
아키텍처의 선정과 변경에 관해 설명한다.
b.
아키텍처 결정에 대한 트레이드오프를 설명한다.
9.
업무 관리
a.
개발자로서 업무를 잘 관리하는 방법을 설명한다.
b.
개발자뿐만 아니라 일반 회사원에게도 유용할 것 같다.
10.
정리하고 공유하기
a.
사내 기술 문서를 작성하거나, 보고서를 작성할 때 사용할 수 있는 노하우를 설명한다.
11.
리더와 팔로워
a.
리더로서의 마인드 셋, 성장을 설명한다.
b.
리더를 따르는 좋은 팔로워의 조건과 성장을 설명한다.

이 책을 읽으면 좋을 사람

이 책은 개발자로 일하고 있는 사람이라면, 꼭 한번 읽어보기를 권한다.
 
아마 이 책을 읽는 연차, 직급별로 공감하는 수준이 다를 것이라 예상한다. 겪은 만큼 공감된다고나 할까.
 
시니어 개발자
이미 시니어 개발자로 일하고 계신 분들은, 이 책에 나온 내용들을 한 번쯤 고민 해봤을 가능성이 크다.
본인이 성장하면서 느꼈던 점을 다시 한번 정리할 기회가 될 수 있다.
글로 정리하지 못하고, 느낌으로 알고 있던 부분들을 명확하게 정리할 수 있다.
중니어 개발자
경력 4~5년차의 중니어 개발자에게 강력히 추천한다.
지금까지 주니어로서 성장해 온 과정을 되짚어보고, 앞으로 시니어 개발자로 성장할 방향을 정하는 데 도움이 될 수 있다.
특히 사수나 리더가 없는 환경에서, 스스로 성장하고 있는 중니어 개발자가 있다면 꼭 읽어보기를 바란다. 많은 조언과 인사이트를 얻을 수 있을 것이다.
주니어 개발자
주니어 개발자라면 이 책에 큰 공감은 하지 못할 수도 있다.
다만 개발에 대한 본질을 이해하고, 방향을 정하는 데 도움이 된다.
성장하면서 두고두고 꺼내서 읽어보면 공감의 깊이가 달라질 것이다.

나가며

좋은 개발자로서 성장은 어렵다. 실력만 좋다고 좋은 시니어 개발자가 될 수 없다. 시니어 개발자가 되는 길은 누가 안내해 주지 않는다. 암벽등반 하는 것 같이 스스로 다음 포인트를 더듬거리며 짚어나가야 한다.
 
그중에 많은 시행착오를 겪게 되고 때론 실패하기도 한다. 이 책은 그런 과정에서 다음 이정표를 정하는데 좋은 가이드가 되어줄 것이다.
 
특히 보고 배울 시니어가 없는 환경에서 스스로 성장하고 있는 개발자라면, 많은 공감과 도움을 얻을 수 있을 것이다.
 
 

요새 많은 사람들이 코딩에 뛰어들고 있다. 이제는 거의 모든 사람들의 필수 덕목이 된 것 같다. 

사실 코딩을 할 줄 안다고 해서 개발이나 프로그래밍을 한다고 하긴 애매한 것 같다. 나도 연구 목적으로 코딩을 꽤 많이 사용하고, 어느 정도 숙련되었다고 생각하지만 나를 개발자로 소개할 수 없다고 생각한다. 물론, 내가 원하는 나의 직무 또한 개발자는 아니기에 그렇게 소개하고 싶지도 않긴 하다.

 

 

 


그래도 분야가 분야인지라, 주변에 개발을 하고 있는 사람들이 꽤 있긴 하다. 여기서 개발이라하면, 정말 코딩으로 먹고 사는 사람들을 말하는 것이다. 

 

이 책은 이제 '육각형 인재'마냥 육각형 개발자라는 제목으로 어떻게 하면 더 좋은 개발자가 될 수 있는지를 소개한다. 사실 좋은 개발자라 하면 코딩만 잘하면 되는 것인가?처럼 어떤 장점이 있어야 좋다고 할 수 있는지 애매한데, 이 책에서는 이제 여섯개의 덕목을 먼저 소개한다.

몇 가지들을 보면, 쉽게 생각할 수 있는 구현 기술이나 코드 이해 등은 단순히 코딩의 능력인 것 같고, 테스팅이나 업무 관리 등은 좀 더 하이 레벨 능력인 것 같다. 사실 업무 관리나 리드&팔로우 등은 꼭 개발자뿐 아니라 일반적인 회사원이어도 필요한 기술인 것 같다. 즉, 개발자만이 특수하게 필요로 하는 능력이 있지만, 개발자라고 해서 요새 밈으로 뜨고 잇는 엠지세대마냥 극단적인 자유로움으로 무장하기보다는 커뮤니케이션이나 스케쥴링 또한 중요하다고 할 수 있다.

 

 

 

우선 책을 쓰신 분이 어떤 인생을 겪어왔고 또 이 책을 쓰게 되었는지에 대해 나온다. 개발자의 회사 생활에 대한 얘기는 뭔가 매번 재미있는 것 같다.

 

 

이 책에서 신기했던 점은 책 쓰신 분이 직접 사용했었던 필기 등이 함께 들어와있어서 좀 더 직관적이고 신뢰성이 있었던 것 같다. 물론, 저런 것을 찾는 재미도 있어서 책을 더 쉽게 읽을 수 있었던 것 같다.

당연히, 코드 예제들도 많이 들어있었고, 기본적인 이론 설명도 많았다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이미 한 사람 몫을 하는 개발자가 더 성장하기 위한 도움을 받을 수 있는 책이다. 개발자로 일 하다가 더 성장하고자 하는 마음에 막연한 목표를 쫒아 이직을 반복하거나 고민하고 있다면 이 책을 통해 어떻게 성장할지 배우고 가닥을 잡을 수 있을 것이다. 보다 유능한 개발자가 되고 싶은데 어떻게 해야 할지 고민인 사람에게 추천한다. 이 책은 당신을 위한 좋은 길잡이가 될 것이다. 단순한 코딩, 비슷한 방식의 구현을 반복하는 것이 지겹다고 느끼는 사람에게도 추천한다. 기존에 놓치고 있던, 하지만 신경쓰려고 할수록 방대해지는 개발의 다양한 세부 영역이 당신의 삶에 또 다른 설렘을 줄 것을 기대해본다. 그리고 이 책의 마지막 세 장의 경우 업계불문 유익한 내용이 담겨 있어, 개발자나 IT 업계 관계자가 아니더라도 누구나 한 번쯤은 읽어봤으면 한다. 한빛미디어 〈나는 리뷰어다〉 활동을 위해서 책을 제공받아 작성된 서평입니다.



주니어 개발자가 레벨업을 하기위한 작가의 경험담을 풀어주는 책이다.

그리고 나는 작가의 행보를 그대로 답습하고 있음을 너무 정곡이 찔려서 할 말을 잃었다.

일과 동시에 역량개발을 한다고 생각했었고 어느 순간부터 점점 발전이 없는 것도 느꼈었다.

그리고 누가 이런 실수담같은 걸 말해줄까.. 이거 공부해라, 저거 공부해둬라~ 하는데 다 귀에 나 듣고 싶은대로만 듣기도 하는데.

 

응집도와 결합도도 솔직히 공부하면서 응집도가 높을수록 결합도가 낮을수록 좋다~ 하는데 그렇게 와닿지도 않았다. 예시가 없이 그냥 외워니까.

근데 이 책에서 예시도 들어준다. 아~ 하고 이제 좀 의미를 알 것도 같다. 라는 느낌이다.

그리고 기술 스택도 관련해서... 진짜 찔렸는데 이게 지금 트렌드라고 마구잡이로 따라가지 말라는 것.

그리고 어떻게 기술역량을 발전시킬지 생각해야 한다고 하는 것.

그리고 리팩토링 경험담에서도 계속해서 늘어나는 if~else.. 너무 공감이 되고 왜 그런 일이 벌어지는 지 너무도 알 것 같고 나도 그랬고.. 그러나 한번 총대를 매고 해야 하는 일이고.

아직까지도 초보 개발자인 입장에서 상급 개발자의 경험담을 들어볼 기회가 있다는 점 너무 좋은 것 같다.

 

 

 



※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

이번 도서후기는 이 책을 서점에서 봤을 때 눈에 띄는 제목이어서 한번 읽어봐야지 했던 책이다.

표지 쓰여있듯이 시니어 개발자로 성장하기 위한 자기 계발서로, 주니어 개발자들이 한번쯤은 읽어보기를 추천하는 책이다.

 

 

처음 이 책 제목을 접했을 때, 육각형 개발자는 무슨 의미일까라는 생각을 했었다.

책을 읽어본 내가 생각했을 때는 좋은 역량을 갖춘 개발자를 의미하는 것이 아닌가 싶다.

그래서 저자께서 겪은 일을 기반으로 더 나은 개발자가 되기 위해 갖추어야 할 열 가지 역량을 소개한다.

아마 이 열 가지 역량은 나도 이 책을 읽을 분들도 생각해보지 않았을까 싶다.

 

 

구현 기술을 갖추기 위한 학습 전략과 기술들, 소프트웨어의 가치가 무엇이고 이로인한 효율적인 개발비용을 들이는 방법, 코드를 이해하기 위한 여러 가지 방법과 동료들이 이해하기 좋은 코드를 작성하는 방법과 연장선으로 같은 기능을 하는 코드들을 하나로 모아서 응집도를 높이고, 모듈간의 결합도를 낮추는 전략을 갖추는 방법을 소개한다.

또한 리팩토링을 통해 좀 더 나은 코드를 작성하고 테스크 코드를 작성하여 테스트를 자동화하고 이에 따른 검증을 강화하는 내용도 소개한다.

후반부에서는 아키텍처 패턴을 통해 설계의 중요성을 배우고, 시니어의 역량 중의 하나인 업무 관리를 효율적으로 관리하는 방법과 작업 내용을 글로 작성하고 동료들에게 공유하는 방법도 다룬다.

마지막 장에서는 겸손, 존중, 신뢰를 바탕으로 리더가 갖추어야 할 덕목도 함께 다룬다.

 

 

최범균님이 쓰신 여러 책을 많이 읽어보았는데, 특히나 이번 도서는 더더욱 읽고 난 후에 많은 생각을 갖게 하였다.

내가 고민하는 부분들, 내가 좀 더 갖추어야 하는 역량들을 객관적으로 생각해볼 수 있어서 더욱 유익했다.

개발 능력 뿐만 아니라 여러 능력을 갖춘 개발자로 성장하고 싶은 분들이 꼭 읽어보았으면 한다.

"도메인 주도 개발 시작하기" 라는 책의 저자이신 최범균님의 새로운 책입니다! 책에서 말하는 육각형 개발자는 시니어가 되기 위해 필요한 다양한 역량을 갖춘 개발자를 말하는데요.

저자께서는 책의 대상으로 좋은 시니어 개발자가 되고 싶은 주니어 또는 중니어 개발자를 말씀하셨지만 개발 공부를 하고 계시는 많은 취준생 분들에게도 분명 도움이 되는 내용이 많다고 생각이 듭니다. 

기본적으로 안내서지만, 저자님께서 처음 개발을 시작할 당시부터 지금까지의 느껴왔던 경험을 적은 수필같은 느낌을 많이 받았습니다.

꼭 책을 처음부터 다 읽을 필요도 없고 내가 모자란 부분 또는 궁금한 부분만 배우기도 너무 좋았습니다.

저도 현재 토이 프로젝트를 진행하며 설계에 대한 고민, 객체지향적인 코드를 작성하는 방법에 대한 고민, 테스트 코드에 대한 고민이 많은데 이 책에서 많은 도움을 받았습니다.

많은 분들께 추천드리고 싶은 책입니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

육각형 개발자

시니어 개발자로 성장하기 위한 10가지 핵심 역량

 

최범균  저  |   한빛미디어

 

초급 SW 개발자들에게 좋은 길잡이 도서가 출간되어 반갑다.

저자와 출판 기획자의 노고에 감사들 드린다.

 

초.중급 SW개발자들이 자신의 경력관리를 어떠한 자세로 임해야 하는지,

선배 개발로서 경험에서 우러나오는 실수를 거울삼아 자신을 성장시키는

10가지 역량에 대하여 육각형이라는 용어를 사용하여 잘 정리하였다.

#구현기술

#품질 #코드_이해

#응집도 #결합도

#리팩터링

#테스트

#아키텍처 #패턴

#업무관리 #공유 #리드&팔로우

 

SW 초급개발자가 성장할 수 있도록 시야를 넓혀나가는 좋은 안내서이다.

 

디테일한 부분을 다 다룰 수 없었겠지만

자세하게 SW 개발자로서 갖추어야 할 기술과 관리 포인트를 짚어주었다.

모쪼록 SW개발자로 성장하고자 노력하는 모두에게 많은 도움이 될 것이다.

 

끝으로, 저자와 출판 편집자에게 조언을 드리자면,

부록으로, 현장에서 SW 개발에 몰입하다 보면,

개발자들이 놓치는 부문인 보고서 작성에 대한

참고할 만한 사례(샘플)이 추가 되었다면 좋았을 것 같다.

 

각 프로젝트 마다 달라, 쉽지 않은 작업이라고 생각되지만,

공통적으로 사용되는 부문에 대한 언급이 필요할 것으로 본다.

향후, 저자와 출판 편집자는 별도로 이 주제에 대하여 사례 중심의

SW개발 보고서 작성 가이드 도서를 기획하고 실행해 보면 좋겠다.

 

국내 SW산업의 발전을 위해 글로벌 진출에 힘써야 한다.

국제 표준을 적용하는 훈련도 필요하다고 본다.

중소 SW개발 기업들이 당면하고 있는 문제에 많은 도움을 줄 수 있는

좋은 길잡이가 되어 줄 것으로 기대해 본다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

#육각형_개발자   # 시니어_개발자로 #성장하기_위한 #10가지 #핵심 #역량 # 최범균  # 한빛미디어

이 책은 개발자로 나아갈 때 있으면 좋을 역량들을 10가지의 주제로 엮어서 구성한 책이다. 개발자로서 코드를 작성할 때, 그리고 새로운 기술을 도입하고자 할 때 고려해야 할 사항들을 소개한다. 이를 통해 새로운 기술을 단순히 도입하는 것이 아니라 어떤 방식으로 도입해야 더 나을지에 대해 생각해볼 수 있었다. 그리고 테스트, 리팩토링 과정에 대해서도 어렴풋이 생각했던 것들을 이해할 수 있었다. 테스트를 할 때 단순히 내가 작성한 코드에 바로 도입하는 것이 아니라 쉽게 수정할 수 있도록 적절하게 기능을 나누어 해야 한다는 것을 느낄 수 있었다. 마지막으로 업무관리, 리드와 팔로워. 어느정도는 이전에 조금 들어본 적이 있었지만 어떻게 행동하고 필요한 역할들을 볼 수 있었던 챕터였다. 

개발자로서 역량을 기르고 싶다면 이 책을 통해 육각형 개발자가 되어보는 것도 좋을 것 같다

 

- 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

이 책은 주니어 개발자가 레벨업 하기 위해 길러야 할 역량 10가지를 작가의 경험담과 함께 풀어낸 책이다.

첫 장부터 요즘 하는 고민에 관한 내용이라 푹 빠져들었고, 딥한 다른 개발 서적들과 다르게 예시를 작가의 경험으로 들어 가볍게 술술 읽을 수 있었다.

게다가 실무에 직접 접목시킬 수 있는 내용들이 많아서 직접 해보니, 이해도 더 쉽게 됐다. 머리를 식히고 싶지만 성장은 포기할 수 없는 주니어들에게 강력추천 한다.

 

이 서평은 한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다.

#도서협찬

#육각형개발자

#최범균

#한빛미디어

 

20230821_085337.jpg

 

 

  개발자라는 직업은 매우 다양한 역량을 필요로 한다. 코딩 능력은 물론, 설계 역량, 업무 관리, 요구 분석, 리더십 및 팔로우 역량 등 다양한 능력이 필요하다. 그런데, 이런 다양한 능력을 어떻게 함께 키워야 할까? 이 질문에 대한 답을 찾기 위해 필요한 책이 바로 <육각형 개발자>이다.

 

 이 책은 개발자로서 필요한 다양한 능력을 효과적으로 키우기 위한 명확한 가이드를 제시한다. 그리고 이를 통해 개발자로서 진정한 성공을 얻을 수 있도록 도와준다. 성공은 단순히 코드를 작성하는 것을 넘어서, 프로젝트를 이끌고 다양한 사람과의 협업을 통해 더 나은 결과물을 만들어내는 것을 의미한다.

 

20230821_085359.jpg

 

  <육각형 개발자>는 현장에서 마주치는 실제 문제와 그에 대한 해결 방안을 제시하며, 다양한 설계 기법과 학습 방법에 대해 알려준다. 실제로 현장에서 경험하는 여러 문제들과 그에 대한 실질적인 해결 방법을 통해, 개발자로서의 깊이 있는 성장을 도모할 수 있다.

 

 육각형의 변처럼, 이 책에서 소개되는 다양한 역량들은 서로 다르지만 하나의 큰 그림을 만든다. 응집도와 결합도와 같은 복잡한 개념도, 이 책의 설명을 통해 쉽게 이해할 수 있다. 코드 작성법과 다이어그램을 통한 시각화는 이러한 개념을 더욱 구체적으로 이해하는 데 도움을 준다.

 

20230821_085408.jpg

 

  이 책의 장점은 새로운 기술과 레거시, 유지 보수에 대한 저자의 생각을 통해 독자에게 관점의 전환과 새로운 시각을 제공한다. 빠르게 변화하는 IT 업계에서 새로운 기술, 레거시보다 중요한 것은 결국 고객이라는 점을 이해할 수 있게 도와준다. SI 업무 대신 SM 업무를 맡으면 실력이 늘지 않는다는 생각 역시 유지 보수 또한 개발에서 중요한 것임을 알 수 있다.

 

 개발자의 길은 끊임없는 학습과 도전으로 이루어져 있다. <육각형 개발자>는 이 길 위에서 안내자 역할을 해주는 가이드북이다. 이 책을 통해, 개발자로서의 깊이 있는 성장을 위한 다양한 역량과 지식을 얻을 수 있다. 그리고 이를 통해 더 나은 개발자, 그리고 더 나은 인간으로 성장하는 데 도움을 받을 수 있다.

 

20230821_085418.jpg

 

  <육각형 개발자>는 개발자의 성장을 위한 필수 가이드북이다. 이 책은 단순히 기술적인 내용만을 전달하는 것이 아니라, 개발자로서의 깊이 있는 성장과 성공을 위한 근본적인 질문에 대한 답을 제시한다. 이 책을 통해 IT 업계의 빠른 변화와 도전에 대처하는 방법을 배우길 바란다.

 

 

  한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

 

  #육각형개발자 #최범균 #한빛미디어 #개발자 #시니어개발자 #책스타그램 #북스타그램 #서평 #서평단 #서평단모집 

처음 컴퓨터 프로그래밍을 배울 때 개발자는 프로그래밍만 잘 하면 된다는 생각이 있었다. 막연하게 코드만 잘 짜면 개발자로 일할 수 있지 않을까? 라는 생각을 했었다.

 

코드를 새로 만드는 것뿐 아니라 유지보수하는 업무도 의미있는 업무이고, 코드를 만지는 업무뿐 아니라 사람을 관리하고 프로젝트를 관리하는 업무 또한 정말 중요한 업무이고 개발자의 업무라는 것을 새삼 느꼈다. 프로그래밍과 건축이 비슷하다는 생각을 종종 하곤 하는데, 건물을 설계하는 사람이나 벽돌을 올리는 사람만 중요한 것이 아니라 그 중간에서 건축에 관여하는 사람 모두 중요한 역할을 하듯이 개발자도 마찬가지인듯 하다.

 

신기술, 테스트, 리팩터링, 아키텍처 등 기술적인 부분부터 업무 관리 및 공유 등 인적 자원 관리까지 깊지는 않지만 개발자의 롤을 두루두루 살펴볼 수 있는 책이었다. 책도 나름 두껍지 않고 쉽게 읽힌 편이었다.

 

개별 파트에 대해 더 깊은 내용을 알고 싶다면 중간중간 책 추천도 해 주지만 다른 도서를 참고하면 될 듯 하고, 다만 중간중간 오타가 조금 아쉽다. 읽는데 지장은 딱히 없지만...

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

안녕하세요? 정리하는 개발자 워니즈입니다. 나는 리뷰어의 첫 시리즈를 작성해보고자 합니다.
필자가 최근에 읽은 육각형 개발자에 대한 서평을 작성하고자 하는데요. 기술서적만 읽다가 편안하게 읽을 수 있는 책을 알게되어 즐겁게 읽을 수 있었습니다.

전반적으로 육각형 개발자라는 느낌은 주니어부터 중니어 시니어로 성장하는 과정을 하나의 책으로 담아내었다고 느끼게 되었습니다. 책의 서두는 개발이 왜 필요한지(주니어), 중반 부분에서는 개발의 유지보수 비용을 낮추고 품질을 높이는 방법에 대해(중니어), 그리고 후반부에서는 팀을 관리하고 업무의 시너지를 내기 위한 방법들에 대해(시니어) 소개하는 느낌을 받았습니다.

책의 필자가 느끼는 육각형 개발자는 모든 세대(주니어, 중니어, 시니어)를 아우를 수 있는 방벙베 대해서 소개하는 것 같다는 느낌을 받았고, 시니어가 됐다고 주니어, 중니어에게 필요한 것들을 잊지 말고 기본에 충실하자라는 느낌도 배울 수 있게 되었습니다.

본 포스팅은 “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

육각형 개발자_02.png

 

스포츠계에서 다양한 능력치가 고루 균등한 선수를 '육각형 선수'라고 부른다고 하며, 이 책의 제목을 '육각형 개발자'라고 한 이유가 여러 역량을 고루 갖춘 개발자라는 의미로 사용하였다고 한다.

이 책에서는 맨 앞에 1장을 제외하고 2장부터 11장 까지 총 10개의 장에 각각 하나의 장마다 하나씩 총 10개의 시니어 개발자로 성장하기 위한 10가지 핵심 역량을 구분해서 설명을 해주고 있으며, 이 10개의 핵심 역량을 6가지로 묶어서 도서의 앞표지에 육각형 도형  그림으로 어떤 것들이 10가지 핵심 역량인지를 보여주고 있다.


이 책은 저자분이 직접 주니어 개발자로 시작을 해서 시니어 개발자로 성장해 가면서, 경험했던 업무에 대한 부분과 참고했던 책들을 추가적으로 알려주고 있어서 각각의 역량에 대한 부분을 읽어 보면서 저자분이 어떤 경험들을 했고, 어떤 책들을 참고했는지를 배울수 있어서 앞으로 성장하고 싶은 개발자분들에게 선배 개발자로서 옆에서 알려주는 사수와 같은 역할을 하는 책이라는 생각이 들었다.


주니어 개발자라면 한번에 모든 내용들이 이해 되지 않을수 있으나, 잘 이해가 안되는 부분들은 체크를 해두고 추가로 저자분이 학습했던 도서들을 시간이 날때 참고로 보는 것도 도움이 될거 같다. 

 

 

 

 

육각형 개발자_04.png

 

개발자로 일을 하게 되면 한가지 언어만 가지고 일을 할수 없고 상황에 따라서 잘 알지 못하는 언어를 사용해야 하는 경우를 접하게 되는데, 그러한 경우 처음부터 새로운 언어를 모두 익히려고 하면 시간이 너무 부족하기 때문에 필요한 부분만을 빠르게 익혀서 프로젝트에 활용 할수 있는 문제 해결 능력이 중요하며, 당장 사용하지 않더라도 주기적으로 요즘 어떤 기술이 주목받고 있는지 틈틈히 알아보는 노력이 필요하다.


처음 개발자로 취업을 하게 되면 열정이 넘쳐서 새로운 프로젝트에 투입을 해서 원하는 대로 프로그램을 작성하고 싶어 하나, 현실은 그러한 경우 보다는 이미 끝난 프로젝트에 투입이 되어 유지보수 업무를 하면서 기존에 코드를 수정하거나 기능 추가하는 일들을 많이 하게 되는데. 이러한 경우 대체로 많이들 실망을 하며, 

특히 1, 2년 이상 개발 경력이 쌓여 가면서 더욱 심해지는듯 한데, 출시를 위한 새로운 개발도 중요하지만, 이미 완성된 소프트웨어의 가치를 유지하기 위한 유지보수도 중요하면 그 일에서도 본인의 역량을 향상시키고, 많은 것들을 배울수 있기 때문에, 미래를 위한 준비를 한다는 마음으로 현재의 역할에 충실하면 앞으로 개발자로 성장하는데 큰 도움이 된다.

 

 

 

 

육각형 개발자_06.png

 

4장부터 8장까지는 코딩을 하면서 직접적으로 접하거나, 실무적으로 많은 도움이 될수 있는 부분으로, 코드를 어떻게 작성해야지에 대해서 예제를 통해서 자세히 설명해 주고 있는데, 국내에서 가장 많이 프로젝트에 사용하는 언어가 자바인데, 이 책의 저자분도 주력 개발 언어가 자바인지 코드부분에 대한 설명은 모두 자바 코드로 설명을 해주고 있어, 주니어 개발자분들에게 직접적으로 도움이 될것이며, 자바가 아닌 다른 언어라고 하더라도, 코드를 작성하는데 공통적인 부분으로 참고하면 시니어 개발자로 올라가는데 도움이 될것이다.


핵심은 간결화고 이해하기 좋은 코드를 작성하는 것이다.



신입 개발자로 입사를 하게 되면 시키는 일만 하게 되고, 코드를 작성하는 업무가 대부분이지만, 점차 년차가 올라갈수록 그외에 사람을 상대하는 일을 하게 되는 일이 많아지게 되는데, 8장부터 11장에서는 이제 주니어 개발자 티를 벗어나서 앞으로 시니어 개발자가 되어 팀을 이끌어 나갈수 있는 자리까지 올라서게 되면서 꼭 하게 되는 업무적인 관리 부분 부터 문서를 작성하고 발표를 하고 팀원들과 관련 내용들을 공유 하는등, 미래에 대해서 글을 작성하는데 도움이 되는 책들과 어떻게 준비해야 하는지도 알려주고 있어서, 앞으로를 위해서 미리 준비하는데 도움이 되는 부분이였다.



'육각형 개발자' 책은 현재 개발자가 된 신입 개발자부터 1, 2년차 주니어 개발자분들에게 앞으로 시니어 개발자로 성장하면서 경험하게 되는 일들과 앞으로 어떠한 준비를 해야하는지에 대해서 선배로서 옆에서 잘 알려주는 길잡이 역할을 하는 책이라고 생각 합니다.




"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

오늘 쓰려는 책은 최근 7월에 발행된 '육각형 개발자'라는 책으로 부제엔 "시니어 개발자로 성장하기 위한 10가지 핵심역량"이다.

 

이 책은 개발자로서의 직급으로 주니어-시니어-리드(짧게 말해서) 표현될 때 시작 한지 얼마 안 된 사람에서부터 어느 정도의 경력 때까지 갖춰야 할 핵심역량에 대해 소개해주고 있다.

 

 

책에서 나오는 10가지를 나열해보자면 아래와 같이 되어있다.

 

1. 구현기술과 학습
2. 소프트웨어 가치와 비용
3. 코드 이해
4. 응집도와 결합도
5. 리팩터링
6. 테스트
7. 아키텍처, 패턴
8. 업무 관리
9. 정리하고 공유하기
10. 리더와 팔로워

 

좀 더 개인적으로 크게 나눠보면,

1. 구현기술과 능력

2. 업무 관리

3. 다른사람들과의 협업

 

정도이다.

 

나도 개발을 학부생부터 실무까지 길지 않은데, 공감하는 면도 있었고 되게 유용한 면도 있었다.

나도 개발자면 프로그래밍만 하면 될줄 알았다

 

책에는 가끔 귀여운 그림들로 이 있었고 그  그림들은 다 공감이 잘됐다. 

 

 

그중 책 중 일부 아래 그림에선 어떤 시스템 업무가 나한테 할당 됐을 때, 바로 설계와 개발뿐만 있는 게 아니라 전반적인 이해와 계획, QA까지 염두하고 있어야 한다고 알려주고 있는데, 다뤄야 하는 부분들을 요약을 깔끔하게 해 줘서 좋았다.

 

 

난 책에서 한 가지라도 얻은 것이 있다면 좋은 책이라고 생각한다. 그런 방면에서 이 책은 좋은 책이라고 생각한다.

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

2년 차 주니어 개발자의 흔한 고민과 맞닿은 책.

 

1. 주력 기술에 집중하라.

 

기능 하나를 구현해 내기에도 급급하던 6개월 차를 지나 1년 반 정도 개발을 하면서부터

종종 지금 쓰는 javascript , node 진영의 개발이 지루하게 느껴지기도 했다. 개구리 올챙이 시절 생각지 못한다더니 그 말이 딱 맞다.
그러면서 신 기술을 공부하고, 적용해 보고, 좀 더 도전적인 과제를 꿈꾸고 싶다는 생각을 하게 되었다. 

그런 고민을 하는 찰나에 이 책을 알게 되었고, "시장 가능성이 있는 주력 기술에 집중하라"는 말은 굉장히 인상적인 포인트였다.

내가 지금 밥벌이를 하는 기술, 시장 점유율이 어느 정도 있고 구인 구직을 활발히 하는 기술 (java, javascript, python, AWS 등)을 잘해야 한다.
그러니까 본업을 잘해야 한다. 
그러면서도 시대의 흐름을 따라갈 줄 알아야 한다. 기술의 유행은 빠르게 변하고 있다.

특히 프런트엔드 개발자 동료들의 이야기를 들어보면 더 빨리 변하는 것을 느낄 수 있다.

그래서 흐름을 따라가기 위해 공부하는 것도 좋지만 본질에 충실한다는 것은 정말 중요하다.

그리고 옷도 TPO가 있든 기술에도 TPO가 있다. 조직의 시간적, 상황적, 인적 여건 등을 고려해야 한다.

그걸 고려하지 않으면 정말 힘들어진다. 여러모로. 그러니 욕심이 앞서가면 안 된다.

현재 내가 하고 있는 업무는 cloud 구축과 DR에 대한  POC인데, 이 기술이 실제로 사용 가능한지를 검증하는 POC 과정만 해도 거의 네 달 가까이 진행하고 있다. 새로운 기술의 도입에는 언제나 왜 필요한지 / 적용할 조건이 갖추어져 있는지 / 충분히 검증이 되었는지 POC를 거치는 등 과정이 필요하다.


2. 유지 보수

 

유지 보수는 지겨운 일이 (라고 생각할 수도 있겠지만) 아니라 꼭 필요한 일이다.

그래서 처음 짠 코드의 품질이 매우 중요하다. 불과 몇 달 전에 내가 짠 코드더라도 아 이렇게 짜면 더 좋았을 텐데라는 후회가 남는 경우가 있었을 것이다. 지금의 나는, 그러한 코드들은 시간이 내서라도 수정을 하려고 한다. (리팩토링) 

물론 프로덕션 환경이라면 당장은 어렵겠지만..

그리고 깔끔하게 코드를 잘 작성하면 유지보수도 더불어 수월해진다.

 

 

 

그리고 체감은 1.2배 이상이다 ㅎㅎ

좋은 코드를 잘 짜서, 유지보수를 수월하게 하는 환경을 만드는 것도 정말 중요하다.

처음부터 잘 짜기는 어렵더라도, 꾸준히 좋은 코드를 짜기 위해 노력하는 사람이 진정한 개발자라고 믿는다.

 


 

3. 전반적인 조언 (일정 관리 & 글쓰기 습관)

 

나도 주니어 개발자이지만, 시간을 돌려 개발을 처음 시작했던 때로 돌아간다면

1) 업무의 예상 일정을 말할 때 무조건 내가 생각하는 기한의 2.5배 ~ 3배를 말하자.

이만큼만 더 하면 될 것 같지만, 실제로는 아닐 가능성이 매우 크기 때문이다. 그리고 최소한 스스로가 기능 구현/수정/버그 픽스 등을 완료하고 테스트를 완료해야 "거의 된" 상태가 되는 것이다. 그리고 혼자 너무 막막하다면 주저 없이 선배에게 조언을 구할 것 같다. 그게 조직 전반적으로 보았을 때, 결과론적으로 시간을 단축할 것이다.

 

2) 사소한 내용이라도 좋으니 글을 쓰자.

요즈음 velog, jekyll, tistory 등 글을 쓰기 좋은 플랫폼들이 참 많다.

나는 꾸준히 글을 쓰는 것이 정말 중요하다고 생각하고, 저자 역시 그렇다. 매일은 어려워도 1주에 한 번 정도는 크고 작은 주제에 대해 글을 쓰는 습관을 들였을 것 같다. 글은 그 사람을 키우고, 사고력을 향상시키고, 무엇보다 기억은 영원하지 않기에 글로 남기는 것을 추천한다.

알고리즘 /개발 트렌드 / 에러 / 삽질의 흔적... 뭐든 좋다.

 

 

 

 

 

 

 

오랜만에 가볍게 읽은 책. 그렇지만 내용이 마냥 가볍지는 않다.

현업에 들어온, 아직 노하우가 많이 쌓이지 않은 개발자라면 한 번쯤 읽어보면 좋을 책이다.

육각형 개발자: 시니어 개발자로 성장하기 위한 10가지 핵심 역량

 

도사제목에서 말하는 육각형의 의미는 무엇일까?

 

스포츠계, 특히 테니스계와 축구계에서는 육각형 선수라는 표현을 사용한다. 다만 '육각형'이라는 표현 자체에는 6개의 능력치가 모두 균등하다는 의미로 표현한다.

 

즉, 스포츠계에서 각종 능력치가 고루 균등한 선수를 육각형 선수라고 부른다. 이 책의 제목이기도 한 육각형 개발자는 다양한 역량을 고루 갖춘 개발자라는 의미이다.

건강한 몸을 갖기 위해 여러 가지 영양소가 필요한 것처럼 좋은 개발자가 되려면 구현 기술 외에도 여러 역량을 키워야 한다.

모든 역량을 다 잘하기는 어렵지만 골고루 발전시킬 수는 있다. 이 책에 담긴 개발자 필수 역량을 살펴보면서 좋은 개발자로 성장하는 데 필요한 인사이트를 얻을 수 있을 것이다.

 

이 책의 저자인 최범균님은 나이를 먹어서도 백발에 개발을 하고 싶은 코딩을 좋아하는 개발자다.

좋은 책을 쓰는 것을 꿈꾸고 있고, 꾸준히 블로그와 브런치에 글을 쓰고 있다. ‘스프링4 프로그래밍 입문’, ‘JSP 2.3 웹 프로그래밍’, ‘개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴’ 등의 책을 집필했다.

 

좋은 개발자란 어떠한 사람을 의미하는가?

 

컴퓨터를 전공한지 40년, 처음에는 개발자로 생활을 하였고, 지금은 IT전문강사로 활동을 한다.

초기 개발자로 일할때에는 생활이 전쟁과도 같았다. 그때에 이런 도서가 있었다면 얼마나 좋았을까 하는 생각을 해본다.

개발자의 10가지 핵심 역량을 업그레이드해줄 수 있는 내용이 담겨있는 살과 피가 되는 내용으로 구성되어 있다.

 

저자의 말을 빌려본다면

 

10가지 역량에는 효율적으로 구현 기술을 적용하고 학습하는 방법, 소프트웨어 가치를 이해하고 유지보수 비용을 낮추는 방법, 이해하기 좋은 코드를 작성하는 방법, 협업과 소통을 위한 글쓰기와 시각화·지식 공유의 가치 등이 포함된다.

저자는 좋은 개발자가 되려면 우선 구현기술을 갖춰야 한다고 말한다. 구현기술은 개발자의 가장 기본적인 역량이자 소프트웨어를 만드는 데 필요한 도구다. 또한 개발자는 빠르게 변하는 시장에서 서비스 지속성을 높이고, 유지보수 비용을 낮출지 꾸준히 고민하는 ‘설계역량’을 갖춰야 한다.

개발자에게는 업무관리, 정리와 공유, 리드&팔로우 역량도 필요하다. 요구사항을 제대로 이해해야 처음부터 끝까지 업무를 관리할 수 있기 때문이다. 저자는 또한 소통은 협업의 기초이기에 글로 정리해서 공유하고 발표하는 습관을 기를 필요가 있다고 조언한다. 원활한 협업을 위해서는 리더와 팔로워의 역할에 대한 이해도 선행돼야 한다.

 

바로 이런 것이다.

 

image (2).png

 

스포츠계에서는 각종 능력치가 고루 균등하게 발전한 선수를 '육각형 선수'라 부르는데, 이와 같이 다양한 역량을 고루 갖춘 개발자를 '육각형 개발자'라고 말한다. 개발자의 세계에서도 다양한 역량이 필요하다는 것을 강조하며, 그 역량들을 어떻게 키워야 하는지에 대한 방법과 원칙을 제시하는 것이 이 책의 큰 특징이다.

 

"육각형 개발자"는 단순히 코드를 작성하는 것을 넘어서, 좋은 개발자가 되기 위한 다양한 역량과 그 역량을 키우는 방법에 대해 구체적으로 알려주는 핵심 가이드북이다. 개발자로서의 성장은 코드 작성 능력 외에도 다양한 영역에서의 역량 향상을 필요로 하는데, 이 책은 그러한 다양한 역량에 대한 깊은 통찰과 실제 경험을 바탕으로 한 조언을 제공한다.

 

다양한 역량을 가진 육각형 개발자의 조건: 개발자가 진정한 전문가로 성장하기 위해서는 코드 작성 능력 외에도 다양한 영역에서의 역량을 꾸준히 키워야 한다. 이 책은 그러한 역량의 중요성을 강조하며, 어떻게 그 역량을 키울 수 있는지에 대한 구체적인 방법과 전략을 제시한다.

 

개발자의 성장과정: 주니어에서 시니어로, 그리고 리더로 성장하는 과정에서 겪는 다양한 도전과 그 해결 방법에 대해 깊게 다룬다. 특히 중니어 개발자들에게는 어떻게 더 나은 개발자로 성장할 수 있는지에 대한 방향성을 제시하며, 그 과정에서 필요한 다양한 역량에 대해 구체적으로 설명한다.

 

핵심 역량의 깊이 있는 탐구: 이 책에서는 구현 기술, 코드의 품질과 이해, 아키텍처와 패턴, 응집도와 결합도, 리팩터링, 테스트, 업무 관리와 공유, 그리고 리더와 팔로워의 역할 등 다양한 주제에 대해 깊게 다룬다. 각 주제별로 현실에서의 사례와 경험을 바탕으로 한 조언과 팁을 제공하며, 개발자로서의 성장을 위한 구체적인 가이드라인을 제시한다.

 

"육각형 개발자"는 개발자의 커리어를 구축하고자 하는 모든 이에게 권하는 책이다. 코드 작성만이 개발자의 업무가 아니라는 것을 깨닫게 해주며, 개발자로서의 성장을 위한 다양한 역량을 세분화하여 깊게 설명한다. 실제 경험에 바탕을 둔 사례와 코드 예시를 통해 내용을 전달하며, 특히 업무와 프로젝트 관리, 글쓰기와 발표, 그리고 다양한 팀원과의 협업에서의 역할에 대한 부분은 경력을 쌓는 개발자에게 반드시 알아야 할 내용을 깊게 담고 있다.

 

"육각형 개발자"는 다양한 역량을 고루 갖춘 개발자로 성장하고자 하는 모든 개발자들에게 필독의 책이다. 개발자의 커리어를 구축하고자 하는 모든 이들에게 강력히 추천한다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
육각형 개발자
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
육각형 개발자
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
육각형 개발자
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0