C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[11741] 프로그래머로 이제 곧 10년 채우면서 느낀점들
구대원 [] 2442 읽음    2006-05-09 22:11
요즘 감기 걸린 사람들이 주위에 많군요. 우리 볼랜드 포럼 사람들도 감기 조심하세요.
오늘도 어제처럼 그냥 여기 들어왔다가 C#이니 자바니 C++이니 이런저런 글 읽다가 저도 그냥 나름대로 가진 생각을
쓰면 다른 분들도 혹시나 공감하지 않을까 해서 적어 봅니다.
제나이 지금 스물 아홉살입니다만 처음 프로그램을 작성해본것은 초등학교 6학년때 친구따라 컴퓨터 학원에서 다들 하는 GW-BASIC을 배우던것이었지요. 학원은 다섯달 다니고 나왔습니다. 왜냐면 286 PC를 샀거든요. 더이상 학원에 갈 필요가 없었고 오락실은 다시 안갔습니다. 오로지 컴퓨터 가지고 게임도 하고 홍명상가(대전)에 가서 1000원주고 quick-basic 복사해서 돌려보고 마이컴 잡지에 나온 프로그램도 입력해서 돌려보고 하다가 중학교때는 정말 시험 전날에만 책보고 항상 컴퓨터만 했습니다. turbo-c도 배워보고 고등학교는 실업계에 들어가서 정말로 신나게 컴퓨터만 했지요. 기능반이라고하는, 실업계 다녀보지 않은 분은 잘 모르시겠지만 3년동안 수업들은것은 1년정도 밖에 안됩니다. 방학도 없고 이틀에 한번꼴로 집에 들어갔지요. 정말 컴퓨터라면 끼고 살았습니다.

그때는 나중에 어떤 직업을 가질지 두려웠지요. 특히 컴퓨터 프로그래머라는 직업이 두려웠습니다. 주위에 컴퓨터 프로그러머는 단 한명도 없었고 어떻게 하면 되는지 아무도 알려주지 않았기 때문이었지요. 차라리 그냥 전산시스템 관리나 하고 그런건 어떨지 생각도 했었습니다. 그러다가 고등학교 졸업 하자마자 선생님소개로 한 벤처기업에 취업하고 월급 50만원으로 1년을 버티고 다음해에는 100만원 그러다가 IMF, 병역특례와 동시에 전문대 진학 그렇게 정신없이 살다보니 정말 지쳤지요. 그 회사가 정말로 싫었습니다. 급여는 거의 사기에 사규도 사기 수준이었고 핵심 개발자들이 떠났고 병특만 남았기에 정말 힘들었습니다. 병특이 끝나자 곧바로 서울로 회사를 옮겼고 몇군데 1년씩 다니다가 다시 대전으로 돌아왔고 어느덧 대전에서 비슷한 나이의 프로그래머보다 훨씬 많이 받는 정도로 대우받게 되었습니다.
역시 회사를 옮겨야 연봉이 오릅니다. 같은데 계속 있으면 처음 들어갈때의 기준이 크게 작용하기 때문에 자신이 발전해도 아무도 알아주지 않습니다.

뒤돌아보니 가장 힘들었던것은 3~6년차로 기억됩니다.
1,2년차에는 선배들로부터 배워가며 일을 했지만 3년차 이상부터는 도움 받을 사람도 없고 혼자 해결해야 했었고 직업에 대한 불안감, 자신에 대한 불안감이 힘들게 했었습니다. 다행히도 스타크래프트 같은 게임이 있어서 살 수 있었지 그것이라도 없었다면 술로 찌들었을지도 모르지요.
힘들었던 시기가 지나자 뭔가 달라지는게 느껴졌습니다. 자신감도 생기고 이상하게 다른 사람들이 제 말을 믿어주는것입니다.6년차부터는 정말 손에 불이나게 프로그램만 만들었습니다. 온갖 프로그램을 만들었지요. 주로 개인 사용자를 위한 프로그램들이었습니다. 그렇게 또 몇년이 지나고 올해들어서 또 다른 변화가 느껴졌습니다.
이제는 일이 힘들지가 않네요. 언제부턴가 일이 재미있어지고 힘이 들지 않습니다. 다른 사람들이 작성해놓은 프로그램을 보는것도 전에는 힘들었는데 이제는 재미있네요.
그렇게 사람들 변화시키는것이 경력이라는것인가 생각됩니다.
지금 제 맞은편에는 저보다 한살 어린 경력 1년 개발자가 있습니다. 그 직원 자주 힘들어합니다. 그게 예전의 제 모습이라고 생각하는 순간 제가 한없이 부끄럽고 웃음이 나왔습니다.

