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

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[11488] 개발자는 어떤 언어(툴)를 선택해야 잘 먹고 잘 살 수 있을까?
주정섭 [jjsverylong] 2636 읽음    2006-03-17 16:16
많은 개발자들이 자신의 주종 개발 언어(혹은 툴)을 선택하거나 바꿀 때, 앞으로 자신이 주로 작성해야할 프로그램의 종류와 성격, 문법의 간결성이나 체계성, 현대성, 생산성 등을 파악하여 고르기 보다는, 유행을 따라서 선택한다. 잘라 말해서 "앞으로 이 언어 혹은 툴이 돈 될 거랍니다"란 말에 따라서 결정한다는 것이다. 이는 매우 불행한 선택 방법이다. 현재 가장 유행인 툴 혹은 언어를 선택했다고 해서 개발자로서 밥벌이가 절대로 보장되지는 않는다. 예전 내글에서 여러번 지적했지만 개발자는 어떤 언어를 쓰느냐가 아니라 "어떤 프로그램을 제대로 만들 수 있느냐"가 더 중요한 밥벌이 보장 수단이다.

처음에는 이 새로운 유행 언어를 선택했다는 덕을 몇번 볼 수도 있을 것이다. 이 나라에는 희안한 개발 관행을 가진 회사들이 있는데, 멀쩡히 현재 업무를 잘 처리하고 있는 프로그램을 시대에 뒤진다는 희안한 이유 하나만으로, 자바나 닷넷같은 신 유행 언어로 다시 만드는 회사들이 종종 있다. 어찌보면 우리같은 개발자 관점에서는 좋은 기회다. 경기가 가뜩이나 안좋아서 신규 개발 프라젝트가 별로 없는 요즘에 이런 돈 낭비하기 좋아하는 황당한 회사들이 있다는 것은 매우 고마운(?) 일이다. 따라서 "요즘 뜬다는 어떤 언어를 나는 쓸 줄 압니다"라는 말로 신규 프라젝트에 참여할 기회를 얻는데 도움이 될 수도 있을 것이다.

그러나, 확고한 자신의 주종 언어(툴) 없이, 시대 유행을 따라서 이런 저런 툴로 말을 갈아타는 개발자는 조만간 이 업계에서 버티지 못한다. 왜냐하면 여러 언어를 알긴 하지만, 어떤 언어도 깊이 있게 알지 못하고, 겉껍질만 아는 개발자가 되기 때문이다. 어떤 언어도 깊이 알지 못하면서 제대로 돌아가는 프로그램 작성이 가능하다고 생각하는가? 물론, 여러 언어를 모두 잘 사용하는 천재적인 능력을 가진 소수의 개발자들이 있을 수도 있다. 그러나 실제 이런 사람들은 매우 보기 힘들다. 대부분 뛰어난 개발자들은, 몇가지 언어를 동시에 사용하긴 하지만, 자신의 주종 언어 즉 주종 밥벌이 언어를 반드시 가지고 있다. 보조 언어는 주종 언어의 단점을 보완하는 수단으로만 사용한다.

다시 말해서 성공한 개발자의 대부분은 컴 언어를 연구할 때 "집중과 분산의 원칙"을 어떻게 구사할지 잘 아는 사람들이란 것이다. 불행스럽게도 상당수의 개발자들은 집중의 원칙은 잊어버리고 돈 된다는 말에 따라서 "분산"에만 전념하는 경우를 많이 본다. 사실 나도 예전에 이 분산 원칙만 믿고 주종 언어에 대한 중요도를 망각하여, 힘들게 살았던 시절이 있었다.

간혹 구인 구직 광고를 보면 기막힌 문구들을 발견한다. 어떤 개발자가 구직란에 올린 자기 소개를 보면, 경력 5년차인데 Java, C++, Delphi, ASP, PowerBuilder 등등의 언어를 능숙하게 구사할 줄 안다고 적혀 있다. 내 경험에 의하면, 정말 천재적인 능력의 소유자가 아닌 한, 한 언어에 전념하여 그 언어를 자신의 주종 언어로 만드는 기간을 최소 3년으로 본다. 나의 이 계산 방식에 의하면 5년간 무려 5가지의 언어를 모두 섭렵했다는 이 개발자는 어떤 언어도 제대로 할 줄 아는게 없다는 것이 나의 결론이다. 만일 이력서에 이렇게 적혀 있다면 나는 거들떠 보지도 않는다.

반대로 Java, C++, Delphi, ASP, PowerBuilder를 능숙하게 사용할 줄 아는 개발 신입 사원 구함이라는 구인 광고나, 3년차 경력 개발자를 요구하면서 요구 스킬에는 도저히 3년으로는 불가능한 여러 언어와 툴에 대한 스킬을 요구하는 회사도 마찬가지다. 결론인즉 이딴 식의 구인 구직 광고를 하는 개발자나 회사와는 접촉하지 말라는 것이다.

