준은 마치 은행원의 타이핑과 같은 속도로 노트북을 타이핑하다가, 불현듯 F5키를 입력한다.

흡사 거북이가 지나가는듯한 속도의 진행표시기를 보며 지미 핸드릭스를 흥얼거린다.

얼마나 시간이 흘렀을까?

지저분한 노트북 LCD 화면에 윈도우가 하나둘 뜨기 시작한다.

준은 고양이가 쥐를 사냥하는듯한 눈빛으로 노트북을 응시한다.

노트북에는 완성된 프로그램이 우아한 자태를 뽐내고 있다.

그렇다. 준은 마침내 완성한 것이다.



















"Hello World"를..


..

상당히 많은 학생들이 개발자를 동경한다.

사실, 미화하면 위처럼 할수도 있는게 사실이다.

90년대, 프로그래머라는 직업은 상당히 미화되어 있었다.

지금은 아니다.....

내가 해주고 싶은 말은.. '가능하면' 개발자는 부업으로 하는게 좋다는 것이다.

공부해야 할것은 많은주제에 대우는 그리 좋지 않다.


컴퓨터 공학을 전공한 학생들은 한마디씩 들었을법한 이야기.

"컴공이 엑셀도 못해?"

자. 답변해주자.

"컴공은 엑셀을 만드는 법을 배우는거지 사용법을 배우는게 아냐."

하지만 (이것은 아주 당연하다) 사용법은 확실히 숙지해야 한다.

뭐가 어떻게 돌아가는지도 모르면서 만들수는 없지 않은가?


if / then만 알아도 프로그램을 작성할 수 있고, DirectX / WinAPI를 전부 머릿속에 집어넣고 있어도 한줄의 코드작성을 못하는 경우도 있다.

왜 그럴까?

프로그램이란건 디자인과 별반 다를게 없다.

"뭘 할 것인가?" / "뭘 그릴 것인가?"

사실 자기가 쓰는 컴터에 뭐가 필요한지도 모르면서 개발하려면 참 힘들다..


자동으로 컴터 꺼주는 프로그램이 필요하다고 치자.

어떻게 할까?

How-to는 널려있다.

그런데 나는 어떻게 이야기해줄것 같은가?

"그냥 있는거 다운받아 써라. 그것도 널려있다."


최신기술같은거 알면 좋지만 그것뿐이다.

MS-DOS 3.22라는 OS로 프로그램 개발해도 쓰는데 문제가 없으면 사실 상관없다.

Z80(재믹스에 쓰인 CPU)으로도 얼마든지 패킷분석기같은거 작성할 수 있다.

PXA계열(고성능 휴대폰에 많이 쓰임) CPU따위 몰라도 뭐든지 할수는 있다는 얘기다.

근데 좀 아닌것 같지 않은가?

그렇다. 유행이 되는 기술은 배우기 쉽다.

물흐르듯 알아가면 되는것이다.


프로그래머에게 가장 중요한 덕목은 무엇일까?

영타 분당800타의 빠른 타이핑 능력?

프로게이머와 같은 마우스 움직임?

독수리타법으로도 프로그래밍은 가능하다 :)

뭐 어쨌거나 가장 중요한건.. 수학이다.

갑자기 뭔 수학이냐고?

프로그래밍에서 수학은 여러 분야에 쓰인다.

물론, 학창시절에 배우는 "암기식"의 수학이 아니라.. 이해하는 수학이 필요하다는 얘기다..

실제 if / then의 논리연산 역시 2진법 수학이고, 화면출력에는 꼭 3D가 아니더라도 Sin, Cos, Tan의 개념을 알아야 한다.

깊이 들어가면 좋지만, 어쨌거나 알고있는것 정도는 무조건 필요하다.


그럼, 지금까지 겁줬으니 위의 프로그램을 작성해볼까?

Javascript로 해보자.
<script language="javascript">
alert("Hello, Fucking World");
</script>

c로 해볼까?
#include <stdio.h>
main()
{
printf("Hello, Fucking World");
}

c#은 어때?
MessageBox.Show("Hello, Fucking World");


이딴거 뭣하러 해보냐고?

그러게.. -_-;

뭐 어쨌거나, "뭘 해볼까?"만 정해지면 쉽다는거랄까?

그래서 UML이라는게 있다..

프로그래밍 언어를 배우려면 C나 java같은거 필요없고 "Flowchart"를 가장 먼저 배우기 바란다.