지금 시작하거나 막 시작하거나 몇년 일하지 않은 프로그래머님들은 더 열심히 하거나 아니면 포기 하거나 하길 바랍니다. 어중간하게 대충 따라 다니다가는 실력있는 프로그래머도 아니고 그렇다고 가능성 있는 프로그래머도 아닌 그냥 잉여 인력이 되는것입니다.(제주위에 그런 사람 몇명 있음-그 친구들은 절대 공부같은거 안함) 하지만 정말 열정을 가지고 배우고 일하기를 반복한다면 다른 이들이 필요로 하는 프로그래머가 될 수 있습니다.

늘 게시판에 이런저런 의견이 오가는 언어의 선택이라는 것에 너무 집착할 필요는 없다고 생각합니다. 지금 저는 공동 작업은 borland c++ builder나 visual c++을 사용하고 혼자 작업할때는 borland c++ builder 또는 delphi를 사용하고 웹사이트 만들때는 php 나 asp 를 사용하고 고객사에서 요구하면 jsp나 필요에 따라서 activex control (visual c++, borland c++ builder 혼합 사용)을 작성해 처리하고 있습니다. 아직 C#으로 해달라는데가 없어서 C# 은 못해봤습니다.
이렇게 여러가지 하면 다 잘 못하지 않느냐고 생각할 수도 있겠지만 그냥 windows용은 windows용일뿐 언어나 사용법만 다르고 구현 방법은 거기서 거기입니다. web site 제작도 마찬가지고 unix는 unix에 맞게 짜면 되는거고, 언어는 그냥 편하고 쉬운거 쓰면 되는것이지 자신을 가두는것이 아니라고 생각합니다.
나는 vb밖에 몰라서 c++은 자신 없는데요 라고 하지 말고 다 해보는것이 자신에 훨씬 도움 될거라고 생각합니다.
더 많은 개발도구를 알 수록 자유로워 지는것 같습니다.

마침 글쓰는 김에 5년차 미만의 가능성 있는 프로그래머님들에게 몇마디 하고자 합니다.

기초에 충실하면 좋겠습니다. 프로그램을 작성할줄 알면서도 기본적인 컴퓨터의 동작 원리도 모르는 경우 많습니다. 하지만 알아야 한다고 생각합니다. CPU가 어떻게 명령을 읽어서 수행하는지, 입출력 장치는 어떻게 프로그램과 상호 작용 하는지, 운영체제가 어떻게 프로그램을 작동시켜주는지, 프로그램은 어떻게 흐름을 타고 연산하는지 모른다면 문제가 닥쳤을때 해결할수 있는 능력이 부족할것입니다. 고등학교 시절 읽었던 컴퓨터구조 교과서와 MASM 책에 지금도 고마움을 느낍니다.

타인을 배려했으면 좋겠습니다. 어떤 서비스를 제공하는 회사로부터 그 서비스를 이용하기 위한 DLL과 그 소스코드(vc++)를 받아 개선해서 우리 프로그램에 적용하라는 업무를 지시 받았습니다. 열어보고 난감했습니다. 그 프로그램 만든 회사에서는 kaist 수재들이 만들었다며 자랑했답니다. 정말 kaist 수재들은 머리가 좋은가봅니다. 전역변수도 너무 많고 스레드가 6개에  이벤트, 세마포어, 콜백함수가 난무하고 어떤 함수는 switch문 하나에 case가 주루룩 있는데 10페이지였습니다. 미로같은 소스코드 보면서 작성한 사람들이 미웠습니다. 저는 기억력이 좋지 않아 변수는 5개정도, 함수는 한페이지 넘어가면 힘들어합니다.
성능이 크게 나빠지지 않는다면 자신이나 타인이나 누구든지 척보면 딱 알게 되는 프로그램이 쓸데 없이 낭비되는 돈 절약 해주는거 맞습니다.

