개발자를 위한 10가지 철학 (by 임백준)
개발자를 위한 10가지 철학
소프트웨어 엔지니어링 데일리라는 팟캐스트에 등장한 에피소드의 제목이다. 호스트인 제프 메이어슨이 최근에 올린 방송은 철학이라기보다 도발적인 선언에 가깝다. 소프트웨어 개발자 선언이라고 불러도 좋을 것이다. 한국의 현실과 맞지 않는 부분도 있는데 전체적으로 참고할만하여 소개한다. 여기에서 ‘그대’는 이 글을 읽는 독자, 즉 ‘개발자’를 의미한다.
1. 그대 자신을 증명할 필요가 없다.
개발자는 자기가 회사에 얼마나 큰 기여를 하는지 증명할 필요가 없다. 메이어슨은 연봉 8만 달러를 받으면서 ‘허접한’ 유지보수 일을 하는 개발자가 회사에 백만달러를 벌어주고, 연봉 15만 달러를 받으면서 조금 나은 일을 하는 개발자가 오백만 달러를 벌어준다고 주장한다. 실제 통계에 근거한 주장은 아니지만 개발자가 회사에 기여하는 정도와 개발자가 실제로 받는 급여 사이에 커다란 차이가 존재한다는 그의 주장은 일리가 있다.
2. 그대는 단순한 상품이 아니다.
개발자는 생산라인에서 부품을 조립하는 노동자가 아니다. 프로그래밍은 개발자 고유의 개성이 살아 숨 쉬며 중요한 역할을 담당하는 창조적 노동이기 때문에 개발자 A를 B로 손쉽게 대체할 수 없다. 회사가 그럴 수 있을 것처럼 행동하는 것은 엄포에 불과하며, 개발자가 회사를 떠나면 똑같은 사람을 시장에서 쉽게 구할 수 없음을 안다.
3. 소프트웨어 엔지니어링은 기술(art)과 과학(science)의 두 측면을 갖지만 두 개가 공존하는 경우는 거의 없다.
기획이나 설계의 단계에서 개발은 기술(art)이고, 일단 설계가 완료되면 나머지 작업은 일정한 규칙을 따르면 동일한 결과를 낳는 과학(science)에 가깝다. 이 항목은 간단하지 않은 내용을 담고 있어서 별도의 칼럼이 필요하다. 메이어슨은 기술(art)이라는 측면이 음악, 문학, 미술 같은 일련의 창작 활동과 닮은 점을 부각시키기 위해서 소프트웨어 엔지니어링에 담긴 두 속성을 분리했다.
4. 그대와 그대의 직업은 동일한 것이 아니다.
(...)
5. 세상은 분산시스템이다.
(...)
6. 그대는 로또가 아니다.
(...)
7. 계획보다는 행동이다.
(...)
8. 소프트웨어 엔지니어링은 그대를 착취하려는 자들의 거짓말로 가득 차 있다.
(...)
9. 그대는 그대의 학력 혹은 과거에 의해서 규정되지 않는다.
(...)
10. 소프트웨어 엔지니어로서의 그대는 최악의 경우라는 것이 근본적으로 제한되어 있기 때문에 마음껏 모험적인 선택을 내릴 수 있다.
(...)
이러한 10개의 항목 중에서 어떤 것을 선택하고 어떤 것을 버릴 지 결정하는 것은 그대의 몫이다. 더 자세한 내용을 직접 읽거나 듣고 싶은 사람은 여기(http://softwareengineeringdaily.com/2016/02/12/10-philosophies-for-developers/)를 방문하면 된다.
원문 링크 : http://www.zdnet.co.kr/column/column_view.asp?artice_id=20160222083930