본문 바로가기

헛소리

개발자는 항상 변화해야 합니다.

앞 시리즈들에 이어서 세번째 시간입니다.

이 블로그를 개설한 이후로 가장 긴 시리즈 같군요.

2주에 한번씩은 업데이트 하려고 하였으나 3월달에는 이래저래 일이 많았네요.

 

오늘 말씀드릴 내용은 사서삼경  역경(易經),  주역(周易)입니다.

주역에서 말하고자 하는 바는 무척이나 간단하면서 강력합니다:

 

  1. 모든 것은 변화한다 = 변역(變易)
  2. 변화한다는 사실 자체는 변화하지 않는다 = 불역(不易/太極)
  3. 만물은 음과 양으로 설명된다 = 간이(簡易)

이게 개발자의 태도나 자세와 무슨 관련이 있으신가 싶으시겠습니다만,

곰곰히 생각해 보시면 개발자니까  관련이 깊다는 것을   있습니다.

제가 겪은  가지 예를 들어보죠:

 

제가 졸업 프로젝트를  , Android 1.0 출시되었습니다. 안드로이드가 탑재된 스마트폰 같은  없었고,

이클립스에 개발환경을 구축해서 java 개발했습니다.

지금은 android 10.0 버전이 나왔습니다. 스마트폰이란  자체도 사라지고 그냥 이젠 핸폰입니다. 개발환경도 android studio kotlin 사용할  있습니다.

 

 뿐만이 아닙니다. 위성 영상 처리를  배우고 대학원을 다닐 시절의 인공지능 교수님께서는 이렇게 말씀하셨습니다:

"AI  개념이 처음 나온 40, 50년대부터 항상 유망한 기술이었다. 앞으로도 유망한 기술일 것이다."

지금은 유망이 아니고 대세입니다. AI 떼어놓고 생각하기 힘든 세상이 와버렸으며, 세계적 대기업들은 이런 AI 플랫폼 경쟁에서 사투를 벌이고 있습니다.

 

제가 처음 접한 코드 형상관리 도구는 CVS였습니다만, SVN 거쳐 git까지 왔습니다.

그와 함께 다양한 국적의 사람들이 다양한 open-source개발에 참여하게 되었고, 그러한 source들이 모여  open-source 프로젝트들이 등장하고 있습니다.

 

어디  뿐입니까. 개발방법론에 있어 폭포수 모델과 V모델의 실패를 우리 모두 경험했고, agile scrum, ex, test-driven-develop  다양한 방법론들이 등장하였으며,  이면에는 빠른 소통을 도와주는 강력한 협업 도구들이 많이 등장했음을   있습니다.

 

 그렇습니다. 10년이면 강산이 변한다고 합니다만 소프트웨어 개발은 하루가 다르게 빨라지고 있으며 급격하게 변화하고 있습니다. 하룻밤 새에도 수많은 기술들과 방법론들이 쏟아지는 이런 환경에서 우리가  나은 개발자가 되기 위해서는 그저 그것을 아는 것에만 국한하지 않고,  많이 나아갈  있도록 항상 준비하여야 합니다.

 

주역에서 말하는 부분은  부분입니다. "항상 변화에 준비하고 현명하게 대처하라."

 

따라서 어디로든 변화할  있는 코드상의 유연함을 포함하여, 항상 변함없이 변화할  있는 자세를 가져야만 합니다. 

아울러 앞으로  변화의 속도가  빨라지면 빨라졌지 느려지지는 않을겁니다. 

  변화 앞에서 슬기롭 대체하고 살아남는 개발자들이 되셨으면 좋겠습니다.