인문학도, 개발자되다
마르코 지음 / 영진.com(영진닷컴) / 2018년 11월
평점 :
장바구니담기


개발을 처음 공부할 때 또 하나의 어려움은 하나의 서비스를 만들 때 하나의 기술로만 모든 것을 개발하기는 거의 불가능에 가깝다는 점이다. 만약 당신이 웹 사이트를 하나 만들기로 결정했다면 어떤 기술들을 알아야 할까? 가장 기본적으로는 사용자에게 데이터를 시각적으로 보여줄 수 있는 HTML,CSS,자바스크립트가 필요하다. 그리고 회원가입이나 게시물 저장 등의 데이터 처리를 위해서는 데이터베이스에 대한 지식이나 SQL을 알아야 한다. 그리고 자바스크립트를 기반으로 하는 노드(Node.js) 가 아닌 파이썬 등 다른 프로그래밍 언어를 사용한다면 그 언어도 공부해야 하고, 웹사이트 제작을 도와주는 해당 프로그래밍 언어 기반의 웹 프레임워크도 공부해야 한다. 이제 이걸 다 배웠고 사용자를 만나고 싶다면 작업 내용을 서버에 올려야 되는데, 이걸 위해서는 리눅스 등 서버 컴퓨터에 대한 지식이 필요하다. 이 정도가 아주 기본적인 지식이고, 실제로 많은 사용자를 만나는 서비스를 만나기 위해서는 훨씬 더 방대한 지식을 공부해야 한다. (p110)


이 책은 인문학도가 개발자가 된 상황에 대해서, 저자의 특별한 취업 비결과 방법에 대해서 나열하고 있다. 특히 사람들의 인식 속에서 컴퓨터는 IT 계열이고, 이공계 학생들이 밸우는 전문적인 영역이라 생각한다. 하지만 시대는 변하였다. 지금은 문과 출신이라도 개발자로 나서야 하는 경우가 생기고, 살아남기 위해서는 스스로 자구책을 만들어 나가야 한다. 다행스럽게도 지금 우리 사회는 배우고자 하는 욕구와 열망이 있다면 문과생들도 IT 전문 지식을 배울 수 있는 다양한 커리큘럼이 있으며, 때로는 정부 지원을 통해서 교육을 받거나, 저렴하게 교육을 받을 수 있는 상황들이 많이 존재한다. 물론 나 또한 여기에서 예외가 되지 않는다. 저자는 역사학도임에도 6개월 과정의 개발자 과정을 거쳐서 IT 전문가가 된 케이스이며, 지금은 싱가포르에서 일하고 있다. 여기서 저자는 특별한 케이스라 생각하지만, 현실은 그렇지 않다. 앞으로 더 많이 이런 일들이 일어날 수 있다. 그건 우리 사회가 제4차 산업혁명으로 나아가고 있으며, 프로그래밍 언어를 습득하고 코딩을 일상적으로 해야 하는 상황들이 펼쳐지기 때문이다.


나는 처음 배웠던 프로그래밍 언어로 C/C++이었다. 그 당시엔 이 언어를 왜 배우는지 이해할 수 없었다. 돌이켜 보자면 이 언어가 컴퓨터 언어의 기본이었고, 언어로 치면 라틴어에 해당된다. 모든 프로그래밍 언어의 뿌리는 C/C++에서 시작하고 있으며, 윈도우 프로그래밍 언어는 C 언어로 이뤄져 있다. 여기서 언어만 배운다 해서 모든 게 해결 되는 건 아니다. 프로그래머들은 각자 스타일이 있고, 프로그래밍 프로젝트는 대부분 협업을 통해 이뤄진다. 그래서 서로가 툴킷을 활용해 프로그래밍 작업을 시도하게 되고, 그들은 그 나름대로의 프로그래밍 습관에 따라서 코딩하게 된다. 저자의 특별하면서도 컴퓨터 개발 현장에서 느껴지는 지식과 경험들이 이 책 곳곳에 스며들고 있다.한편 이 책은 컴퓨터 프로그래밍에 대한 기본 지식없이 펼쳐들면 외계어를 나열하고 잇는 듯한 기분이 들 수 있다.


사실 그렇다. 프로그래머에게 컴퓨터 프로그래밍 언어는 기본이고, 영어는 필수이다. 그 이유는 컴퓨터 프로그래밍 책자나 소스들, 템플릿, 더나아가 지식 공유까지 영어로 되어 있기 때문이다. 물론 영어에 중국어를 추가하거나 다른 언어를 병행하는 것도 나쁘지 않다. 특히 IT 계열은 변화를 당연하게 생각하기 때문에 영어로 된 책이 국내로 번역되기 까지는 상당한 시일이 걸리고, 번역되고 난 이후에 개발환경은 바뀌기 때문에 영어는 선택이 아닌 필수가 되고 있다. 또한 수많은 프로그래밍 언어를 습득해야 하는데, 때로는 1000페이지 두꺼운 책들을 읽어야 하는 경우도 있다. 다행스럽게도 프로그래밍 언어들은 그 특징에 따라 다르지만, 기본적인 요소들은 비슷하기 때문에 하나의 언어를 배우면 새로운 언어를 배우는데 금방 익숙해진다. 물론 플래시나 포토샵, 일러스트,프리미어 등등 코딩이 아닌 예술적인 감각이 필요한 것들은 배우는데 시간이 많이 소요될 수 있다. 하지만 서버, 컴퓨터,웹기반 언어들은 거의 대부분 습사한 구조를 가지고 있어서 , 큰 무리 없이 다른 프로그래밍 언어로 전환이 가능하다. 


댓글(0) 먼댓글(0) 좋아요(5)
좋아요
북마크하기찜하기 thankstoThanksTo