뭐 이전 블로그에서도 공개 했다시피 나는 비전공자 개발자로 시작해서, 이제 전공자 개발자로 된 상태이다.
프로그래밍이야 초등학교 시절부터 간간히 해오던거였고, 간단하게 프로그램을 만들었던것이 심파일에도 올랐었고 해서 거의 뭐 프로그래밍은 취미생활의 일부분이였다. 물론 지금도 그렇지만….
대학을 토목공학과를 졸업하고, 심각하게 진로를 고민하던 찰라 이렇게 프로그래머로 살게 되었다. 뭐 전에도 후회한번 해본적도 없고, 지금도 후회하는거 티끌만큼도 없다.
개발을 하다보니 비전공자라는 꼬리표가 항상 나를 옥죄어 왔었다. 물론 그런 꼬리표 때문이라도 정말 다른 전공자분들보다 더 잘 하려고 노력을 정말 많이 했다. 그런 꼬리표의 의미가 나중에 가서는 내공의 차이로 드러났었다. 역시 4년동안 전산쪽으로 배워오신 분들은 달랐다. 모두 그렇지는 않지만, 일단 어느 문제를 풀어가는 방법 자체가 설득력이 있던 경우가 많았고 그런 방법들이 맞는 경우가 많았다. (대부분의 비전공자 개발자들은 일단 검색을 해보고 없으면, 꽁수를 찾아 보려 노력한다. 왜 그런 상황이 나오는지에 대한 고민은 있을지언정 이해할수 있는 Base가 없는 경우가 많다. 나도 역시 그랬으니까.)
개발은 프로그래밍만 해서 시작은 가능할지언정 어느정도 한계점이 분명 있는거 같다. 자신이 시스템 프로그래밍을 한다면 이 한계점을 느끼는 때는 더욱 빨리 온다. 그런 한계점을 자각하는 순간 정말 위대한 개발자는 원론서를 본다. “운영체제”, “컴퓨터 구조”, “알고리즘”, “자료구조” 등등 전공필수 과목들 말이다. 일을 하다보니 이 과목들이 왜 전공자들의 전공필수 과목인지 뼈져리게 느꼈다. 특히 “운영체제”는 내가 개발하고 있는 프로그램이 운영체제 안에서의 가지는 존재론적 가치를 느낄수 있게 한 과목이였다. 뭔가 연결되는 느낌을 배우면서 지울수가 없었다.
이런 한계점때문에 대학원을 갔다. 전공자가 되기위해서도 그랬지만, 위와 같은 공부를 하고 싶었다. 물론 그와 더불어 알고리즘적인 과목들 그러니까 인공지능과목 및 정보검색을 공부하고자 하는 목표도 있었지만 말이다.
그래서 그런지 모든 내가 관심이 있는 과목이 가지는 의미가 남다른게 사실이다. 그러니 수업시간에 빠지거나 졸거나 하는 그런 행위들이 거의 불가능한 것이다.
얼떨결에 전공자들에게 특화된 분야에 떨어져서(운이 매우 좋았다 라고 생각한다) 고생 좀 하고 주경야독(晝耕夜讀)하면서까지 공부해왔고, 또 지금도 하고 있지만 만일 내가 면접관이라면 전공자만을 뽑고 싶다. 현 분야에서 그 벽을 느껴봤고 왠만해서는 넘기 힘들다는걸 알기 때문이다.
나는 나와 비슷한 선입견이나 벽을 느낀 비전공자 개발자 분들에게 느끼는것으로 치부하지 말고 행동으로 옮겨서 그걸 극복하라고 말씀드리고 싶다. 물론 나와 같은 방법도 있겠지만 다른 방법들도 많다. 전공자들과의 기본지식을 좁히기 위해 낮에는 일하고 주말과 저녁에 공부를 하면서 그들이 배운 4년동안의 지식을 모두 흡수해 버리리라는 다부진 각오가 없다면 힘들겠지만 말이다. 그래도 정말 프로그래밍을 사랑하는 비전공자 개발자 분들에게는 사랑하는 무엇을 위한 이정도의 희생을 할수 있으리라 믿는다.
노력후에 느끼는 이 “자신감” 무엇과도 바꿀수 없는 프로그래머 개인의 재산이 아닐까 한다.
개발직에 대해서 전공자, 비전공자 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.