개발자가 되기 위해 대학을 꼭 가야 하나요?

안녕하세요. 저는 현재 특성화고에서 코딩을 공부하고 있는 고등학생입니다.

js 개발자가 되고 싶은데 진학을 할 지 말 지 고민중입니다.

학교 쌤 중 js를 제대로 할 줄 아는 쌤도 없고 신기술에 능한 쌤도 없고 합리적인 이유없이 그냥 대학을 가는 게 좋다고만 할 뿐 대학을 가야 하는지 말아야 하는 지 정확한 답을 알려주지 못합니다.
채용공고를 찾아봐도 우대사항에 컴공과 등 it 관련 과 졸업이 있긴 있지만 github등을 통해 만들었던 프로젝트가 더 중요시되는 것으로 보입니다.

약간 별개지만, 저희 학교에서 배우는 지식은 정말 쓸 데가 없다고 생각해서 자퇴하고 독학해서 개발자가 되고 싶지만 부모님의 반대로 하지 못하고 있는 상황입니다. 최근 온라인 개학하다가 오프라인 하니까 학교에 있는 멍청이들이 떠들어 대는 것때문에 공부가 하나도 안 되고, 학교에 다니는 시간이 매우 아깝고, 매일 1시간 20분 정도의 교통 시간도 아깝다고 느낍니다.

대학, 정말 가치가 있을까요?

소중한 답변 부탁드립니다.

++독학을 할 경우 (집에서는 모르겠지만) 밖에서 공부하면 잘 되더라고요. 그래서 집 밖에서 열심히 공부 할 것입니다.

학교에서 배우는 공부가 쓸 데 없다고 느끼는 이유는 (대부분의 과목에서) 시험기간 3주 전 시험 문제가 뭐가 나올 지 다 알려주고 그냥 그 답만 암기하는 멍청하고 쓸 데 없는 주입식 교육과 (사소한 이유이지만) 앱 개발 관련 수업에서 reactnative가 아닌 java로 한다는 점, 정서적으로 남들과 같은 곳에서 같은 시간에 같은 수업을 받는 게 뭔가 자유를 느끼지 못하고 통제받는 것 같다고 느껴집니다. 그리고 몇 명을 제외한 학생들도 제 눈엔 멍청하고 한심한 벌레로 보입니다. 그들과 있는 것 자체가 역겹습니다. 그들은 목표도 없고 현실에 안주한 한심한 인간들로 보입니다. 그래서 그들과 있을 때 가끔 저도 그들처럼 되는 것 같다고 느끼고, 그들과 인간관계를 형성하면 저도 그들에게 동화될 거 같고, 그들은 저에게 아무 유용한 정보를 제공해주지 않을 거라고 확신하기 때문에 멍청한 인간들을 무시하고 있습니다.
또 다른 이유는 (내 선천적인 성격일 지 모르지만) 꼰대 쌤들과 학생들에게 착한 척 하는 제 자신을 더 이상 못봐주겠습니다.

+학교에서 js 배우고 있긴 합니다만, (물론 저도 제가 코딩을 잘하지 못한다는 것을 압니다)학교에서 가르치는 js는 코딩을 처음하는 사람을 대상으로 하고 있어서 저한테는 시간낭비처럼 느껴집니다.

  • 커뮤니케이션, 협업, 주변사람들을 어떻게 생각하고 어떻게 대하느냐 또한 능력입니다.

    • 내가 1인 개발자 혹은 game changer가 아니라면 어느정도 주변 상황과 타협을 하실 줄 알아야 합니다.
    • 굳이 이 말을 왜 하냐하면… 어짜피 사람 사는 곳은 비슷하기 때문입니다. 지금 계시는 학교에 비해서 더 규모가 큰 사회에 나오면 느끼게 될 부조리함과 불만족감은 현재 느끼시는 것 보다 크면 컸지 적지는 않을 겁니다. 노력해서 좋은 회사에 입사해도 버티지 못하고 나오게 되면 개발 공부한 의미가 없잖아요.
  • 개발자, 특정 언어를 얼마나 잘 쓰느냐보다도 필요한 기능을 기본기를 응용하여 얼마나 잘 구현해 내느냐가 본질에 더 가깝습니다.

    • 언어는 도구일 뿐이며 결국 이것저것 익혀두는건 나중에 모두 도움이 됩니다.
    • 개발 지식뿐 아니라 다른 분야의 지식 또한 중요합니다. 미적분, 확률, 기하, 물리공식 등이 프로그래밍과 동떨어져 있는게 아닙니다. 현실 세계를 반영하거나 현실에 없는 것을 구현해 내기 위해서 필요한 지식들 입니다.
  • 개발자를 하기 위해서 대학에 갈 필요는 없습니다. 대학은 학원이 아닙니다. 실무에 바로 쓰일만한 스킬을 가르쳐 주지 않습니다. 진학에 쓰일 시간/돈/노력이 아까울 수 있습니다. 하지만 이점도 있습니다.

    • 현재 고등학교에서 스스로 가능성을 찾으신 것처럼, 대학에 진학하면 더 넓은 시야를 확보할 수 있고 보다 많은 가능성을 찾아 볼 수 있습니다.
    • 개발을 오래 하고 깊이 파다보면 결국 전공지식+ 가 필요한 상황이 옵니다. 통찰력을 발휘해야 할 시기가 오면 지식 베이스가 중요합니다. 사회 진출 이후에 이 지식을 쌓을 수 있는 시간은 그리 많지 않습니다.

