SW장인 시리즈② 프로페셔널의 조건과 SW 장인정신

프로페셔널의 조건과 소프트웨어 장인정신

프로페셔널(Professional)의 어원, ‘선언하는 고백’

프로페서의 어원 서치 이미지

프로페셔널이라는 단어는 전문가를 가르키는 말로 19세기 후반에 주로 많이 사용되었다고 하는데, 어원은 고대 프랑스어의 프로세스(Profess)와 라틴어 프로페시오(Professio)에서 유래했다고 합니다. 의미는 ‘선언하는 고백’ 또는 ‘공개적으로 선언하다’라는 뜻을 가지고 있는데, 이는 ‘고백할 수 있는 경지에 다다른 사람’, 교수를 프로페서(Professor)라고 부르는 것도 그런 이유입니다. 공적인 장소에서 선언하는 것, 지식을 고백하는 것은 누구가를 가르치는 것과 같은 의미니까 말입니다. 실제 ‘전문 직업’의 의미로 사용되기 시작한 것은 16세기부터였는데요. 프로페스는 ‘프로(Pro: Before)’와 페스(fess : confess)’가 결합되어 ‘앞에서 고백하다’, ‘공공연히 말하다’라는 의미로, 프로페셔널은 여러 사람에게 공적으로 가르칠 수준의 사람이라는 뜻을 갖게 되었습니다. 그래서, 현대에서는 프로페셔널은 고도의 전문적인 지식을 가지고 있는 달인, 자기 분야에서 성공한 사람을 가리키는 단어가 되었지요.

그러나, 여러분들도 아시는 것처럼 우리가 누군가를 가르칠 만큼의 수준에 다다르는 것은 쉬운 일은 아닙니다. 그렇지만, 어원을 잘 살펴보면 ‘공적인 장소에서 지식을 나누는 행위’를 프로페셔널이 해야하는 기본적인 행동이라고 볼 수 있지 않을까요? 그리고, 21세기의 지식은 교수가 학생을 가르치는 수직적인 전달보다는, 다양한 채널을 통해 원하는 지식을 선택적으로 습득하는 형태로 전파되고 있습니다. 특히, 다양한 분야에 지식을 갖고 있는 르네상스맨이나, 특정 분야의 학위를 가지고 있지 않은 직장인이나 학생을 가리지 않고 누구나 지식을 생산해 낼 수 있는 시대를 살고 있는 것이죠. 프로페셔널리즘은 이제 다른 의미를 가지도록 변화하고 있습니다. 즉, 공유하고 소통하고, 학습하는 누구든지 프로페셔널이 될 수 있는 시대가 되었다는 뜻입니다.

“프로답게 일하라!”, 프로페셔널의 조건?

직장에서 가장 많이 듣는, (필자도) 들어왔던 이야기가 바로 “프로답게”와 “프로 정신”이었습니다.제 기억으로는 ‘야근을 하게 되더라도 불평을 하지 않는’이나 ‘힘들더라도 끝까지 과제를 완수하는’이라는 의미의 단어였지만 말입니다. (왠지 적고 보니 우울하네요.) 그렇지만, 실제 지식노동자가 갖추어야 할 프로페셔널의 조건을 다룬 피터 드러커 교수의 책, ‘프로페셔널의 조건’을 보면 우리가 사뭇 알고 있는 것과는 다른 프로페셔널의 조건을 살펴볼 수 있습니다.

드러커는 1927년, 함부르크 대학 법학부에 입학했으나, 학업에는 관심이 없어 작은 무역회사에 견습생으로 취직했습니다. 그러다, 베르디의 오페라 ‘팔스타프’를 보고 나서 인생의 전환점을 겪게 됩니다. 그 이유는 베르디가 80세 때 그 오페라를 작곡한 사실을 알게 되었기 때문이었습니다. 베르디가 누군가에게 “19세기 최고의 오페라 작곡가로 인정받고 있는데, 왜 굳이 힘든 오페라 작곡을 계속하는가?”라는 질문을 받자, “음악가로서 나는 일생 동안 완벽을 추구해 왔다. 완벽하게 작곡하려고 애썼지만, 하나의 작품이 완성될 때마다 늘 아쉬움이 남았다. 때문에 나에게는 분명 한 번 더 도전해 볼 의무가 있다고 생각한다.”라고 말했다고 합니다.

드러커는 베르디의 이 일화에 감명받았고, 대학에 진학해 목표와 비전을 가지고 평생 도전하는 삶을 살고자 노력했습니다. 그리고, 그의 책 ‘프로페셔널의 조건’에서 프로의 첫번째 조건으로 “목표와 비전을 가지라”고 말하며, 대표적인 일화로 이 이야기를 적고 있죠.

드러커가 전하는 7가지 프로페셔널의 조건

   1. 목표와 비전을 가져라
   2. 신들이 보고 있다고 생각하고 살아가라
   3. 끊임없이 새로운 주제를 공부하라
   4. 자신의 일을 정기적으로 검토하라
   5. 새로운 일이 요구하는 것을 배워라
   6. 피드백 활동을 하라
   7. 어떤 사람으로 기억되기 바라는가

드러커가 전하는 이 7가지 조건들은 잘 살펴보면, 특히 개발자라면 놓치지 말아야 할 몇 가지를 짚어주고 있습니다. 3번, 끊임없이 새로운 주제를 공부하라 (새로운 언어와 다양한 지식을 쌓아야 하고), 4번, 자신의 일을 정기적으로 검토하라 (마일스톤, 스프린트를 점검하고, 또한 자신의 커리어 성장도 살펴라), 5번. 새로운 일이 요구하는 것을 배워라 (새로운 과제와 사람을 만날 때, 배움을 통해 성장하는 것을 두려워하지 말 것), 6번, 피드백 활동을 하라 (개발은 혼자서 하는 것이 아니라, 고객과 동료들과의 커뮤니케이션을 통해 성과를 낸다) 라고 묶어서 해석을 해 볼 수도 있습니다. 너무 거창한 해석일까요? 그런 측면에서 보면, 이런 프로정신을 개발자에게 필요한 내용으로 더욱 구체적으로 설명하고 있는 것이 있습니다.

