한 분야에 집중하는 것이 좋을까요 여러 분야를 두루두루 아는 게 필요할까
어제까지 알고 있던 상식이나 지식이 하루아침에 무용지물이 되는 것은 비일비재한 일인 시대가 되었습니다. 특히 기술의 발전으로 인하여 IT시대로 접어들면서 20세기는 하드웨어의 비약적인 발전이 있었다면, 21세기는 SW가 주목을 점차 받고 있는 중입니다.
몇 년 전 온라인으로 저에게 날아온 하나의 고민이 있었습니다. 자신을 당시 대학교 3학년 컴퓨터 공학을 전공하고 있다는 그 친구는 현존하는 SW개발언어 (=Program Language)* 중에서 어떤 것을 해야 할지, 또 무수히 많은 것들 중 하나만 하면 좋을지, 아니면 여러 개를 두루두루 아는 것이 좋을지 계속 반복적인 고민에 방황을 하고 있다고 하소연했습니다.
누구나 이 분야에 들어서는 혹은 이 분야를 접해본 사람들은 한 번씩 아니 여러 번 고민을 하게 되는 내용이 아닌가 싶습니다. 사실 지금까지도 저 역시 똑같은 고민에 휩싸여 있는 중 일 수도 있다고 생각됩니다. 그만큼 이것은 캐캐 묵은 '엄마가 좋아 아빠가 좋아'와 도 같은 유형의 질문이 아닐까 하는 생각도 들고요. 사실 비단 이것은 컴퓨터 분야에서만 해당하는 문제가 아니라 우리 삶에서 늘 함께하는 정답이 정해지지 않은 질문들 중 하나일 겁니다.
'이번 여행은 어디로 갈까? 국내로 갈까? 해외로 갈까'부터 '짬뽕을 먹을까 짜장면을 먹을까'처럼 말이지요,
그 말인즉슨 어떤 것을 선택해도 틀린 답은 아니며, 어떤 것을 선택해도 후회할 수 있는 것이며, 반면 더 만족스러움을 얻을 확률도 비슷하다는 것을 우리는 이미 익숙하게 알고 있을지도 모릅니다.
다시 한번 원래의 질문으로 돌아와서 한번 생각해 보겠습니다.
SW 개발언어는 정말 여러 가지가 있습니다. 구식이라고 평가받지만 아직도 널리 이용되는 C라는 언어부터 객체지향의 얼굴을 갖고 있는 C++, JAVA가 있고, 웹이라는 녀석이 나타나고 나서부터는 사용자에게 보여지는 모습을 고려한 javascript , HTML 같은 친구들도 있죠. 이것뿐만이 아니라 요즘 같이 빅데이터 시대에는 데이터 처리 및 분석을 위하여 Phython , R 같은 언어들도 점점 얼굴 갚을 올려가고 있는 중입니다.
그럼 이렇게 많은 프로그램 언어들을 다 알아야만 할까요? 어차피 누구에게나 주어지는 시간은 비슷할 텐데 비슷하게 주어진 시간 동안 모든 언어를 다 알 수 있을까요? 물론 문법적으로 어느 정도 알고 넘어간다고 해도 마치 우리가 영어를 배울 때 단어를 잘 안다고 영어시험을 잘 볼 수 있는 게 아니듯이, 실제 사용하는데 무리 없을 정도로 익숙해지는 데는 꽤 많은 시간을 투자해야만 할 것입니다.
솔직히 말하면 저도 다 모릅니다. 제가 할 수 있는 것이 몇 있고 그중에서 내가 그래도 잘할 수 있다고 생각하는 게 한두 개 있을 뿐입니다. 현업에서 일하는 저도 그러할진대 (물론 저보다 훠~~ 얼씬 뛰어난 분들은 수두룩합니다 만) 1주일에 길어야 3-6시간 정도 수업으로 배워온 대학생들, 혹은 졸업생들에게 얼마나 많은 것을 기대할까요? 오히려 신입사원을 뽑는다고 하고 면접장에 불러와서 이것도 잘하냐 저것도 잘하냐 왜 너는 이것밖에 못하냐 같은 질문을 쏟아내면서 신입사원에게 경력사원 이상의 것을 요구하는 그런 곳이 오히려 잘못된 게 아닐까 하는 생각을 합니다.
고민하는 것은 매우 중요한 일입니다. 고민을 통해 성찰하고 자기를 파악하고 그것을 통해 부족한 점을 채워서 혹은 자기에게 잘 맞는 곳을 찾아 사회생활로 나가는 것이 매우 중요하다고 생각합니다. 하지만 너무 그 고민에 몰입해서 오히려 다른 일을 해야 하는 시간을 뺏거나 다른 일을 하는데 필요한 에너지마저 소모해버리지 않았으면 하는 생각이 듭니다.
무엇을 하던 깊은 고민과 성찰 끝에 나온 결론이라면 다 자기 자신에게 피와 살이 되지 않을까요? 다만 조급하지 않게 차근차근하는 것이 시간이 오래 걸리더라도 더 나은 결과를 보장할 거라고 생각합니다.
* Program language : 특정 하드웨어를 동작시키는 SW를 개발하기 위한 툴 입니다. 일정한 문법이 존재하고 논리적인 사고가 필요한 만큼 언어에 비유하기도 합니다.