프로그램 개발이라는건 생각도 안하고 아부지 회사에 있던 4비트 로봇팔을 베이직으로 코딩해서 움직이는거 한번 보고 뻑가서

현재까지 프로그래머하는 노땅이다...


요즈음 아니 90년대 컴퓨터 초기부터 현재까지 IT 산업이 바뀌는 꼬라지를 몸소 겪고 온갖 꼴을 다 보면서 현재까지도

이 짓거리로 밥먹고 산다마는 간단하게 적어보마


프로그램 언어는 당연히 베이직부터 했다. 듣도 보도 못했겠지만 카세트 테이프로 데이터 쓰고 읽던 애플2부터

7인치 플로피 5.25인치 플로피 3.5인치 플로피에 10메가 하드디스크부터 현재 테라 디스크까지 두루 섭렵했다.

ZIP 드라이브, JAZZ 드라이브와 CD RW에서 알만한 사람이 있을까 싶은 MO-DRIVER에서 대형 호스트에서나 쓸법한

대형 자기테이프에서 카트리지 타입의 자기테이프까지...

베이직, 코볼, 포트란, 파워빌더, C, C++, 자바, 델파이, TCL/TK, CGI, PHP, SQL에다 현재엔 C#, PYTHON과 R로도 개발한다.

궁금하지 않은 것에 대해서 써보마.

일단 난 GW-BASIC으로 시작해서 코볼과 C 단계로 넘어갔다. 그 뒤로 나머지 언어들을 익혔고 그걸로 개발도 한다.

내가 개발한 웹사이트만 100개를 넘어가고 내가 직접 설계 개발한 ERP, MES도 몇몇 군데에서 쓰고 있다.

소스 코드에 내 이름 박아놓은 것들만 한번 정리해봤더니 딱 10테라 나오더라 내가 직접 만든 코드들만 말이다.


자 꼰대 색휘 자랑은 여기까지 해주고


여기 채널에 자주 올라오는 글들 정리 좀 해보자.


1. 나 몇살인데 프로그래밍 시작해도 되나?

된다... 초기 델파이와 파워빌더라는 툴을 이용해서 개발할 때 그 꾸진 듣도 보도 못한 모뎀이라는 것으로 외국 애들이랑

이야기하면서 느낀건데 나이가 40이 넘은 아줌마 아저씨도 델파이와 파워빌더로 코딩하더라.. 그들의 정확한 직업은 코더다

요즈음은 아케텍쳐 또는 디벨로퍼라고 불리우는 사람들이 던져준 설계도로 말 그대로 코딩만 하는 허구헌 날 타이핑만 하던

사람들 그런 사람들도 지금에서야 보면 선진 기술 아니 외계 기술을 구현한 사람들이다. 그때가 90년대 말이다..

그 넘의 밀레니엄 버그 해결해야 한답시고 많은 이들과 이야기해서 내린 결론이다. 그리고 지금 내 지론이다

프로그래머가 되고 싶냐? 지금부터 해라... 책 한권을 보면서 소스 다운로드 받아서 이거 되네 이 지랄 하지 말고

그 소스 그대로 쳐라.. 100% 그대로 동작 안한다. 그러면서 깨우치는거다... 교수나 강사, 선생이 이렇게 하면 된다고 하면서

소스 던져주는거 받아오지마라.. 그냥 타이핑해라... 그런 노력도 안하고 프로그래머가 되겠다? 그건 아니라고 본다


2.  자료 구조나 데이터 구조 뭐 이런거 공부해야 하냐?

하지마라. 자료 구조나 데이터 구조 이런 이론들의 베이스는 너도 알고 나도 아는 수학이다. 수학에서 특히나 중요한게 수리연산인데

그 중에서도 자료 구조나 데이터 구조는 그 수리 영역을 얼마나 효율적으로 읽어오고 쓰는게 핵심이다. 그런 노력을 해서 이룬 것이

압축화 알고리즘과 자료구조와 데이터 구조다. 차라리 오일러 아저씨가 쓴 대수학 원론이라는 책을 파라... 그 책에 나온 모든 수식들을

