선배 개발자님들께 인턴에 대해 여쭤보고 싶습니다.
안녕하세요, 저는 현재 군 제대 후 3학년 2학기 복학을 바라보고 있는 컴퓨터 공학과 대학생입니다.
2학년때쯤부터 3학년 1학기까지 인생에 대해 조금 우울하고 다소 무거운 심리로 군대도 미루다 미루다 늦게 가버리고 말았네요.. 다행히 막학기에 좋은 친구들을 만나고 군대에서 좋은 선후임들을 만나 마음도 진정이 되고 미래에 대한 막연하기만 했던 생각들도 어느정도 정리가 되어 늦었지만 이제서야 정신을 차리고 공부중입니다.
결론부터 말씀드리자면 내년 3~4분기 즉, 제 기준 4학년 2학기에 인턴을 하고싶습니다. 이수 학점은 문제 없는 상태입니다.
현재 할 수 있는 것들은 다음과 같습니다.
(1) 강의 중 과제로 Eclipse IDE에서 java 를 사용한 텍스트 기반 게임만들기 프로젝트 수행 해보았음.
(2) Visual Studio IDE 에서 C++와 관련된 라이브러리 openGL, SDL을 사용해보았으며 SDL 라이브러리와 ECS 디자인 패턴을 통해 간단한 게임 환경을 구축하는 중임.
(3) 자료구조, 계산이론, OS등 CS에대한 기초적인 이해가 있음.
(4) Oracle SQL을 통해 적절한 쿼리 사용 및 스키마 구현을 할 수 있음.
(5) 자신의 프로젝트에서 어떤 디자인 패턴을 사용해야할지 찾아보고, 기능 구현에 필요한 적절한 알고리즘과 구현 코드를 찾고 적용할 수 있음.
C++와 Java는 기본적으로 1000페이지 정도의 입문용 책 한권을 마친 정도의 이해 수준이고, C++는 프로젝트 진행하면서 계속 배워나가고 있습니다.
현재 제가 생각하는 저의 약점은 다음과 같습니다.
(1) 네트워킹에 대한 이해 수준이 저조함.
(2) 멀티 쓰레딩을 구현해본 경험이 없으며 이해 수준이 저조함.
(3) 리눅스를 능숙하게 사용하지 못함.
(4) 웹 언어를 사용해보지 못함.
요즘은 위에서 언급한 SDL 라이브러리와 ECS 디자인 패턴을 통해 간단한 게임 환경을 구축에 거의 모든 시간을 할애 하고있습니다. 아마 이 프로젝트는 다음주까지는 끝낼 수 있을 것 같고 이 다음에는 C#을 배운 다음 Unity엔진을 사용하여 내년 여름방학까지 얼리억세스 수준의 2D PC 플랫폼 게임을 출시하는게 목적입니다. 게임 개발은 자신만의 게임을 꿈꾸는 7년지기 친구와 함께 하고 있습니다. 그 후에 4학년 2학기에는 인턴십을 경험해 보고 졸업하자마자 취업을 한 후에 여유가 날 때 친구와 함께 Epic Games의 Unreal Engine을 사용한 풀3D 게임개발을 하는게 제가 가장 희망하고 있는 로드맵입니다.
제 상황을 보았을 때 지금 계획한대로라면 내년 이맘때 쯤 제가 갖고있을 능력은 C#-유니티 사용경험,C++-SDL사용,ECS적용 경험 두개를 제외하면 다 학교에서 배운 것들로 채워질 것이고 그것들은 아마 컴퓨터 비전, 반응 형 웹 설계, 모바일 프로그래밍, 졸업 프로젝트 등일 것이라고 생각합니다.
그러나 개발자 관련 인턴 채용에 대한 공고 및 경험을 몇개정도 찾아봤는데 제 정보력이 부족한건지는 모르겠지만 방학중에 제가 자발적으로 진행 했고, 진행 할 예정인 프로젝트로 쌓은 역량을 찾는 인턴공고는 많지 않았습니다. 유니티는 공식 인턴십 채용이 있고 제가 쌓고싶은 역량과도 정확히 일치하긴 하지만 매년 일정하게 열리는지는 알기 어려워 목표를 고정시키기에는 위험하다고 생각합니다.
이러한 상황속에서 선배님들의 지혜를 빌리고 싶어 이렇게 장문의 글을 올리게 되었습니다. 제가 여쭤보고 싶은 질문들은 다음과 같습니다.
1. 선배님들께서 평가하시기에 제가 인턴이 되려면 어떤 역량을 더 길러야 하고 어떤 역량이 치명적으로 부족한지 생각이 드시는 점이 있다면 말씀해주셨으면 좋겠습니다.
2. 인턴십 채용 빈도에 있어 가장 많은 빈도수를 보이는 역량이 무엇인지 궁금합니다. 제가 찾아본 결과를 통해 제가 추론해보자면 요즘 한창 뜨는 기술인 인공지능, 머신러닝, 컴퓨터비전 같습니다.
3. 회사 연봉, 복지 수준이 올라갈수록 우수한 인재들의 치열한 입사 경쟁이있듯이 인턴십 또한 비슷한 양상을 보일 것이라고 생각하는데 제 생각이 맞는지 궁금합니다.
아직 한참 햇병아리인 저의 길고 긴 글을 끝까지 읽어주셔서 감사합니다. 혹시 선배님께서 여유가 나시고 생각드시는 점이 있다면 어린 저에게 도움의 손길을 뻗어주셨으면 좋겠습니다.
게임 프로그래머를 준비하시는 것 같아요.
준비하시는 내용을 읽으면 게임 개발을 준비하시는 것 같은데요.
여기에 오시는 개발자분들은 리눅스 관련 시스템 개발자 분들이 많은 것 같습니다.
게임 포탈 사이트나 게임 개발자 분들이 많이 방문하시는 게시판에 글을 올리면 피드백을 받을 수 있을 것 같습니다.
(개인블로그)
http://rousalome.egloos.com
답변 감사드립니다 선배님!
여기 사이트가 기원부터가 리눅스 한글 문서화라고 알고있어 제가 올리는 글이 사이트 성격과 다른것은 유념하고 있었으나 국내 게임 개발 사이트를 마땅히 찾지 못한 점도 있고 평소 자료를 찾아볼 때 KLDP사이트에서 답변해주시는 선배 개발자님들이 보통 가장 깊이 있고 정성스럽게 답변을 작성해주시는 경향이 있다고 느껴서 이곳에 찾아오게 되었습니다. 쓰고보니 리눅스 한글화 프로젝트 사이트에서 게임 개발 얘기를 하고 있는 제가 더욱 엉뚱해보이긴 하네요 ㅎㅎ;
리눅스 얘기 아니어도 됩니다.
https://wiki.kldp.org/wiki.php/KLDP#s-1.1
참고하셔요.
라고 나오네요.
세벌 https://sebuls.blogspot.kr/
좀 더 넓게 보시기를
앞에서 AustinKim 님 말씀대로 게임 프로그래머 쪽으로 방향을 정하신것 같습니다만, 아직 대학을 졸업하지 않은 상황에서라면 좀 더 넓게 바라보시길 권합니다. 정말로, 무슨일이 있어도 게임 프로그래머가 되어야 하겠다고 생각한다면 뭐 달리 말씀드릴게 없습니다.
그리고 한국에서의 인턴선발이 어떻게 진행되는지를 (미국에 사는 저는) 자세히는 모릅니다만 뭐 대충 비슷하리라는 생각은 합니다. 제가 볼때는 인턴으로 뽑히는것도 기본실력에 '운' 이라고 밖에 생각이 들지 않습니다. 기껏 인턴으로 뽑아 정식직원으로 채용했는데 2 년도 되지 않아 다른회사로 옮기는 '인재' 도 있고요.
위에 나열한 실력이나 경험, 자세를 보면 여느회사든 인턴으로 그리고 졸업 후 정식직원으로 채용해서 쓰고 싶은 마음이 들겁니다. (아, 저는 그냥 개발자일뿐입니다. ^^)
회사에 들어가면 직장인들이 분야에 상관없이 직접적으로 생활과 '정신력'에 영향을 받고 힘들어하는 부분이 무엇인지 생각해 보시기 바랍니다. 사람마다 다를 수 있지만, 제가 볼때는 '업무강도' 라고 생각합니다.
일을 밀어부치고, 종용하고, 스트레스 만빵으로 받는데에 가서 어떤 성취감만으로 그 회사에 오래 다니기는 쉽지 않습니다. 아, 물론 다른 모든 회사들이 그러면 선택의 여지는 없지요.
제 아들이 고등학교때부터 게임 프로그래머가 되길 원했고 미국 동부에 있는 대학 전산학과를 졸업하면서 이것저것 알아본 결과에 오랜기간 소프트웨어 엔지니어로 일한 이 '애비' 의 조언을 합한 결론은 게임 프로그래머쪽으로 가는것은 옛날 옛적에 게임개발 프레임워크가 전무하던 시절에 비해 재미는 재미대로 없고 힘만 빡세게 드는 직업이라는 사실을 알게 된것입니다. 제가 알기로 한국도 게임업체에 근무하는 엔지니어들 근무시간이 여타 다른 업종의 소프트웨어 개발자들보다 더 길고 고생을 하는것으로 압니다.
지금은 인턴십을 생각하시니까 하는 말입니다.
여러분야 산업의 소프트웨어 개발자 인턴을 아주 많이 응시하길 권합니다.
인생, 정해진게 없습니다. 계획대로 딱 딱 되는것도 별로 없습니다.
개인적으로는 금융분야 개발자 인턴십 (은행, 거래소 등 공공 금융기관, 증권회사, 투자증권회사) 은 빠트리지 말고 찾아보시고 꼭 응시하길 권합니다. 아시겠지만 금융분야로 간다해서 금융분야 쪽 지식을 공부할 필요 없습니다.
그 다음으로 국방이나 안보관련쪽 소프트웨어 개발자 인턴을 알아보시기 바랍니다.
(저는 금융기관쪽, 제 아들은 국가안보쪽 소프트웨어 개발자라 선호도가 이러합니다. ^^)
그리고 원하시는것으로 보이는 게임업체, 대기업, 포탈 전문업체 등의 인턴도 준비하는게 좋을것 같습니다.
모두 - 운입니다!
행운을 빕니다!
여의도자바
답변해주셔서 감사합니다 선배님!
댓글이 달린 것을 확인하러 들어왔다가 선배님께서 너무 정성스럽게 도움이 되는 여러가지 말들을 많이 써주셔서 정말 놀랐습니다. 일면식도 없고 사이트 성격과도 안맞는 글을 올린 저에게 이렇게 많은 조언을 해주실 줄은 몰랐습니다 너무너무 감사합니다.
우선 제가 요즘 공부하면서 지금 이렇게 하고있는게 맞는지 지금 틀리게 가고있는건 아닌지 확신이 서지 않았었는데, " 위에 나열한 실력이나 경험, 자세를 보면 여느회사든 인턴으로 그리고 졸업 후 정식직원으로 채용해서 쓰고 싶은 마음이 들겁니다. (아, 저는 그냥 개발자일뿐입니다. ^^)" 라는 코맨트를 확인하고 어쨋던간에 제가 소개한 저를 보고 채용해도 괜찮겠다고 생각한 사람이 세상에 한명쯤은 있다는게 저에게 큰 용기를 주었습니다. 아까 낮에 선배님의 댓글을 확인하고 바로 답글을 달아드리려고 했는데 뭔가 선배님의 댓글을 보고나니 오늘 뭔가 느낌이 딱 와서 오랜만에 순수하게 코딩만 한 시간이 10시간이 훌쩍 넘은 것 같습니다 ㅎㅎ
선배님께서 말씀하신대로 지금 저의 진로를 게임개발자라는 분야에 고정시키지는 않겠습니다. 내년 1학기까지는 다양한 강의를 수강할 수 있으니 제 나름에서 최선을 다해 모르는 영역에 대해 배워놓고 인턴십 시기에는 게임이 아니더라도 어떤 인턴십이던간에 제가 모르는 영역에 도전할 수 있다는 마음으로 신청할 수 있을 것 같습니다.
그리고 금융계열에 대해서는 마땅히 고려하고있는 바가 없었는데 말씀해주신 점을 참고하여 충분히 유념해두겠습니다.
햇병아리 후배 개발자의 갑갑한 마음에 써진 신세 한탄에 불과한 글에 이렇게 따뜻한 마음으로 정성스래 조언을 해주셔서 정말 몸둘바를 모르게 감사한 마음입니다. 더욱 노력하고 정진하겠습니다.
노친네라 말이 많은것일뿐입니다.
제가 주저리주저리 쓴 답글이 조금이라도 도움이 되었다니 다행입니다.
제가 젊었을때 그랬습니다.
특히 전산학과 전공으로 공부하며 가장 선망한 직장은 IBM 이었고, 실제로 졸업반때 필기시험을 합격하고 면접까지 보았습니다. 다행히(?) 면접에서 떨어졌고, 저의 형이 신문광고를 찾아보다가 여의도에 있는 금융기관에서 전산실 신입직원을 뽑는다는것을 알게되어 거기에 응시하라고 한게 지금 제가 여기까지 (굴러서~ 굴러서) 온 계기가 된것 같습니다.
IBM 에 낙방한게 왜 다행이냐면요 - 나중에 보니까 제가 근무했던 그 금융기관이 '갑' 이고 IBM, UNISYS, Stratus 등 소위 벤더 업체들은 철저하게 '을' 이더군요. 특히 한국에서는 말입니다. (미국도 조금 덜 심할뿐 사용자/고객 업체가 갑인것은 마찬가지입니다.) '갑' 이라서 좋은게 '을' 의 파견나온 사람들에게 함부로 해서가 아니라, 고생을 덜 한다는겁니다. 그런맥락에서 가능하다면 금융계열도 꼭 생각해 보라는것이고요.
그리고 나빌레라 님 말씀처럼, 요즘 대세는 인공지능쪽, 머신러닝, 메타버스 그리고 아울러 AWS (아마존 웹 서비스) 입니다. 머신러닝을 소홀히 봐서는 안될것같습니다. 머신러닝에서는 파이썬과 약간의 수학실력 (이산수학, 선형대수, 기본 Calculus 정도) 이 필수인것은 잘 아시리라 생각합니다.
굳이 더 파고들자면 업계에 나와있는 스프링 부트를 이용한 프로그래밍 방법을 이해하는 수준까지 간다면 더욱 좋겠지요. 이게 뭐 하는것인지 정도만 알면 충분할것 같습니다.
쫌 있으면 60 을 바라보는 노친네 프로그래머라 말이 많습니다.
이 바닥 (통털어서 컴퓨터 프로그래밍 분야) 에서는 '노력' 하는 사람 못 당합니다.
아울러 행운이 있기를 바랍니다.
*
사족 - '갑'/'을' 표현에 대한 해명
벤더업체를 '을' 로 표현한것에 대한 약간의 주의가 필요했던것같습니다. 협력업체 또는 파트너업체라는 표현을 썼으면 좋았을뻔 했습니다. 그런데 지나고 나니 벤더업체에서 지원나온 분들 실력이 정말 대단하다는 생각을 한적이 참 많습니다. 즉, 배울것이 많다는 얘기입니다. 사람을 대하는게 힘든적이 있어서 그렇지 컴퓨터, 프로그래밍, 테크니컬한 면은 벤더업체에 입사하는것이 훨씬 실력을 키우는데 도움이 되는것은 사실입니다.
실력을 제대로 쌓고 싶다면 벤더업체에 들어가서 막강한 사수 밑에서 빡빡 구르며 배우는것도 젊었을때는 필요한것 같습니다 - 제가 그런 경험없이 젊은시절을 보내서 실력이 '맹탕' 입니다.
그냥 제 개인생각입니다.
여의도자바
제가 봤을 땐 아주 넘치게 잘 하고 있습니다.
제가 봤을 땐 아주 넘치게 잘 하고 있습니다.
그러면 질문에 대한 제 생각을 쓸께요. 이건 어디까지나 제 생각입니다.
1. 선배님들께서 평가하시기에 제가 인턴이 되려면 어떤 역량을 더 길러야 하고 어떤 역량이 치명적으로 부족한지 생각이 드시는 점이 있다면 말씀해주셨으면 좋겠습니다.
==> 어떤 인턴을 하고 싶냐에 따라 다르겠지만, 게임회사 인턴이라면 본문에 쓴거보다 더 못해도 할 수 있을 겁니다.
2. 인턴십 채용 빈도에 있어 가장 많은 빈도수를 보이는 역량이 무엇인지 궁금합니다. 제가 찾아본 결과를 통해 제가 추론해보자면 요즘 한창 뜨는 기술인 인공지능, 머신러닝, 컴퓨터비전 같습니다.
==> 최근 몇 년은 계속 머신러닝이 핫하고요. 최근엔 메타버스도 대세로 뜨고 있습니다.
3. 회사 연봉, 복지 수준이 올라갈수록 우수한 인재들의 치열한 입사 경쟁이있듯이 인턴십 또한 비슷한 양상을 보일 것이라고 생각하는데 제 생각이 맞는지 궁금합니다.
==> 아니요. 인턴은 쉬워요. 부담 갖지 마세요.
----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라