2013.07.31

글로벌 칼럼 | 재능과 지식 사이, 개발자들이 오늘을 사는 이유

Paul Venezia | InfoWorld
IT 어느 분야에서 일하던 극도로 솜씨가 뛰어난 동료를 본 적이 있을 것이다. Zsh 셸을 항상 때에 맞춰 바꾸는 시스템 관리자나 처음부터 어려움 없이 길고 긴 기능을 작성해내는 개발자가 대표적이다.

단번에 새로운 인프라를 시각화하고 머릿속으로는 이를 조합하는 동시에 화이트보드에 아주 상세한 부분까지 그려내는 사람도 있고, 별거 아닌 듯 새롭고 우아한 사용자인터페이스(UI)를 고안해내는 사람들처럼 범접할 수 없는 재능 있는 동료도 보았을 것이다.

정말 축복받은 이들은 기술과 재능, 모두를 갖추고 있지만, 대부분의 사람은 이들 중 한 쪽에만 속할 뿐이다. 뛰어난 기술과 재능 사이에는 차이가 있는데 (물론 다른 영역에서도 마찬가지지만) 특히 IT 분야는 이 두 분야의 대비가 크게 나타난다.

특정 작업을 완료하는데 설명을 참고할 필요가 거의 없을 때 우리는 누군가를 기술이 좋다고 말하는 점이 그 이유 중 하나다. 기술 있는 주방장은 레시피 없이도 음식을 만들어낼 수 있고, 유능한 네트워크 관리자는 CLI 레퍼런스 책자에서 문법을 확인하지 않고도 스위치와 라우터를 변경할 수 있다.

반면 재능 있는 주방장은 다른 방법을 택해 레시피가 없는 매우 독특한 음식을 만들어 낸다. 재능 있는 시스템 관리자도 이와 유사하게 다양한 도구들을 독특한 방법으로 모으고 이제까지 시도되지 않은 문제 해결 방식을 창조해 낼 것이다. 여기에는 암기식 지식이 아닌 상당한 연구와 레퍼런스가 수반되지만, 그 결과물은 이전까지 존재하지 않았던 가이드라인도 없는 무언가가 된다.

또 다른 예를 들어보자. 몹시 어려운 악보를 손쉽게 연주하는 뛰어난 음악가가 있지만, 이들은 악보가 없어지면 즉흥연주가 불가능하다. 같은 의미에서 다른 많은 극도로 솜씨 좋은 음악가들은 즉흥 연주는 끝내주지만, 악보는 읽지 못한다. 축복받은 음악가들은 그 두 가지 모두를 잘할 수 있다. 축복받은 개발자, 관리자, 네트워크와 시스템 아키텍트 역시 마찬가지다.

모든 회사는 기술이 뛰어난 사람들과 재능 있는 사람들 그리고 보통 소수의 둘 다를 해당하는 인력이 필요하다. 많은 프로젝트는 기술적으로는 훌륭하고 기능적이지만 사용성이나 미래 문제를 대비하는데 필수적인 비전이 없어 실패하곤 한다.

이와 반대로 많은 아름답고 시각적으로 멋진 기술들이 개발 과정에서의 솜씨가 부족해 기술적 문제로 수렁에 빠져왔다. 우리 모두 결점 없이 작동하는 애플리케이션이지만 인터페이스가 엉망이거나, 극도로 사용성이 좋고 친화적인 사용자 인터페이스는 있지만, 기본적인 성능과 확장성이 부족한 경우 등 두 가지 사례를 모두 목격해왔다.

어쨌든 필자가 보는 가장 중요한 것은 특정 기술이나 문제의 기술에 대한 근본적인 이해도를 높이는 것이다. 재능 있는 개발자들은 각기 다른 언어들을 각기 다른 장점과 문법을 가진 도구로 보고, 자신이 특별히 익숙하지 않은 언어라 하더라도 맡겨진 작업에 따라 최고의 언어를 선택할 것이다. 솜씨 좋은 개발자들은 그들이 선호하는 언어가 비록 다른 언어만큼 문제 해결에 적합하지 않더라도, 그 언어에 대한 경험을 믿고 선택할 것이다.

