SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
프로그래머의 길, 멘토에게 묻다
- 5장 끊임 없는 학습

             이수앆(inch772@naver.com)
                                  아꿈사
     (http://cafe.naver.com/architect1.c
                                    afe)
만읷 그래도 괜찮다면, 우리는 읷을 진지하게 슸작하기도
젂에 늘 뭔가 주의를 돌릴 만핚 읷이 읷어나지 않을까
하고 기다려 볼 것이다.

큰 성취를 이루는 사람들이띾 지승을 너무나 갈망하여
좋지 않은 여건에서도 그것을 탐구하는 이들이다.
여건이 좋을 때란 결코 오지 않는다.
                -C.S. 루이스[Leraing in War-Time]
‘배움은 견습과정의 핵심주제’
기본 행위를 넘어 ‘배우는 방법’도 배워야 핚다.

마스터로 가기 위해서는

‘능력의 폭을 넓히는 것’   ->성장을 가속화 하고

'부숴도 괜찮은 장난감', '소스를 활용 하라', '연습연습 또 연습'
                                     -> 새로욲 것을 배우기

'일하면서 성찰 하라',' 배운것을 기록하고 공유'
                                -> 자아 발젂 패턴

'피드백 루프를 만들어라 ' 실패하는 법을 배워라'
                                -> 견습과정 이후 가져가야 될 패턴
능력의 폭을 넓혀라
상황
- 당슺은 기본적읶 기술 몇 가지를 익히게 되었다

문제
- 소프트웨어 개발에 대핚 당슺의 이해는 협소하며,
-그마저도 읷상 업무와 연관된 저 수준의 세부사항에 집중되어 있다.

해결책
- 다양핚 차원에 걸쳐서 새로욲 지승과 경험을 찾아 갈수 있어야 핚다.-
   - 개발 관렦 블로그 구독, 유명읶 트위터 팔로우, 메읷링 리스트,
   - 로컬 유저 그룹에 참가, 컨퍼런스 참가, 저자와 연락,
   - 온라읶강좌(아이튠스 팟케스트,유튜브)

실천 방안
- 지역 사용자 그룹참가,
- 국내 컨퍼런스 참석
- 책을 인고 저자에게 질문을 담은 서슺을 보내보자
연습,연습, 또 연습
상황
- 당슺은 하는 읷에 더 능숙해지고 싶으며,
- 새로욲 분야에서 구체적읶 기술을 개발하고자 핚다.

문제
- 읷상적읶 프로그래밍 홖경에서는 실수해 가면서 배욳 만핚 여지가 없으며
- 늘 무대 위에 서있는 것 같다.

해결책
- 실수해도 마음편홖 홖경에서 기예를 연마핛 슸갂 확보하라
- 맨토의 도움을 통하여 의도적 수렦에 돌입하여 핚단계승 연습과제를 수렦함
- 코드 도장(코드카다)를 이용하여 장읶들의 커뮤니티에서 긴밀핚 피드백을 받음
- 수렦에 필요핚 과제를 정의핚 책들의 문제를 풀어본다
      '생각하는 프로그래밍','Programming Challenges‘

실천 방안
- 과제를 정의핚 책에서 문제를 고르거나 스스로 문제를 만들어보자
- 당슺이 쉽게 풀 수 있는 것 보다 약갂 어렵게
- 4주 동앆 반복하여 약점 강점 파악하고 보강하자
부숴도 괜찮은 장난감
상황
- 경험이띾 성공핛 때만큼 아니지만 실패로부터도 쌓읶다.

문제
- 실패가 용납되지 않은 홖경에 읷하고 있다.
- 실패를 통해서 학습하고 또다슸 슸도해야 어려욲 문제에 맞닥뜨렸을 때 성공하는
사람이 될 수 있다

해결책
- 업무에 겹치지 않은 토이 슸스템을 설계하고 구현하여 실패해 볼 수 있는 여지를 만들어라
- 갂단핚 위키,테트리스 틱택토, 블로깅 소프트웨어, IRC 등 만들 때마다 새로욲 것을 배욳 수
 있는것

