티스토리 뷰

반응형

2019/01/19 - [Programming/기타] - 시니어 프로그래머로 넘어가는 길 (1)

저의 경우 아버지께서 한 회사에서 평생을 일하신 경우를 평생 보고 자라왔고 그 회사가 국내 굴지의 기업이어서 큰 혜택이 따른다는 것도 알고 있긴 했지만, 워낙 반골의 성향이 크다보니 대학교를 졸업할 시기에 이미 대기업은 갈 생각이 없었습니다. 취업을 고려하던 대학교 4학년...즉 처음 취업했던 2000년에 이미 대기업을 가지 않겠다고 마음 먹었고, 제가 다니고 있던 인하대학교 컴퓨터공학과의 대부분의 졸업자들이 대기업을 골라서 취업을 하던데 반해 저는 벤쳐기업을 선택해 취업을 했습니다. 대학생 때부터 이런 당돌한(?) 짓을 벌인 성격이다 보니 이후에도 많은 굴곡을 거쳐 지금까지 직장 생활을 하고 있습니다.


앞선 글에서 저는 DB 구축 관련 업체에서 일을 시작했다고 했습니다. 그곳에서 ASP, PHP, JSP 와 같은 웹 개발 언어를 주로 다루고 SQL Server, MySQL, Oracle 들을 다룰 기회를 얻었습니다. 이 업체에서 약 5 년 가까이 일을 했습니다. 하지만 회사가 경영난을 겪고 임금이 몇 개월씩 밀리게 되자 회사는 권고 사직을 요청하게 되었습니다. 저의 첫 이직이 이루어졌죠.

첫 회사를 선택할 때에는 할 수 있는 것보단 저의 가능성이 더 중요한 시기였다면, 그 다음부터는 제가 할 수 있는 일이 더 중요한 스펙이 되었습니다. 어떠한 프로그래밍 언어를 사용할 수 있는지, 어떤 RDBMS 을 사용할 수 있는지...등이 그 때 당시에는 관심사였죠. 하지만, 취업할 곳을 알아보던 중 친구의 소개로 친구의 사촌 형이 재직하고 있는 서버판매를 주로 하는(리셀러라고 하죠) 작은 회사에 입사하게 되었고, 그곳에서 개발 일보다 서버에 관련된 일을 겸업하게 되었습니다. 지금와서 돌이켜보면 그 일은 프로그래머의 실력향상에 도움이 되는 일은 아니었지만 서버와 네트워크 등에 관심을 가지는 계기를 만들어 주었습니다. 장비의 납품, OS 설치 및 유지보수 지원, 기술영업, SAN/DAS/NAS 등의 장비를 접해보거나 인프라 설계, 클러스터 구성 등 단순한 프로그래밍 업무에선 잘 해보기 어려운 일들을 할 수 있었으니까요. 사실 첫 회사에서도 프로그래머가 인프라 업무를 모두 처리해야 했지만, 사실 그 깊이가 얕았는데, 서버 리셀러 업체에서 일하면서 고가의 장비들을 많이 보고 다루게 되다 보니 관심도 많이 가지게 되고 스스로 공부하게 되었습니다. 그래서 지금 직장에서는 인프라실 아래 시스템팀과 네티워크팀이 따로 있고 제가 굳이 하지 않아도 어느 수준까지 각 팀에서 서비스를 제공해주지만, 제가 더 적극적으로 기능에 대해서 요구하고 같이 협의할 수 있는 밑바탕이 되고 있습니다.



중요한 것은 회사를 다니면서 어떤 것을 배운다, 배웠다가 아니라 결국 내가 모르는 것을 발견하고 내가 그것을 습득할 수 있는지, 회사에서 습득할 수 있는 환경(테스트나 실제 사용)을 제공해줄 수 있느냐의 문제인 것 같습니다.


이후 더 많은 회사를 거치면서 건설PMS 시스템도 다뤄보고(결재 시스템 등), 재무회계 보고서시스템을 통해 여러 시스템의 자료를 취합하고 이를 보고서로 만드는 일도 해봤습니다(통계, 리포팅툴 등 사용). 이후 다시 첫회사의 관계사에 입사를 해서 첫회사 때 해보지 못했던 다른 시스템을 통해 더 많은 것을 해보기도 했습니다(검색엔진, 학원시스템 등).