니가 제일 잘 아는 프로그래밍 언어로 구현할 줄 알게 된다? 그러면 넌 자료구조와 데이터 구조 이런 것들은 그냥 어빌리티 아니

패시브로 장착된다. 자료 구조학 또는 데이터 구조학으로 설명하기는 힘들겠지만 그 이론과 토대는 니가 깔고 가는거다


3. 어느 프로그래밍 언어로 공부해야 하냐?

그냥 니 꼴리는대로 해라. 자바 코드가 이뻐 보이면 자바, PHP 코드가 이뻐 보이면 PHP 아니면 요즈음 그렇게 유행한다는

PYTHON을 공부해라.. 이건 이게 정석이다가 없다.. 나? 개똥같은 베이직으로 시작했다.. 베이직이 뭐의 약자인지는

알지? 초보자용 다목적 기호명령 코드 BEGINNER'S ALL-PURPOSE SYMBOLIC INSTRUCTION CODE다


4. 프론트 엔드냐 백 엔드냐...

이것도 니가 꼴리는대로 골라라 대신 확실한건 프론트 엔드는 디자인 영역에 가깝다. 왜냐? 그것만 파본 사람에게 물어봐라

그들이 작성하는 것들은 데이터 이펙트나 비주얼 이펙트 등은 백엔드가 던져주는 데이터들을 어떻게 보여주고 유저가 생성하는 데이터들을

보다 얼마나 심미적으로 또는  효과적으로 보여주느냐에 따라 스킬 레벨이 달라진다.


5. 웹사이트들을 돌아다녀야 하나

돌아다녀라... 스택 오버플로우나 이런 저런 사이트들을 닥치는대로 가봐라 가서 갸들이 올리는 질문과 답변 수준을 봐라

그거 읽기 힘들다고 궁싯거리지마라 요즈음엔 마우스 오른쪽 버튼만 누르면 한국어로 번역이라는 메뉴가 뜬다. 개떡같이

번역해도 찰떡같이 알아들을 수 있는 경지에 오를려면 기본적인 영어는 공부해라.. 성질 뻗쳐서라도 하겟다는 오기 정도는 가져라

예전엔 개발툴을 받으면 가질 수 있는 것이라곤 포함된 도움말이 전부였다. 모르면 F1이나 선배들인데 신기술을 선배들도 모르지..

그럼 오로지 F1이었다. 그게 읽기 힘들어서 회사에 몰래 남아서 도움말 전체를 출력해서 돈들여서 제본해서 읽어제꼈다..

니네들도 생각해봐라 개발 툴을 만든 넘들이 만든 설명서인데 코딩 좀 해본 찌끄레기들이 쓴 글보다 좋으면 좋지 나쁠 수 있겠냐?

다만 존나게 불친절하다.... 마소가 MSDN을 지금의 웹으로 구현하기 이전에 MSDN 시디를 따로 나눠준 적이 있다... 그리고

그걸로 도움말 만드는 프로그램까지 돈받고 팔았다.. 그 시대랑 비교하면 지금은 환경이 너무 좋다


6. 어렵다고 징징거리지마라...

어려운건 사실이다. 사실 자신과의 싸움이 더 크다고 할 수 있지. 아니 씨발 누군 한번에 해결하는데 나는 왜 이러냐 라는 생각도 들겠지

그건 그 인간이 똑똑하고 천재 비스무리 해서 그럴지도 모르지 하지만 나중에 그 인간을 물먹이는 사람은 그 인간이 10개 만들때

100개 아니 15개 11개씩 만들어 제끼는 인간이 이긴다. 코드는 많이 짜본 놈이 제일 쎄다.... 이건 누구도 반대하지 않는다


프로그래머가 될려고 하지말고 아키텍처를 목표로 해라.. 코딩은 너가 아니라도 누군가 한다... 그 코딩을 누군가가 하게 만들만큼

핵심 구조와 구현 후의 상황과 이후에 생길 수 있는 버그까지 모두 예측 가능하고 수정 가능한 설계도를 만드는 사람을 목표로 해라.


이만 줄인다..