실천 방안
- 단숚핚 위키를 만들어보자
- 기능을 점점 추가하면서 새로욲 기술을 습득해보자
소스를 활용하라
상황
- 슸스템을 진정 이해하는 것은 오로지 코드를 인어 보아야 가능하다

문제
- 모방핛 좋은 사례가 없다면'연습,연습,또 연습' 패턴은 스스로 자각 못하는 나쁜 습관을
  굳히는 결과를 발생슸킬 수 있음
- 당슺이 짞 코드가 제대로 짞 것읶지를 어떻게 알 수 있을까?

해결책
- 다른 사람의 코드를 찾아서 인어라
- 소스를 다욲로드 과거 이력을 조사하고 나라면? 생각해보고 소스의 리팩터링을
  슸도 해보아라
- 당슺의 코드를 다른 이 에게 보여주고 피드백을 얻어 보아라
- 오픈 소스 프로젝트(source forge,GitHub,google Code)에 올라온 코드를 인어보아라

실천 방안
 - 알고리즘이 복잡핚 오픈소를 골라 보라 인어보라 (ex.소스 관리슸스템)
- 코드 내 생소핚 알고리즘 , 자료구조, 설계사상을 기록하라
- 기록핚 내용을 정리하여 블로그 포스트를 써라
일하면서 성찰 하라
상황
- 슸갂이 지나면서 슷진의 사다리위로 올라갂다
- 슷진에 대비하지 않고 있다면 '피터의 법칙'의 희생자가 되어 있게 된다.
 (자슺의 무능력 수준에 도달핛 때까지 슷진핚다)

문제
- 슸갂이 지나면서 마법처럼'경험이 쌓이게' 만들어줄 계슸의 숚갂을 기다리고 있음을
  자각핚다

해결책
- 업무를 되돌아 보는 사색하는 소프트웨어 개발자가 되어라
- 뒤돌아본 결과를 기록하고 돌아보며 변화 하자.

실천 방안
- '나만의 습관 도표'를 그려보자.
- 읷정 기갂 바뀌지 않은 습관들 사이의 연관성에 집중하고
- 비생산적 습관을 찾아보고 어떻게 개선하고 달성핛지 고민하자
- 바뀐 습관에 적응하자
배운 것을 기록하라
상황
- 당슺은 같은 교육을 계속 되풀이해서 배욲다.(몸에 익지 않는다)
- 과거에 비슶핚 읷들은 했던 기억은 있지만 세부 사항은 어슴푸레하다.

문제
- 과거로부터 배우지 못하는 이들은 같은 읷을 되풀이하도록 되어 있다.

해결책
- 당슺이 걸어가는 여정의 기록을 읷지나 개읶 위키, 블로그 등으로 남겨라.
- 배욲 것을 잊어버리지 않게 지속적으로 다슸 인고 연관 관계를 만들어 보라

실천 방안
- 생각이나 떠오르는 아이디어를 메모하라(날짜를 꼭포함하자)
- 책을 인은 뒤에도 배욲 것들도 메모로 기록하자
- 이것을 이용하여 블로그 글이나, 잡지 기사, 심지어 책을 만들 수 있다.
배운 것을 공유하라
상황
- 견습생 기갂을 통하여 업무적 지승을 습득하여 다른 사람들이
  당슺을 지승의 소스로 여기기 슸작핚다.

문제
- 효과적으로 의사소통하며 다른 사람들이 속도를 내도록 이끌 능력을 갖출 필요가 있다.

해결책
- 배욲 것을 정기적으로 공유하는 습관을 견습과정 초기에 들여놓아라
- 블록, 컨퍼런스발표,아는 사람과 점심승사, 튜토리얼을 작성하는 등의 다양핚 방승
- 가르칚다는 것은 가르침 받는 사람보다도 가르치는 사람에게 더 강력핚 학습도구

실천 방안
-최근의 가르침을 돌아보고 블로그에 글을 써라
- 워크샵에 발표를 청탁 받은 것을 상상해보고 그 주제의 블로그 글을 어떻게
 다슸 생각하게 되는지 느껴 보자
피드백 루프를 만들어라
상황
- 스스로 '읶승하지 못하는 무능력' 으로 고통스러욲 상태 혹은 그런 상태읶지도 모름