대학 진학에 대해서는 권하거나 강요하지 않겠습니다. 선택은 스스로.

3 Likes

안녕하세요. 오랜만에 커뮤에 접속했는데 좋은 댓글 감사합니다.
그런데 답변에 질문이 있습니다.
대학에 가면 더 넓은 시야를 확보할 수 있다고 하셨는데 어떤 점을 근거로 말씀하신건지 궁금합니다.
그리고 전공지식+ 부분과 운영체제에 대한 것 같은 컴퓨터의 근본적인 어려운 것들, 코딩관련 수학적 부분(말씀하신 미적분, 확률, 기하. 물리공식은 관련이 없지 않나요? 암튼)들을 대학에서 배우는 것과 스스로 배우는 것의 차이점이 있나요?

저는 인서울 4년제 대학을 졸업하긴 했지만 대학에서 친구들 생긴것 외에는 대학 교육에 대해 의문이긴 합니다.
아쉬운 점은 대학을 갈거면 서카포를 노려봤으면 아쉽진 않았겠다는 생각은 항상 있고요.
오히려 개발을 16년 정도 한 지금에서는 다시 공부가 필요해서 대학원 진학을 고려중입니다.

대입은 준비해보시되 정말 원하는 과가 아니면 점수 맞춰서 가는 선택은 안하시는게 좋겠습니다.
N사나 K사를 비롯해서 제법 유명한 IT 회사들의 취직을 목표로 하신다면 대학이 필요하긴 합니다.

그리고 Java는 교양입니다. 객체지향 학습을 위해서도 필요하고 그냥 당연히 하실 수 있는게 좋습니다.
JS는 쉽게 배울 수 있는 간단한 언어 입니다.
언어에 대해 연구를 하는게 아니라 뭔가 프로덕트를 개발한다면 오히려 폭 넓은 도메인 지식이 훨씬 중요하죠.
돌고 돌아서 도메인 지식을 배우는데는 대학교육이 제법 도움이 되긴 합니다.

이미 말씀하신 부분에서 프로그래밍에 대한 시야가 좁다는 걸 알 수 있습니다.
시뮬레이터/가상현실/게임을 한 예로 들 수 있습니다. 이것들은 현실(중력, 조명, 그림자, 총의 반동, 탄환의 궤적 등등)을 반영하거나 초현실적인 무언가를 표현해 내고 있죠. 이를 프로그래밍으로 구현하는데는 수학과 물리가 절대적으로 필요한 지식입니다.
“내가 할 거는 그런거 필요없다!” 혹은 “안 할거다!” 라고 하시면 뭐 할말은 없습니다.
하지만 그 만큼 본인의 기회가 사라지는 거겠죠.
심지어 영어도 중요합니다. 코딩… 한글로 하실거 아니잖아요.
협업을 하신다면 변수명, 클래스명, 메소드명에 대해 적절한 단어를 사용하는 것이 꽤 중요합니다.
다른사람 코드를 읽어야 하는 시간도 많고요.
(답변자 본인도 영어가 부족하여 변수명 정할때 항상 고통받는 중…)

이런 주변 지식들을 뭐 다 꿰차야 된다는건 아닙니다. 일정 수준은 알고 있어야 한다는 거죠.
최소한 개념은 알고 어떨때 사용하는지를 알고 있어야만
다른 사람이 구현해 놓은 코드나 솔루션을 찾아 쓸 수라도 있습니다.