SW 장인정신, 개발자의 나아갈 길을 알려주다

그것은 바로 ‘SW 장인정신 (SW Craftsmanship)’입니다.‘소프트웨어 장인정신’은 차별화된 기술력과 창의적 발상을 통해 소프트웨어를 만들어나가는 개발자가 추구해야 하는 가치를 이야기 하고, 이에 대한 실천 방법들을 알려줍니다.

. ‘SW장인정신’이 등장하게 된 역사를 간단히 되짚어 보면, 1999년, 실용주의 프로그래머 (Andrew Hunt, David Thomas 저)라는 책에서 처음 다뤄지기 시작했습니다. 이 책에서는 프로그래머에게 실용주의적인 접근을 이야기하며 장인정신의 발판이 되는 주요 개념을 설명했습니다. SW장인정신은 Agile 방법론이 실제 개발혁신을 가져오지 못하는 이유에 대해 실제적인 대안을 제시하기 위해 등장했다고 보는 사람이 많습니다. 그리고, 2014년, 소프트웨어 장인 (Sandro Mancuso 저)에서는 21세기 IT개발자가 가져야 하는 자세란 어떤 것인지, 테스트 주도 개발, 코드 리뷰를 비롯해 Agile이 실제로 동작하지 못하는 이유와 해결방법에 대해서도 이야기했지요.

그렇다면, ‘SW장인정신’은 개발자가 프로페셔널이 되기 위한 조건으로 무엇을 이야기 하고 있는지 들여다 볼까요?

소프트웨어 장인 Manifesto

소프트웨어 장인을 열망하는 우리는, 스스로의 기술을 연마하고, 다른 사람들이 기술을 배울 수 있도록 도움으로써 프로페셔널 소프트웨어 개발의 수준을 높인다. 이러한 일을 하는 과정에서 우리는 다음과 같은 가치들을 추구한다.

    동작하는 소프트웨어 뿐만 아니라, 정교하고 솜씨있게 만들어진 작품을,
    변화에 대응하는 것 뿐만 아니라, 계속해서 가치를 더하는 것을,
    개별적으로 협력하는 것 뿐만 아니라, 프로페셔널 커뮤니티를 조성하는 것을,
    고객과 협업하는 것 뿐만 아니라, 생산적인 동반자 관계를,

이 왼쪽의 항목들을 추구하는 과정에서, 오른쪽 항목들이 꼭 필요함을 의미한다.

하나씩 간단하게 요약해서 설명하자면, “정교하고 솜씨있게 만들어진 작품”은 단순히 실행되는 소프트웨어가 아니라, 누가 보아도 명료하고, 유지보수 할 수 있는 구조와 높은 테스트 커버리지 등을 가진 내 이름을 걸고 내놓을 수 있는 작품을 만들라는 뜻입니다.

다음으로 “계속해서 가치를 더하는 것을”이라는 것은 소프트웨어가 나이를 먹고 덩치가 커지고 있다면, 이를 유지보수하고 확장하기 위한 고통과 비용이 커지는 것이 아니라, 기업의 이익과 품질, 기술력이 높아지도록 해야한다는 것이죠. 개인적으로는 이것을 가장 중요하게 생각합니다만, “프로페셔널 커뮤니티를 조성하는 것”입니다.

소프트웨어 장인정신의 중심에는 ‘멘토링’과 ‘공유’가 가장 중요합니다. 열정적인 자기 발전을 위해서는 다음 세대의 장인을 준비시켜야 하고, 앞에서 언급한 것처럼 프로페셔널이라 함은 ‘지식을 공유하는 전문가’를 말하고, 새롭게 참여하는 개발자들에게 영감을 주고, 멘토링을 함으로써 같이 성장해야 합니다. (실제로 언제부턴가 우리 회사에서는 서로 배우기 보다는, 각자 알아서 성장하는 엘리트중의가 자리잡고 있는 듯 합니다.) 오픈 소스 프로젝트에 기여하고, 사내 연구회에 참여하고, 다른 개발자와 페어 프로그래밍이나 코드 리뷰를 같이 하는 것이 방법이라고 할 수 있죠. 마지막으로 “생산적인 동반자 관계”를 통해 고객과의 관계를 재정의 하는 것입니다. 월급쟁이 공장식 노동자가 아니라, 고객의 비즈니스 도메인을 이해하고, 고객을 도와 실현 가능성이 높은 선택지를 제공함으로써 고객의 성공을 돕는 자세를 가지라고 말합니다.

자, 여러분은 프로페셔널의 조건을 갖추고 계십니까? 여러분의 지식을 나누고, 공유하며, 더 나은 소프트웨어를 만들기 위해 무엇을 하고 계십니까?
다음편에는 “소프트웨어 장인이 가져야 하는 태도”에 관한 이야기로 찾아뵙겠습니다.

▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

이 글이 좋으셨다면 구독&좋아요

여러분의 “구독”과 “좋아요”는
저자에게 큰 힘이 됩니다.

subscribe

조남호
조남호 IT테크놀로지 전문가

삼성SDS 개발실

개발역량강화TF로 활동하며 개발역량강화를 위한 정보를 신속하게 공유하고, 개발강화를 위한 다양한 활동을 하였습니다. 현재는 개발실에서 개발환경 개선 및 커뮤니케이션 담당하고 있습니다.