그 이후에도 여러 회사를 거쳐 지금에 이르고 있는데, 회사를 옮길 때마다 비슷한 업종을 옮긴 것이 아니기 때문에 업무에 대한 노하우가 늘어난 것은 아니지만, 반대로 새로운 업무에 대해 분석하고 적응하는 요령이 늘어났고 그러한 업무를 해결하기 위해 필요한 "솔루션" 같은 것들을 알게 되거나 고려하게 되었습니다.


여기서 이 글의 주제에 대한 제 해답이 나옵니다.

제가 첫 회사에서 계속 근무를 했고, 보고서 시스템을 만들라고 했다면 아마도 ASP 나 PHP 혹은 JSP 로 웹페이지를 만들어서 상부에서 조회하는 프로그램을 만들었겠죠. 하지만, 이직한 곳에서 리포팅툴을 이용해서 보고하는 것을 만들어야 했기 때문에(SI 였고, 갑 업체에서 이미 SQL Server 의 리포팅툴로 사업을 딴 상태) 해당 제품을 공부하고 사용해서 결과물을 만들어서 배포까지 했습니다. 그럼 다음에 누군가에게 이런 보고서 시스템을 만들어서 납품해야 한다면 웹페이지로 만들까요?

아마도, "웹페이지와 SQL Server 의 레포팅툴 중 더 적합한 것을 이용하자" 고 했겠죠. 여기서 저처럼 경력이 아주 많은 개발자가 필요한 이유도 알 수 있습니다. 왜냐하면, 제가 레포팅툴을 이용할 때에는 2006 년이었고, 주니어 개발자였다면 웹페이지로 어떻게 만들지만 낑낑대고 있었을 테니까요. 그리고 2010년 경의 저라면 국내 특정사의 리포팅툴 두어가지를 더 사용했을 시점이었고, 그로부터 1~2년 후에는 오픈소스 리포팅툴 2가지로 이것저것 결과물을 만들어서 사내용으로라도 쓰고 있었을 시점이었습니다. 그래서 2014년 게임 개발사에서 서버 프로그래밍을 전담해서 개발할 때 운영팀을 위해 엑셀 다운로드를 구현해줄 때 단순히 Java 의 POI 로 엑셀을 만들어서 다운로드 하는 기능이 아닌, Eclipse BIRT 로 생성하도록 개발을 했습니다. Eclipse BIRT 을 이용한 이유는 Excel POI 을 써서 Excel 을 생산해내면 여러가지 보고서를 일일이 프로그래밍 해야 하는 불편함이 있고 코드를 분석하기 힘든 부분이 있는 반면, Eclipse BIRT 에서 SQL 로 표를 만들고 이를 Excel 혹은 다른 양식으로 다운로드 받는게 더 효율적이고, 제가 아닌 다른 개발자도 금방 익숙하게 이어받을 수 있기 때문이었습니다.


즉, 제가 아는 시니어 개발자가 되는 길은 "하나가 아닌 여러 방법을 제시할 수 있고, 제시한 방법 중 가장 효율적인 방법을 택할 수 있는 능력" 을 키우는 길이라는 것입니다. 경력이 많은 개발자들이 왜 도태되지 않고 지금도 일선에서 활약할 수 있는지에 대한 답이기도 합니다.


물론, 한 분야에서 한 우물만 열심히 파서 기술의 극한까지 이른 개발자들도 나름대로의 장점이 충분합니다. 하지만, 웹 프로그래밍 분야로만 한정해놓고 본다면, 대부분의 기술은 웹 브라우져의 제약 혹은 RDBMS 와 같은 저장소의 기능 제약으로 인해 개발자의 프로그래밍 만으로 해결하기 어려운 측면이 많습니다. 그래서 오히려 여러 "솔루션" 들을 이해하고 적용할 수 있는 능력이 더 빛을 발하는 분야가 아닌가 싶습니다.


2019/01/21 - [Programming/기타] - 시니어 프로그래머로 넘어가는 길 (3)


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함