델파이나 비주얼 베이직 같은 비주얼 툴들이 등장하면서, 개발 과정이 많이 편리해진 순기능도 있지만, 역기능으로 껍데기 개발자들을 매우 많이 양산시켰다. 껍데기 개발자들이란 어떤 언어나 툴의 기능 일부 밖에 사용 못하는 개발자들을 말한다. 예를 들어 폼 디자인 밖에 할 줄 모르는 개발자를 말한다. 즉 폼에 콤포넌트를 놓고 속성만 세팅할 줄 알지, 내부 처리 과정은 전혀 못하는 개발자를 말한다. 불행스럽게도 사실 개발자라고 불러줄 수도 없는 이런 개발자들이 도처에 넘쳐나고 있다. 껍데기 개발자의 또 다른 부류로, 화면 디자인과 더불어 입력 화면까지는 만들 수 있지만, 내부 데이타 처리 로직 코드는 전혀 구사못하는 개발자들이 있다.

얼마전에 타 업체의 소스 하나를 받았는데, 이런 껍데기 소스였다. 무려 6개월간 개발했다는 프로그램의 소스 내용이  어떤 처리 로직도 없고 단순히 입력 폼만 보여주는 코드만 존재했다. 이런 껍데기 개발자들이 도처에 넘쳐나고 있는 이유는 주종 언어 선택에 대한 확고한 판단이 없다는 것이다. 다시 말해서 개발 환경은 주종 언어의 몇가지 기능을 편리하게할 뿐이지, 데이타 처리 로직을 구현하려면 주종 언어에 대한 깊은 이해가 필요하단 사실을 전혀 깨닫지 못한 탓이다. 프로그램은 입력과 처리, 출력 작업으로 이뤄진다는 것을 잘 알 것이다. 이 입력 부분 즉, 화면 밖에 그리지 못하는 개발자들을 과연 개발자라고 할 수 있을 것인가?

여러 개발자들 게시판에는 질의응답 게시판이 있다. 내 사이트에도 이 게시판이 있지만, 조만간 없애버릴 작정이다. 내가 보기엔 질의응답 게시판은 별로 제대로된 질문과 답변도 잘 없지만, 질의응답 게시판은 초보 개발자들에게 매우 중요한 원칙인, 코딩은 스스로 해야 하며 쉽게할 수 있는 것이 아니다란 사실을 망각하게 만들기 때문이다.

질의 응답 게시판에 올라오는 상당수 질문들을 보면 내가 느끼는 생각은 이렇다.

"델파이 매뉴얼을 대체 보기나 한 것인가?"

"자신의 밥벌이므로 스스로 짜야할 프로그램을 남한테 짜달라고 할 작정인가? "

"코드는 없고 장황하게 말한 뒤 안 돌아가더라.. 에러좀 찾아주세요.. 내가 귀신인가? 코드도 없고 실행해볼 수도 없는 프로그램을 천재적인 상상력을 총동원해서 에러를 찾아달라는 이야긴가?"

"이렇게 어려운 질문을 한방에 답변해 줄 만큼 시간 널널한 사람이 많다고 생각하고 이런 질문을 올린것인가?"

해외 사이트를 보면 팁이나 개발에 관한 문서를 제공하는 곳은 많으나 질의응답 게시판은 잘 찾아 보기 힘들다. 개발자는 혼자서 해결하는 능력을 키워야 하지, 남에게 코딩을 구걸하는 방식에 익숙해져 버리면 개발자로서 살아가기 무지 힘들어질 것이다.
BloodWolf [cyberpd]   2006-03-17 17:11 X
개발 도구(언어,컴파일러 등)는 말 그대로 도구(tools)라고 생각하고 있습니다.
TCP/IP를 이해하는 개발자라면 자바, C++, Python, 심지어 PHP로도 각 개발 도구에 맞는 구현 방법으로 비슷한 품질의 네트워크 애플리케이션을 개발할 수 있다고 생각합니다. 질의응답의 대부분은 도구 사용법 문제 이전에 TCP/IP라는 원리 이해 부족이 아닌가 생각이 듭니다. 하아~ 생각은 그렇게 하고 사는데, 그나마 사용할 수 있는 언어는 C++ 뿐이고, 원리에 대한 지식도 희박해서 매일 질문을 올리고 있습니다. ㅜ.ㅜ
언제쯤이면 저도 1초 이상의 타이핑 지연없이 몇 천줄의 코드를 연속으로 작성할 수 있는 슈퍼개발자가 될 수 있을 까요? ㅜ.ㅜ
정경태.초초보 [chochobo]   2006-03-17 17:35 X
주정섭님//경력 5년차가 의미하는 바는 다양하게 해석할 수 있다고 저는 생각합니다^^ 언더에서 경력이 더 있을수도 있고... 경력 5년이라는게 단지 회사에서(제도권에서) 5년 동안 일했다는 이야기 일수도 있다고 잠시나마 생각이 들어 남겨봅니다ㅎㅎ
사실 ㅋㅋ 머 대부분 안그런 분들이 5년차에 장황하게 적으시는게 현실이긴 합니다만..^^
가끔 옥석같은 인재를 놓치실 수도 있을까봐 기우에서 적어봤습니다..ㅎㅎ
BloodWolf//개발자란 참 다양한 기준이 있는것 같습니다.. 말씀하신 부분도 약간은 공감이 갑니다만...1초 이상의 타이핑 지연없이 주르륵 쳐나가는 것보다 단 한줄의 코드라도 생각의 깊이가 느껴지는 코드는 어떻습니까? ^_^a 저는 빨리 만드시는 분보다 단 몇줄이라도 그분의 생각과 깊이있는 맛이 나는 분의 코드가 멋져 보였습니다...^^a(머 개인적 사견이라 ㅋㅋ)
BloodWolf [cyberpd]   2006-03-17 17:43 X
제가 의미한 슈퍼개발자는 깊이를 알수없는 중후함과 새콤 달콤한 맛이 므흣하게 음미되는 최고의 코드를 주르르르르르~ 작성하는 것입니다. ^^,