근본적인 문제를 이해하고 적절한 해결 방법을 알아내는 데는 컴퓨팅 전반에 대한 지식 기반이 필요하다. 선택할 수 있는 옵션에 대해 아는 것과 이를 활용하는 방법을 아는 것은, 많은 상황에서 이들이 어떻게 작동하는지를 아는 것보다 더 중요하다.

이 모두는 IT 측면으로 해석할 수 있다. 완고한 IT 관리자나 개발자들도 변화와 새로운 기술을 배우는데 저항할 수 없다. 한마디로 불가능하다. 매우 급하게 변화하는 세계 속에서 자신의 위치만 고수하면 얼마 지나지 않아 통용되는 기술을 익히기에 너무 어려워져 현재의 위치에만 머무르게 될 것이다.

이는 개개인이 모든 새로운 언어를 배우고 모든 네트워크 운영 체제에 통달해야 한다는 뜻은 아니다. 그러나 새로운 기술이 들불처럼 번져가기 시작하면, 최소한 왜 그런지는 이해하고 IT 인프라에서 어떤 형태로 그 기술이 작동하는지는 알아야 한다. 만약 그 기술이 문제를 해결하는데 도움을 줄 상황이 되면, 이때 바로 세부적인 사항으로 들어가야 한다.

우리가 IT로 깊이 들어가야 하는 이유 중 하나는 우선 IT가 해결을 필요로 하는 문제들이 끊임없이 생겨나는 영역이고, 우리가 하는 일이 그런 작업이기 때문이다. 오래된 도구로 새로운 문제를 해결할 수 없다는 점을 기억하고 또 새로운 도구 사용법을 익혀야 한다. 결국, 우리의 도구, 그리고 이면의 솜씨와 재능이 우리가 가진 전부이다. editor@idg.co.kr


2013.07.31

글로벌 칼럼 | 재능과 지식 사이, 개발자들이 오늘을 사는 이유

Paul Venezia | InfoWorld
IT 어느 분야에서 일하던 극도로 솜씨가 뛰어난 동료를 본 적이 있을 것이다. Zsh 셸을 항상 때에 맞춰 바꾸는 시스템 관리자나 처음부터 어려움 없이 길고 긴 기능을 작성해내는 개발자가 대표적이다.

단번에 새로운 인프라를 시각화하고 머릿속으로는 이를 조합하는 동시에 화이트보드에 아주 상세한 부분까지 그려내는 사람도 있고, 별거 아닌 듯 새롭고 우아한 사용자인터페이스(UI)를 고안해내는 사람들처럼 범접할 수 없는 재능 있는 동료도 보았을 것이다.

정말 축복받은 이들은 기술과 재능, 모두를 갖추고 있지만, 대부분의 사람은 이들 중 한 쪽에만 속할 뿐이다. 뛰어난 기술과 재능 사이에는 차이가 있는데 (물론 다른 영역에서도 마찬가지지만) 특히 IT 분야는 이 두 분야의 대비가 크게 나타난다.

특정 작업을 완료하는데 설명을 참고할 필요가 거의 없을 때 우리는 누군가를 기술이 좋다고 말하는 점이 그 이유 중 하나다. 기술 있는 주방장은 레시피 없이도 음식을 만들어낼 수 있고, 유능한 네트워크 관리자는 CLI 레퍼런스 책자에서 문법을 확인하지 않고도 스위치와 라우터를 변경할 수 있다.

반면 재능 있는 주방장은 다른 방법을 택해 레시피가 없는 매우 독특한 음식을 만들어 낸다. 재능 있는 시스템 관리자도 이와 유사하게 다양한 도구들을 독특한 방법으로 모으고 이제까지 시도되지 않은 문제 해결 방식을 창조해 낼 것이다. 여기에는 암기식 지식이 아닌 상당한 연구와 레퍼런스가 수반되지만, 그 결과물은 이전까지 존재하지 않았던 가이드라인도 없는 무언가가 된다.