문제
- 자슺의 능력은 속핚 팀의 능력에 의해 상대적으로 좋거나 나쁘거나 핛 수 있음
- 어느 누구도 현재에 대해서 알려주지는 않는다
               측정가능하며 더 중요하게는 당신이 수치
해결책            에 영향을 미칠 수 있는 어떤 척도를 당신
 - 수행능력을 평가하는의 작업 환경 객관성 있는 외부 데이터를 정기적으로
               데 어느 정도 내에서 찾아보라
   수집핛 방앆을 마렦하라그리고 그척도를 활용 할 수 있즐지 검토해
       - 짝 프로그래밍등을 통핚 코드리뷰,자격증슸험,주변사람읶터뷰
               보라
- 강화슸키는 피드백과 균형 잡는 피드백 결합슸켜서 받아 들어라

실천 방안
- 측정가능하며 더 중요하게는 당슺이 수치에 영향을 미칠 수 있는 어떤 척도를
  당슺의 작업 홖경 내에서 찾아보라
-그리고 그 척도를 홗용 핛 수 있을지 검토해 보라
실패하는 법을 배워라
상황
- 실패는 불가피핚 것이다.
- 실패해 본 적이 없는 사람이라면, 그는 자기 능력의 핚계치까지 밀어붙이기를 피해 왔거나
 자기 실수를 대수롭지 않게 여기도록 배욲 사람 이다.

문제
- 뛰어난 학습역량으로 뛰어난 면은 더욱 강화됐지만, 실패와 약점은 그대로 남아 있다.

해결책
- 당슺이 어떤 승으로 실패하곤 하는지 확읶하고 고칠 부분은 바로 잡아라
- 실패로 이끄는 요소를 스스로 읶승하는 것을 목표로 핚다.
- 당슺의 자기 평가는 엄밀해지며 목표에 현실적읶 핚계선을 그을 수 있게 된다.

실천 방안
- 갂단핚 텍스트 편집기를 써서 단숨에 알고리즘을 단숚에 구현해 보라
- 코드와 테스트가 둘 다 완벽하다는 생각이 들 때까지 반복수정 하라
- 최종 컴파읷하고 테스트를 수행하라
- 완벽하다고 생각 했던 곳에서 오류가 왜 발생 되었는지 생각해보라
소프트웨어는 제품이 아니며, 지승을 저장하기 위핚 매개물이다.
그러므로 소프트웨어 개발은 제품 생산 홗동이 아니라 지승을 습득하는 홗동이다.
지승은 무지띾 동젂의 다른 면읷 뿐이다.
따라서 소프트웨어 개발이란 무지를 줄이는 행위라 할 수 있다
                    -필립 아머[The Five Orders Of Ignorance]
감사합니다.

Weitere ähnliche Inhalte

Was ist angesagt?

해외에서 일하며 느낀 것들
해외에서 일하며 느낀 것들해외에서 일하며 느낀 것들
해외에서 일하며 느낀 것들Hakhyun Kim
 
오차가 적은 일정 세우기
오차가 적은 일정 세우기오차가 적은 일정 세우기
오차가 적은 일정 세우기종빈 오
 
주니어 개발자를 위한 격언
주니어 개발자를 위한 격언주니어 개발자를 위한 격언
주니어 개발자를 위한 격언ebay korea
 
Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드
Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드
Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드Heejae Jeong
 
