1장에서는 it 산업의 변화와 그것에 알맞은 소프트웨어 개발자의 태도를 설명했고 2장에서는 그 태도를 잘 발휘하기 위한 업무 방식인 애자일에 대해 설명했다. 애자일을 잘 실천하고 활용할 수 있으려면 업무적인 능력과 책임감이 뛰어나야 한다. 업무적인 능력과 책임감이 뛰어난 사람을 장인이라고 칭한다. 이번 장에서는 애자일을 잘 실천하고 활용할 수 있는 '소프트웨어 장인의 정의'에 대해 이야기한다.
소프트웨어 장인 정신은 간단히 말하면 프로 정신이라고 할 수 있다. 고객(고용주)의 요구에 일정한 수준의 결과물을 만들어 내고 스스로 더 발전하고자 한다면 그 사람을 프로라고 칭할 수 있을 것이다.
평소 개발자라고 유난(?) 떠는 것에 대해 경계심을 갖고 있었다. 요즘 타 직군에 비해 개발자라는 직군에 더 높은 가치가 매겨지고 있다는 느낌을 종종 받는다. 그럴 때마다 스스로에게 약간의 '개발자 후려치기'를 하고 있었다. '자만심을 갖지 말자'라는 의도도 있었고 '그래봤자 돈 벌기 위한 수단 중에 하나지 뭐'라고 냉소적으로 생각했기 때문이기도 했다. 그런데 생각해 보니 굳이 지레 그런 생각을 할 필요까진 없었던 것 같았다. 남을 무시하는 태도를 지양해야 하는 것이지 나의 가치를 후려칠 필요는 없었다.
이제는 개발자라는 직군에 자부심을 가져보고자 한다. 개발자는 세상의 비효율을 해결하는 데에 아주 큰 기여를 할 수 있는 직군이 아닌가! 내가 실력이 뛰어난 개발자이든 그렇지 못한 개발자이든, 세상의 비효율을 해결하는 데에 참여할 수 있다는 기회가 있는 것만으로도 자부심을 가져볼만할 것 같다.
소프트웨어 장인은 공장 노동자가 아니다. 적극적으로 프로젝트의 성공에 기여해야 한다. 요구사항에 질문하고, 비즈니스를 이해하고, 개선사항을 제안하며, 고객 또는 고용주와 생상적인 동반자 관계를 맺어야 한다.
3장의 73p에는 위 문장이 등장한다. 이건 잘못된 말인 것 같다. 공장 일을 해보진 않았지만, 공장 노동자도 충분히 공장 일의 성공에 적극적으로 기여할 수 있을 것 같다고 생각한다. 노동에 대한 요구사항도 적극적으로 질문하고 왜 이 노동이 필요한지 이해하고 업무 방식에 대한 개선도 제안할 수 있으며 고용주와 동반자 관계를 맺을 수 있지 않을까 싶다. 물론 현실이 이렇게 이상적이지만은 않겠지만, 공장 노동자와 고용주의 성향에 따라 충분히 적용할 수 있을 것 같다. 요즘은 공장 노동자의 공급이 너무 과잉되어 있기 때문에, 정말 뛰어난 노동자가 아닌 이상 이렇게 하긴 쉽지 않을 것 같긴 하다. 아무튼 저 문장은 바로 위에 내가 썼던 '개발자 유난'에 해당하는 문장 같아서 태클을 좀 걸고 싶었다.
요즘의 이력서에는 '어떤 문제를 해결하기 위해 최선을 다했던 경험'을 서술하라는 문항이 자주 등장한다. 이력서를 처음 쓸 때는 이 문장이 잘 이해되지 않았다. '어떤 개발을 할 줄 알고 어떤 기여를 할 수 있는지 만을 어필하면 되는 것 아닌가?'라는 생각을 하기도 했다. 하지만 이제는 이해가 된다. 이런 경험을 서술하라고 요구하는 회사들은 장인 정신이 있는 개발자를 뽑고 싶은 것이다. 그래서 장인 정신을 발휘했던 경험을 요구하는 것이다. 앞으로도 개발자로써 커리어를 계속 이어나가기 위해, 고객들의 위 니즈를 잘 이해하고 있으면 좋을 것 같다.
이 책에서는 프로정신을 갖춰야 한다고 마냥 일침만 하지는 않는다. 현실적인 내용도 서술하고 있는데, 개발자들이 본인의 직무에 대한 프로정신을 가져야 하는 만큼 고용주를 잘 선별하는 능력도 같이 가져야 한다고 한다. 내가 가치 있는 사람이라고 생각한다면, 부당한 대우를 받는다거나 내 가치를 활용할 수 없는 환경이라고 판단될 땐 굳이 계속 관계를 지속할 필요가 없을 것이다. 과감히 다른 회사를 찾아보자!