또 다른 예를 들어보자. 몹시 어려운 악보를 손쉽게 연주하는 뛰어난 음악가가 있지만, 이들은 악보가 없어지면 즉흥연주가 불가능하다. 같은 의미에서 다른 많은 극도로 솜씨 좋은 음악가들은 즉흥 연주는 끝내주지만, 악보는 읽지 못한다. 축복받은 음악가들은 그 두 가지 모두를 잘할 수 있다. 축복받은 개발자, 관리자, 네트워크와 시스템 아키텍트 역시 마찬가지다.

모든 회사는 기술이 뛰어난 사람들과 재능 있는 사람들 그리고 보통 소수의 둘 다를 해당하는 인력이 필요하다. 많은 프로젝트는 기술적으로는 훌륭하고 기능적이지만 사용성이나 미래 문제를 대비하는데 필수적인 비전이 없어 실패하곤 한다.

이와 반대로 많은 아름답고 시각적으로 멋진 기술들이 개발 과정에서의 솜씨가 부족해 기술적 문제로 수렁에 빠져왔다. 우리 모두 결점 없이 작동하는 애플리케이션이지만 인터페이스가 엉망이거나, 극도로 사용성이 좋고 친화적인 사용자 인터페이스는 있지만, 기본적인 성능과 확장성이 부족한 경우 등 두 가지 사례를 모두 목격해왔다.

어쨌든 필자가 보는 가장 중요한 것은 특정 기술이나 문제의 기술에 대한 근본적인 이해도를 높이는 것이다. 재능 있는 개발자들은 각기 다른 언어들을 각기 다른 장점과 문법을 가진 도구로 보고, 자신이 특별히 익숙하지 않은 언어라 하더라도 맡겨진 작업에 따라 최고의 언어를 선택할 것이다. 솜씨 좋은 개발자들은 그들이 선호하는 언어가 비록 다른 언어만큼 문제 해결에 적합하지 않더라도, 그 언어에 대한 경험을 믿고 선택할 것이다.

근본적인 문제를 이해하고 적절한 해결 방법을 알아내는 데는 컴퓨팅 전반에 대한 지식 기반이 필요하다. 선택할 수 있는 옵션에 대해 아는 것과 이를 활용하는 방법을 아는 것은, 많은 상황에서 이들이 어떻게 작동하는지를 아는 것보다 더 중요하다.

이 모두는 IT 측면으로 해석할 수 있다. 완고한 IT 관리자나 개발자들도 변화와 새로운 기술을 배우는데 저항할 수 없다. 한마디로 불가능하다. 매우 급하게 변화하는 세계 속에서 자신의 위치만 고수하면 얼마 지나지 않아 통용되는 기술을 익히기에 너무 어려워져 현재의 위치에만 머무르게 될 것이다.

이는 개개인이 모든 새로운 언어를 배우고 모든 네트워크 운영 체제에 통달해야 한다는 뜻은 아니다. 그러나 새로운 기술이 들불처럼 번져가기 시작하면, 최소한 왜 그런지는 이해하고 IT 인프라에서 어떤 형태로 그 기술이 작동하는지는 알아야 한다. 만약 그 기술이 문제를 해결하는데 도움을 줄 상황이 되면, 이때 바로 세부적인 사항으로 들어가야 한다.

우리가 IT로 깊이 들어가야 하는 이유 중 하나는 우선 IT가 해결을 필요로 하는 문제들이 끊임없이 생겨나는 영역이고, 우리가 하는 일이 그런 작업이기 때문이다. 오래된 도구로 새로운 문제를 해결할 수 없다는 점을 기억하고 또 새로운 도구 사용법을 익혀야 한다. 결국, 우리의 도구, 그리고 이면의 솜씨와 재능이 우리가 가진 전부이다. editor@idg.co.kr


X