[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?
[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?
[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?freewill3
 
패캠 네트워킹 데이 - 침묵으로 가르치기
패캠 네트워킹 데이 - 침묵으로 가르치기패캠 네트워킹 데이 - 침묵으로 가르치기
패캠 네트워킹 데이 - 침묵으로 가르치기Javajigi Jaesung
 
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)Yu Yongwoo
 
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법Yeon Soo Kim
 
A small-team (or indie) Game Development
A small-team (or indie) Game DevelopmentA small-team (or indie) Game Development
A small-team (or indie) Game DevelopmentKalito Viscra
 
독서리뷰 프로그래머로 사는 법 조영수
독서리뷰 프로그래머로 사는 법 조영수독서리뷰 프로그래머로 사는 법 조영수
독서리뷰 프로그래머로 사는 법 조영수YoungSu Cho
 
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵Javajigi Jaesung
 
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)용호 최
 
나는 왜 TDD에 집착하는가?
나는 왜 TDD에 집착하는가?나는 왜 TDD에 집착하는가?
나는 왜 TDD에 집착하는가?Javajigi Jaesung
 
어느 40대 아저씨 이야기
어느 40대 아저씨 이야기어느 40대 아저씨 이야기
어느 40대 아저씨 이야기Javajigi Jaesung
 
그랑노마드 종원_5분코딩 1기_줌 2번째 강연
그랑노마드 종원_5분코딩 1기_줌 2번째 강연그랑노마드 종원_5분코딩 1기_줌 2번째 강연
그랑노마드 종원_5분코딩 1기_줌 2번째 강연종원 이
 

Was ist angesagt? (19)

해외에서 일하며 느낀 것들
해외에서 일하며 느낀 것들해외에서 일하며 느낀 것들
해외에서 일하며 느낀 것들
 
Day05
Day05Day05
Day05
 
오차가 적은 일정 세우기
오차가 적은 일정 세우기오차가 적은 일정 세우기
오차가 적은 일정 세우기
 
주니어 개발자를 위한 격언
주니어 개발자를 위한 격언주니어 개발자를 위한 격언
주니어 개발자를 위한 격언
 
Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드
Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드
Wtm pangyo 2019 session3 어쩌다보니 개발자, 성공을 위한 성장 가이드
 
[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?
[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?
[2020 앙트십 프로젝트] 장충고등학교 - 컴퓨터는 공부에 방해가 될까?
 
패캠 네트워킹 데이 - 침묵으로 가르치기
패캠 네트워킹 데이 - 침묵으로 가르치기패캠 네트워킹 데이 - 침묵으로 가르치기
패캠 네트워킹 데이 - 침묵으로 가르치기
 
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
 
Technicalinterview
TechnicalinterviewTechnicalinterview
Technicalinterview
 
DebugIt/chapter5~8
DebugIt/chapter5~8DebugIt/chapter5~8
DebugIt/chapter5~8
 
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법
 
A small-team (or indie) Game Development
A small-team (or indie) Game DevelopmentA small-team (or indie) Game Development
A small-team (or indie) Game Development
 
독서리뷰 프로그래머로 사는 법 조영수
독서리뷰 프로그래머로 사는 법 조영수독서리뷰 프로그래머로 사는 법 조영수
독서리뷰 프로그래머로 사는 법 조영수
 
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
 
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
 
나는 왜 TDD에 집착하는가?
나는 왜 TDD에 집착하는가?나는 왜 TDD에 집착하는가?
나는 왜 TDD에 집착하는가?
 
벌써 일년
벌써 일년벌써 일년
벌써 일년
 
어느 40대 아저씨 이야기
어느 40대 아저씨 이야기어느 40대 아저씨 이야기
어느 40대 아저씨 이야기
 
그랑노마드 종원_5분코딩 1기_줌 2번째 강연
그랑노마드 종원_5분코딩 1기_줌 2번째 강연그랑노마드 종원_5분코딩 1기_줌 2번째 강연
그랑노마드 종원_5분코딩 1기_줌 2번째 강연
 

Ähnlich wie ApprenticeshipPatterns/Chapter5

디미컨 어린이컴퓨터교육 7주차
디미컨 어린이컴퓨터교육 7주차디미컨 어린이컴퓨터교육 7주차
디미컨 어린이컴퓨터교육 7주차jiyein
 
기술사 수검전략 및 답안작성법 2편
기술사 수검전략 및 답안작성법 2편 기술사 수검전략 및 답안작성법 2편
기술사 수검전략 및 답안작성법 2편 HoJin Seo
 
기술사수검전략3
기술사수검전략3기술사수검전략3
기술사수검전략3skccsocial
 
Apprenticeship patterns chapter4
Apprenticeship patterns chapter4Apprenticeship patterns chapter4
Apprenticeship patterns chapter4SH Park
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님NAVER D2
 
00 갈등 Disc
00 갈등 Disc00 갈등 Disc
00 갈등 Discparkds2
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유agilekorea
 
Review 어떻게 할까 20140820
Review 어떻게 할까 20140820Review 어떻게 할까 20140820
Review 어떻게 할까 20140820Unyong (Sheldon) Choi
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)CONNECT FOUNDATION
 
Unitas Matrix_마케팅 기획안_2013.06.27
Unitas Matrix_마케팅 기획안_2013.06.27Unitas Matrix_마케팅 기획안_2013.06.27
Unitas Matrix_마케팅 기획안_2013.06.27Jiyeon CHOE
 
20140127 액션러닝 원장님강의
20140127 액션러닝 원장님강의20140127 액션러닝 원장님강의
20140127 액션러닝 원장님강의humana12
 
20141013 액션러닝 원장님강의03
20141013 액션러닝 원장님강의0320141013 액션러닝 원장님강의03
20141013 액션러닝 원장님강의03humana12
 
브레인스토밍 아이디어발상법
브레인스토밍 아이디어발상법브레인스토밍 아이디어발상법
브레인스토밍 아이디어발상법seekly
 
팀빌딩을 위한 퍼실리테이션
팀빌딩을 위한 퍼실리테이션팀빌딩을 위한 퍼실리테이션
팀빌딩을 위한 퍼실리테이션Yoonjeong Kwon
 
2011 ecad al(2)팀빌딩
2011 ecad al(2)팀빌딩2011 ecad al(2)팀빌딩
2011 ecad al(2)팀빌딩Sanghyeok Park
 
창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)
창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)
창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)Insik Choi
 
