취업/SW

덤프버전 :

파일:나무위키+상위문서.png   상위 문서: 취업




1. 개요
2. 스펙
3. 무난한 취업 난이도, 하지만 엄청나게 넓은 처우 차이
3.1. 전공자 vs. 비전공자 (신입)
3.2. 사고력 vs. 구현
4. 조직문화
5. 문과에서의 진입
5.1. 경제학, 사회과학
6. 컴공 외 이과에서의 진입
7. 취업 대상
7.1. 산업별 구분
7.2. 기업 형태 및 규모별 구분
7.3. 취업 국적별 구분
8. 중소기업 고르는 팁
9. 자기소개서
10. 코딩 테스트
10.1. 컴퓨터가 없는 경우
10.2. 과제
12. 여담


1. 개요[편집]


개발자의 취업에 대해 다루는 문서이다. 개발자도 넓게 보면 이과에 속하니 단순히 취업/이과의 하위 분야로 여겨질 여지는 있지만 애당초 접근 방식부터 다르기 때문에 항목이 분리되었다.

개발자에 대한 전반적인 내용은 코더, 프로그래머, 대한민국/IT, 특정한 전문분야에 대한 내용은 게임 제작사, 게임 프로그래머, 비디오 게임 제작자 등 별도의 문서들을 참조바람.


2. 스펙[편집]


  • 경력: 밑에 여러가지 나와 있지만, "이전에 어느 회사에 다녔는가"가 모든 스펙을 씹어먹는다. 예를 들어 명문대 출신 20년차 중소기업 프로그래머보다 구글의 고졸 신입 / 학부 인턴 프로그래머가 더 높은 연봉을 받고, 이직시에도 더 높은 평가를 받는다. 더 나아가, 구글 등의 상위 티어의 회사들은 하위 티어 회사들의 경력을 인정해주지 않으며, 무조건 신입 연봉을 제시한다. 회사에 들어와서 능력을 증명해야 제대로 된 대우를 받을 수 있다. 예를 들어 네이버나 카카오에서 중소기업 SI 경력을 인정받기 힘들고, 구글에서 네이버/카카오의 경력을 인정받기 힘들다. 하지만 아무도 불만이 없는 것이, 상위 티어 회사들의 신입 연봉이 하위 티어 경력자의 연봉보다 높다. 회사들도 이것을 잘 알고 있으며, 그래서 하위 티어에서 좋은 대우를 받기는 구조적으로 힘들다.


  • 평점: 채용 공고에 따라 차이는 있지만, SW분야 자체가 다른 공학 분야들보다 '학점이 아니고선 대학을 갓 졸업한 사람들의 실력을 빠르게 가늠할 기준이 없다'는 문제에서 자유로운 편이다. 좋은 학점과 업무 능력은 별개이기 때문이다.
  • 포트폴리오: 기술력, 협업 능력, 개발에 대한 열정을 평가한다.
    • 기술력: 개발자로서의 기술력을 확인하기 위해서 국비지원 학원 출신부터 전공자까지 개발 관련 포트폴리오가 채용 기준에 포함되는 경우가 많다. 보통 학교나 학원에서 진행하는 졸업작품이나 준비생들끼리 결성한 팀 프로젝트가 기반이 된다. 흔한 주제는 Java를 이용한 스마트폰 앱 개발/웹 개발, 아두이노를 이용한 RC카나 드론 등이다. 다만 이런 경우 코더 소리를 듣지 않게 차별화된 무언가가 있는 것이 좋다. 임베디드 시스템, 영상 처리, 블록 체인, 기계학습 등 신기술이나 복잡한 알고리즘을 이용한 포트폴리오를 만드는 경우도 있다. 다만 이런 능력이 요구되는 전문 프로그래머를 뽑는 자리에 지원한다면 석사 출신들과 경쟁해도 꿀리지 않을 수준의 성과를 보여야 한다.
    • 협업 능력: 기업에서 진행하는 프로젝트는 기본적으로 협업이기 때문에 포트폴리오를 통해 협업 능력을 증명할 수 있으면 좋다. 따라서 혼자서 진행한 프로젝트보다는 마음이 맞는 2명 이상이 모여서 진행한 프로젝트가 취업 스펙으로써의 가치가 높다.
    • 개발에 대한 열정: GitHub의 활동 기록[1] 등 객관적인 이력이 있으면 좋다.
    • 셋 다: GitHub을 포트폴리오로 사용하는 경우 프로젝트의 코드 내용 및 관련 설명을 통해 어떤 기술을 적용하였는지, 코드 내용을 통해 코딩 스타일이 어떤지, 협업에 적합한지 확인할 수 있다. 물론 여러 명이 함께 진행한 프로젝트라면 협업 능력을 증명하기에 더욱 좋다. Tensorflow 등 유명한 오픈 소스 프로젝트에 기여한 기록이 있다면 그만큼 기술력과 협업 능력이 출중하다는 것을 증명하는 셈이므로 더할 나위 없이 좋다. 열정 부분은 앞에서 설명했으므로 생략한다.

3. 무난한 취업 난이도, 하지만 엄청나게 넓은 처우 차이[편집]


수요와 공급은 많지만 처우의 스펙트럼이 넓고 피라미드식 승자 독식구조를 가진다. 수요는 많으나 슈퍼스타의 공급은 적다는 양극화에서 모순이 기인한다.

현대 사회에서 컴퓨터가 쓰이지 않는 곳은 거의 없기 때문[2]에 수요가 많다. 따라서 문외한이라 할지라도 고졸 이상의 학력에 6개월 정도만 배우면 취업은 어렵지 않다. 실력없는 코더라 할지라도 갈 곳이 많다. 주로 SI, SM에 이런 일자리가 많다. 하지만...

고급 인력의 승자독식 구조 때문에 양질의 일자리를 갖는 것은 매우 어렵다. 흔히 처음 개발자의 모습을 떠올리는 사람들은 흔히 네카라쿠배로 불리는 기업들이나 유명 스타트업들을 기준으로 상상하는 경우가 많다. 현실은 그들이 상상하는 개발자의 모습은 정말 이상적인 케이스고 그 밑의 케이스는 회사마다 사람마다 극단적으로 차이가 난다. 국내에서 취업하는 신입 혹은 3년차 이하의 주니어만 놓고 비교하더라도 개발자의 처우는 아래와 같이 달라질 수 있다.

  • 국내에 지사가 있는 월클급 회사에서는 주니어도 영끌 9천까지 바라볼 수 있다
  • 국내 IT 대기업 기본급은 5천 ~ 7천 정도이므로 영끌 7천 ~ 8천 정도다.
  • 다만, 회사마다 상여금과 복지로 인한 부가적인 소득/혜택 등이 천차만별이다.
  • 일부 극소수의 중소기업(스타트업 포함)들은 어지간한 대기업 못지 않은 대우를 자랑한다. 물론 이 경우 지원자들의 실력이 어지간한 대기업 공채는 때려부술 수준이지만, 중소기업을 원해서(혹은 병역특례로) 온 사람들이다.
  • 중소기업은 대부분 연봉 3천 초반으로 분포되어 있다. 물론 2천 대로 후려치는 곳도 적지 않다.
  • 실력이나 회사 보는 눈이 없다면, 전공자에 석사인데도 연봉이 3천만 원 이하인 경우가 존재한다.

코로나의 영향이 특히 컸던 2021년 2월 이후, 기존에도 연봉이 높던 기업들이 연봉을 더 높이면서 채용 경쟁이 심화되고 있다. 이제 대기업 및 유명 스타트업들은 신입기준 계약연봉 5~6천만원이 베이스라인이 되어가고 있다. 대신, 그만큼 채용 시 요구하는 허들이 높아질 가능성이 크다.