제 코드는 열줄만 적어도 최고의 삽질 코드가 되는군요... -_-;;; 우어어어어어~ ㅜ.ㅜ
df [skydream]   2006-03-17 19:08 X
초보적 질답이 문제인 것이 아니라 그것이 축적되어 정리된 자료가 되지 못하고 일회성 정보로 흘러가버리게 만드는 bbs 라는 것 자체의 문제라고 생각합니다. 저도 초보지만 사실 초보는 문제의 해결방법에 대한 경로를 몇개 갖고 있지 못할뿐더러 무엇을 모르는지조차 모르는 경우가 많기 때문에 그나마 친숙한 '사람들에게 직접 묻는 방법' = 게시판 을 쓰게되는 거겠죠. 물론 너무 불성실한 질문들은 눈쌀을 찌푸리게 만들긴 합니다만..
예를들어 IT 분야 아닌 다른 흥미있는 것들에 대한 정보를 얻고자 어떤 커뮤니티에 방문했을때 제일 먼저하는게 질답란 검색이겠죠. 그런데 저는 실질적 정보가 아닌 "검색 하세요" 란 답변을 수차례 클릭했던 경험이 많습니다. 팔아프더군요.
초심자에 대한 배려를 잃지 않는 것도 '고수' 의 미덕이 아닐까 합니다.
남병철.레조 [lezo]   2006-03-19 10:34 X
주력 언어에 대한 확신... 중요하다고 생각합니다.
또한 입사지원서에 너무 많이 적어놓아도 사실 그 일들을 전부 다 하지는 않을 것이므로 그렇게 적어놓을때 주력에 대한것과 경험에 대한것을 구분해 놓는것이 의미있을것입니다.
경험적인 의미로 몇가지 더 있는것은 충분히 매력적일 수 있습니다.

개인적으론 주력인 것과 그에 관련된것 이외에는 적지않습니다.. ^^;
일 잘하는 며느리로 소문나면 좋은 점도 있지만 때론 몸이 그 많은 요구들을 견디기 힘들것이므로 그런 상황을 미연에 방지하는 차원에서 ㅎㅎ (선택권을 가지려는;)
그렇지 않을경우 회사는 그 쪽으로 충원할지 말아야할지를 고민조차 하지않는 경우가 생길 수 있습니다 ^^; (요즘은 그런 회사들이 좀 줄어 들었나요? ;)
멀더 [mulder]   2006-03-22 02:04 X
개발언어나 툴의 선택은 업종에 따라 달라지며,
고객이 원하는 걸로 가는거라고 생각합니다.(사내고객과 외부고객)

아쉽지만 갑이 하라는데로 하는게 이업종의 숙명 아닌가요 ?
아 c8, 하나만 하고 싶다...

+ -

관련 글 리스트
11488 개발자는 어떤 언어(툴)를 선택해야 잘 먹고 잘 살 수 있을까? 주정섭 2636 2006/03/17
11494     Re:개발자는 어떤 언어(툴)를 선택해야 잘 먹고 잘 살 수 있을까? 박지훈.임프 2346 2006/03/18
11495         임프씨의 좋은 댓글에 감사드리면서..... 주정섭 1637 2006/03/20
11496             Re:임프씨의 좋은 댓글에 감사드리면서..... 신동승,無敵 1488 2006/03/20
11497                 Re:Re:임프씨의 좋은 댓글에 감사드리면서..... 박지훈.임프 1836 2006/03/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.