2012.09.03

고급 개발자에 대한 6가지 진실

Andrew Oliver | InfoWorld
진실 5 : 오만함에는 추락이 뒤따른다
필자는 극히 정교한 프로젝트가 아주 기본적인 부주의로 인해 실무 환경에서 장애를 일으키는 경우를 여러 번 봤다. 문제의 원인은 대부분 “훌륭한” 코드를 작성할 줄 알지만, 타이타닉호의 기술자들처럼 자신의 창조물은 결코 가라앉지 않는다는 확고한 믿음에 다른 가능성을 살펴볼 생각을 하지 않는 똑똑한 사람들이다.
 
자만은 개발자 세계에서 가장 두드러진 특징인데, 경험이 많다고 줄어들지도 않는 듯하다. 고참 개발자들의 경우 주변 사람들이 대단하다고 칭찬해 주면 안 그래도 나쁜 버릇이 더욱 나빠질 수 있다. 우리 고참들은 복잡성을 통제할 수 있다고 생각하고, 그래서 복잡하게 만든다. 검증되지 않은 기술이라도 상관없다. 철저히 테스트할 필요도 없다. 잘 작동될게 확실하다. 왜냐하면 고참인 우리가 만들었으니까!
 
말은 쉽지만 중요한 것은 결과다. 결과는 신중한 판단에 따라 선택한 방법과 재료에 의해 도출된다. 과학적인 방법에 따르려면 아는 것에 그치지 않고 그것을 증명해야 한다. 오만과 자만에 빠지면 증명하지 않고 믿으려 한다.
 
진실 6 : 개인이 최고의 가치는 아니다
프로젝트를 만드는 것은 여러 사람들로 구성된 그룹이다. 그룹은 유기적이고 동적이다. 그룹을 구성하는 개개인만큼 그룹 내의 상호 작용도 중요하다. 최고의 그룹은 구성원의 성장을 이끄는 그룹이다. 개발자들은 극단적인 개인주의에 빠지기 쉽고 항상 정당한 대우를 받지 못한다고 느낀다.
 
그러나 모든 것을 온전히 혼자서 배울 수는 없다. 누구나 다른 사람의 기술과 요령을 보고 배운다. 공식적인 멘토든 비공식적인 멘토든 이들은 경력에 중요한 영향을 미친다. 관리자 또는 수석 개발자가 할 수 있는 가장 중요한 일은 다른 사람을 가르치는 환경을 조성하는 것이다. 이렇게 해서 내부적으로 고참 개발자를 육성할 수가 있다.
 
고참 개발자에겐 제약이 필요하다. 시간과 예산이 정해져 있지만 복잡함이 계속 쌓여가면 그것도 강한 제약이 되지 못할 수 있다. 팀에 신참 개발자가 포함되면 이들은 복잡한 개발 방식을 따라가기는 데 어려움을 겪는다. 이것은 좋은 현상이다. 이들로 인해 단순함을 추구하는 분위기가 조성되고 단순함은 대부분 좋은 것이기 때문이다.
 
고참과 신참이 섞인 팀은 회사의 이익과 개발자들의 이익을 일치시킨다. 혼합 팀은 모두에게 경력을 쌓을 좋은 기회를 제공한다. 고참 개발자는 리더십 경험을, 신참 개발자는 새로운 것을 배울 기회를 갖게 된다. 

*Andrew Oliver는 잘 알려진 소프트웨어 컨설턴트로, 오픈 소프트웨어 인티그레이터(Open Software Integrators)의 설립자이다.  editor@itworld.co.kr


2012.09.03

고급 개발자에 대한 6가지 진실

Andrew Oliver | InfoWorld
진실 5 : 오만함에는 추락이 뒤따른다
필자는 극히 정교한 프로젝트가 아주 기본적인 부주의로 인해 실무 환경에서 장애를 일으키는 경우를 여러 번 봤다. 문제의 원인은 대부분 “훌륭한” 코드를 작성할 줄 알지만, 타이타닉호의 기술자들처럼 자신의 창조물은 결코 가라앉지 않는다는 확고한 믿음에 다른 가능성을 살펴볼 생각을 하지 않는 똑똑한 사람들이다.
 
자만은 개발자 세계에서 가장 두드러진 특징인데, 경험이 많다고 줄어들지도 않는 듯하다. 고참 개발자들의 경우 주변 사람들이 대단하다고 칭찬해 주면 안 그래도 나쁜 버릇이 더욱 나빠질 수 있다. 우리 고참들은 복잡성을 통제할 수 있다고 생각하고, 그래서 복잡하게 만든다. 검증되지 않은 기술이라도 상관없다. 철저히 테스트할 필요도 없다. 잘 작동될게 확실하다. 왜냐하면 고참인 우리가 만들었으니까!
 
말은 쉽지만 중요한 것은 결과다. 결과는 신중한 판단에 따라 선택한 방법과 재료에 의해 도출된다. 과학적인 방법에 따르려면 아는 것에 그치지 않고 그것을 증명해야 한다. 오만과 자만에 빠지면 증명하지 않고 믿으려 한다.
 
진실 6 : 개인이 최고의 가치는 아니다
프로젝트를 만드는 것은 여러 사람들로 구성된 그룹이다. 그룹은 유기적이고 동적이다. 그룹을 구성하는 개개인만큼 그룹 내의 상호 작용도 중요하다. 최고의 그룹은 구성원의 성장을 이끄는 그룹이다. 개발자들은 극단적인 개인주의에 빠지기 쉽고 항상 정당한 대우를 받지 못한다고 느낀다.
 
그러나 모든 것을 온전히 혼자서 배울 수는 없다. 누구나 다른 사람의 기술과 요령을 보고 배운다. 공식적인 멘토든 비공식적인 멘토든 이들은 경력에 중요한 영향을 미친다. 관리자 또는 수석 개발자가 할 수 있는 가장 중요한 일은 다른 사람을 가르치는 환경을 조성하는 것이다. 이렇게 해서 내부적으로 고참 개발자를 육성할 수가 있다.
 
고참 개발자에겐 제약이 필요하다. 시간과 예산이 정해져 있지만 복잡함이 계속 쌓여가면 그것도 강한 제약이 되지 못할 수 있다. 팀에 신참 개발자가 포함되면 이들은 복잡한 개발 방식을 따라가기는 데 어려움을 겪는다. 이것은 좋은 현상이다. 이들로 인해 단순함을 추구하는 분위기가 조성되고 단순함은 대부분 좋은 것이기 때문이다.
 
고참과 신참이 섞인 팀은 회사의 이익과 개발자들의 이익을 일치시킨다. 혼합 팀은 모두에게 경력을 쌓을 좋은 기회를 제공한다. 고참 개발자는 리더십 경험을, 신참 개발자는 새로운 것을 배울 기회를 갖게 된다. 

*Andrew Oliver는 잘 알려진 소프트웨어 컨설턴트로, 오픈 소프트웨어 인티그레이터(Open Software Integrators)의 설립자이다.  editor@itworld.co.kr


X