결과적으로 개발자라는 직업을 돈만 놓고 말하자면, 같은 업계라도 제일 잘 나가는 사람은 의사 이상의 연봉을 받지만, 밑바닥에 있는 사람은 건설현장 단순노무직의 일당을 연봉으로 환산한 금액 정도를 받는다는 우스갯소리가 있다. 결론은 극과 극. 이런 모순 때문에, 경험을 바탕으로 두 사람이 말하더라도 다음과 의견이 갈리는 경우가 적지않다. 그 사람이 어느 실력을 가지고 어느 회사에서 커리어를 쌓아가냐에 따라 달라진다.

  • A: 개발자는 업무량도 많고 이에 반해 처우도 좋지 않은 직업이다
  • B: 개발자는 워라벨 및 업무자유도도 높고, 처우도 만족스러운 직업이다

처우 외적인 부분도 문제가 되는데, 마지막 (개발자 처우가 안 좋은 중소기업) 케이스가 보통 이에 해당한다. 이런 기업들은 당연히 동료들의 평균적인 실력도 낮고, 워라벨이나 내부 문화도 좋지 않은 경우가 많다. 이런 환경에서 제품에 사용하는 기술은 당연히 오래되거나 해당 분야에서만 사용하는 고인 기술 스택일 확률이 높다. 즉, 그 회사를 다닌 이력이 이직시장에서도 낮은 점수를 받는다는 것.

고급인력이 다른 공학과 달리 유독 IT 업계에서 승자독식이 가능한 것은 조금 과장해서 말하면 코드만 보면 코더와 소프트웨어 엔지니어/컴퓨터 과학자의 차이가 눈에 확 드러나 보이고 팀의 역량과 개인의 역량이 확연히 구분 가능한 몇 안 되는 업계이기 때문이다. 다른 업계의 사기업에서는 아무리 잘 났다 하더라도 부장 승진 정도는 되어야 20% 정도 연봉 차이가 나고, 그 전에 실적을 바탕으로 연봉 차이를 요구하면 버르장머리가 없네 헛바람 들었네 주제를 모르네 하면서 핀잔이나 듣기 때문에 비슷한 연차에 비슷한 연봉을 받는 사람이 많지만, IT에서는 코더에 비해 15배 이상의 부가가치를 창출하고 5배의 연봉을 받아가는 게 가능하다. 2010년대 구글 인사 최고책임자는 구글/조직문화에 대해 논하면서 우수인재에게는 100배의 연봉을 줘도 아깝지 않으며 개발자의 실력 분포는 표준정규분포가 아닌 멱급수 분포를 이루고 있다고 평했다. 그래서 넓어 보이는 진로, 많아 보이는 선망받는 직장은 IT 업계에서 그 고급인력들만이 승자독식한다. 이들은 '연구원, 과학자, 엔지니어' 등으로 불린다.

3.1. 전공자 vs. 비전공자 (신입)[편집]


보통은 전공자가 좋은 인상을 준다. 복수전공자 역시 정상적으로 전공 실력을 쌓는다면 채용된다. LG CNS는 철학과 출신의 데이터 분석 복수전공자를 채용한 적이 있다. 이 지원자는 대학 시절 컴퓨터 동아리 활동으로 앱을 개발해 구글 플레이스토어에 올린 경험이 있었다. 이 경험이 높은 직무 역량으로 평가되었다.

인문계 출신이나 학원 출신들은 대부분 단순히 코딩 정도만을 할 줄 아는 소위 양산형 프로그래머인 경우가 많다. 그리고 이들은 대개 전문적 지식이 부족한 문제가 있다. 인문계 취업난으로 인해 인문계열 학생들이 IT 쪽으로 복수전공/부전공을 시도하며 비전문적인 프로그래밍 분야로 몰리고 있고 프로그래머를 양성하는 교육기관/학원이 다수 생겼으나, 채용자들은 이들을 저질 공급으로 보고 별로 신뢰하지 않는다. 따라서 비전공자일 경우 코딩 인터뷰를 잘 봐야 한다. 코딩 인터뷰는 인상이 아닌 결과로 결정되기 때문이다.

전공자라 해도 학원에서 양산된 소위 양산형 프로그래머들(코더)보다 크게 경쟁력이 없을 경우는 좋은 대우를 받기 어렵다. 예를 들어 미리 입력해놓은 정보를 사전 나열식으로 보여주기만 하는 뷰어는 학원 출신도 만들 수 있으므로 이런 비전공자도 무리 없이 만들 수 있는 것을 포트폴리오로 제출한다면 전공자로서 좋은 평가를 받기 어렵다. 또 기초수학 및 알고리즘/자료구조 등의 지식이 부족한 상태로 전공에서 컴파일러 및 컴퓨터 아키텍처, 기계학습 같은 심화 과목을 듣게 된다면 체계적으로 지식을 쌓기 어려워 결과적으로 비전공자보다 나은 실력을 얻기 어렵다. 특히, 양산형과 비양산형 프로그래머들을 가르는 첫관문인 자료구조는 컴퓨팅 사고(computational thinking)가 부족하면 벽을 느끼기 매우 좋은 곳이다.

SI 업체는 특정 프로그램이나 솔루션을 개발하는 IT 업체에 비해 비전공자를 많이 뽑는다. LG CNS의 경우 개발자 중 30% 이상이 인문사회계열 전공자다.

결론적으로 졸업장 자체만으로 전공자에게 주어지는 메리트는 비교적 "적다". 구세대 대기업들(삼성/엘지 등)은 전공을 중시하지만 신세대 IT 대기업들(네이버/카카오 등)은 졸업장이 있다고 해서 유리한 부분이 적으며[3] 모든 것은 인터뷰(코딩면접 포함)가 결정한다. 이런 경향이 생긴 것은 "전공졸업자"이지만 코드한줄 제대로 못짜는 사람이 너무 많이 존재하기 때문이다. 그래서 업계에서는 대학 졸업장을 그다지 신뢰하지 않으며, 다른 직무들과 비교해 SW쪽은 취업과정에서 학벌과 학점의 영향력이 상대적으로 낮은 편이다. 대신 코딩인터뷰를 제외하면 프로젝트 경험이나 직무 경험 등을 통한 포트폴리오의 비중이 극도로 높기 때문에, 사전에 이 부분을 확실하게 준비해야한다. 인터뷰에서도 전공지식 + 포트폴리오 부분에서의 질문이 많이 들어오는 편이며 통과하지 못하면 정말 얄짤없다. 다만, 고학력, 전공자에게 주어지는 혜택이 아주 없는 것은 아닌데, 인터뷰를 볼 수 있는 기회가 훨씬 더 많이 주어진다. 예를 들어 교내 리크루팅 행사나 선배의 소개 등으로 학생 때부터 꾸준히 기회가 주어지고, 이런류의 추천채용은 당연히도 서류 탈락하는 경우가 훨씬 적다.

사실 IT업계가 전공이나 학력을 안따진다는 말도 반만 맞는 말이다. 웹, 앱 분야는 비교적 덜 따지는 분위기긴 하지만, 시스템, 컴파일러, 기계학습, 로보틱스 같은 분야는 컴퓨터과학 관련 전공 여부를 중요하게 여긴다.

3.2. 사고력 vs. 구현[편집]


일반인들, 즉 비전공자들은 컴퓨터공학과를 프로그래머를 양성하는 교육기관으로 생각하는 경향이 있다. 따라서 스파게티 코드프로그램 최적화 등의 문제보다는 자신들의 회사와 관련된 구현을 해낸 게 있냐 없냐에 훨씬 큰 비중을 둔다. 국내 대기업의 인사면접, 임원면접 역시 비전공자 위주의 면접관으로 치러지기에 그쪽 경향이 강하다. 하청, 파견 위주 기업의 경우 일을 잘 했는지 평가가 그런 비전공자 위주의 갑 회사들에 달려있기에 비슷한 경향이 있다. 이들이 볼 때 관련된 구현을 해낸 게 없는 지원자는 그냥 입만 살아 있는 이론가로 취급한다.

