프로그래밍-학습기록/개발 방법론

[프로그래머의 길, 멘토에게 묻다] 소프트웨어 장인 정신이란? 그리고 견습과정 패턴이란?

leesche 2021. 2. 13. 13:19
  • 책 <프로그래머의 길, 멘토에게 묻다(영제: Apprenticeship Patterns)> 작가, 데이브 후버 등의 목표

    여기서 우리 목표는 새로운 상황에서 새로운 실천을 이끌어 내어 그것으로 소프트웨어 개발이라는 분야를 더 발전시켜 나가는 능력을 갖게 하는 것이다. 44p
    소프트웨어 장인정신에 대한 우리의 비전은, 일부는 우리가 이 책을 만들면서 인터뷰했던 고도로 숙련된 개인들에 내재된 가치의 정수이고, 또 일부는 우리가 장차 출현하기를 고대하는 공동체에 대한 표현이다. 이 책에 담긴 사상은 그전 비전에 대한 출발점이다. 그러므로 우리가 소프트웨어 장인정신이라는 말을 쓸 때는, 어떤 가치 기준에 의해 정의되어서 하나로 묶을 수 있는 실무공동체에 대해 이야기하는 것이다. 이러한 가치 기준들은 다소간 중복되는 면이 있으며, 아래와 같은 항목이 포함된다. 45p

    • 가치 기준 (45~48p)

      1. '성장 마인드세트'라 부르는 캐롤 드웩의 연구에 대한 믿음. 여기에는 자연스럽게 '당신은 더 나아질 수 있으며 당신이 제대로 할 준비가 되어 있다면 모든 것은 개선될 수 있다'는 믿음이 따른다. 캐롤의 말에 의하면 "당신을 영리하고 재능 있게 만드는 것은 노력"이며, 실패란 단지 다음번에 다른 방법을 시도해 볼 수 있도록 하는 보상이다. 이런 생각은 우리가 정해진 만큼의 재능을 가지고 태어났고, 실패란 재능이 부족하다는 표시라는 통념과는 정 반대다.

      2. 당신을 둘러싼 세계로부터 얻는 피드백을 바탕으로 항상 적응하고 변화해 갈 필요성. 아툴 가완디는 이것을 "자신의 행위에서 적합하지 못한 면을 깨닫고 그 해결책을 찾으려는 자발성이라고 언급하고 있다.

      3. 독단적이기보다는 실용적이려는 욕구. 여기에는 오늘 일을 잘 마무리하기 위해서라면 이론적인 순수함이나 앞날의 완벽함을 준비하는 일은 기꺼이 양보하는 태도가 따른다.

      4. 우리가 가진 지식을 쌓아두기만 하여 희소하게 만들기보다는 서로 나누는 편이 더 낫다는 신념. 이 신념은 흔히 자유 소프트웨어나 오픈소스 소프트웨어 공동체에 대한 참여로 이어진다.

      5. 결과적으로 자신이 틀렸다고 증명될지라도 기꺼이 실험해보고자 하는 자세. 이 말은 우리가 일단 뭔가를 시도해 본다는 의미다. 우리는 흔히 실패하지만, 거기서 얻은 교훈을 다음 실험에 활용할 수 있다. 버지니아 포스트렐이 얘기하듯이, "모든 실험이나 아이디어가 다 훌륭하지는 않겠지만, 새로운 아이디어를 시험함으로써만 우리는 진짜 개선점을 발견할 수 있다. 개선의 여지란 언제나 존재한다. 모든 개선점은 더욱 개선될 수 있으며, 모든 새로운 아이디어는 훨씬 더 많은 새로운 조합을 가능하게 한다.

      6. 심리학자들이 '내적 통제위치'라고 부르는 것에 대한 헌신. 이것은 자신의 운명에 대해 누가 답을 주기를 기다리기보다는 스스로 운명을 지배하고 책임지고사 하는 태도를 갖게 한다.

      7. 그룹보다는 개인에 초점 맞추기. 우리는 지금 지도자와 따르는 이들이 있는 그런 운동을 이야기하는 것이 아니다. 우리는 자신의 역량을 향상시키기 원하고, 자칭 '권위자'에 대한 맹종보다는 토론과 이의 제기와 의견 차이가 향상에 이르는 길이라는 사실을 알게 된 개인들의 모임이다. 우리는 우리 모두가 같은 여정을 걷고 있으며, 우리가 추구하는 변화는 세상이 아니라 우리 안에 있음을 믿는다. 이책에서 당신의 팀이 아닌 당신 개인의 역량을 향상시키는 방법에 초점을 맞추고 있는 것은 이런 이유 때문이다.

      8. 우리와 다름을 끌어안고 가곘다는 서약. 우리는 기업용 소프트웨어 개발 커뮤니티에서 나오는 모든 구성 요소들로부터 가장 좋은 아이디어를 식별하고 흡수해 나갈 수 있어야 한다고 생각한다

      9. 우리는 프로세스 중심적이기 보다는 역량 중심적이다. 우리에게는 높은 역량을 보유하는 것이 '올바른' 프로세스를 적용하는 것보다 더 중요하다. 이런 사고방식에 따르는 귀결이 있다. 가완디가 다음과 같이 물었다. "의술은 기예인가 아니면 산업인가? 의술이 기예라면, 산부인과 의사에게 여러 가지 자인적인 기술을 가르치도록 해야 할 것이다. (중략) 사람들은 새로운 기법을 얻기 위해서 연구를 하지만, 그렇다고 모든 사람이 항상 새로운 기법을 써서 성공시키는 것은 아니다." 이는 어떠한 프로세스나 도구라는 모든 사람을 똑같이 성공적으로 만들 수는 없음을 시사한다. 우리 모두가 더 진보할 수는 있겠지만, 각자의 역량에는 항상 차이가 있을 것이다.

      10. 에티엔 웽거가 '상황 학습' 이라는 칭하는 것에 대한 강한 선호. 이것은 '지척에 이쓴ㄴ 전문가'와 같은 패턴을 가지고 소프트웨어 커뮤니티가 포착하고 자 했던 개념이다. 상황 학습의 핵심은, 어떤 기술을 배우려면 그 기술을 사용해서 자기 목표를 이루려고 하는 사람들과 같은 방 안에 있는 것이 제일이라는 점이다.

        이러한 가치 체계는 아래에 나오듯이 서로 다른 책임을 지니는 여러 역할을 낳게 된다. 48p

  • 참고 및 출처
    • 책 <프로그래머의 길, 멘토에게 묻다>