소프트웨어 엔지니어로 살아가기

소프트웨어 엔지니어로 살아가기

 초등학교 때에 학원에서 처음 8비트 컴퓨터로 베이직을 배울 때는 정말 모든 것이 신기했었다. 어떤 명령어를 규칙에 맞게 입력하면 해당 결과가 모니터에 나타나는 것도 신기했고 또 타이핑을 칠 때의 키보드의 촉감도 마냥좋기만 했었다. 물론 지금과 비교하면 소프트웨어나 하드웨어의 질적 수준이 많이 차이나지만 그때 당시만의 추억이나 좋았던 기억이 아직도 남아있다. 그래서인지 아직도 어떤 제약된 조건(하드웨어 또는 소프트웨어)상에서 문제를 해결하는 것에 대한 기쁨이 더 큰 것 같다. 

프로그램에 대한 호기심에 시작한 컴퓨터로 삼국지, 페르시안 왕자 등의 게임을 하면서 게임에 대한 재미를 붙였고 또 게임을 하다보니 불법복사한 게임의 락을 풀거나 점수를 조작하기 위해 PC TOOL를 사용해서 16진수 데이터를 변경하면서 데이터 저장형식에 대해서 흥미를 가질 수 있었다. 게임을 잘 하기 위해서 당시 인기있던 마이컴이란 컴퓨터 월간지를 보면서 다시 게임외의 프로그램에 대한 정보를 얻을 수 있었다. 

하지만 프로그래머란 직업이 쉽지 않을 것 같다는 걸 깨닫는데는 그리 오래 걸리지는 않았다. 
지금에 비하면 변화의 속도가 느렸지만 계속해서 변화되고 방대한 소프트웨어 기술들을 보면서 나중에 프로그래머가 된다면 정말 계속해서 공부를 해야 겠구나라는 생각을 했었다.

결국 대학진학시에 진로선택의 갈림길에서 변화가 비교적 적고 한번 배운 지식을 계속해서 활용할 수 있을 것 같은 학과를 선택하기로 했다. 그중에 산업공학과가 컴퓨터를 어느정도 활용하면서 변화가 많지 않을거란 기대로 선택하였다. 하지만, 그런 기대도 1학년을 마치고 나니 소프트웨어 이외의 과목들은 흥미가 생기지 않았고 소프트웨어 수업 위주로 공부하고 천직으로 생각하고 직업도 SI업체로 선택하였다.

회사에 들어와서 정신없이 일하다보니 몇년이 훌쩍 지나버렸는데 시간이 지날 수록 뭔가 이상한 점이 느껴졌다.
차장 이상되시는 분들 중에 실제 개발을 수행할 수 있는 분들이 없다는 것이었다. 대부분이 PM, 영업, PMO 등 주로 관리 업무를 하시는 것이었다. 물론 그런 고참분들 대부분이 젊었을 때 프로그래머로서 한가닥씩 하신 분들이라고 스스로 얘기를 해주셨다.  하지만 차장이 되어서 프로그램을 직접 손대는 일을 한다는 것은 무능력한 사람이라고 스스로 인식하는 듯했다. 
나는 전략적으로 학과를 선택했었지만 결국 천성이 프로그래머가 좀 더 잘 맞아서 다시 돌아왔는데 몇년 하지 않아서 다시 관리업무를 해야 한다는 생각을 하니 기운이 쭉 빠졌다. 한분야의 전문가가 되기 위해서는 1만시간을 투자해야 한다고 하는데 우리는 그 1만시간을 채울 무렵에는 조금 다른 길을 가야 한다는 것이다. 물론 연관은 있겠지만 그동안의 지식들이 상당부분 활용 되지 못 하고 있는 것이다. 
단순 개발업무는 당연히 초급 개발자들이 하는 것이 맞지만 전체 아키텍처를 수립하거나 플랫폼과 프레임워크를 만들고 주요 핵심 모듈을 설계하는 것은 분명히 전체적인 통찰력을 가진 최고수의 소프트웨어 엔지니어가 해야 한다. 
아키텍처를 유연하고 확장성있게 또 모듈간의 독립성이 잘 유지되어 유기적으로 작동하게 만드는 것은 전체 숲과 나무를 같이 볼 수 있는 경험과 통찰력, 지식이 필요한 고도의 작업이기 때문이다.
다행히 최근들어서는 애플 덕분에 소프트웨어 중요성이 강조되고 있다는 점이다. 소프트웨어 경쟁력이 곧 제품의 경쟁력이자 수익을 창출하는 생태계의 중심축이 되었으니 말이다.

하지만 아직까지도 소프트웨어 노임단가라는 정보처리 기사 자격증과 해당 분야의 짬밥 기준의 등급구조가 남아있다. 어떤 공정한 기준이 없다는 점 때문에 해당 기준이 생긴 점이 있어보이지만 생각의 틀을 바꾸어야 하지 않을까 한다. 빌게이츠가 한국에오면 대학중퇴에 정보처리 기사 자격이 없으므로 소프트웨어 노임단가 기준으로보면 하루에 십몇만원이다라는 얘기도 있으니 말이다. 어찌보면 SI 업체에서 영업으로 오래있었던 사람이 기술등급상 더 높은 개발자로 인정 받는 구조이기도 하다. 과연 짬밥으로 기술등급을 분류할 수 있을지 모르겠다. 그리고 오래 했다고 고수는 아닐것이다. 아무튼 소프트웨어 엔지니어로서 살아가고 있는 현실에서 장래가 지금까지 밝아보이지는 않았다. 단지 최근의 스마트폰의 혁신으로 소프트웨어에 대한 인식의 변화가 조금씩 보이는 것 같아서 다시 희망을 가져본다. 

계속해서 변화되는 기술들에서 어찌보면 그 근본 원리들이 변화되는 것은 아니고 단지 형태만 조금씩 바뀌고 있을 뿐이다. 단순기억력은 나이가 들면 떨어지지만 종합사고 능력은 더 높아진다고 한다.
신기술을 사용한 단순 개발자에서 벗어나 전문 아키텍트로 발전한다면 앞으로 전문직으로 인정받고 또 머리가 희끗해져서도 존경받는 소프트웨어 엔지니어가 될 수 있을꺼란 희망을 가져본다.