그러나 IT만 전문적으로 하는 회사들, 그 중에서도 독자적인 솔루션을 판매하는 회사들의 경우 다르다. 이런 기업에서는 비슷비슷한 쉬운 문제를 많이 푸는 게 아니라 누구도 해결하기 어려운 문제를 하나라도 푸는 게 중요할 수 있기 때문이다.[4] 이런 기업에서는 쉬운 문제는 이미 다른 사람들이 다 풀어놨고, 시장을 선도하기 위해 풀어야 할 어려운 문제들 위주로 남아 있다. 다만, 이 경향도 사라지는게 ChatGPT를 필두로한 LLM의 발전으로 인해, 이제 단순한 문제[5]들은 전부 GPU를 통한 인공지능에 맡기면 되기 때문.

사실 프로그래밍은 컴퓨터공학과에서 배우는 것들 중 일부분에 지나지 않는다. 단순히 프로그래밍만 배우고자 한다면 학원에서도 어느 정도는 배울 수 있다. 요즘에는 아예 전문적으로 6개월 과정으로 전부 가르쳐 주는 취업학원도 있다. 그러나 이 정도 배워서는 컴퓨터시스템에 대한 이해나 알고리즘에 대한 이해가 약하다. 그래서 프로그래머가 문제의 풀이법의 줄거리를 알려주기 전까지는 자신의 힘으로 문제를 어떻게 풀어낼지 알아낼 수 없는 것이다. 그런 어려운 문제를 풀 수 있는 사람은 드물기에 그런 사람만이 연봉을 높게 받는다.

다른 사람의 코드를 가져와 사용하는 코더로서의 행동을 '자신이 프로그램 코딩을 했다'는 식으로 이야기하면 거짓말로 간주하고 탈락시킨다. 2016년 하반기 LG전자 신입사원 면접 탈락 사례다. 한 지원자가 다음과 같이 이야기했다. "저는 대학교 때 자바와 안드로이드를 집중적으로 공부해 코딩을 배웠습니다. 프로그램 코딩을 1만줄을 할 수 있습니다." 면접관이 다시 질문했다. "실제 1만줄을 본인이 직접 짠 겁니까, 아니면 인터넷에서 가져온 겁니까." 이 질문에 지원자는 머뭇거리다 떨어졌다. 인사 담당자는 "실제로 소프트웨어를 전공한 대학생이라도 코딩을 자기 실력으로 1만줄 이상 하는 것은 쉽지 않다"며 "꼬리에 꼬리를 무는 질문에도 대답이 술술 나오는 깊이 있는 지원자를 원한다"고 했다. 사실, 실전에서 프로그램 구현의 기본적인 틀은 깃허브[6]와 같은 외부에서 가져오는 경우도 꽤나 많기에, 코드 자체를 통째로 가져오는게 아닌 이상, 상업적으로도 문제가 되는 경우는 드물다. 다만, 그 코드를 가져왔더라도, 본인 구현에 어떤 방식이 도움이 될것이라 생각해서 가져왔는지, 그 부분을 본인이 프로젝트에 맞게 어떤 방식으로 최적화를 시켰는지에 대한 답변은 당연히 준비해야 한다.


4. 조직문화[편집]


IT 업계에서 뛰어난 개발자들 중에는 상명하복 한다고 평가받는 사람들의 비율이 다른 집단보다 낮다. 업계 자체가 변화가 빠르고, 갈 수 있는 기회가 많아 폐쇄적인 산업이 되기 힘들다. 타 학문에 비해 신생학문이라 기득권층이 생기는 역사가 짧으며, 상명하복 체제가 조직 경쟁력 향상에 큰 도움이 되지않는다. 애초에 비효율적인 걸 싫어하니 알고리즘에 관심을 갖는 것이다. 그 성향이 직장생활에서 의전이나 술 강요, 회식, 강제 야근, 절대복종 등 비효율적인 것을 거부하는 것에서 그대로 드러난다. 그렇다 보니 국내 탑티어 대기업에서 연봉을 높게 주겠다고 해도 미국 박사, 외국계 출신, 소문난 해커 같은 사람들은 잘 취업하지 않으려고 든다. 이 때문에 낮은 연봉에도 불구하고 국내 제조업 탑티어보다는 기술력 높고 직장문화 자유로운 곳을 더 선호하는 개발자들이 많다.

그걸 반대로 이용해 일부러 똥군기 심하다고 소문난 곳 위주로 지원해서 업계에서 당장 써먹을 프로그래밍 구현 잘 한다고 말하는 등 틈새를 잘 비집고 들어가는 경우도 있다.


5. 문과에서의 진입[편집]


SW 개발자의 취업은 예나 저나 코딩 실력이 100%를 차지한다. 그래서 실력이 있다면 교육을 뭘 받았든, 어디서 교육받았든, 전공이 어느 것이든 아무 상관이 없다. LG CNS에서는 철학과 출신의 컴공 복수전공자를 선발한 적이 있다. 앱 개발 경험이 있었기 때문이다. 구글 역시 영어영문학과-철학과 복수전공자에 인공지능 스타트업 출신의 개발자를 채용한 적이 있다.

그러나 다수 집단에서 차이가 관찰된다. 삼성전자에서 인문, 사회계열과 예술계열 출신만 뽑아 소프트웨어 교육을 시키고 채용하는 삼성 SCSC 제도를 실험했다. 당시 해본 사람들(2017)에 따르면 너무 어렵고 힘들었다고 한다. 성균관대 경영대의 SCSC 이수자를 인터뷰한 결과, “막상 공부를 해보니 컴퓨터공학과를 원래 전공한 학생들의 학습 속도를 따라가기가 벅차다”, “따로 예습과 복습을 기본으로 해야 수업을 겨우 따라갈 수 있어 다른 활동을 거의 할 수 없다. 이 때문에 원래 전공인 경영학 공부에 쏟을 시간이 줄어드는 것 같다”고 했다. 인문사회계끼리만 들어도 상위 10% 정도만 잘 따라가고, 전체 30% 정도는 사교육을 받고 있다고 한다. 심한 경우 휴학하고 프로그래밍 학원에 다닌다고도 했다.

문이과가 고등학교 때부터 갈라졌으니 배려해 달라는 의견도 있다. 서울대에서는 2015년 실제로 이렇게 했다. 경영대 학장이 공대 학장에게 인문사회계도 노력하면 A받을 수 있게 해달라고 건의하자 그대로 시행했다고 한다. 또 이를 배려해 인문사회계열끼리만 듣는 프로그램이 개설되는 경우도 있다.

전공에 따른 장점을 살리지 않고 소위 '보도방'으로 알려진 파견직 SI 중소기업에 취업할 경우 연봉은 1,800~2,200 수준으로 고졸과 다름없다. 따라서 전공이나 적성과 관련있는데다 수요가 많은 분야를 고를 필요가 있다. 거기에 당연한 얘기지만, 현실적으로 문과가 생으로 컴공생들과 비비기보다는 자신의 전공을 보다 살릴 수 있는 개발분야면 훨씬 해볼만 하다. 가령 미대의 경우, 웹 퍼블리싱 포트폴리오라든지[7], 상경계열은 핀테크 분야가 대표적. 혹은, Data Analyst 쪽이다. 핵심은, 자신의 전공 지식과 걸어왔던 길을 SW분야에 어떻게 녹여내느냐에 해당한다.

