진로
컴퓨터학부를 나오면 다 프로그래머가 되어야 할까?
안녕하세요. 벌써 1월이네요. 1월에는 친구들과 여행도 많이 가고, 자격증도 따고, 할 게 많은 달입니다. 저도 1월에 수업도 듣고, 여러 곳을 여행 다녔던 것 같습니다. 저는 컴퓨터학부에 들어오기 전에는 그냥 컴퓨터학부에 가면 게임을 만들거나 웹사이트를 만드는 것인 줄 알았습니다. 하지만 막상 들어와 보니, 임베디드 시스템, 웹, 게임, 보안, 시스템 소프트웨어 등 다양한 분야가 있었습니다. 오늘 제가 이야기해 볼 주제는 컴퓨터학부 안에는 어떤 분야가 있는지, 그리고 그 분야의 특징입니다. 우선 여러분들이 가장 많이 접하셨을 게임 또는 웹 개발입니다. 두 분야 모두 내부적으로 프론트엔드 개발자와 백엔드 개발자로 나뉩니다. 프론트엔드는 사용자가 직접 보고 상호작용하는 UI를 담당하고, 백엔드는 데이터베이스에 접속해서 정보를 받아오거나 프론트엔드에서 요청한 작업을 수행하는 역할을 합니다. 이 분야의 특징은 새로운 기술이나 트렌드가 자주, 그리고 빠르게 등장한다는 것입니다. 따라서 이 분야로 진로를 희망한다면 시대의 흐름을 따라가면서 적절한 기술을 빠르게 익히는 것이 중요합니다. 또한 웹사이트의 경우 사용자들의 개인정보를 다루는 경우가 많으니, 보안을 각별히 신경 쓰며 개발해야 합니다. 최근에는 AI의 발전과 다양한 프레임워크의 등장으로 비개발자도 쉽게 웹 개발에 접근할 수 있게 되었습니다. 따라서 게임 엔진이나 웹 프레임워크를 그대로 사용하는 것에 그치지 않고, 그 작동 원리를 이해하는 것이 더욱 중요해졌다고 생각합니다. 다음으로 컴퓨터학부 진로 중 가장 전망이 밝은 임베디드 시스템입니다. 이 분야는 전자공학과와 관련이 깊은데, 경북대학교의 경우 임베디드 시스템 관련 수업은 전자공학부에서 진행됩니다. 따라서 전자공학부를 복수전공하여 함께 수업을 듣는 것을 추천드립니다. 임베디드 시스템은 미래 사회로 갈수록 더욱 중요해질 것입니다. 그 이유는 우리 주변의 모든 것이 컴퓨터화되고 있기 때문입니다. 스마트 가전, 자율주행차, 웨어러블 기기 등 일상 속 수많은 기기에 임베디드 시스템이 탑재되어 있습니다. 이러한 기술을 가능하게 하는 것이 바로 임베디드 시스템이므로, 취업과 안정성 면에서 가장 뛰어난 분야라고 할 수 있습니다. 다음은 시스템 소프트웨어 개발입니다. 시스템 소프트웨어란 운영체제, 컴파일러, 데이터베이스 관리 시스템, 드라이버 등 컴퓨터가 작동하는 데 필요한 기반 소프트웨어를 말합니다. 우리가 일상적으로 사용하는 Windows, Linux, macOS 같은 운영체제나, 프로그래밍 언어를 기계어로 변환해 주는 컴파일러가 이 분야에 해당합니다. 이 분야의 특징은 하드웨어와 밀접하게 연관되어 있어 컴퓨터 구조, 운영체제, 알고리즘 등 컴퓨터 과학의 핵심 이론을 깊이 있게 이해해야 한다는 것입니다. 또한 C, C++, Rust와 같은 저수준 언어에 대한 숙련도가 요구됩니다. 시스템 소프트웨어 개발자는 수요에 비해 공급이 적어 희소성이 높고, 대기업이나 글로벌 테크 기업에서 높은 대우를 받는 경우가 많습니다. 다만 진입 장벽이 높고 학습해야 할 양이 방대하므로, 관심이 있다면 학부 과정에서부터 운영체제, 컴퓨터 구조, 시스템 프로그래밍 수업을 꾸준히 수강하며 기초를 다지는 것이 중요합니다. 마지막으로 보안 분야입니다. 최근 대한민국에서 다양한 해킹 및 보안 침해 사례가 발생하고 있습니다. 이러한 보안 사고는 앞으로 더욱 빈번해지고 피해 규모도 커질 것입니다. 이를 예방하고 사후 대응하기 위한 분야가 바로 컴퓨터 보안 분야입니다. 컴퓨터 보안 분야는 세부적으로 디지털 포렌식, 웹 해킹, 시스템 해킹, 커널 해킹, 리버스 엔지니어링 등으로 나뉘며, 이 모든 분야는 상당한 수준의 컴퓨터 과학 지식과 학습량을 요구합니다. 따라서 보안을 배우고자 하는 분들은 자신의 상황에 따라 학습 방향을 정하는 것이 효율적입니다. 첫 번째는 취업을 목표로 하는 경우이고, 두 번째는 취미로 배우거나 취업이 당장 급하지 않은 경우입니다. 취업을 목표로 보안을 배우고자 하는 분들은 웹 해킹을 전문적인 수준으로 공부하는 것을 추천드립니다. 실무에서 활용되는 기술 대부분이 웹 해킹과 관련되어 있기 때문입니다. 반면 취업이 당장 급하지 않은 분들은 시스템 해킹을 먼저 공부하시는 것을 추천드립니다. 시스템 해킹을 공부하면 컴퓨터 메모리에서 어떤 일이 일어나는지 이해하고 제어해야 하며, 프로그램의 취약점을 찾는 과정에서 컴퓨터 구조, 운영체제, 컴파일러 등 심도 있는 내용을 자연스럽게 배울 수 있기 때문입니다. 위에서도 언급했듯이 웹이나 게임 개발은 AI에 의해 빠르게 대체되고 있습니다. 이 분야를 희망한다면 기술력보다는 좋은 사업 아이디어가 더 중요해질 수 있습니다. 하지만 임베디드, 시스템 소프트웨어, 보안의 경우 컴퓨터학부에서 전공 수업을 듣지 않으면 접하기 어려운 분야이므로, 안정적인 취업을 원한다면 이 분야들을 공부하는 것을 추천드립니다.
4