“대학에 가면 넓은 시야를 가지게 된다” 라고만 말하면 논리적 비약일 수 있지만,
자신이 거기서 어떻게 하느냐에 따라 맞는 말이 될 수 있습니다.
질문자 분께서는 현재 상황에 만족하지 못하고 뭔가 하려고 하는게 보이기 때문에
‘뭐… 이런 마인드라면 대학을 갔을때 더 많은 기회가 찾아오지 않을까?’ 하는 생각이 들어서 한
맞춤형 답변이었다고 이해해 주셨으면 좋겠습니다.
“아는 만큼 보인다” 라는 관용구가 괜히 나온게 아니거든요. 이건 제 경험상으로도 맞는 말입니다.

마지막으로 천재가 아니라면, 스스로 학습하는데는 한계가 있을 것 같습니다.
현 교육 체계의 실효성에 대해 불신이 강하신것 같긴 한데,
어떤 분야든 기초를 다지고 시작하는게 훨씬 도움이 됩니다.
대학교육은 전공이라는 틀 안에서 배움의 방향성을 잃지 않게하며
지식 수준을 일정 정도까지 올려줍니다.
막막함 속에 혼자 삽질하는 것 보다는 좀 낫지 않겠어요? ㅎㅎ;

(후… 나도 이제 꼰대가 된건가…)

안녕하세요.

특성화고 산학협력으로 바로 일을 시작해서 지금까지 일하고 있는 입장에서 그냥 지나칠 수가 없어 글 남깁니다 =.=

취업이냐 진학이냐는 사실 자신이 분명한 커리어적 목표가 있을 때는 나오지 않는 질문입니다.

목표 성취를 위해 대학이 필요하다면 진학하시면 되고, 진학 시기는 본인의 상황에 맞게 선택하면 되는거죠.
경제적/시간적 여유가 된다면 바로 진학을 해도 되고, 그렇지 않다면 취업을 먼저해도 되고, 대학을 갖다가 휴학하고 일을 하시는 분들도 많이 보았습니다. 독학사 제도를 통해 학사학위를 취득하실 수도 있을테고요.

개발자가 되기 위해 대학을 꼭 가야 하나요?

일단 “성취하고자 하는 목표 = 개발자로 취업” 이라면, 단순히 개발자로 취업하기 위해서 비싼돈과 많은 시간을 들여 대학에 진학하실 필요는 없습니다. 이론적인 기반보다 (난이도에 상관없이) 빠르게 필요한 기능을 구현하는 사람이 필요한 곳은 아직 얼마든지 있습니다.

다만, 커리어라는걸 얘기할 때 보통 취업으로 끝나지 않죠. 개발자로서 취업을 하신다면 그게 커리어 시작입니다.
그 이후에 어떤 엔지니어가 되고, 떠날 때 어떤 사람으로 떠날것인지는 개개인마다 다릅니다.

그런점에서 위에서 @digda님이 말씀하신 부분들에 공감이 갑니다.

“대학에 가면 넓은 시야를 가지게 된다” 라고만 말하면 논리적 비약일 수 있지만,
자신이 거기서 어떻게 하느냐에 따라 맞는 말이 될 수 있습니다.

특히 이 부분에 힘을 실어주고 싶습니다.

시야가 좁다는 것은 @digda 님이 지적을 해주셨고, 저도 올바른 지적이라고 생각합니다.

저도 고등학교 졸업하고 경력을 쌓기 시작하기 전에 그랬고, 주변에 많은 특성화고 친구들을 봐도 그랬지만… 고등학생 시야라는게 필연적으로 너무 좁습니다. 경력을 쌓은 지금도 시야가 넓지 않다고 느끼지만 그 당시에는 더했습니다.

시야에 대해서는 너비와 깊이를 얘기할 수 있을텐데, 원래 한사람이 가질 수 있는 시야의 너비에는 한계가 있고, 부족한 부분은 네트워크를 통해 채우게 됩니다.

고등학교 환경은 이를 위한 필드 자체가 너무 좁고, 교육과정상 한계가 너무 명확하기 때문입니다. 그러한 환경에서는 어느정도 잘하면 잘하는대로, 못하면 못하는대로 답답함을 느끼실 수 밖에 없습니다.

이를 채우기 위해 대학에 진학해서 네트워크를 넓이실 수도 있지만 방법은 한가지만 있는게 아닙니다. 다양한 커뮤니티 활동에 참여하거나, 오픈소스 활동을 하면서도 채울 수 있습니다.