기업이 CS관련 학위 소유자를 선발하는 이유는 학위의 네임밸류와 같은 간판효과 때문에 선발하는 것이 아니라 알고리즘, 자료구조, 컴퓨터 아키텍처, OS, 컴파일러 등 컴퓨터과학에 대한 지식을 갖고 있기 때문이다. 학위는 그것을 보조적으로 인증하는 추가 정보일 뿐이다. 그러므로 전공자만큼 대우를 받으려면 기술, 코딩 인터뷰를 통해 실력을 증명할 필요가 있다.

5.1. 경제학, 사회과학[편집]


현대 사회에는 다양한 수치해석 기법이 사회현상 분석에도 사용된다.

경제학, 사회과학 방법론에 따른 엄밀한 모형을 세우고 계산경제학적 프로그래밍이 가능할 경우 경제학 전공자가 유리하게 된다. 그 중 대표적인 분야는 광고 수익구조 모델링, 정부의 규제에 대응해 규제 효과를 분석해서 법경제학적인 논리 개발, 게임 기획자의 밸런싱이다. 경제학과 대학원에서는 계량경제학을 통해 자료가 갖추어야 할 통계적 조건과 엄밀성에 대해 깊게 학습하고 경제 모형을 컴퓨터로 세워서 현실 경제상황을 시뮬레이션하는 훈련을 하기 때문이다. 이들은 코딩 실력 보고 뽑는 게 아니라 경제학에 근거한 모델링이 가능하므로 뽑는 것이다. 이들이 데이터 수집 방법과 모형, 초기 단계의 코드를 만들어놓으면 Engineer들이 프로그램 최적화를 한다.

유명한 미시경제학 교과서 저자인 할 배리안은 2002년부터 구글 애드센스에 관여했다. 그 외에도 우버, 에어비앤비 등은 미시경제학 분야를 전공한 경제학자들을 채용하고 있다. [8] 학부 경제학과 졸업생의 경우에도 구글, 페이스북에 셰릴 샌드버그가 큰 기여를 했다. 게임계에서도 이브 온라인의 밸런싱을 경제학자들이 담당한다.

5.2. 자연 언어 처리[편집]


대부분의 언어학과에서 융합학문 차원의 자연언어처리 커리큘럼을 운영하고는 있으나[9] 학사만으로 취직하기에는 전문성이 부족하고 결국 공대 대학원으로 진학하는게 대부분이기에[10] 일반적으로 생각하는 문과의 영역이라고 하기에는 힘들다. 언어학 주류에서 인공지능을 위해 다뤄왔던 Prolog, Perl 등의 언어는 구식이 되었으며, 딥러닝을 통한 연구가 주류가 된 이후부터는 자연언어처리는 완전히 컴퓨터공학과에게 공이 넘어간지 오래이다.[11] 즉, 2010년대 시점에서 자연언어처리에 발을 들이고자 한다면 이공계 학문을 공부하는 것이 필요하며 그 중에서도 수학은 필수이니 잘 생각해보고 입문하도록 하자.

6. 컴공 외 이과에서의 진입[편집]


Domain 지식[12]을 이용하는 경우, 모델링이 요구되는 경우, 그리고 전공 무관으로 코딩하는 경우 셋으로 나뉜다.

Domain 지식을 이용하는 경우는 전공 지식을 가진 기술자로 입사한 뒤 현업에서 컴퓨터 지식을 활용하는 경우다.[13] 화학공학, 전자공학, 기계공학 등 일반 공학 전공자나 수학, 물리학, 생물학 같은 자연과학 전공자들의 경우 문과보다는 낫다고 할 수 있다. 기본적으로 컴퓨터 공학에서 요구하는 수학이나 공학 설계 능력을 가지고 있고, 대학교 커리큘럼에서도 Python, MATLAB, R, C 등 프로그래밍 과목이 한 두 가지씩 포함 된 경우가 많기 때문이다. 특히 각 전공분야 중 SW와 융합된 부분이 많은 분야에 종사할수록 유리하다.

도메인 지식을 메인으로 내세우려면 문제가 발생했을 때 해결할 수 있어서 해당 분야 전문가들에게 인정받아야 한다. 학부 시절 간단한 졸업 작품을 만들어 본 수준이라면 대학원에서 해당 분야 수치해석 관련 논문이 있는 사람에게 밀릴 수밖에 없다. 문제가 발생해도 쩔쩔매는 사람들을 고용해서는 문제를 해결할 수 없기 때문이다.

모델링이 요구되는 분야라는 것은 주로 수학, 물리학, 통계학 전공자, 또는 이공계 아무 전공의 박사를 뽑아서 전공과 관계있는 시뮬레이션이나 기계학습을 시킬 때 등장한다.

한편 일반 코딩 능력을 메인으로 내세우려면 대학에서 원론적으로 배우는 능력은 거의 쓸모가 없어지고, 반대로 각종 최신 라이브러리 사용법과 코딩 트릭들에 대해 교육받는 직업학교 출신들에게 경쟁에서 이길 수 있다고 확신하기 힘들다.

일부 도메인 지식을 가진 사람들도 해당 분야가 기계학습 같이 핫한 분야가 아니라면, 국내에서는 극단적으로 낮은 TO 때문에 해외취업에만 도전해야 하고, 취업에 실패한다면 어쩔 수 없이 다른 분야에서 일거리를 찾아야 하는데, 이 경우 C++나 파이썬 같은 것을 이용한 경험 정도만 인정받는 정도이다.

전자공학, 컴퓨터공학, 정보통신공학 전공자가 많다. 전자공학에서 소프트웨어를 공부했거나 컴퓨터공학에서 하드웨어를 공부한 사람이 이 분야에 진출하기 좋다. 회로반도체에 대한 이해가 필요할 수도 있다. 컴퓨터 관련 전공자라면 SDK라는 말을 한 번 이상은 들어봤을 것이다. 반도체에 대한 이해가 필요한 이유는 메모리의 스펙에 따라 개발에 영향을 많이 미치거니와 비메모리의 경우 칩셋 벤더에서 제공하는 SDK와 함께 작업하기 때문이다. 이 SDK에는 칩셋 벤더에서 제공하는 빌드에 필요한 각종 도구들이 들어있고 보통 벤더사에서 어셈블리어C(프로그래밍 언어) 코드를 이용해 빌드 해서 제공한다. 이를 점진적 빌드라 한다. 굳이 나누자면 이런 SDK를 제공받아 OS(보통 리눅스)에 올라갈 펌웨어 코드를 작업하는 사람들을 임베디드 리눅스 엔지니어(개발자)라 한다. 이 사람들이 사용하는 프로그래밍 언어는 C(프로그래밍 언어), C++, Python, 셸 스크립트이다. 또한 개발 중에 칩셋의 문제가 나올 수 있어서 반도체에 대한 이해와 벤더사와 커뮤니케이션이 아주 중요하다. 보통 SDK는 벤더사의 기밀이기 때문에 구글링해도 나오지 않지만 이런 임베디드 리눅스 SDK 중 오픈소스인 것은 안드로이드 SDK이다. 안드로이드 SDK는 타깃 보드에 대한 툴체인, 부트로더, 드라이버(리눅스 커널에서 제공하는 각종 벤더에 대한)를 제공한다. 임베디드 리눅스가 아닌 임베디드 영역은 서술한 자가 잘 모르므로 종사자라면 잘 편집해 주시길 바란다. 임베디드 리눅스는 한국에는 하는 사람이 많지 않고 교육도 적기 때문에 대학 강의를 잘 듣거나 외국의 강의나 서적, 구글링을 보는 것을 추천한다. 전체적으로 IT업계 중에서 기업 규모가 큰 곳이 많으나 B2B가 다수라 잘 알려져있지 않다.

7. 취업 대상[편집]



7.1. 산업별 구분[편집]