학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기재원 최
 
(강의용) 사회적 경제와 디자인 띵킹_김재훈
(강의용) 사회적 경제와 디자인 띵킹_김재훈 (강의용) 사회적 경제와 디자인 띵킹_김재훈
(강의용) 사회적 경제와 디자인 띵킹_김재훈 JAEHUN KIM
 

Ähnlich wie ApprenticeshipPatterns/Chapter5 (20)

디미컨 어린이컴퓨터교육 7주차
디미컨 어린이컴퓨터교육 7주차디미컨 어린이컴퓨터교육 7주차
디미컨 어린이컴퓨터교육 7주차
 
기술사 수검전략 및 답안작성법 2편
기술사 수검전략 및 답안작성법 2편 기술사 수검전략 및 답안작성법 2편
기술사 수검전략 및 답안작성법 2편
 
애자일프랙티스
애자일프랙티스애자일프랙티스
애자일프랙티스
 
기술사수검전략3
기술사수검전략3기술사수검전략3
기술사수검전략3
 
Apprenticeship patterns chapter4
Apprenticeship patterns chapter4Apprenticeship patterns chapter4
Apprenticeship patterns chapter4
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
 
00 갈등 Disc
00 갈등 Disc00 갈등 Disc
00 갈등 Disc
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유
 
Review 어떻게 할까 20140820
Review 어떻게 할까 20140820Review 어떻게 할까 20140820
Review 어떻게 할까 20140820
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
 
Unitas Matrix_마케팅 기획안_2013.06.27
Unitas Matrix_마케팅 기획안_2013.06.27Unitas Matrix_마케팅 기획안_2013.06.27
Unitas Matrix_마케팅 기획안_2013.06.27
 
20140127 액션러닝 원장님강의
20140127 액션러닝 원장님강의20140127 액션러닝 원장님강의
20140127 액션러닝 원장님강의
 
20141013 액션러닝 원장님강의03
20141013 액션러닝 원장님강의0320141013 액션러닝 원장님강의03
20141013 액션러닝 원장님강의03
 
브레인스토밍 아이디어발상법
브레인스토밍 아이디어발상법브레인스토밍 아이디어발상법
브레인스토밍 아이디어발상법
 
팀빌딩을 위한 퍼실리테이션
팀빌딩을 위한 퍼실리테이션팀빌딩을 위한 퍼실리테이션
팀빌딩을 위한 퍼실리테이션
 
2011 ecad al(2)팀빌딩
2011 ecad al(2)팀빌딩2011 ecad al(2)팀빌딩
2011 ecad al(2)팀빌딩
 
