안녕하세요. "비개발자도 개발을 배워야 할까요??" 라는 질문에 대한 저의 생각을 적어볼까 합니다.

결론은 동작 원리 정도는 적어도 교양으로 알아야 하고, 목적이 명확하다면 프로그래밍도 배우면 좋다고 생각합니다.


교양으로써의 IT

알쓸신잡에 출연하셨던 김상욱 교수님을 아시나요? 다양한 강연을 통해 물리학이나 과학에 대해 일반인들이 이해하기 쉽도록 말씀해주시는 물리학자이자 교수님입니다. 과거 김상욱 교수님이 아래와 비슷한 말씀을 한 기억이 있습니다.

보통 과학을 너무 어려운 것으로만 생각한다. 과학을 어렵고 이해하기 싫은 것이 아니라, 인문학과 같이 일반 상식이나 교양으로써 알아야 하는 것이라고 생각했으면 좋겠다.

과학이 왜 교양 상식일까요? 아마 여러 가지 이유가 있을 겁니다. 하지만 저는 현재 우리가 누리는 모든 기술과 문명이 과학으로부터 만들어졌기 때문에 소비자 입장에서 사용만 하는 것이 아니라 이게 왜 동작하는지? 위험한 것은 아닌지? 정도는 적어도 알고 소비하자는 의미에서 비롯된 표현이라고 생각합니다.

비슷한 관점으로 소프트웨어를 봅시다. 우리가 흔히 출근길에 보는 유튜브, 사진을 찍기 위해 실행하는 카메라 앱 등 대부분의 경우 소프트웨어의 동작 원리는 알지 못하지만 개발자들이 만든 것을 매일같이 그냥 쓰고 있습니다. 그리고 앞으로도 이러한 소프트웨어는 우리 일상에 더 많이 녹아들 거고요.

그 어떤 것보다도 소프트웨어 소비를 많이 하게 될 텐데, 추상적인 원리나 개념 정도는 소비자로서 알아두는 것이 좋지 않을까요? (실제 구현을 말하는 것은 아닙니다.) 예를 들어, 나의 회원 정보는 어떤 원리로 저장되지? 보호는 되고 있을까? 어떻게 어제 11번가에서 본 상품이 인스타그램 배너에 뜨지? 와 같은 고민을 하는 것은 소프트웨어를 교양으로 받아들이는 바람직한 자세라고 생각합니다. 마치 인문학을 당연히 알아야 할 교양으로 생각하는 것처럼요.


목적 구체화하기

그럼 이제 코딩을 배우는 것에 대해 현실적으로 생각해봅시다. 비개발자가 코딩을 공부한다고 했을 때, 과연 현업에서 활용하는 케이스가 얼마나 될까요?

아주 많지는 않을 겁니다. 왜냐하면, 대부분 개발자/비개발자의 수행 역할이 나눠져 있고 프로그램 개발은 개발자가 온전히 담당하니까요. 비개발자의 코딩 활용 용도를 굳이 생각해보면 파이썬 프로그램으로 업무 자동화, 혹은 간단한 리포트 생성을 위한 쿼리문 작성 등이 있을 텐데, 이런 일을 제외하고 특수한 케이스가 아닌 이상 활용도를 찾기가 힘듭니다. 업무 역량으로 쳐주지 않을 수도 있고요.

그럼 코딩을 왜 배우려고 할까요? 뒤쳐지는 것 같아서? 개발자가 되려고? 취미로? 개인 프로젝트를 위해? 개발자를 이해해보려고?

어떠한 이유라도 좋습니다. 다만, 본인의 목적이 무엇인지를 명확하게 생각하고 시작했으면 좋겠습니다. 그저 남들이 하니까, 코딩이 대세라서, 필요할 것 같아서 등의 추상적인 이유 말고요. (그런 이유면 차라리 영어를 하세요) 예를 들면, "개발자로 전직해서 고액의 연봉이 받고 싶다"라던가, "내가 구상한 앱을 만들어서 돈을 벌어보고 싶다"라던가, 혹은 정말 순수하게 "프로그래밍을 해봤더니 재밌어서 취미로 하려고"라던가 명확한 목표가 있으면 좋겠습니다.

명확한 목표, 즉 동기부여가 없는 코딩 초심자는 개발의 문턱에서 좌절을 맛보고 뒤돌아버릴 확률이 높습니다. 개발자 입장에서 코딩이 재밌었던 순간은 결과물이 눈에 보일 때였습니다. 적어도 본인만의 목표를 가지고 한 가지 결과물을 만들어내는 과정을 진지하게 해 볼 마음가짐이 있는지 스스로 질문해보시기 바랍니다. 이 질문에 명확히 대답할 수 있다면 결과물을 충분히 만들어 낼 수 있다고 생각합니다.