* 제조업 SW 직무 - 대표적으로 삼성전자, LG전자, SK하이닉스, 삼성디스플레이, LG디스플레이, 현대자동차 등 다수
  • 제조업 내에서 SW를 쓰는 것은 주로 펌웨어나 임베디드 시스템 등 Mid-low 레벨 업무이며, 시스템 프로그래밍 지식을 요구한다. 학교에 시스템 프로그래밍 과목이 있다면 배울 수 있다.
  • 리눅스와 아주 밀접한 관련이 있다. 착각하지 말아야 할 것이, 개발환경은 윈도우즈로 해도 되고 리눅스로 해도 된다. 빌드작업이 용이하고 편한대로 하면 된다. 제조되는 장비와 시스템이 다르므로 크로스 컴파일이라는 개념을 숙지해두면 좋다. 대개 제조되는 장비에는 리눅스 커널 기반 OS가 올라간다.
    • 리눅스 커널은 오픈소스이므로 당신도 개발에 기여할 수 있다. 우리나라에서는 삼성이 리눅스 커널에 가장 많은 기여를 하고 있다.
  • 컴퓨터의 역사, 오픈소스, 컴퓨터 구조, 운영체제, 고급 C언어, 시스템 프로그래밍, 컴파일러, OS같은 컴퓨터과학 지식을 이곳은 필수적으로 알아야한다. 이 업계의 비전공자 취업이 어려운 이유라고 생각한다.
  • 제조하는 장비나 반도체에 대한 지식이 필수적이다. 예를 들어, 주어지는 하드웨어와 반도체에 대해 잘 알아야하고, 가전이면 기계에 대한 이해를, 휴대전화면 각종 센서와 드라이버 지식을, 네트워크장비면 네트워크 지식을, 자동차면 자동차 기술에 대한 지식을 요구한다.
  • C언어는 필수이며 심도있게 배워야한다. 더 나아가 파이썬과 셸 스크립트를 익히면 업무를 효율적으로 진행할 수 있고 C++, 러스트 등을 익히면 유용하다.
  • 제조업 회사에서 응용 어플리케이션 개발 등의 High level 개발을 직접 수행하는 경우도 있고 외주로 넘길 수 있다. 외주로 넘긴다고 나쁜 것이 아니다. 이걸 이해하려면 사업, 제조업의 개념이 도움이 될 수 있다. 애플 같은 클로즈드소스를 스스로 제작하는 회사를 제외하면 큰 규모의 회사들도 오픈소스를 이용해 어플리케이션을 개발한다.
  • 디지털 포렌식과 연관이 있다. C언어를 심도있게 공부하다 보면 보안 지식과 접목할 때가 있다. 디지털 포렌식에 흥미가 있다면 C언어를 깊게 공부해보자.
  • 각 그룹의 SI 계열사와 함께 공장의 MES(Manufacturing Execution System)이나 ERP 등을 담당하게 될 수도 있다.
  • 휴대폰, 네트워크 기기 제조사의 경우 보안 개발자의 자리도 있다. 해커 문서로.
  • 국내 제조업 계열 회사들은 당장 위에 예를 든 회사들을 보더라도 규모가 큰 편이라 입사지원시부터 직무를 나눠서 받는 경우가 많고 각 직무별로 업무는 천차만별이다. 본인이 원하는 업무가 무엇인지 확실히 알고 지원하는 전략이 필요하다. 특히 제조업체에 SW직무로 입사 할 경우 회사내에 SW직무의 TO는 매우 다양하게 분포되어있어 본인이 생각하는 SW업무와 이절적인 업무를 하는 곳에 배치 받게 될 수도 있으니 직무의 성격을 확실히 알고 지원 할 것!
  • 시스템 통합 (SI; System Integration) 기업내외에서 발생하는 각종 데이터들을 효율적으로 조회하고 가공할 수 있도록 시스템을 통합하는 업무를 한다. 대표적으로 삼성SDS, LG CNS, SK C&C 등의 재벌그룹 계열사가 있으며 대기업 계열 SI업체는 기본급이나 복지를 그룹 내 타기업 수준으로 보장한다. 반면 중소SI기업의 경우 대기업 SI의 하청 업체가 되는 경우가 많다. 업무와 환경에 대한 자세한 내용은 문서 참조.

  • B2C 기업
    • 네이버, 카카오, NHN, 배달의 민족, 라인, 토스 등 일반적인 소비자들을 위한 IT 서비스를 개발하는 기업을 의미한다. 보통 크게 보자면 안드로이드, iOS, 윈도우즈, 웹 어플리케이션 환경에서 유저 친화적인 IT서비스를 제공하는데 그 목적을 두고 있다.
    • 인터넷이나 뉴스 등 미디어에 비치는 개발자의 모습은 주로 이런 회사에 재직하는 개발자들의 모습이다. 코드의 기술적인 면에 관심이 많으며, 소프트웨어가 곧 회사이자 경쟁력인 만큼 요구하는 기술적 허들도 제조업, SI, 금융권 등에 비하면 높은 편이다.
    • 금전적 대우도 괜찮은 편이며, 복지도 탄탄한 편이다. 도서/강의 구입 지원, 컨퍼런스 참가 비용 지원, AWS 비용 지원 등 개발자의 성장에 도움이 되는 복지를 제공하는 경우가 많다. 뿐만 아니라 수평적, 자유로운 분위기 등은 많은 재직자가 다른 산업군으로 이직하는 것을 막고, 타 산업군의 개발자를 끌어들이는 강점 중 하나다.

  • 금융권
    • 국민은행, 신한은행, 카드사, 증권사 등 금융사의 IT 직무: 주로 금융권 전산망의 시스템 운영 및 차세대 전산망 개발시 원청 감독 역할을 맡는다. 금융권은 IT기술이 발전하면서 구식의 시스템을 버리고 새로운 시스템으로 옮겨가는 차세대 프로젝트를 시작하는 경우가 종종 있으며 이때 이런 차세대 프로젝트를 완수하기 위하여 2~3년의 단기간 동안 다수의 인력 투입이 필요하다. 하지만 다수의 개발인력을 평상시에도 유지하기에는 비용이 너무 많이 소모되니 이런 프로젝트 개발이 필요 할 때에만 적절한 인력 수급과 계획 수립을 위하여 SI업체에 시스템 개발을 의뢰한다. 계약이 체결되면 각 SI업체는 가능한 대로 인력을 수급하여 프로젝트에 투입하고 이때 프로젝트를 발주한 각 금융사는 자사 직원으로 협력사 인원들을 관리 감독하는 포지션이 되어버리는 경우가 많다. 구축이 완료되고 나면 협력업체와의 계약을 종료하고 자사직원으로만 시스템 운영을 하는 경우도 있고 협력업체와 SM계약을 유지하는 경우도 있는데 만약 후자라면 관리(management)쪽 업무 비중이 커질 가능성이 높다. 업무의 성격은 자사에 들어오고 나가는 돈의 흐름을 DB에 저장하고 관리하는 것이며 결국 핵심은 'A에서 B로 간 돈의 흐름'이므로 [14] 데이터, 송수신 하나하나가 실제 돈과 관련되어있어 서버에 1초라도 문제가 없어야 하고 안정성이 보장되어야 하므로 굉장히 보수적인 문화를 가진 편이다. 금융권에서 유일하게 자체 개발팀을 보유한 곳이 카카오. 카카오뱅크 같은 경우, 타 금융 회사들과 달리 50명 이상으로 이뤄진 전담 개발팀이 존재하고 위 문단의 B2C 기업과 같은 구조로 운영한다.

  • Quant Developer: 프로그램의 규모가 클수록 C++가 지배적이다. Red-black tree 자료구조를 구현할 수 있어야 한다. C++을 할 줄 알더라도 Python을 통한 데이터 분석 능력이 필요하다. 특히 C++로 무거운 프로그램을 빠르게 다루어야 할 경우 정적 다형성-동적 다형성의 차이, 가상 소멸자 등에 대한 이해가 요구된다.
  • 게임사 - 3N(Nexon, NCsoft, Netmarble) 및 블루홀, 스마일게이트 등. 보다 자세한 업무 내용은 게임 프로그래머 문서로.
  • 보안 및 솔루션 업체 - 안랩, 티맥스소프트, 한글과컴퓨터, 금융보안원 등.
  • 통신사 - SKT, KT, LG U+ 등. 통신사에서 직접 내재화하는 기술로는 클라우드 데이터베이스 관리, 자연 언어 처리 (음성 합성, 서버 개발) 등이 있다.
  • 공공기관 전산직, 전산직 공무원