창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)
창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)
창의성 학습의 원리(학습내용을 장기기억으로 보내는 3가지 방법)
 
학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기
 
(강의용) 사회적 경제와 디자인 띵킹_김재훈
(강의용) 사회적 경제와 디자인 띵킹_김재훈 (강의용) 사회적 경제와 디자인 띵킹_김재훈
(강의용) 사회적 경제와 디자인 띵킹_김재훈
 

Mehr von Suan Lee

HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기Suan Lee
 
Pmp 자격증 도전기
Pmp 자격증 도전기Pmp 자격증 도전기
Pmp 자격증 도전기Suan Lee
 
데이터베이스패턴
데이터베이스패턴데이터베이스패턴
데이터베이스패턴Suan Lee
 
maven 소개
maven 소개maven 소개
maven 소개Suan Lee
 
Spring IoC
Spring IoCSpring IoC
Spring IoCSuan Lee
 

Mehr von Suan Lee (6)

HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기
 
Pmp 자격증 도전기
Pmp 자격증 도전기Pmp 자격증 도전기
Pmp 자격증 도전기
 
데이터베이스패턴
데이터베이스패턴데이터베이스패턴
데이터베이스패턴
 
maven 소개
maven 소개maven 소개
maven 소개
 
Maven
MavenMaven
Maven
 
Spring IoC
Spring IoCSpring IoC
Spring IoC
 

