Last updated on 4월 22nd, 2022 at 02:32 오후
“개발자로 취업 준비한다면
반드시 정리해야 하는 컴퓨터공학”
개발자 취업의 기본은 컴퓨터 공학에 있다고 이야기합니다. 어렵고 지루하게만 느껴지는 컴퓨터 공학 기초가 개발자 취업과 커리어에 필요한 이유는 무엇일까요? 오늘은 컴퓨터 공학이 중요한 이유를 정리하고, 취업에 핵심이 되는 과목에는 무엇이 있는지 알아봅니다.
컴퓨터 공학, 왜 중요하다 말할까?
1. 코딩보다 문제해결력이 중요하다.
개발자는 코드로 일하는 것 아닌가요? 이렇게 생각할 수도 있지만, 실제로 기업에서 개발자를 채용할 때 더 중점적으로 보는 것은 문제를 해결하는 사고방식과 컴퓨터 공학 기본기입니다. 프로그래밍은 입사 후 실무를 진행하면서 자연스럽게 실력이 늘게 됩니다.
하지만 새로운 기술이 매년 쏟아져 나오는데, 이를 알아서 학습하고 받아들일 기본기가 부족하다면 문제가 커지죠. 개발자 대규모 채용을 진행하는 모 기업의 인사 담당자는 이렇게 말합니다. “IT 산업은 신기술이 계속 나오기 때문에 학습능력이 중요하다. 전산학 기초가 부족하면 빠르게 배우기 어렵기 때문에 기본 개념이 확실히 잡힌 지원자를 선호”한다고요(NHN엔터 “코딩 잘 못해도 기초 탄탄하면 채용”).
2. 기술면접은 컴퓨터 공학 지식을 물어본다.
개발자로 취업하기 위해 반드시 거쳐야 하는 관문인 ‘기술면접’은 컴퓨터 공학적 지식을 기반으로 합니다. 특히 자료구조, 운영체제, 알고리즘, 컴퓨터 구조, 시스템 프로그래밍에 대해 기본적인 이해가 있는지 확인하기 위한 질문을 많이 하죠. 개발자 취업을 목표로 한다면, 기술면접에서 막힘이 없도록 꼭 알아야 하는 필수 과목과 핵심 개념들을 미리 정리해두어야 합니다.
3. 실무에서 발생하는 문제에 대처하기 어렵다.
컴퓨터 공학적 지식은 실무에 가장 큰 영향을 미치는데요. 주니어 개발자일 때는 컴퓨터 공학에 대한 이해가 없어도 일하는데 큰 문제가 없습니다. 그런데 단순한 기능을 구현을 넘어서서, 서비스 전체를 이해하고 대규모 서비스를 설계하는 단계로 넘어간다면 컴퓨터 공학적 기초가 필수적입니다. 실무에서 대처해야 하는 버그에 대해서도 마찬가지입니다. Syntax 에러가 아닌 버그가 계속 발생하는데, 하드웨어와 연관된 거라면 컴퓨터 공학에 대한 이해 없이는 문제 해결의 실마리를 찾기 어려울 수 있죠.
이처럼 실무에서 다양한 문제를 만나면, 컴퓨터 공학 기초가 얼마나 중요한지 알 수 있습니다.
컴퓨터 공학과 취업의 핵심 과목은?
- 자료구조
- 알고리즘
- 운영체제(OS)
- 시스템 프로그래밍
- 컴퓨터 구조
자료구조
페이스북, 아마존, 구글과 같은 글로벌 기업은 물론이고, 국내 모든 IT 기업에서 개발자 채용시 가장 중요한 개념으로 ‘자료구조’를 말합니다. ‘소비자에게 서비스가 얼마나 빠르게 잘 보여지느냐’가 사업의 성패를 결정하기 때문에, 데이터 구조를 효율적으로 짜는 것이 중요합니다. 자료구조에 대한 이해가 있으면, 프로그램의 성능과 메모리를 효율적으로 관리할 수 있습니다.
알고리즘
알고리즘은 코딩테스트와 연관이 깊죠. 그렇다면 코딩테스트 문제 풀이를 위해 알고리즘을 공부하는 걸까요? 코딩테스트를 통과하면 알고리즘에 대한 이해는 필요 없어지는 걸까요?
그렇지 않습니다. 알고리즘은 실무에서 직접적으로 활용한다기 보다는, 논리적 사고를 위한 도구입니다. 어떤 결함을 발견하고 문제를 해결하려 할 때, 우리는 그 문제를 해결하기 위한 여러 방법과 프로세스에 대해 고민합니다. 어떤 선택을 하는 것이 성능을 끌어올리기 위해 더 효과적일지, 최적화를 위해 지금 선택해야 하는 로직이 어떤 것인지 매 순간 결정해야 합니다. 이 과정에서 더 나은 선택을 할 수 있도록 만들어주는 것이 알고리즘이죠.
관련 글 추천 : 코딩테스트 준비, 알고리즘 강의 아무리 들어도 막막한 당신을 위한 조언
추천 시스템이나 인공지능 기반의 서비스, 대용량 데이터를 처리하는 서비스 등 다양한 분야에서 그 중요성이 점점 커지고 있습니다.
운영체제(OS)
운영체제는 컴퓨터 소프트웨어의 핵심으로, 컴퓨터 공학의 주요 이론들이 실제로 적용되는 분야입니다. 그래서 운영체제에 대한 이해가 깊은 개발자를 기업에서도 찾는 것이고요. 웹 개발, 모바일 앱 개발, 보안, 스마트 TV 등 다양한 분야의 프로그래밍에 적용되는 운영체제에 대한 이해는 꼭 필요합니다.
시스템 프로그래밍
소비자가 매일 사용하는 서비스가 문제 없이 안정적으로 운영되려면 내부의 시스템에서 메모리, CPU, 데이터 저장 및 통신을 위한 ‘시스템 최적화’가 진행되어야 합니다. 시스템을 컨트롤하며 하드웨어와 운영체제가 어떻게 동작하는지 이해하는 분야입니다. 프로그램의 전반적인 동작원리를 이해하는 것이 시스템 프로그래밍의 기본입니다.
컴퓨터 구조
우리의 생활을 편리하게 만들어주는 모든 기기에는 컴퓨터가 들어가 있기 때문에, 컴퓨터의 구조와 구동 원리를 기본적으로 이해하는 것이 필요합니다. 메인 과목은 아니지만, 개발자 채용을 위한 기술면접에서 질문하는 개념으로 종종 등장합니다.
컴공 전공생이 멘붕에 빠지는 3가지 이유
- 과목은 많은데 서로 무슨 관계가 있는지 모르겠음.
- 학교에서 배우는 커리큘럼은 업데이트가 안 된 내용이 많음.
- 컴퓨터가 좋아서 들어왔는데, 거의 대부분 이론 위주의 내용임.
개발자 취업 글 추천 : 개발을 정말 하나도 모르는 비전공자가 개발자로 취업하기까지! 전부 다 알려주는 솔직 후기
컴퓨터 공학 공부는 그 이름만큼이나 재미가 없죠. 내가 원하는 결과물을 만들어볼 수 있는 것도 아니고, 대부분 실무보다는 이론이 먼저이기 때문입니다. 실무를 아직 접하지 않은 채, 컴퓨터 공학을 전공으로 공부하는 대학생들은 특히 힘들어 하기도 합니다. 내가 배우는 이 과목이 나중에 프로그래머로 일하면서 어떻게 사용되는지 알기 어려우니까요. 공부해야 하는 양은 많은데, 이 많은 과목들이 서로 어떻게 연결되는지까지 수업에서 알려주지 않습니다.
또 시중에 판매되는 컴퓨터 공학 전공서나 대학에서 배우는 컴퓨터 공학의 커리큘럼은 굉장히 오래된 것이 많습니다. 따라서 기업에서 실제로 하는 개발 실무와는 완전히 매칭되지 않거나, 활용하기 어려운 내용도 많죠. 이러한 총체적 난국(?)이 컴퓨터 공학을 공부하는 사람들을 멘붕에 빠지게 만듭니다.
컴퓨터 공학 기초가 부족하다 느껴진다면
하기 싫어도 해야 하는 컴퓨터 공학 공부, 좀 더 효과적으로 할 수는 없을까요? 교수님의 지루한 강의를 따라가기 어렵거나, 독학에 지친 분들은 온라인 강좌로 시작해보세요! 시중에 판매되는 컴퓨터 공학 서적 10권 분량을 가볍게 온라인으로 담았습니다. 컴퓨터 공학의 방대한 이론들을 나열하는 것에 그치는 게 아니라, 개발자 취업과 실무에서 어떻게 적용되는지 이해하며 공부할 수 있습니다. 국내 유일 컴퓨터 공학 온라인 커리큘럼을 지금 아래에서 확인해 보세요!
개발자 취업의 핵심이 되는 컴공,
필요한 과목만 딱 정리하고 싶다면?↓