7.2. 기업 형태 및 규모별 구분[편집]


1. 외국계 IT 대기업
실리콘밸리 기업 중 한국 내 개발자를 집중적으로 뽑는 곳은 페이스북, 구글, 아마존, MS 등이다. 보통 이 경우는 자사 한국인 개발자를 모교로 보내 후배를 알음알음 영입하게 하거나 관련 대회 수상자들에게 프로젝트나 일자리를 제안하는 식의 영입을 선호한다. 서울대 KAIST 등 국내 명문 공과대학 출신을 기준으로 2019년 초봉은 연봉 13만달러 선. 애초에 학교이름이나 학력은 고려대상이 아니며, 능력만 입증되었다면 학사도 많이 뽑아가고, 미졸업자도 인턴으로 마구마구 데려간다. 미국 비자를 받을 수 있는 자격이 있는가가 중요하다. 석사를 선호하는 것처럼 보인다면 석사가 이 부분에서 유리하기 때문이다.

다만 특별히 한국에 연구 개발 센터를 갖추지 않는 한, 대부분 외국계 기업의 한국 지사는 영업직이나 일반 사무직을 뽑는 비율이 개발자보다 훨씬 많은 경우가 많은 편이다.

2. 국내 IT 관련 대기업

3. 스타트업
스타트업의 절대 다수가 IT 분야이고, 그만큼 개발자의 수요가 많다 보니 채용공고도 자주 올라온다. 주로 신입보다는 3~4년 이상의 경력을 쌓은 시니어급이 선호된다. 스타트업은 사내 교육 시스템이 비교적 열악하고 자본적, 시간적 여유가 없어 주니어를 키울 리소스가 부족하기 때문이다. 설령 신입 개발자로 취업했다 하더라도, 실무에 당장 뛰어들 수 있는 수준의 역량을 갖추지 못했다면 상당한 어려움을 겪게 된다. 즉, 스타트업은 사회초년생보다는 일정 수준 이상의 경험을 갖고 새로운 도전을 하고자 하는 사람들에게 어울린다.

4. 해외취업
상술한 경우와 다르게 외국에 직접 지원서를 넣는 경우를 말한다. 대부분 막대한 비자 비용을 회사가 지출하려고 하지 않기 때문에 구글 같은 Tech Giant나, 혹은 실리콘밸리의 일부 모험적인 스타트업들만이 외국인을 직접 영입하는데 관심을 가질 수밖에 없고, 그리고 이런 기업들은 이미 수많은 엘리트들이 높은 연봉 같은 것에 이끌려 도전하므로 어려울 수밖에 없다. 반대로 잘 알려지지 않은 기업이나 중소기업일수록 오히려 비자 문제에 까다롭다.

7.3. 취업 국적별 구분[편집]


1. 일본/취업: 2019년 현재 일본의 구인난, IT기술자 우대와 맞물려 일본어까지 공부해놓으면 일본으로 취직을 하는경우 취업깡패라 할 수 있다. 2020년 스가 총리가 된 후 디지털 청 설립으로 행정의 디지털화로 인해 일거리가 늘어날 전망이다.

2. 미국/취업
미국에서 취업하기 위해 필요한 H-1B 비자에서 승인된 53만개 지원서 중 약 42만개가 컴퓨터 관련 일자리다. 외국인 유학생 중 수학+CS 비중이 약 12%인 것을 생각해보면, 다른 전공보다 7배 이상 확률이 높다고 간주해도 무방하다.

다만 이것도 만만하지 않다. 저 42만명 중 가장 많이 뽑는 기업들은 인도계 IT 하청업체들이다. 그래서 한국에서보다 더 많은 세후임금을 받을 수 있는 수는 42만명보다는 적다. 마이크로소프트, 구글, 아마존, 시스코, 오라클, 페이스북 등등 유명 대기업이 있지만, 2017년 한해 마이크로소프트에서는 3,300명에게 비자 스폰서를 해 줬다. 그렇다 보니 한국보다 세후 임금이 높을 만한 대기업들은 경쟁률이 높다. 구글 경쟁률은 약 600:1 정도다.

이 600:1의 경쟁률을 통과하면 상당한 경제적 보상이 있다. 2017년 S&P 500 조사에서 2위를 차지한 페이스북과 4위를 차지한 구글은 연봉 중간값이 $240K, $197K에 달했다. 페이스북(연봉 2위)과 구글은 대졸 초봉이 175K에 상당한다.[15] 설사 비자를 탈락했다 해도 이런 회사에서는 런던 등의 해외 지사로 발령낸 후 다시 H1B에 도전하게 기다려 준다.

3. 원격 근무
프리랜서 직업이나, 일부 IT관련 벤처 기업들의 채용 공고 중 Remote 근무가 있다. 원격 근무로 취업한다면 비자나 생활비 문제로부터 자유롭고, 한국과 무역 수교가 되지 않는 나라를 제외하고는 취업이 가능하다. 물론 북한이나 중동/아프리카의 막장 나라를 빼고는 그럴 일이 없다. 그리고 임금이 선진국 기준으로 지불된다면 한국이나 다른 후진국 사람들이라면 오히려 큰 돈을 벌 수 있는 기회가 된다. 다만 아무 사람이나 뽑았다가는 일을 제대로 할지 관리할 수 없을 것이고, 당연히 사내 교육 같은 것을 통해 일을 가르치기도 힘들 것이니, 신입은 원격 근무로 잘 뽑지 않는다. 처음부터 일을 할 수 있는 경력자에 프리랜서들 사이에서 좋은 평판을 가진 사람만 뽑을 것이기 때문에 취업이 쉽지 않다.

신입이라면 도메인이 자기와 완전히 겹치면서, 오픈 소스 이력이 화려할 경우에만 도전해볼 만할 것이지만, 알다시피 TO 자체가 좁고, 그 좁은 TO에서도 당연히 수많은 능력자들 중 편하게 일하고 싶은 사람들이 죄다 지원할 것은 감안해야 한다.

8. 중소기업 고르는 팁[편집]


※ 기술적 내용 외에는 중소기업/구인난, 블랙기업, 열정 페이 문서 참조.