(네트워크에 대한 올바른 개념을 위해 인간 네트워크 에 대한 인터렉티브 가이드를 한번 보시는것을 추천드립니다.)

좁은 시야를 벗어나려면 고등학교던 대학이던 특정 커뮤니티이던 고립되지 않는게 중요합니다. 그런 점에서는 어떤 그룹도 고유한 특징이 있기 떄문에 다른 무언가로 온전히 대체될 수 있다고 생각하지 않습니다.

자원은 한정적이기 때문에 무언가는 선택하고 무언가는 포기하셔야 합니다.

아무튼 커리어를 설계할 때, 시야가 좁은 것이 가장 치명적인 리스크이기 때문에 대학의 중요도는 클 수 밖에 없습니다.

사실 의식적이던 무의식적이던 커리어적인 결정을 뒤로 미루기 위해 대학을 가는 경우가 많은데 사실 경제적 여유가 있는 학생에게는 꽤 합리적인 선택입니다. 가장 대중적인 방법론을 따르는 것이 왕도이기 마련이죠.

약간 별개지만, 저희 학교에서 배우는 지식은 정말 쓸 데가 없다고 생각해서 자퇴하고 독학해서 개발자가 되고 싶지만 부모님의 반대로 하지 못하고 있는 상황입니다. 최근 온라인 개학하다가 오프라인 하니까 학교에 있는 멍청이들이 떠들어 대는 것때문에 공부가 하나도 안 되고, 학교에 다니는 시간이 매우 아깝고, 매일 1시간 20분 정도의 교통 시간도 아깝다고 느낍니다.

조금 딱딱하게 얘기하자면,

~고등학교(혹은 대학교)는 나라에서 제시한 사회화를 위한 가이드라인입니다. 즉, 사회에서 사람들과 커뮤니케이션 할 때 고등학교에서 배운 것들을 “알고 있을 거란 전제하에” 커뮤니케이션이 일어납니다. 문화적인 기준은 아직 대학교일 수도 있습니다. 커뮤니케이션은 개발자가 목표더라도 반드시 요구되는 소프트스킬이고 사회문화에 대한 이해와 공감은 커뮤니케이션에 핵심적인 부분이기 떄문에 무시하시면 안됩니다.


조금 제 얘기를 하자면,

저는 첫 직장에서 영어로 비즈니스를 할 일이 종종 있었는데, 따로 독학을 했다거나 학원을 다닌적이 없기 때문에, 대부분 학교에서 배웠던 기본적인 문법/어휘만 가지고 소통했습니다. 많이 딱딱하긴 하지만 실제로 의미가 잘통하게끔 최적화 되어 있구나 싶었습니다.

게임개발을 가르치는 특성화고에 다녔었는데, 수학시간에 멋모르고 잤습니다. 이후 작품을 만들다가 이 때까지 하던 단순한 방식(평행이동)을 넘어 표현하고 싶은 것이 생겨서, 방과후에 따로 수학선생님을 만나 삼각함수 같은걸 배웠던 기억이 납니다. 선생님이 많이 어이없어 하셨습니다. 당연하지만 수업시간에 안잤으면 더 쉽게 습득했을 것 같습니다.

학교에서는 항상 Win32로 수업을 했는데, 배우면서 이런 구닥다리 누가 쓰나 했지만 거기서 항상 구현하던 메시지큐와 이벤트루프는 Node.js나 Android 같은 다른 플랫폼에서도 일반적으로 쓰이는 방식이였고, 덕분에 새로운 플랫폼이 필요할 때도 어렵지 않게 이해하고 적응할 수 있었습니다.

첫 직장에서는 pre-sales engineering 을 했는데, 개발과는 직접적인 연관이 없어 항상 불만이였습니다.
개발자가 된 지금은 제가 남들과 차별화된 요소가 되었습니다. 긍정적인 평가에 주된 부분이 세일즈 경험에서 왔습니다.

SI 프로젝트에 투입됐던 것도 그 땐 싫었지만 두고두고 도움받고 있습니다.

시야도 시야이고, 어떤 경험도 사소하지 않고 무시할 것이 못되는 것 같습니다. (하다못해 지루한 정규교육 과정도 말이죠)

취업을 하냐 진학을 하냐는 남들이(선생님들 포함) 얘기할 수 있는 부분이 아니니 직접 고민을 많이 해보시구요…
언제나 지금 있는 자리에서 최선을 다하시면 좋은 결과가 따라다닐 거라 믿습니다.

2 Likes