generated from muhandojeon/study-template
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[이은학] 13장,14장 : 배움의 문화, 기술적 변화의 실행 (#47)
* 13장 이은학 * 14장 이은학
- Loading branch information
Showing
2 changed files
with
38 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
## 배움의 문화 | ||
|
||
### ✍🏻 **중요하다고 생각한 부분 정리(+나의 생각)** | ||
|
||
"맞는지 틀린지도 모른 채 맹목적으로 테스트를 끼워 맞추는 개발을 시작한지 몇 달 후 70%의 테스트 커버리지에 도달했다. 몇 주가 지나고 고객사는 기뻐하며 계약을 종료했다." | ||
|
||
> 목표한 수치에는 도달했지만 코드의 품질과 효율성이 원래 의도한 것인지 아리송한 상황도 많았고, 단순히 그냥 테스트만 작성해야한다는 생각으로만 진행을 한 경우이다. 기존의 클래스와 메서드들이 전체적인 설계 관점에서 올바른지도 전혀 알 수 없었기 때문에 아쉬운 결과로 이어진 것 같다. | ||
관리자들은 개발자들에게 무엇을 언제 어떻게 하라고 일일이 명령할 것이 아니라 개발자들에게 권한을 위임하고 스스로 배움의 문화를 만들어갈 수 있도록 북돋워야 한다. | ||
|
||
> 위에서 목표한 수치를 달성하기 위해 무작정 강압적인 환경에서 개발을 하는 것보다 개발자들이 스스로 성장하기 위해 자유로운 분위기가 형성되어야 할 것이다. 즉, 배움의 문화를 형성하고 이를 통해 회사도 혁신적이고 기민해질 것이다. | ||
> 책에서는 **북 클럽 가입하기, 테크 런치 진행하기, 그룹 토론회에 참여하기, 업무 교환하기, 그룹 코드 리뷰하기, 코딩 실습하기, 사용할 기술은 가능한 자유롭게 선택하기, 내부 학습 모임을 만들기, 회사에서의 펫 프로젝트 시간을 허용하기, 외부 기술 커뮤니티와 교류하기**를 제안하고 있다. | ||
배움의 문화를 형성하는 여러가지 방법 중 '그룹 코드 리뷰하기'에 대해 더 알아보고자 했다. 특정 코드 부분이 개선의 여지가 많은지 아니면 모법사례로 공표할 만큼 훌륭한지를 놓고서 동료들 간에 논쟁을 하는 것이다. | ||
|
||
- 주석은 주관적, 개인적으로 표현되어서는 안 된다. | ||
- 누가 코드를 작성하느냐는 중요하지 않다. | ||
- 그룹 코드 리뷰 시간에 커밋 히스토리를 뒤지지 않는다. 비난할 사람을 찾기 위해 과거를 파헤치지 말고 미래를 변화시키는 데 집중한다. | ||
- 주석은 반드시 객관적이고 생산적이어야 한다. 왜 그것이 엉망인지가 아니라 어떻게 코드를 개선할지를 집중해야 한다. | ||
- 퍼실리테이터의 도움이 필요할 수도 있다. 퍼실리테이터의 역할은 모두에게 발언권을 주고 누군가를 비난하는 상황이 생기지 않도록 하는 것이다. | ||
- 큰 진전을 이룰 것이라 기대하지 않는다. 이슈 한 가지에 대해서 너무 오랫동안 이야기되더라도 개발자들이 원한다면 그냥 그렇게 한다. | ||
|
||
관리자로부터의 지원이 없더라도 개발자들 스스로 서로 배우고 공유하는 배움의 환경과 문화를 쉽게 만들 수 있다. 장소가 없다면 가까운 카페를 찾아가고, 시간이 없다면 점심 시간이나 업무 전 시간을 이용하자. 열정적인 개발자들에게 좋은 환경을 제공하기만 하면 된다. 그러면 그들 스스로 무엇을 배우고 공유할지 여러 가지 방법을 찾을 것이다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
## 기술적 변화의 실행 | ||
|
||
### ✍🏻 **중요하다고 생각한 부분 정리(+나의 생각)** | ||
|
||
당신을 둘러싼 것들을 바꾸고 싶다면? 동료 개발자, 관리자, 기술 리더와 언성이 높아지는 논쟁을 두려워해서는 안 된다. 당신이 생각하는 내용이 어떤 것이든 말할 수 있는 용기가 있어야 한다. 정직함과 투명함은 소프트웨어 장인이라면 반드시 가져야 할 핵심 가치다. 또한, 자기가 하는 말이 무엇인지 스스로도 제대로 모르면서 다른 사람을 설득할 수는 없다. | ||
|
||
> 마지막 말에 많이 공감한다. 우리가 발표를 준비할 때 자료조사를 하고 스토리를 만들고 대본 연습을 반복하여 완벽하게 해내는 것처럼 누군가를 설득하고 무언가를 바꾸기 위해서는 나 먼저 부족함 없이 이해하고 습득하는 것이 중요하다. 물론 모든 내용을 아주 정확하게 이해할 수는 없을 수 있지만 이 과정은 개인 성장에도 큰 도움이 될 것이다. | ||
큰 충돌을 피할 수 있는 가장 쉬운 방법은 점진적인 변화를 제안하는 것이다. 오늘 당장부터 새로운 제안에 맞춘 설계를 모두가 따라야만 한다고 이야기하는 대신, 다음 스프린트부터 당신과 다른 개발자들이 직접 스토리를 골라 새로운 설계를 시도해보자고 할 수 있다. 그 스토리가 끝나면 모두에게 시연을 하고 팀 차원에서 새로운 설계를 수용할지 결정하도록 할 수 있다. | ||
|
||
> 모든 팀원들의 방향성을 맞출 수 없겠지만, 의사결정 과정에 사람들이 참여할 수 있게 하는 것이 중요한 것 같다. 동등하게 피드백할 수 있는 과정이 항상 필요하다! 또한, 해당 방식에 대해 주기적으로 피드백을 하고 스크럼을 통해 공유하며 협조적인 분위기를 만들어 내면 아주 좋은 협업 과정이 될 것이다. | ||
소프트웨어 장인은 사람들이 듣고 싶어 하는 말이 아니라 진심을 말하며 자신의 행동에 책임을 지고 프로젝트를 위해 최선이라면 싸우기를 주저하지 않는다. | ||
|
||
> 개발자는 단순히 예스맨이 아니라, 자신의 의견과 생각을 분명히 전달하는 자세를 가져야 할 것이다. 그리고 결과를 만들어내는 모든 과정에서의 행동에 대해 책임을 가지고 기술적 능력뿐만 아니라, 직업적 윤리와 진정성을 잃지 않는 태도도 항상 가져야 할 것이다. |