해당 문단은 최소한의 대우는 받으며 다닐 수 있는 중소기업을 고르는 법이다.
중견기업 이상이나 혹은 우수한 스타트업 이상의 회사들은 어디를 가던 평균 이상의 대우를 받을수 있고, 인터넷을 통해 많은 정보를 얻을 수 있다. 그러므로 오퍼(연봉), 복지, 기업문화, 기술스택 등을 종합적으로 고려해 자신과 어울리는 회사를 고르면 된다.

  • 장비: 24인치 듀얼 모니터 이상 지급하는지 또는 노트북+24인치 모니터 지급하는지 체크하는 게 기본이다. 모니터 한 대로 개발하는 곳은 피해야 한다.
  • 경영진: 개발자 출신 사장에게 가야 한다. 단, SI 개발자 출신이라면 경영진 기피 대상 1호다. 그게 아니더라도 개발자를 중요하게 생각하는 사장에게 가야 한다. 그런 경우 듀얼 모니터나 맥북 정도는 기본적으로 지급할 것이다. 개발자 출신이 아니어서 소프트웨어에 대한 지식이 없는 사장 중에 개발자를 막 대하고, 코딩하는 기계로 생각하는 경향이 있는 사장들이 있다. 이 사장들은 상용 개발 툴, 듀얼 모니터 등의 필요성을 못 느낀다.
  • 개발환경: 지나친 구형 개발 환경을 쓰는 회사는 피하자. 문제는 면접통과하기 전에 이 점을 체크할 방법이 거의 없다. 개발 환경을 확인하겠다고 하면 산업스파이 취급을 받기 일쑤고, 면접 때 물어보면 이상한 놈으로 찍히는 정신나간 회사도 간혹 있다. 물론 오랫동안 이어져 온 회사라서 구형 코드베이스를 꽤 많이 가지고 있다면 좀 정상참작의 여지가 없진 않다만, 컴파일러IDE 같은 걸 상위 버전으로 바꾸면 얻어지는 성능 향상과 편의성 같은 건 무시하기 힘들다.
    • Spring(Java): JetBrains IntelliJ IDEA IDE를 사용하는 곳이 어느정도 대우를 해줄 확률이 높다. IntelliJ 기업용 라이센스가 꽤 비싸므로 우수한 IDE가 가져다주는 생산성을 인정하고 지원해주는 회사이기 때문. Java 버전의 경우 최소한 8 이상을 사용하여 개발해야 하는지 알아보자. 2021년 기준으로 Eclipse Mars 미만 및 Java 6을 쓰는 회사라면 반드시 피하자. 특히 전자정부표준프레임워크를 사용하는 회사는 십중팔구 하청이므로 반드시 피하도록 한다.
    • C++: 신규 개발을 하는데 아직도 C++98을 주력으로 쓰는 곳들이 있다. 아무리 재정난이어도 Visual Studio 6.0을 쓰거나 하면 혁신할 생각이 전혀 없다고 봐도 좋다. 개발자가 C++11 이상 문법을 아예 쓰지 않는다고 할 지라도 컴파일러의 자동 최적화에서 성능에 큰 차이가 난다.
    • SQL: 2017년에 SQL Server 2003을 쓰거나 SQL Standard Join이 안되는 Oracle을 쓰는 회사도 있다. 유지보수 위주 업무가 아니라면 새로 개발하는 곳에 SQL Server 2012 이하, Oracle 12c 미만, MySQL 7 미만, PostgreSQL 9 이하를 사용하는 회사는 피하자. 요즘 트렌드인 NoSQL 쓴다고 반드시 추천하는 회사는 아니다. 어떤 제품을 사용하고, 목적에 맞는지 확인해야 할 필요가 있다.
  • SI 회사 및 IT 보도방: 무조건, 반드시 피하자. 여러 번 강조해도 부족함이 없다. 중소SI는 대부분 대기업SI의 하청일을 한다. 하청이 원청보다 대우나 복지 및 연봉이 좋은 경우는 아예 없다. 완전히 없다.[16] 대기업SI 회사들이 공공사업에 참여하기 어려움에도 무너지지 않고 조 단위 매출을 내며 버티는 이유는 계열사들의 SI 수요가 끊이지 않기 때문인데 중소SI는 대기업만큼의 수요를 창출할 수 없는 편이며 결국 수요가 적은 산업은 몰락할 수밖에 없다. 되도록이면 자체 솔루션을 개발 및 판매하는 회사로 가자.
  • 플랫폼: 그러나 자체 솔루션이라 하더라도 넥사크로, 엑스플랫폼, 마이플랫폼, 웹스퀘어 등의 하청 개발을 필요로 하는 국산 소프트웨어를 쓰거나 만드는 곳이라면 피하자. 회사에게 있어서 수익성은 좋겠지만, 개발자에게 있어서 실력은 떨어진다.

9. 자기소개서[편집]


자소서는 구체적으로 써야 한다. IT, 소프트웨어에 능통하던 한 인서울 대학 출신 지원자는 LG전자 서류에서 떨어졌다. 인사 담당자는 구체성이 없었기 때문이라고 설명했다.
  • "프로그래밍에 관심이 생겼습니다. 관련 수업을 다양하게 듣고..." (탈락 자소서) → "‘모바일 어플 개발자’가 되기 위해 학부 시절부터 3년간 안드로이드, iOS, Java, C 같은 프로그래밍 언어를 공부했습니다. " (인사 담당자가 제시한 예시)
  • "관련 수업을 다양하게 듣고 애플리케이션도 만들어봤습니다. 소프트웨어 관련 경진대회도 출전해 수상했습니다. LG전자의 일원이 될 자격을 갖췄다고 자부합니다.” (탈락 자소서) → "해당 언어를 구체적으로 사용하기 위해 6개월간 같은 학부팀 5명과 팀을 짜 00모바일 어플을 개발했습니다. 저는 5명 가운데 00업무를 맡았습니다. 가장 어려웠던 부분은 00가 있었습니다. 이걸 극복하기 위해 00을 했습니다. 그 결과 어플을 개발해 교내 소프트웨어 대회에서 우수상을 탔습니다" (인사 담당자가 제시한 예시)

다만 해외취업의 경우 자기소개서 제출 자체가 없을 수 있다. 커버 레터에 담아 넣거나, 혹은 일부 기업들이 지원 동기 등에 대해 장문의 글을 쓸 수 있는 양식이 없으면, 이력서 하나에만 모든 이력을 다 구겨 넣어야 한다. 커버레터든 이력서든 한장을 넘기면 "크게" 감점당하는 경우가 많다. 그래서 어지간한 학부 졸업생들은 이루어낸 것이 없다는 점이 발목을 잡는다. 미국 회사에는 적당히 포부 있고 예의바른 신입사원을 키운다는 개념 자체가 없고, 이미 수많은 국가에서 자기 나라로 건너오려는 고급 인재들이 넘쳐나기 때문에 그럴 필요조차 없다. 자신의 경쟁력을 확인하려면 해외 유명 대학에 재학하면서 개발 관련 커뮤니티에서 활발히 활동하는 비슷한 연령의 외국인 취업준비생들과 이력을 비교해 볼 필요가 있다.

경력직으로 지원하는 사람이라면 학창 시절에 관한 자소서는 필요 없고, 이전 직장들에서 수행했던 프로젝트와 스킬셋, 트러블슈팅 경험, GitHub 또는 블로그 활동 등을 간략하게 요약해서 제출하면 된다. 대기업의 경우 보통 자체적인 이력서 템플릿이 주어지며 자유양식 이력서를 요구할 경우 Notion을 쓰면 좋다.

10. 코딩 테스트[편집]


코딩 테스트는 온라인 혹은 오프라인에서 컴퓨터로 직접 문제를 푸는 것을 의미한다.

2000년대 후반까지만 해도 국내 기업에서는 거의 코딩 테스트가 없었다. 그러나 2010년대 들어서 대부분의 SW직무 및 기업은 인적성을 코딩테스트로 대체하는 곳이 많다. 6번 취업대상 문단에서 언급된 기업 대부분 역시 인적성 대신 코딩테스트로 그 전형을 대신한다. 코딩테스트를 통과하면 면접을 보며 면접시 자신이 코딩테스트 때 푼 문제의 코드를 중심으로 면접을 진행하는 편이다. 물론 코딩테스트 외에 자소서의 내용도 추가적으로 물어 본다.

해시, BFS, DFS, 힙, 완전탐색, 동적 계획법 등으로 해결하는 문제가 주로 출제되는 편이다. C++에서는 vector 등의 STL을 이용해야 한다.