사실 프로그램을 배울때 항상 Flowchart를 먼저 배운다.

근데 신기한게.. 그게 제일 중요한데.. 학생들은 그냥 키보드부터 뚜닥뚜닥거린다..

뭐가 그리 급하누?

뭔가 처먹으면 똥으로 뭐가 나올지부터 결정하고 프로그램하는게 정석이지 않을까?

정석이라는 말이 참 거부감이 드는걸 모르는건 아니지만.. 정석이 디버깅을 줄여주잖아..?


그리고 요즘은 컴포넌트가 넘쳐나는 시대다.

많은 개발자들이 최신기술을 익혀놓는 이유는, 쉽게쉽게 프로그래밍하려는거다.

"저 씹새끼 프로그래머를 날로먹을라고!" 라고 말하라 ㅋ

그걸 즐겨야 한다.

괜히 작성할 필요 없는거 작성하는건 보고서에만 작성하라.

리눅스에 웹서버를 올린다고 치자.

난 컴파일보다 aptitude를 훨씬 선호한다.

#apt-get install apache2 mysql-server php5

이러면 올라가는 웹서버를 컴파일하고 지랄할 필요가 있는가?

그렇지만! 왜 컴파일하는지는 꼭 보자.

훑어보는걸로 충분하다.

나중에 찾기 쉽도록 말이지.

사용하기 쉬운건 항상 리스크를 동반한다.

하지만 이득이 훨씬 많다..

그래도 리스크 대비도 좀 하고..


오라클 기술지원팀이 아주 神적인 취급을 받고 있다고들 한다.

연봉도 神급이고..

왜 그럴까?

걔들은 수학 잘한다.

훌륭한 개발자가 되려면 수학을 잘해야 하나보다.


개발자는 하고싶은데 수학은 하기 싫다?

"개좆같은 이세상, 안녕하십니까?"만 줄창 만드세요. ㅇㅋ?


개발자가 되려면 수학부터 공부하라.