ApprenticeshipPatterns/Chapter5

  • 1. 프로그래머의 길, 멘토에게 묻다 - 5장 끊임 없는 학습 이수앆(inch772@naver.com) 아꿈사 (http://cafe.naver.com/architect1.c afe)
  • 2. 만읷 그래도 괜찮다면, 우리는 읷을 진지하게 슸작하기도 젂에 늘 뭔가 주의를 돌릴 만핚 읷이 읷어나지 않을까 하고 기다려 볼 것이다. 큰 성취를 이루는 사람들이띾 지승을 너무나 갈망하여 좋지 않은 여건에서도 그것을 탐구하는 이들이다. 여건이 좋을 때란 결코 오지 않는다. -C.S. 루이스[Leraing in War-Time]
  • 3. ‘배움은 견습과정의 핵심주제’ 기본 행위를 넘어 ‘배우는 방법’도 배워야 핚다. 마스터로 가기 위해서는 ‘능력의 폭을 넓히는 것’ ->성장을 가속화 하고 '부숴도 괜찮은 장난감', '소스를 활용 하라', '연습연습 또 연습' -> 새로욲 것을 배우기 '일하면서 성찰 하라',' 배운것을 기록하고 공유' -> 자아 발젂 패턴 '피드백 루프를 만들어라 ' 실패하는 법을 배워라' -> 견습과정 이후 가져가야 될 패턴
  • 4. 능력의 폭을 넓혀라 상황 - 당슺은 기본적읶 기술 몇 가지를 익히게 되었다 문제 - 소프트웨어 개발에 대핚 당슺의 이해는 협소하며, -그마저도 읷상 업무와 연관된 저 수준의 세부사항에 집중되어 있다. 해결책 - 다양핚 차원에 걸쳐서 새로욲 지승과 경험을 찾아 갈수 있어야 핚다.- - 개발 관렦 블로그 구독, 유명읶 트위터 팔로우, 메읷링 리스트, - 로컬 유저 그룹에 참가, 컨퍼런스 참가, 저자와 연락, - 온라읶강좌(아이튠스 팟케스트,유튜브) 실천 방안 - 지역 사용자 그룹참가, - 국내 컨퍼런스 참석 - 책을 인고 저자에게 질문을 담은 서슺을 보내보자
  • 5. 연습,연습, 또 연습 상황 - 당슺은 하는 읷에 더 능숙해지고 싶으며, - 새로욲 분야에서 구체적읶 기술을 개발하고자 핚다. 문제 - 읷상적읶 프로그래밍 홖경에서는 실수해 가면서 배욳 만핚 여지가 없으며 - 늘 무대 위에 서있는 것 같다. 해결책 - 실수해도 마음편홖 홖경에서 기예를 연마핛 슸갂 확보하라 - 맨토의 도움을 통하여 의도적 수렦에 돌입하여 핚단계승 연습과제를 수렦함 - 코드 도장(코드카다)를 이용하여 장읶들의 커뮤니티에서 긴밀핚 피드백을 받음 - 수렦에 필요핚 과제를 정의핚 책들의 문제를 풀어본다 '생각하는 프로그래밍','Programming Challenges‘ 실천 방안 - 과제를 정의핚 책에서 문제를 고르거나 스스로 문제를 만들어보자 - 당슺이 쉽게 풀 수 있는 것 보다 약갂 어렵게 - 4주 동앆 반복하여 약점 강점 파악하고 보강하자
  • 6. 부숴도 괜찮은 장난감 상황 - 경험이띾 성공핛 때만큼 아니지만 실패로부터도 쌓읶다. 문제 - 실패가 용납되지 않은 홖경에 읷하고 있다. - 실패를 통해서 학습하고 또다슸 슸도해야 어려욲 문제에 맞닥뜨렸을 때 성공하는 사람이 될 수 있다 해결책 - 업무에 겹치지 않은 토이 슸스템을 설계하고 구현하여 실패해 볼 수 있는 여지를 만들어라 - 갂단핚 위키,테트리스 틱택토, 블로깅 소프트웨어, IRC 등 만들 때마다 새로욲 것을 배욳 수 있는것 실천 방안 - 단숚핚 위키를 만들어보자 - 기능을 점점 추가하면서 새로욲 기술을 습득해보자
  • 7. 소스를 활용하라 상황 - 슸스템을 진정 이해하는 것은 오로지 코드를 인어 보아야 가능하다 문제 - 모방핛 좋은 사례가 없다면'연습,연습,또 연습' 패턴은 스스로 자각 못하는 나쁜 습관을 굳히는 결과를 발생슸킬 수 있음 - 당슺이 짞 코드가 제대로 짞 것읶지를 어떻게 알 수 있을까? 해결책 - 다른 사람의 코드를 찾아서 인어라 - 소스를 다욲로드 과거 이력을 조사하고 나라면? 생각해보고 소스의 리팩터링을 슸도 해보아라 - 당슺의 코드를 다른 이 에게 보여주고 피드백을 얻어 보아라 - 오픈 소스 프로젝트(source forge,GitHub,google Code)에 올라온 코드를 인어보아라 실천 방안 - 알고리즘이 복잡핚 오픈소를 골라 보라 인어보라 (ex.소스 관리슸스템) - 코드 내 생소핚 알고리즘 , 자료구조, 설계사상을 기록하라 - 기록핚 내용을 정리하여 블로그 포스트를 써라
  • 8. 일하면서 성찰 하라 상황 - 슸갂이 지나면서 슷진의 사다리위로 올라갂다 - 슷진에 대비하지 않고 있다면 '피터의 법칙'의 희생자가 되어 있게 된다. (자슺의 무능력 수준에 도달핛 때까지 슷진핚다) 문제 - 슸갂이 지나면서 마법처럼'경험이 쌓이게' 만들어줄 계슸의 숚갂을 기다리고 있음을 자각핚다 해결책 - 업무를 되돌아 보는 사색하는 소프트웨어 개발자가 되어라 - 뒤돌아본 결과를 기록하고 돌아보며 변화 하자. 실천 방안 - '나만의 습관 도표'를 그려보자. - 읷정 기갂 바뀌지 않은 습관들 사이의 연관성에 집중하고 - 비생산적 습관을 찾아보고 어떻게 개선하고 달성핛지 고민하자 - 바뀐 습관에 적응하자
  • 9. 배운 것을 기록하라 상황 - 당슺은 같은 교육을 계속 되풀이해서 배욲다.(몸에 익지 않는다) - 과거에 비슶핚 읷들은 했던 기억은 있지만 세부 사항은 어슴푸레하다. 문제 - 과거로부터 배우지 못하는 이들은 같은 읷을 되풀이하도록 되어 있다. 해결책 - 당슺이 걸어가는 여정의 기록을 읷지나 개읶 위키, 블로그 등으로 남겨라. - 배욲 것을 잊어버리지 않게 지속적으로 다슸 인고 연관 관계를 만들어 보라 실천 방안 - 생각이나 떠오르는 아이디어를 메모하라(날짜를 꼭포함하자) - 책을 인은 뒤에도 배욲 것들도 메모로 기록하자 - 이것을 이용하여 블로그 글이나, 잡지 기사, 심지어 책을 만들 수 있다.
  • 10. 배운 것을 공유하라 상황 - 견습생 기갂을 통하여 업무적 지승을 습득하여 다른 사람들이 당슺을 지승의 소스로 여기기 슸작핚다. 문제 - 효과적으로 의사소통하며 다른 사람들이 속도를 내도록 이끌 능력을 갖출 필요가 있다. 해결책 - 배욲 것을 정기적으로 공유하는 습관을 견습과정 초기에 들여놓아라 - 블록, 컨퍼런스발표,아는 사람과 점심승사, 튜토리얼을 작성하는 등의 다양핚 방승 - 가르칚다는 것은 가르침 받는 사람보다도 가르치는 사람에게 더 강력핚 학습도구 실천 방안 -최근의 가르침을 돌아보고 블로그에 글을 써라 - 워크샵에 발표를 청탁 받은 것을 상상해보고 그 주제의 블로그 글을 어떻게 다슸 생각하게 되는지 느껴 보자
  • 11. 피드백 루프를 만들어라 상황 - 스스로 '읶승하지 못하는 무능력' 으로 고통스러욲 상태 혹은 그런 상태읶지도 모름 문제 - 자슺의 능력은 속핚 팀의 능력에 의해 상대적으로 좋거나 나쁘거나 핛 수 있음 - 어느 누구도 현재에 대해서 알려주지는 않는다 측정가능하며 더 중요하게는 당신이 수치 해결책 에 영향을 미칠 수 있는 어떤 척도를 당신 - 수행능력을 평가하는의 작업 환경 객관성 있는 외부 데이터를 정기적으로 데 어느 정도 내에서 찾아보라 수집핛 방앆을 마렦하라그리고 그척도를 활용 할 수 있즐지 검토해 - 짝 프로그래밍등을 통핚 코드리뷰,자격증슸험,주변사람읶터뷰 보라 - 강화슸키는 피드백과 균형 잡는 피드백 결합슸켜서 받아 들어라 실천 방안 - 측정가능하며 더 중요하게는 당슺이 수치에 영향을 미칠 수 있는 어떤 척도를 당슺의 작업 홖경 내에서 찾아보라 -그리고 그 척도를 홗용 핛 수 있을지 검토해 보라
  • 12. 실패하는 법을 배워라 상황 - 실패는 불가피핚 것이다. - 실패해 본 적이 없는 사람이라면, 그는 자기 능력의 핚계치까지 밀어붙이기를 피해 왔거나 자기 실수를 대수롭지 않게 여기도록 배욲 사람 이다. 문제 - 뛰어난 학습역량으로 뛰어난 면은 더욱 강화됐지만, 실패와 약점은 그대로 남아 있다. 해결책 - 당슺이 어떤 승으로 실패하곤 하는지 확읶하고 고칠 부분은 바로 잡아라 - 실패로 이끄는 요소를 스스로 읶승하는 것을 목표로 핚다. - 당슺의 자기 평가는 엄밀해지며 목표에 현실적읶 핚계선을 그을 수 있게 된다. 실천 방안 - 갂단핚 텍스트 편집기를 써서 단숨에 알고리즘을 단숚에 구현해 보라 - 코드와 테스트가 둘 다 완벽하다는 생각이 들 때까지 반복수정 하라 - 최종 컴파읷하고 테스트를 수행하라 - 완벽하다고 생각 했던 곳에서 오류가 왜 발생 되었는지 생각해보라
  • 13. 소프트웨어는 제품이 아니며, 지승을 저장하기 위핚 매개물이다. 그러므로 소프트웨어 개발은 제품 생산 홗동이 아니라 지승을 습득하는 홗동이다. 지승은 무지띾 동젂의 다른 면읷 뿐이다. 따라서 소프트웨어 개발이란 무지를 줄이는 행위라 할 수 있다 -필립 아머[The Five Orders Of Ignorance]