대학생 개발자의 성장루틴 (1)

커리큘럼의 필요성과 위험성

by 습작
시작하기에 앞서, 아래 글은 순전히 주관적인 생각으로 작성된 글임을 밝힌다. 백 퍼센트 올바른 사실이라고 맹신하시는 건 삼가해주셨으면 한다.




말하는 감자라는 말이 있다. 배운 건 없는데 내가 벌써 고학년? 대충 이런 뉘앙스의 자조적 의미가 내포된 은어다. 이와 비슷한 의미를 가진 어휘들이 유난히 많다. 대다수의 학생들이 편한 틀에서 벗어나려 하지 않고, 새로운 방향을 찾아 나서기보단 익숙한 방식을 고수하기 때문이다. 학교에서 배울 수 있는 것들은 넘쳐나고 그중에서 중요한 것들은 더 많다. 문제는 그렇게 쌓은 지식들이 실제의 삶에서 얼마나 쓰이냐는 것이다.


학교라는 공간의 존재 의의는 수단이다. 배움을 얻기 위한 아주 효율적인 수단. 작금의 상황은 어떻게 보면 주객전도에 속한다. 주어진 것만을 받아들이는 학생들이 대부분인 현실은 분명 안타까운 일이다. 예로부터 배움은 이제껏 능동적인 것이었고 그래야만 하는 것이었다.

전공에 따라 차이가 있을지도 모르겠으나 대학교의 생태계는 결코 팔로워들에게 친절하지 않다. 누군가가 이끌어주길 바라면서 따라가기만 하는 것으론 한참 모자라다는 걸 언젠가는 실감하게 된다. 필자가 속한 컴퓨터학과에서는 당연히 그렇고, 다른 과도 예외는 있겠으나 비슷할 것이다. 어떻게든 졸업을 하는 게 문제가 아니다. 4년 동안 학교를 다니면서 졸업 학점을 채우는 정도야 어렵지 않겠지만 거기서 더 나아가려면 당연히 직접 무언가를 알고자 하는 의지가 있어야 한다. 몇 년 동안 개고생을 해서 기껏 대학교에 입학해 놓고 4년 동안 대충대충 살다가 제대로 배운 것 하나 없는 상태로 졸업하는 거야말로 정말 인생의 손해가 아니겠는가.

심화전공을 하다 보니 다른 학과 사정을 잘 모르는 이유로, 가장 익숙한 컴퓨터학과를 예시로 들어 보겠다. 원하는 직무가 어느 쪽이든 간에 취업을 하려면 실무를 알아야 하는데, 일반적인 4년제 대학교에서는 실무 위주의 커리큘럼을 제공하지 않는 경우가 대다수다. 특히 1~3학년까지의 전공과목들은 100% 그러하다. 또 전공필수 강의들은 대개는 불친절해서 강의안의 선수과목에 적혀 있는 과목들을 전부 수강하고 와도 부족한 경우가 꽤나 많다.


K 대학교의 커리큘럼으로 예를 들어 보겠다. 컴퓨터구조 강의에서 어셈블리 언어를 배울 때는 가상머신으로 리눅스 환경을 사용하는 경우가 많은데, 이를 위해 꼭 알고 있어야 하는 리눅스 운영체제에 관련된 기초 지식들은 누구도 일러 주지 않는다. 리눅스가 뭔지, pwd, cd, ls 같은 기초적인 명령어들은 뭐고 어떤 식으로 사용되는지 등등... 선수요건에 명시되어 있는 내용에는 하나도 적혀 있지 않다. 친절한 강의방식으로 유명한 교수님들조차도 10분 정도 간단하게 훑고 넘어가는 게 전부다. 즉 직접 구글링을 해가며 개인 공부를 더 해야 한다는 건데, 그걸 수업과 병행하면서 하기에는 또 살인적인 과제와 공부량이 발목을 잡는다.

컴퓨터학과는 특히 진로가 폭넓게 열려 있는 만큼 선택지도 많은 편이다. 당장 생각나는 것만 꼽아봐도 소프트웨어 개발자, 시스템 엔지니어, 데이터베이스 관리자, 네트워크 관리자, 보안 전문가 등이 있다. 나머지 분야도 공급이 적진 않으나 가장 흔하게는 개발자로 취직하거나 연구실로 직행하는 경우가 대부분, 특히 코테를 보고 대기업이나 원하는 중견기업 등에 취직하는 경우가 많다. 적어도 내가 주변에서 본 케이스들로 따지자면 그렇다. 그럼 학부 수준에서 배우는 프로그래밍 언어, 이론적인 지식들, 또는 구조적인 기반지식들은 개발자로 취업하는 것에 어떤 도움이 될까?

결론부터 말하자면 내용상으로는 거의 아무런 도움이 되지 않는다. 백번 양보해서 (코테를 봐야만 하는 기업도 있기에) 알고리즘이나 자료구조 정도를 빼고는 말이다. 물론 주니어 레벨을 지나고 연차가 쌓이면 CS 기초지식이 실력 증진에 도움이 되는 단계에 도달할 수도 있겠지만 꽤나 먼 미래의 이야기이다. 애초에 CS 지식의 필요성을 느낄 정도의 개발 실력을 갖추는 것까지가 난관.


그래서 사실, 상위권 대학교에서도 부트캠프나 교육 프로그램 등을 병행하는 경우가 많다. 프론트엔드나 백엔드 개발은 동아리나 학회 활동이 아니면 접하기가 힘들고, 인X런이나 유X미 같은 온라인 강의 플랫폼 또는 부트캠프나 국비지원교육 같은 유료 교육 시스템을 접하면서부터 체계적인 공부를 하게 되는 경우가 많다.


(다음 편에서 계속)






2024년 8월.

keyword
작가의 이전글칭다오 생활일지 (0)