흔들리지 않는 나무의 뿌리가 되길 바라며..
저 역시 많은 경험이 없지만 10년이란 시간 동안 IT에 몸 담아온바 오랜만에 비 기술지향적인 애기들을 함으로써 후배 개발자들에게 몇가지 조언을 하고자 합니다.
제가 본업을 가지고 있으면서도 무료 세미나에 스피커로 활동한지도 5년이 다 되어 갑니다. 항상 신기술, 변화의 중심에 서 있을려고 노력했습니다. 하지만 많은 시간이 지난후 과거를 되돌아 보니, 너무 신기술만 바라보는 바보같은 생활을 하지 않았나 생각이 듭니다.
꿈을 찾아 당장 하고 싶은 재미난 흥미위주의 공부와 스터디를 해왔고 이것들이 나쁜 것들은 아니지만, 좀더 균형잡인 시선과 시각으로 기술을 이해하길 바라며 이러한 것들이 매우 중요하다는 것을 공유하고자 합니다.
밴저 지향적인 IT 지식들
우리의 IT 대부분의 지식은 많은 분들이 세미나나 책에 의해서 읽고 계십니다.
하지만 자세히 보시면 이 책과 세미나라는 것은 어떤 이의 의견과 철학이 고스란이 담겨 있습니다.
물론 이것이 하나의 철학이 되어 굳혀진 경우를 종종 보지만,
그 이면에는 진실을 숨기고 너무나 상업적인 애기들로 혼돈에 빠트리는 경우도 많습니다.
흔히 우리가 접할수 있는 IT 밴더의 책이나 세미나들은 대부분 이렇습니다.
다른 회사의 제품을 보여주고 몇백줄에 해당하는 코딩을 저희 제품을 쓰면 단순히 몇줄로 또는 아주 간단히 구현 가능할수 있다거나 플랫폼의 철학과 맞추어 이것을 잘하면, 마치 내가 뛰어난 프로그래머가 되는것 같이 환상을 심어주기도 합니다.
특히 학생이나 초보 프로그래머들이 이러한 것들을 보고 그 회사의 플랫폼이나 정책을 마치 자기 것인양 생각하는 이들을 종종 봅니다.
하지만 이들에게는 새로운 프로그래밍 언어나 기술에 열광하기 보다는, 다양한 알고리즘과 패턴등을 공부함으로써 시스템 내부적인 애기들을 파악하고, 자신만의 프레임워크를 만들어 나가는 꾸준한 노력과 행동들이 더욱 필요할 때입니다
이제 과거를 되돌아 보면.
기술이 매우 발전하는듯 보이지만, 자세히 보면 그리 빠르지는 않다는 것입니다.
지금 WPF 역시 XSU 에서 많은 아이디어를 가져왔고, Web Service가 꿈꾸는 SOA의 많은 아이디어 역시 CORBA에서 그대로 가져오거나 조금 더 현실적으로 변화 시켰다는 것입니다.
수많은 기술들 역시 매우 깊은 상관 관계를 가집니다.
- Java의 VM 기술을 흡수한 .NET CLR
- JSP의 컴파일 방식을 흡수한 ASP.NET
- .NET Web Service의 개념을 흡수한 Java Web Service
- .NET의 연결 / 비연결 지향적인 DataSet을 흡수한 Java 기술
항상 큰 흐름은 더디 바뀝니다. 너무 작은 함수나 하나의 객체가 우리의 현실에 필요하지만, 그러한 조그만 현실에 갖혀 살다보면 우리에게 남는 것은 하나의 부품이라는 ID (사번, 하나의 제품의 일부 모듈 개발..)밖에 남지 않습니다.
우리는 좀 더 큰 시선을 가질 필요가 있습니다.
우리에게 필요한 건 기초 기술 , 꿈 그리고 개인 브랜드 관리
이제 좀더 다양한 기술들을 넓은 시선으로 비판적으로 바라보아야 할 것이며, 우리의 후세 프로그래머들이 좀더 더 나은 토양에서 일할수 있도록 진실한 애기들을 나눠줘야 할때 입니다.
플랫폼의 새로운 버젼이 되어 나오면, 또 다시 모든 것을 새롭게 배워야 하는 기술적인 종속국의 프로그래머가 아닌혁신적이고 창의적인 제품들을 만드는 주역이 되는 그런 기술적인 장인이 되기 위해 한걸음 한걸음 준비 해야 됩니다.
실례로 이 시스템이 잘 설계 되었는지, 그렇지 않은지 판단하는 기준인
여러가지 평가 프로세스를 도입했지만그 평가 결과를 이용해 어느 것이 더 나은 모델이고
어떻게 개선 해야 되는지 방향을 제시하는 사람은 없습니다.
얼마나 안타까운 현실입니까? 기술, 트랜드에 민감하여 정작 중요한 부분들을 많이 놓치는것 같습니다.
실례로 JAWS (패턴을 이용한 웹서버 만들기) 에 대한 강의를 할때 10년이 지난 논문임에도 불구하고 많은 감동을 느낄수 있었습니다. 이러한 기술들을 널리 퍼지고 우리 나라 개발자들에게 알려져야 더 발전할수 있는 토양이 생기는게 아닐가요?
그리고 한 회사의 부품이라기 보다는 이제 개인이 하나의 독자적인 브랜드를 관리해야 될때입니다.
평생 직장도 없고, 많은 회사들이 개발자의 경력관리나 비젼 제시를 하지 못하는 상황이 현재 IT의 상황이기 때문입니다. 어느 분야 하면 자기 이름이 나올수 있도록 끊임없는 공부와 지식 공유 작업을 해야 될때입니다.
조만간 국내 개발자중에 개인 브랜드를 잘 쌓아가는 예를 찾아보고 실례를 들어 애기해 보도록 하는 시간을 가지도록 하겠습니다.
이 글로 인해 조금이나마 저와 여러분을 되돌아 보는 시간이 되길 바라며 글을 마무리 하겠습니다.
참고 자료.
패턴을 이용한 웹서버 만들기