트릭은 독이 될수도 있고 약이 될수도 있습니다. 3~6년차에서는 온갖 테크닉 마구 써댔습니다. 뒤돌아보면 한심합니다. 테크닉 쓰려면 재대로 써야지 헛점이 여기저기 있는 코딩에 테크닉이 결합하면 아무도 손델 수 없는 처치 곤란이 되는것이었습니다. 이제 어려운 테크닉 되도록 쓰지 않습니다. 되도록 일을 쉽게 만들어서 쉽게 해결하도록 노력합니다. 어떤 특정한 시스템에서만 돌아가는 기능이나 몇가지 기능이 짬뽕 되어있는 모듈 같은거 피해갑니다.

영문 도움말을 이용하기를 바랍니다. F1키 눌러서 도움말을 보는 개발자와 그렇지 않은 개발자는 큰 차이가 있습니다. - 적어도 제 주위에서는 - F1키를 눌러서 영문으로된 메뉴얼 보고 예제 보고 일하는 사람은 MSDN도 보고 외국의 사이트들로부터 정보도 얻을 수 있지만 영문 나오면 그냥 창 닫는 사람은 꼭 다른 사람에게 전화해야 하고 결국은 스스로 해결하지 못하는것을 봤습니다. 도움말의 영문법은 정말 쉽디 쉬운 말로만 되어있는데 그것도 못보겠다고 하면 너무하는거라고 생각합니다.

일하다가 잠시 쉬려고 들어왔다가 기운만 쏟고 가네요.
모두들 감기 조심하시고 재미있게 일하시기 바랍니다. 그럼 이만. 잡소리끝입니다.
박지훈.임프 [cbuilder]   2006-05-10 03:28 X
좋은 글 감사합니다. 다양한 경험을 써주셔서 꽤 재미있게 읽었습니다. ^^

다만, 개발에 대한 생각에 업무 개발 분야에 대한 감안은 별로 안해보신 것 같네요. C++ 위주로 일을 하다보면 보통 그렇습니다만... C++빌더나 델파이는 솔루션이나 시스템 개발 등 비교적 기술적인 스펙이 높은 분야 뿐만 아니라, 기술적으로는 단순 반복에 가까운 업무 개발에도 꽤 많이 쓰입니다.

이런 업무 개발에서는 생산성과 러닝커브의 문제가 훨씬 큽니다. 새로운 툴이나 언어, 환경을 배워가면서 개발한다면 거의 100% 프로젝트가 실패하게 되지요. 배워가면서 작업을 할 수 있는 상황이 안된답니다. 그래서 이런 분야에서는 적합한 툴과 언어를 선택하는 것이 중요할 수밖에 없다고 생각하고 있습니다.

물론 한 언어와 툴에 상당한 경력을 쌓고 나면 윈도우 개발에 비주얼 C++이냐 C++빌더냐 하는 논쟁은 점점 무의미해집니다. 제가 VCL에 쏟았던 노력과 경험을 그대로 MFC에 쏟았다면 지금과 비슷한 정도의 MFC 전문가가 되었을 겁니다. VCL이 MFC보다 접근하기는 쉽지만 마스터하기에는 역시 비슷하게 복잡한 프레임워크니까요.

하지만, 이 SW 업계에는 경력이 10년차에 가까운 중견 개발자에 한참 못미치는 초중급 개발자가 압도적으로 많습니다. 이미 개발에 상당한 경험을 쌓은 후라면 MFC나 VCL이나 별 차이가 없이 우습게 보이겠지만, 초중급 개발자가 거기까지 도달하기까지 개발자가 겪어야 하는 어려움의 정도를 생각한다면 언어와 툴의 선택이 중요해질 수밖에 없다고 생각하고 있답니다.

+ -

관련 글 리스트
11741 프로그래머로 이제 곧 10년 채우면서 느낀점들 구대원 2442 2006/05/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.