코딩테스트를 준비하기 위해서 SW전공자들은 주로 백준 혹은 프로그래머스 등의 알고리즘 문제 사이트에서 준비하는 편이며 각 기업의 코딩테스트 이후 기출문제도 곧바로 유출되는 편.[17] 좀 더 다양한 문제를 풀어보고 싶다면 HackerRank, LeetCode 등의 해외 사이트를 이용하는 것도 좋다.

삼성전자 SW직무는 그룹사 전체에 적용되는 인적성인 GSAT를 시행하지 않고 오프라인 코딩테스트로 대체한다. IDE는 2018년 하반기 기준 C/C++ 비주얼 스튜디오 익스프레스 2013, Java Eclipse Mars, 파이썬 PyCharm 2018.2.3이다.

10.1. 컴퓨터가 없는 경우[편집]


이런 경우 지필 시험이나 화이트보드 손 코딩 형태다. LG전자의 지필 코딩 시험은 C언어와 Java 중 고를 수 있다. 면접에서는 화이트보드 손 코딩으로 문제를 푼다. 2016년 LG전자는 ‘묵찌빠 게임', ‘한국 동전으로 1,210원의 거스름돈을 주려고 할 때 가장 적은 수의 동전으로 주는 방법'을 예시 문제로 들었다.

구글 같은 경우도 참고 영상처럼 공식 홍보 영상에 손코딩을 한다. 손코딩 인터뷰의 경우, 구현 자체보다 "어떤 식으로 문제에 접근하는가"가 주요 평가 대상이다. 이러한 손코딩 테스트는 시간이 촉박한 편이므로 문제를 보자마자 솔루션을 떠올릴 수 있을 정도가 되어야 한다.


10.2. 과제 [편집]


어떤 회사는 특정 요구조건의 앱을 며칠 안에 완성해서 오라는 종류의 과제로 코딩 테스트를 대신하기도 한다. 프론트엔드 쪽에서 자주 보이는 경향이 있다. 알고리즘보다 실제 구현 능력을 좀 더 잘 볼 수 있지만, 과제 규모가 커질 수 없는 만큼, 큰 스케일의 코드를 작성하는 능력은 볼 수 없다는 단점이 있다.

11. 경력직[편집]


그 동안의 경력에 따라 결정된다. 경력이 훌륭하다면 학교, 학과가 어디인지는 거의 관심을 갖지 않는다.

다만 소프트웨어와 무관한 분야에서 일한 경력만 가지고 업종을 바꾸는 경우라면, 비전공자가 아닌 전공자들도 오래전에 학교에서 배운 것에 자신이 없기 때문에 학원을 등록하는 경우가 대다수다.

12. 여담[편집]


  • ITBANK에서 연락이 오므로 주의한다.

  • 공공기관, 또는 SI 업계의 발주처에서는 프로그래밍과 관계없는 면접관이 개발자의 실력을 평가하는 경우가 있다. 이 경우 PPT의 아름다움, 또는 얼마나 거짓 약속을 부풀리는가가 더 높은 평가를 결정짓기도 한다. 절대로 개발 실력이나 실현 가능성에서 승부를 보려고 하면 안 된다.

  • 직장인 익명 커뮤니티의 한 개발자가 가짜사나이를 패러디한 가짜개발자라는 제목의 글을 써 관련 커뮤니티에서 화제가 되었다. 하도 많은 사람들이 "나도 코딩이나 한번 배워볼까?"라는 식으로 개발자를 단기간에 배워 진입할 수 있는 가성비 좋은 도피처 정도 만으로 생각하는걸 풍자했다고 한다.

[1] 유저 페이지에 최근 1년간의 활동을 표시하는데 매일 꾸준히 활동할수록 좋다.[2] 이 점은 군대 특기병 선정에서도 마찬가지이다. 컴퓨터가 쓰이지 않는 곳은 거의 없기 때문에 수요가 상당하다.[3] 물론 졸업장 자체가 유리한 부분은 아니지만, 학부에서 배우는 전공 지식은 면접에서 아주 중요하게 다뤄진다. 대학 졸업 자체로 메리트가 생기는 것은 아니지만, 학부 과목을 진지하게 수강했다면 당연히 이들 기업에 취업하는 데 크게 긍정적으로 작용한다.[4] 예를 들어, 구글은 '검색 엔진 최적화'라는 단 하나의 문제를 역사상 누구보다도 잘 풀었기에 창업했고 IT업계에 제국을 세울 수 있었다. 반면 SI 업계처럼 일반화가 어려운 분야에서는 쉬운 문제 여러 개를 빨리 해내는 사람이 더 매출에 도움이 된다고 평가할 것이다.[5] 실제로 chatGPT의 경우, 백준 알고리즘의 골드급 문제까지는 무난하게 풀어내고, 프로그램도 쉽게 구현해낸다.[6] 애초에 깃허브 자체가 프로그래머들의 개발 코드, 방법론 오픈소스 플랫폼이다.[7] 특히, 자체적으로 디자인이 가능한 프로그래머의 수요는 극도로 높다![8] 관련 근거들: 2015년 2018년[9] 언어학과 학부 차원에서 다루는 커리큘럼은 순수 자연언어처리보다는 전산언어학에 가깝다.[10] 컴퓨터공학과조차 자연언어처리 등의 AI분야에서 활동하기 위해서는 대부분 석사 이상의 학력과 경험이 필요하다. 공대가 어려워보인다면 한국의 언어학과 연구실 차원에서 제대로 자연언어처리를 연구하는 곳은 2023년 기준에서 서울대의 신효필 교수의 연구실이 유일하다.[11] 자연어 처리에서 내로라하는 해외 명문대들도 극히 일부 경우를 제외하면 컴퓨터과학 교수들이 딥러닝등 인공지능 기반의 자연어 처리에 대해 연구한다.[12] 소프트웨어공학에서 '도메인'이란 알고리즘, 자료구조, 운영체제 등 어디서든 사용될 수 있는 기본 공통 지식을 가리킨다. 참고로 업계에서 비즈니스적인 의미로 사용하는 '도메인'이란 (세부 구현이 아닌) 업무 프로세스나 운영 등 보다 큰 틀의 지식을 뜻한다.[13] 코딩 테스트를 거쳐 컴퓨터공학도와 경쟁해서 입사한 뒤 전공 지식을 활용하는 경우도 있을 수 있으나, 전공별로 지원자격을 제한할 경우 서류 통과가 어렵다.[14] 이것이 금융의 정의 이기도 하다.[15] 근거 : base salary 112K, 구글 주식 25k~55K (per year), 싸이닝 보너스 10-60K[16] 이런 산업구조를 타파하기 위해 '공공SW사업 대기업참여제한'이라는 제도를 만들었으나 중소기업의 출혈경쟁으로 오히려 대기업이 수주했을 때보다 계약금액이나 조건이 더 안 좋아지면서 악순환이 이어지고 있다.[17] 출제문제는 비공개인 곳이 대부분이나 익명제보로 인하여 유출되는 듯하다.



파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 취업/문과 문서의 r955에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
취업/문과 문서의 r955 (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)




파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 취업/이과 문서의 r546에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
취업/이과 문서의 r546 (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)




파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 컴퓨터공학과 문서의 r463에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
컴퓨터공학과 문서의 r463 (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)




파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 산업기능요원/IT 문서의 r11에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
산업기능요원/IT 문서의 r11 (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)




파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 LG그룹/채용 문서의 r27에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
LG그룹/채용 문서의 r27 (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)




파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 해외취업 문서의 r492에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
해외취업 문서의 r492 (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)
문서의 r (이전 역사)



파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-19 06:26:38에 나무위키 취업/SW 문서에서 가져왔습니다.