그럼 돈많고 수학못하는 애들한테서 돈을 받을수 있다.
  1. 이전 댓글 더보기
  2. 2008.05.05 16:00 신고

    안녕하세요?

    돈많고 잘난 옐입니다
    저는 부모님이 어려서부터 수십억을 투자하여 학원에 보내주신 덕분에
    '개발자에게 필요한 수학' '개발자에게 필요한국어'등등 여러가지 분야에서 잘난척을 하고 있습니다
    저는 그뿐만이 아니라 다른 모든 학술을 연마하였으니

    '돈많고 수학못하는 사람'뿐만 아니라 거의 대부분의 사람들에게서 돈을 받을수 있겠군요
    저는 너무 잘난것 같습니다.

    자, 마음껏 질투하세요

  3. Drake 2008.05.05 17:12 신고

    그냥 단순한 펌질은 아닌듯..
    출처 명시되어 있고.. ㅋ

    의견까지 포함되어 있음.
    덧글로 써주면 더욱 좋았을것을..

  4. 키아、 2008.05.05 17:27 신고

    안녕하세요?

    돈없고 못난 키아입니다.
    저는 부모님이 어려서부터 그냥 집에서 비디오가게하며 공부 시켰습니다. 그런데도 옐님보다 공부잘할자신 있습니다. 저는 옐님이 하시는 모든분야는 물론이고, 게임도 자신이있습니다. 그러나 저는 너무나도 못나서 옐님처럼 부자가 아닙니다. 그리고 훈남도 아닙니다.

    저는 너무 못난것 같습니다.

    자,마음껏 질투하세요

  5. Drake 2008.05.05 17:30 신고

    개발자에게 필요한 영어는요?

  6. 바로 2008.05.05 20:50 신고

    하지만 프로그래밍 하나도 모르는 사장에게 휘둘리는 존재하는거-_;; (농담이고요)
    저 개인적으로 프로그래머는 프로그램만 잘 만드는 기술자가 아닌 새로운 것을 창조하는 사람이 되어야된다고 생각합니다. 그러기 위해서는 역사를 공부해야되지 않을까 싶습니다!!! 역사는 반복된다!! 와와와...(이상....역사학도였습니다.--;; )

  7. 코나타 2008.05.06 14:12 신고

    와아... 멋잇다 'ㅅ'?

  8. Drake 2008.05.06 14:24 신고

    Hello, World 가요?

  9. dsp 2008.05.06 18:32 신고

    수학도 중요하지만, hello world도 마찬가지로 중요해 보입니다 ^^
    모든건 hello,world의 확장판이 아닐까여~

  10. 미고자라드 2008.05.06 20:38 신고

    루비로 해 볼까?
    puts "hello, fucking world"

  11. 듀시즌 2008.05.06 21:44 신고

    캐공감~
    산수 못해서 계산부분에서 매번 개삽푸고 있는 개발자 1人 -_-;;;

  12. 듀시즌 2008.05.06 21:47 신고

    근데 오라클로 계산하는건 보통 이상은 되요...(빠져나갈 여지를 남겨둔 -_-;;)

  13. Drake 2008.05.07 02:52 신고

    아니요.

  14. Drake 2008.05.07 02:59 신고

    380개 백화점 매장 POS에 1초 간격으로 대략 8Mbps의 트랜잭션이 이루어진다고 가정하여, 8대의 분산서버를 효율적으로 배치해 보시오.

    본인 솔루션 : 그냥 두대에 async socket + MySQL innoDB를 사용하겠습니다.
    결과 : 개년아 존나 느리잖아!

    이럴땐 오라클에 개념있으신 분들이 부럽습니다요~
    물론 MySQL이나 MSSQL이나 Oracle이나 버클리DB의 확장판이지만.. -_-;

  15. Drake 2008.05.07 03:08 신고

    개발 뻘(perl)로 하십니까?

  16. 미고자라드 2008.05.07 23:32 신고

    개발자는 아니고 가끔 갖고 노는정도입니다.

  17. Drake 2008.05.08 06:48 신고

    그런걸 보고 '프로그래머'라고 하지요.

  18. 오천원 2008.05.19 13:43 신고

    |오라클 기술지원팀이 아주 神적인 취급을 받고 있다고들 한다.
    |연봉도 神급이고..
    |왜 그럴까?
    |걔들은 수학 잘한다.
    |훌륭한 개발자가 되려면 수학을 잘해야 하나보다.

    오라클 기술 지원팀이 신적인 취급을 받는다는건 좀 아닌듯 하구요...
    전 현업시절에 오라클에 헬프요청을 해서 우리 사무실로 온 오라클 기술지원팀에게 욕한적 있다는.....
    나도 아는것을 그놈들은 모르기에....ㅡ.ㅡ (그렇다고 내가 더 잘아는건 아니지만...ㅋ)
    그리고 오라클 기술지원팀이 수학을 잘해서 신적 대우를 받는것은 아니고.......
    DBA 라면 수학이라고 하기엔 뭐 하지만 집합의 역학은 확실하게 배워두는것이 좋은것이죠..
    조광현인지 조광래 인지는 모르겠지만.......대용량 솔루션 강좌때 그 냥반이 하는 강좌를 듣고 알게 되었지요
    ㅇ ㅏ 내가 집합에 대해서 좆도 모르는구낫................

    암튼 DBA 라면 당연히 알아야 하는것이 '집합'입니다.

    저 원본 글을 쓴사람은 정확하게 맥을 짚지 못하는듯 합니다.

  19. Drake 2008.05.20 04:01 신고

    으음.. 제가 본 분은.. 한국 오라클 말고..
    비행기타고 날아오신 분이..
    전에 회사 DB서버를.. 2~3시간동안 테스트 하시더니 A4 한장에 뭔가 그려주시더군요..
    그 복사지가 기백만원에 거래되고 하더군요..
    음.. 오천원씨가 보신분은 神급 연봉 받으시는분이 아닐겁니다..

    집합 역시 수학이고, 위에서 말하는 수학은 개념쪽이고요..
    무슨 공식 외우는 그런 수학이 아니라.

  20. 하타 2008.05.23 23:04 신고

    흠... 그렇군요...
    개발자는 무지무지 힘들군요 -_-...
    그래도 저는 동경합니다... 개발자... ㅠ_ㅠ

    사실 지금에와선 프로그래머보다는 네트워크 구축관리쪽으로 좀 더 생각이 기울어져가고는 있습니다만...
    저로서는 이런저런것들을 많이 생각해봐야할 시기인듯합니다..

  21. Drake 2008.05.23 23:24 신고

    네트워크 구축관리라면, 일단 ccna부터 준비하세요~

+ Recent posts