[칼럼] 네카라쿠배당토 개발자가 되려면 42에서 어떤 취업전략을 취해야할까? 이너서클, CS, 포트폴리오, 기술스택

jujeon·2022년 6월 22일
13

ecole42

목록 보기
2/2
post-thumbnail

한국에서 우수한 개발자로 성장하여 좋은 회사에 가고싶다는 일념하에, 지금 몸담은 42서울에서 어떻게 공부해야하는지 많은 시간동안 고심하였습니다. 다양한 관점과, 경험, 가치관 등 다각도로 정보를 모아야 할 필요성을 느꼈습니다. 그렇기에 실례를 무릎쓰고 학장님, 상근/비상근 멘토님들, 카뎃분들, 대기업과 여러 스타트업에 취업하신 알럼나이분들, 프랑스 캠퍼스 카뎃분들을 찾아다니며 구체적인 틀을 완성시키고자 노력했습니다. 이 과정에서 본인의 경험 뿐만 아니라, 주변의 여러 스타트업 현직자로 근무하는 면접관 등의 경험까지 풀어내어주셔서 자세하게 쓸 수 있었습니다. 정답이라곤 말할 수 없지만, 저와 같은 고민을 하고계신 분들께 갈증을 해소할 수 있는 기회가 되었으면 좋겠습니다.

이전 글에서 42가 어떤 교육과정인지, 어떤 철학을 가지고 교육생들을 가르치는지, 42가 가지는 위상과 아직 과도기인 42서울의 현실적인 전략에 대한 필요성까지 모두 알아보았습니다. 그렇다면 이번 글에서는 이어서 현실적인 취업전략에 대한 이야기를 마저 해보겠습니다. 지난 글에서의 맥락이 이어지므로 아래의 링크의 칼럼글을 참조하시길 바랍니다.

[칼럼] 42 서울이란 무엇일까? 프랑스와 서울캠퍼스의 차이점, IT혁신교육, 부트캠프, 에콜 42의 위상, PBL, 동료학습

전편 요약

  • 에콜 42는 프랑스 엘리트교육기관 그랑제꼴수준의 교육을 많은 이들에게 무상으로 동일하게 제공하는 것이며, 학생들의 아웃풋은 최고 소프트웨어 공과대학의 주니어 개발자와 연봉수준이 같다.
  • 원래 에콜 42는 평균 3년이 소요되는 학습시간이 필요하다.
  • 평균적으로 아우터서클 10레벨 후반부터 취업으로 수료한다.
  • 42의 아주 높은 평판 덕에 이너서클 정도만 수료하고 취업하는 경우도 많지만, 42서울은 아직 과도기이기 때문에 추가적인 경쟁력 확보가 필요하다.
  • 42 서울캠퍼스는 기업들도 교육생들도 1-2년의 비교적 짧은 기간을 기대하며 부트캠프로서 인식한다. 현실적으로 그 기간동안에는 이너서클정도밖에 수료하지 못한다.

1. 개발자가 부족하지만, 신입을 뽑지 않는다.



개발자 인력난이라는데 왜 취업은 안될까?

지금 대한민국은 개발자가 없어서 못 뽑습니다. 거대 기업들간에는 개발자 쟁탈전이 벌어지고 있고, 이 때문에 개발자 몸값은 천정부지로 치솟았습니다. 그런데 신입을 뽑질 않습니다. 이게 무슨 아이러니한 상황일까요. 물론, 여기엔 학생때의 자세를 버리지 못하는 태도문제도 한 몫 합니다.

실제로 채용프로세스에서 서류전형을 합격하는 사람들이 100명중 6-7명 수준이고, 그 중에서도 기술면접을 합격하는 사람이 1명 될까말까하다는 말을 들을 수 있었습니다. 그만큼 뽑을 사람이 없습니다. 이러니 개발자가 모자라다는 소리가 계속 나오는 것입니다. 그런데 뽑을만한 사람이라는 건 어느 수준을 갖춘 지원자를 말하는 걸까요?

1) 결론은, 무엇을 지표로 보든 개발실력이 뛰어난 사람을 원한다.

네이버, 카카오, 라인 등의 IT대기업이든, 당근마켓, 토스 등의 데카콘, 유니콘 등의 스타트업이든 뽑고자 하는 사람은 같습니다. 개발실력이 좋은사람을 뽑고싶어 합니다. 얼핏 들으면 너무도 당연한 말처럼 들립니다. 하지만 이것이 핵심임을 잊지 않으셔야합니다. 그저 개발 공부를 강의 듣듯이 시험에 합격하려고 준비한 사람을 원치 않습니다. 그런 사람을 찾기 위해 기업들마다 저마다의 기준을 가지고 선발을 합니다. 그 기준이라는 것은 무엇일까요?

정확한 취업전략도출을 위해서 실제 현업에 계신 분들을 만나서 물어봤습니다. 대기업에 취업한 카뎃분과 유니콘 등의 스타트업에 취업한 카뎃분들과 이야기 나눴던걸 종합해보겠습니다. 결론적으로 이야기하면 “대기업은 상대적으로 뽑아서 키우려고 한다.” 반면 “스타트업들은 당장 데려다 실무를 할 수 있는 사람을 원한다.”로 이야기할 수 있습니다.

(1) 대기업(네이버, 카카오, 라인)과 스타트업(배달의 민족, 당근마켓, 토스 등)의 준비전략은 방향이 다르다.

2022 카카오 블라인드 채용 후기 - 2

2021 하반기 네이버 신입공채 면접 후기 및 합격 후기

대기업들은 싹수가 보이는 우수한 인재들을 뽑아다가 키우려고 합니다. 때문에 알고리즘테스트 - 기술면접을 보면서 CS(컴퓨터사이언스 지식)을 위주로 봅니다. 정말 깊게 봅니다. 오죽하면 포트폴리오 없이도, CS만 깊이 이해하고있다면 뽑힌다라는 말이 나오기도 합니다. 위의 북마크는 카카오, 네이버의 면접후기입니다. 이 것말고도 여러 후기를 찾아보면 “CS를 정말 깊이 요구한다”는 것을 알 수 있습니다.

반면, 스타트업들은 당장 실무에 투입할 수 있는 인재를 원합니다. 때문에 알고리즘 테스트 대신 과제전형을 두는 경우도 많고, 기술면접에선 포트폴리오 위주로 보는 경향이 두드러집니다. CS를 중요하게 생각하는 면접관을 만나더라도 대놓고 연관없는 CS 물어보지 않습니다. 자소서에 “나 운영체제 잘합니다”하고 써놓지 않는 이상말이죠.

출처 : 2021 신입 개발자 취업 회고록 https://tech-diary..com/39

2021 01~03 토스 공채 회고

취업하고 나서 몰아쓰는 취업일기 - 당근마켓

위는 스타트업들의 면접후기입니다. 주어지는 과제나, 클론코딩과 같은 수동적인 프로젝트대신 능동적인 프로젝트를 원합니다. 프로젝트를 하면서 사용자를 모아 서비스를 운영했던 경험, 그리고 그과정에서 발생하는 문제들을 해결했던 과정들을 보면서 ****이 과정에서 프로젝트 관련한 CS지식과 자신이 사용한 기술이 어떻게 내부에서 동작하는지 등을 주요하게 봅니다.

일부 현직자들은 현재 IT대기업에 취직하는 것보다 유니콘 스타트업에 취직하는 것이 더 난이도가 높다고 이야기합니다. CS도 중요하게 보면서 요구하는 기술역량이 높기 때문입니다. 애초에 신입이 그만큼의 역량을 준비하기 쉽지 않고 결국 이는 경력직을 요구하는 것임을 알 수 있습니다.

정리해보면, IT대기업은 밑도끝도없이 전범위에서 CS지식을 물어보는 경우가 많고, 스타트업들은 포트폴리오에 사용된 CS지식과 사용된 기술이해를 주요하게 보기 때문에 취업준비전략의 방향이 조금 달라집니다.

2. 42서울에서는 어떻게 준비해야 하나?


이전 글에서 언급했듯이 프랑스의 사례처럼 42에 대한 기업들의 인식이 높아지고, 취업시장의 기류가 완성형 인재에서부터 42스러운 인재로 바뀌기 전까지는 카뎃들은 기업에 맞춘 현실적이고 추가적인 취업전략을 취해야합니다.

효율적인 준비를 위해서 노선을 먼저 정해야 합니다. 위에서 봤듯이 대기업과 스타트업들은 준비방향이 조금 다릅니다. 물론 둘 모두를 준비할 수는 있지만, 그렇다면 좀 더 많은 시간이 필요할 것입니다.

42의 이너서클 커리큘럼은 과제를 던져주고 카뎃이 과제 구현에 필요한 지식을 스스로 판별하고 학습하여 수행하게 만듭니다. 여기서 지식의 깊이는 정해지지 않습니다. 자신이 필요하다고 느끼는 선까지 학습하면 됩니다. 과제 통과를 위한 피어리뷰(동료평가)에서는 채점기준표가 존재합니다만, 통과를 위한 최소조건만 나열되어 있습니다. “그 이상은 각자 필요에 따라 알아서” 인 것이죠. 필자의 주관적인 생각이지만 이것또한 42에서 설계한 의도입니다. “과제 구현에 필요한 지식을 어느 수준까지 필요한지 스스로 정하라는 의미”인거죠.

42의 의도에 따라 목표하고자 하는 수준에 맞춰서 학습을 진행하면 됩니다. 만약 대기업을 목표로 CS를 학습하고자 한다면, 과제를 수행할때 필요한 개념들을 책이나, 강의 등 정제된 지식을 통해서 얻는 것도 중요합니다. 또한 과제를 통과하는 것이 중요한 게 아니라, 동료학습으로 잘 알고 있는 사람에게 배우는 것이 중요합니다.

실제로 에콜 42의 파리 학생들을 만나 물어봤을때 몇몇은 실제 현직 프로들이 사용하는 용어들을 잘 사용하지 못하는 것을 볼 수 있습니다. 이는 마이크로소프트, 페이스북과 같은 대기업의 기술면접에서 학생이 이 분야를 잘 모르는 듯한 인상을 주게 됩니다. 그러므로 책과 강의 등을 가지고 필요한 부분을 학습해야 합니다.

1) 네이버, 카카오, 라인 등 IT대기업을 준비하고 싶다면

여기서도 공개채용이냐, 수시채용이냐에 따라 준비방향이 다릅니다. 아무래도 수시채용같은 경우 스타트업들처럼 포트폴리오를 중심으로 준비하는 편이 성과가 더 좋습니다. 또 그 팀에서 사용하는 기술스택이랑 어느정도 맞아야 하는 것이 있어서 공개채용부다 수시채용이 어렵습니다.

공개채용을 준비한다고하면, 알고리즘테스트를 준비하는 것과 동시에 또 직무를 고려해야합니다. 사실 웹서비스의 경우에 FE(프론트엔드), BE(백엔드)를 나누긴 하지만 FE에서도 BE를, BE에서도 FE를 알긴 알아야합니다. FE는 html, css, js, react 정도, BE는 java spring이 필수라고 보면 됩니다. 게임관련 직무라면 C++을 준비하면 됩니다.

그러나 JD(job description)에 기재된 기술 스택에 너무 신경쓰지 않아도 됩니다. 물론 회사마다 다르긴 하지만 대게 신입한테 딱 맞춰서 요구하지 않습니다. 사실 하나 잘하면 다른 것도 금방 배우기 때문에 “나는 vue.js로 프론트를 햇는데 react가 인기네 어쩌지...”하는 걱정은 하지 않으셔도 됩니다. 특히 추천하는 방식은 예로들어 프론트라고 치면 처음에 react를 쓰지 않고 js로만 dom 다뤄서 하는 것도 좋다 봅니다. 그리고 규모가 커지면 js로는 관리할 수 없으니 한번 갈아 엎는 거죠. 어차피 github에 올리면 기록으로 남으니까요.

사실 언어가 진짜 중요한게 아니라서 그냥 맘에 드는거 하나 잡아서 한다고 해도 상관이 없습니다. 실예로, 어떤 it대기업 어느부서에서는 자바, 스프링, 코틀린 100%을 쓰는데 C++만 하던 교육생이 합격한 경우도 있습니다.

대기업을 희망한다면 CS를 좀 많이 파야하는 것이 맞습니다. 그리고 딱히 포트폴리오가 없어도 상관이 없습니다. 또 CS를 깊이라는 것이 사실 다 깊게 판다면 좋지만, 내가 진짜 이거에 관심있다 하는걸 어필하기 위해서 하나만 쭉 파는 것도 좋습니다. 운영체제를 아예 깊게파는게 효과가 나쁘지 않거든요. 만약에 포트폴리오가 없다는 전제하에, 아래의 깃허브에 있는 질문들을 대충 대답할 수 있을 정도는 되어야 합니다.

GitHub - JaeYeopHan/Interview_Question_for_Beginner: Technical-Interview guidelines written for those who started studying programming. I wish you all the best.

거기다가 면접에서 자기가 잘하는 쪽으로 끌고가셔도 됩니다. 예를 들어 인터럽트가 뭐냐고 물었을때 내가 거길 정말 많이 팠다면 다음과 같이 설명할 수 있습니다.

“메모리 구조 그린 다음에 거기에 커널 영역 유저영역을 나누고 커널 영역안에 프로세스마다 할당되는 스택 그리고 거기에 데이터 푸쉬한 다음 런큐 대기에 넣고 작업 처리하고, 런큐에서 다시 꺼내서 넣고, 런큐에서 꺼내는 건 다음 프로세스가 넣어서 꺼내주는 거고, 인터럽트를 인식할 수 있는 건 CPU CORE에 타임 클락이 1초에 100번(정확하지 않습니다.) 걸려있어서 알 수 있는거고” 등등

사실 자기가 얼마나 아냐에 따라 질문 하나에 대답시간이 달라지는데 시간은 한정되어있으니, 자신이 자신있는 분야로 끌고가는 것도 하나의 유효한 전략입니다.

🤔 42의 이너서클은 대기업보다는 스타트업들에 최적화된 커리큘럼인가?!

사실 이너서클은 오히려 제대로 한다면 CS지식이랑 관련있는 것들이 많아서 대기업에 걸맞는 커리큘럼이라고 할 수 있습니다. 예를 들어 필로소퍼(철학자)가 가장 대표적인 thread관련 과제인데 사실 os 따라 구현이 다르긴 하지만 리눅스 OS라고 치고 얘기해보겠습니다.

“thread랑 process가 실제 커널단에서 무슨 차이가 있을까”, “멀티 프로세스 환경에서는 프로세스 여러 개가 시분할로 돌아간다고 하는데 그게 진짜 원리가 무엇일까?”, “예를 들어서 libasm(지금은 사라졌는지 모르겠는데)에서 사실 컴퓨터는 결국 어셈블리로 돌아가는 것으로 보면 되니까 add, jmp 이런 단순한 명령으로 이루어지는 건데 그걸 컴퓨터는 어떻게 구현한 걸까” 이런 생각을 하면 공부가 알아서 따라서 됩니다.

이너서클엔 자료구조, 운영체제 다 포함되어 있고, ft_service로 데브옵스도 있습니다. 네트워크, 데이터베이스는 좀 부족한거 같아서 부족한 부분은 따로 채우셔야 합니다. 만약에 프로젝트를 하신다면 db 무엇을 골랐는지 질문으로 들어올테니 어떤게 맞는지 공부할 수 밖에 없을거 같습니다.

위와 같은 방식으로 이너서클을 공부해야 의미가 있다고 봅니다. 그냥 과제를 다 통과했다고 4년제 학부수준과 같다고 생각하는 것은 무리가 있다고 생각합니다. 차라리 좀더 자신에게 맞는 부트캠프를 선택하는 것이 더 나은 선택일 수도 있습니다.

또한 이것은 마인드 차이라고 볼 수도 있습니다. 요즘같이 워낙 고도로 추상화된 경우는 사실 취업하고 나서 그런 CS지식을 실제로 보기가 드물긴 합니다. 그래서 일단 자기가 필요한 고수준 지식들부터 배워도 일은 충분히 합니다. 다만, 이제 배울때 속도의 차이가 생긴다고 봅니다. 기본이 튼튼하면 컴퓨터자체에 대한 직관이 달라지는데, 이 것이 없으면 간단한 지식조차 다 검색해봐야하니까 시간이 오래걸릴 수 밖에 없거든요. 개인적으로는 이게 맞다고 생각하는데 이건 개발자들마다 생각이 다르긴 합니다.

🤔 이너서클을 따라가면서 CS를 공부하는 방법과, 아래 이미지와 같이 많이들 추천하는 책이랑 강의로 정석코스대로 공부하는 방법 중 어느 것이 더 좋을까?

출처 : cs지식을 어떻게 쌓는거임? - 디시인사이드 Github갤러리 https://gall.dcinside.com/mgallery/board/view/?id=github&no=9485

위 글 처럼 책으로 하는 방법이 사실 정석인 건 맞는데 42에서도 과제를 두는 이유를 이렇게 생각합니다 그냥 밑도 끝도 없이 혼자서 책으로 공부한다는게 정말 어려운일이잖아요. 그래서 학교에서 공부한다고 해도 잘 안하니까 교수님이 매번 과제를 많이 내주고서라도 시키는 거예요.

만약 의지가 정말 강철이다 하면, 후자의 방법이 훨씬 효율적이긴 하죠. 하지만, 그 방법이 너무 힘드니까 차라리 42 과제하면서 어느정도 싹 보고나서 궁금한거 찾아보는 식으로 하던지, 아니면 42 과제 어느정도 해서 공부도 어느정도 되었다고 할때 그때 가서 책을 보면 이제 아는게 보이니까 좀 더 재미있게 볼 수 있긴 하거든요.

사실 세상에 완벽한게 없긴하죠. 이런 시스템은 보통 많은 사람을 커버하는 것이 목적인데, 의지가 진짜 넘치는 사람에겐 비효율적이겠지만, 그렇지 않은 쪽은 또 챙길 수 있고 하니까 진짜 케바케라는 말이 딱 맞는 것 같습니다.

🤔 IT대기업에 이미 취직한 현직자 입장에서 42서울이 도움이 되었을까?

현직자 분은 42 서울이 도움이 많이 되었던거 같다며 다음과 같은 세가지 이유를 들었습니다.
1️⃣ 동기부여 (과제들 따라가면서 하면 자연스레 공부가 돼서),
2️⃣ 지식 공유 (평가하면서 자연스럽게 자기가 공부한 거 정리해서 말할 수 있음),
3️⃣ 지원금...?

🤔 그럼 이너서클을 제대로 공부하겠다면 시간이 많이 걸릴 것 같은데, 과제마다 주어지는 블랙홀이 충분치 않을까?

그렇긴 합니다만, 사실 그게 원래 에콜 42의 규칙대로 한 주에 순수 공부시간 60시간씩 한다면 불가능한 건 아니라고 생각합니다. 또 이게 한 번 맛들려버리면 누가 말려도 계속 궁금해서 보게 되버려서 할만하다고 생각합니다.

🤔 그럼 대기업 준비 전략으로 정리해보면 CS(이너서클 + 알파) + 알고리즘테스트로 준비해야한다로 정리할 수 있습니다. 그런데 자소서에는 여러가지 활동들을 보는데, 대외활동이라던지 학부 활동이라던지 학점이라던지 무엇으로 채워야할까?

현직자분의 경험을 토대로 얘기하자면, 기업은 아무래도 학력 컷이 있어서 대졸이 기본이고, 외부활동은 42밖에 하지 않았고, 교내활동은 학부연구생 용돈벌이로 좀 하고 있긴 했다, 학점은 중요하지 않고, OS가 정말 관심이 많아서 면접때 관련 OS 질문 나올때 대답을 최대한 자세히 하고 거기서 꼬리질문 들어오는 것으로 시간을 다 쓰셨다고 합니다.

🤔 공부를 진짜 많이했다는 것은 어느정도 수준을 이야기 하는 걸까?

일단, 커널 코드 자주 까보고, 제가 생각하기에 열심히 했다 하려면 어셈블리 기준으로 생각할 수 있어야 한다고 생각합니다. 예를들어, 멀티프로세스를 이야기하는데 프로세스 여러개가 컨텍스트 스위치를 하는데 스택에 컨텍스트 푸쉬를 하고, 다시 올때 다시 가져오고 정도로 설명하는 수준이 아닙니다.

일정시간이 지나면 인터럽트 걸리고 인터럽트 처리 과정에서 자기꺼 스택에 넣고 자기는 sleep 상태로 들어가고, 다음 프로세스가 런큐에서 깨어나면 그 뒤 후처리해서 데이터 가져오고 그냥 프로세스 클락 하나에 무슨 일 하는지 설명할 수 있을 정도면 좋을 것 같습니다.

사실 선택과 집중을 잘 하면 스타트업에 지원한다고 할때, 서류를 통과하는게 문제긴 한데 일단 통과하면 포트폴리오, 프로젝트도 좋지만 기본기가 더 중요하다고 자기 가치관을 잘피력하시면 cs쪽으로도 풀어나갈 수 있다고 합니다.

그리고 또 진리의 면바면(면접 by 면접)이라 대기업 면접을 봐도 포트폴리오가 더 중요하다는 사람이 있고, 당근마켓을 가도 cs가 더 중요하다는 사람도 있고, 학장님 말마따나 운칠기삼입니다.

2) 배달의민족, 당근마켓, 토스 등 스타트업을 준비하고 싶다면

스타트업을 준비한다고 했을때, 학력은 잘 보지 않습니다. 그리고 포트폴리오와 연관되지 않은 CS는 잘 물어보지도 않는다고 합니다. 즉, 무턱대고 CS 전범위를 공부하는 것 보다 포트폴리오에 연관된 CS와 기술에 집중해야합니다.

(1) 현실적인 관점에서 바라보는 중고신입 전략

유니콘을 준비하기 앞서서 최근 신입으로 배달의민족, 당근마켓, 토스 등 유니콘 스타트업에 들어오기는 정말 불가능에 가까워지고 있습니다. 인턴으로 뽑았다 하더라도 정규직으로 전환되는 인원이 많지 않습니다. 때문에 조금 돌아가더라도 차선책을 선택하는 방법이 현명하다 할 수 있겠습니다.

한때는 이 방법을 “눈을 낮추라"라는 말로 들려서 내키지 않았습니다. 하지만, 이는 다르게 생각해야합니다. “취업준비를 어느환경에서 준비를 하냐의 문제입니다.” 눈을 낮춰서 취업을 한 것이 아니라, 취업준비를 하면서, 경력도 쌓고, 실무에 사용된 기술스택, 포트폴리오도 쌓는 중고신입을 노리는 전략입니다.

출처 : **[투자 규모에 대하여 알아보자 (Seed, Series A,B,C,D) 시리즈 A, B, C,D 투자가 무엇인가?**https://kasper1030.tistory.com/42](https://kasper1030.tistory.com/42)

스타트업 투자규모 series b~d는 원하는 인재상이 사실 같다고 볼 수 있습니다. 대게의 유니콘 기업들이 여기 투자규모에 속합니다. 우선 회사를 선택할 때, 최소 pre-series a 이상의 투자규모를 가진 회사를 회사를 골라야합니다. 여기서 중요한건 최근 큰 투자를 받아서 성장하는 회사를 선택해야합니다. 투자를 받은지 오래되어 정체된 회사는 추천하지 않습니다. 또한 여기서 내가 가서 물어보며 배울 수 있는 사수가 있는지 여부를 체크해야합니다. 그렇지 않으면, 성장하지 못하므로 중고신입으로 이직하는 전략은 실패하게 됩니다.

유니콘 기업에 지원하지 말라는 의미가 아닙니다. 목표기업에 도달하는 최종기간으로 봤을때, 어느쪽이 더 빨리 효율적으로 도달할 수 있을지 생각해보라는 것입니다. 다만, 꼭 실무가 성장에 도움되는 방향이어야 합니다.

(2) 포트폴리오를 중심으로 평가한다.

포트폴리오가 부실하면 서류탈락시킨다는 말이 있습니다. 그러나 “포트폴리오는 많이 준비할 필요가 없습니다. 하나만 공들여서 준비한다면 충분합니다.” 과제와 같은 수동적인 프로젝트를 제외하고, 능동적인 프로젝트에서 “서비스를 운영해 사용자를 모으고, 거기서 필연적으로 발생하는 여러 문제들을 해결한 경험이 중요”합니다. 이건 많은 현직분들, 멘토님들에게서 공통적으로 들을 수 있는 이야기 입니다. 처음엔 프레임워크도 안써서 프로젝트를 해도 괜찮고, 규모가 커질때 분명 기존 구조에 문제가 있을것이고, 거기서 어떻게 발전시킬지, 리팩토링은 어떻게 했는지 등을 잘 얘기해주시면 됩니다.

웹에서 FE, BE로 사실 나누는것이 맞지는 않다고 생각합니다. BE같은 경우에 같은 BE라 하더라도 팀에 따라 사용하는 기술스택이 다릅니다. 이에 맞춰서 준비해야합니다.

FE직무로 예로 들면 최소한 이정도는 해야된다를 예를 들면 아래와 같습니다. series A, B의 스타트업에 취업하기 위한 최소요건 입니다. 유니콘에 가길 바란다면 수준은 더 올라가야합니다. 프론트엔드 개발부터 배포까지 프로젝트의 한 서클이기 때문에 아래를 다 알아야 하는 것입니다. 사실 제대로 포트폴리오를 준비했다면 모를 수 없습니다.
-html, css, javascript는 정말 잘해야 됩니다.
-typescript는 적당히 잘하면 좋습니다.
-SPA 프레임워크에 해당하는 react, vue, angular가 있는데 지원할 회사 스택에 맞는 기술 하나만 잘하면 됩니다. 대부분 react를 쓰고, 초기스타트업인 경우에 빨리 배울 수 있으니까 vue.js를 쓰기도 합니다. angular.js는 대기업 아니면 잘 쓰지 않습니다. react를 추천합니다.
-"styled-component, emotion, stitches 등 스타일링은 css in js 기술 중 하나 골라서 잘 다루시면 좋습니다. 아주 잘 다루실 줄 알아야합니다.
-번들러, 테스트는 어느정도 할줄 알면 됩니다.

출처 : 우아한인턴 공개채용 https://career.woowahan.com/recruitment/R2201116/detail?keyword=&category=jobGroupCodes%3ABA005001&jobCodes

출처 : **Frontend Developer (Internal Product) - 토스채용** https://toss.im/career/job-detail?job_id=4664502003

(3) 기술면접 : 포트폴리오에 사용된 CS와 기술이해가 중요하다.

기술면접에 들어가게 되면 포트폴리오를 중점으로 물어봅니다. 사실 포트폴리오가 괜찮으면 애초에 CS 잘물어보지도 않고 포트폴리오 질답하는걸로 시간이 다갑니다. 물론 포트폴리오 관련해서 질문과 답변을 할 때, CS랑 별개로 하기도 힘듭니다.

예를들어, FE라고 친다면 js로만 프로젝트를 했다고 했을때, 비동기 작업들을 처리했다고 하면, js에서 비동기 작업을 어떻게 처리하는지를 제대로 공부하고 적용했으면 대답을 못할 수가 없습니다. 포트폴리오를 열심히 준비한다면 정형화된 CS질문은 아니더라도 애초에 CS가 컴퓨터사이언스 지식이니까 코딩이랑 떨어뜨려놓는게 말이 안됩니다. 제가 miniRT과제를 하는데 트레이싱이 느려서 멀티스레드로 했을때, 멀티스레드가 뭔지도 모르는데 적용한거 자체가 말이 안되니까요.

신입을 뽑을때 회사가 원하는 인재를 쉽게 설명해드리면 예를 들어, React를 사용하는 직군이라면 “어떻게 짜는 것이 React스럽게 코드를 짜는 것인지 이해하고, 필요하면 리액트의 코드를 파헤쳐서 보는 것”을 깊이 이해하면서 코드를 짜려는 사람을 원하는 것입니다.

대기업을 준비할때처럼 CS공부하는건 모든 범위를 다 공부해야하는데, “포트폴리오를 잘 짠다면 거기에 적용된 CS지식만 잘 대답하면 됩니다.” 취업을 준비하는 입장에선 정말 꿀이죠.

(4) 이너서클만으로는 스타트업에서 원하는 역량이 부족하다.

스타트업 최적화 커리큘럼은 제가 본 것 중에서는 우아한테크코스가 최고입니다. 자바로 시작하고, 사실 기업에서는 효율적으로 돌아가는 것보다 일단 기획에 맞춰서 일정맞춰서 내는게 25000배 정도 중요합니다. 거기서 누가 와도 동작하게 하려면 우테코에서 하는 것처럼 최대한 깔끔하게 함수 하나에 15줄인가? 그런식으로 최대한 아키텍쳐적으로 잘 잡는게 더 빠릅니다. 기업 컴퓨터의 성능은 램 하나에 1200GB씩 박은걸 몇대씩 쓰니까 일단 돌아가는게 더 중요하거든요.

때문에, 42서울의 커리큘럼은 사실 스타트업을 준비한다고 했을때, 시간대비 효율이 떨어진다고 할 수 있습니다. 더욱이 1년동안 이너서클만 수료하고 사이드프로젝트들을 수행하지 않았다면, 기업의 입장에서 4개월짜리 부트캠프 수료생보다 못한 사람으로 인식되기도 합니다. 이 부분에서 우리는 아직 42서울의 과도기적인 시점인 상황과 더불어 아우터서클에서 취업을 준비하지 않고, 이너서클에서 취업을 준비할 때의 한계를 명확히 인지해야합니다.

이너서클의 커리큘럼을 따라 과제를 수행할 때도, 자신의 희망 직무에 따라서 과제에 따라 힘을 줄 과제와 뺄 과제를 구분하여 시간을 절약할 수 있어야 합니다. 절약한 시간에는 포트폴리오를 준비해야하니까요. FE로 준비한다고 했을때 이너서클의 후반부에 웹서버, 트렌센더스와 같은 과제를 제외하고 크게 도움이 되지 않습니다. BE에 관련되는 과제가 대부분입니다. 위에서 언급했던 것 처럼 애초에 면접에서 CS만 대놓고 물어보지를 않습니다.

3) 그렇다면 42 이너서클에서 우리의 준비전략을 정리해보면

여기까지 글을 읽었다면 취업전략은 크게 대기업(네이버, 카카오, 라인 등)과 스타트업(배달의민족, 당근마켓, 토스 등) 두가지 방향으로 갈래가 나뉜다는 것을 알 수 있습니다. 대기업 취업전략의 핵심은 CS 전범위를 정말 깊게 공부해야 한다는 점입니다. 스타트업 취업전략의 핵심은 포트폴리오를 중심으로 준비하되, 사용된 CS와 기술이해에 중점을 둬야한다는 점입니다.

자신이 대기업을 우선 목표로 한다면, 일단 자격요건은 4년제 대졸요건이 맞춰져야 하는 곳이 많이 있고, 그외에 알고리즘테스트, CS(컴퓨터사이언스지식)를 단단히 준비해야 할 것입니다. 따라서 이너서클을 학습할때 이미 충분한 CS지식이 없다면, 책과 강의 등을 필요한부분을 참조하면서 현업프로들의 용어를 구사할 수 있는 수준으로 정말 깊이 공부해야합니다.

반면에, 자신이 유니콘등의 스타트업을 우선 목표로 한다면, 우선 학력 요건은 따로 없고, 해당 기업에 맞는 기술스택을 준비하고, 자신만의 포트폴리오를 열심히 준비하셔야 합니다. 여기서 중요한 점은 포트폴리오에 사용된 CS와 기술을 깊이 이해해야합니다. 따라서 이너서클을 학습할때 자신의 직무와 관련되지 않은 과제들은 어떤 개념이 있다, 어떻게 돌아가는거다 정도로만 대강 익히고 넘어가셔도 무방하고, 여기서 아낀 시간들을 포트폴리오준비에 할애해야합니다.

자신은 아직 대기업, 스타트업 어디로 갈지 정하지 못했다 혹은 둘 다 목표로 준비하고 싶다면, 이너서클을 학습할때, 정말 깊이 공부하는 것은 물론, 알고리즘테스트와, 포트폴리오까지 준비하셔야 합니다. 목표 기업을한 방향만 준비하는 것 보다 시간이 더 많이 소요될 것입니다.

중고신입 전략또한 잘 활용해야 할 것입니다. 취업을 준비하는 기간을 잘 고려하여 학교에 남아 취업준비를 더 하는 것이 이득일지, 아니면 지금의 수준에서 합격할 수 있는 스타트업에 취업해 중고신입을 노리는 것이 이득인지 따져보아야 합니다.

3. 글을 마치며


42서울에서 어떻게 공부해야하는지 방향성에 대해서 오랜시간동안 고민해왔고, 많은 사람들을 찾아다니면서 구체적인 틀을 잡으려 노력했습니다. 42가 어떤 과정인지, 떠도는 소문처럼 과연 도움이 되지 않는지 도움이 되지 않는다면 왜 안되는지, 도움이 된다면 왜 도움이 되는지 구체적인 이유를 찾아다녔습니다.

유니콘을 포함한 스타트업을 준비하는 경우엔 포트폴리오를 중심으로 보고 요구하는 기술스택의 역량또한 높았습니다. 42는 기술스택을 교육시키지 않기 때문에 타 부트캠프에 비해 42가 도움이 되지 않는다는 소문이 나온 이유도 납득이 가게 되었습니다. 또한, 향간의 인식과 다르게 이너서클이 CS를 학습하기에 부실하지 않느냐는 의문은 실제로는 반대라는 사실도 발견하게 되었습니다. 더 나아가, 왜 42를 설계할때 아우터서클(고급과정)이전에 이너서클(CS)를 학습하게 해놓았는지, 그 이유는 빠르게 배울 수 있는 개발자의 기본 체력, 체급, 실력으로 이어지기 때문이라는 것을 알게되었습니다.

또 하나, 취업을 준비하는 관점에서 이너서클을 수행하며 각자 필요한 지식의 깊이를 목표기업에 따라 다르다는 결론을 도출하게 되었습니다. 추측하건데 그래서 피어리뷰(동료평가)에선 최소한의 기준인 채점표가 존재하며 그 이상은 알아서 필요한큼 논의하라는 42의 의도도 엿볼 수 있었습니다.

출처 : 에콜42, “상호평가”방식의 이해 https://42place.innovationacademy.kr/archives/5477

42서울에서는 동료평가이슈로 한동안 시끄러웠죠? 동료평가라는 단어때문에 본질이 혼동되는 것 같습니다. 프랑스에서는 peer-correction, peer-evaluation, peer-assessment, peer-review라 부릅니다. 점수를 매긴다는 의미에만 국한된 것이 아니라, 서로 논의하며 교정해주고, 리뷰하는 것에 더욱 중점을 두는 것 입니다. 어느 한 언론에서 동료평가라고 쓰기 시작한 후로 동료평가란 말로 통용되기 시작했다고 하네요. 이는 잘못된 표현이며, 피어리뷰라는 원 뜻으로 대체하는 것이 맞다고 생각합니다.

그리고 42에서 코드리뷰를 많이 경험할 수 있는 것은 좋은 점이라고 생각합니다. 현업에 와서 코드리뷰를 할 일이 많은데, 현직에 계신분들은 “이렇게 하시면 더 좋을 거 같아요“와 같은 독단적인 표현을 쓰지 않습니다. 대신 “이렇게 코드를 작성하면 이러이러한 문제가 발생하는걸로 아는데 혹시 이렇게 작성하신 이유가 있을까요?“라는 식으로 표현하는 매너를 이미 익히고 있습니다. 이런 것은 어디서 가르쳐주지 않기 때문에, 42의 피어리뷰(동료평가)는 정말 좋다고 생각됩니다.

핵심적으로 42서울의 교육생들 사이에서 아우터서클이 활성화 되지 않았고, 기업들의 평판 등 42서울의 과도기적인 상황에서, 현실적인 관점에서 취업을 준비해야 되기에 여기서 무엇이 부족한지, 무엇을 어떻게 보완해야하는지 방법을 찾으려 부단히 노력했습니다. 그와중에 개발자가 부족하지만, 신입을 뽑지 않으려하는 상황때문에 중고신입전략의 중요성도 이해할 수 있었습니다.

모든 사례들을 전부 찾아볼 순 없기에 이 글에 담긴 내용이 100% 정답이라곤 할 수 없습니다. 다만, 이런 방향으로는 준비해야한다는 이정표가 될 수 있는 글을 작성하려 노력했다는 점을 알아주셨으면 좋겠습니다.

profile
개발과 학습방법에 대한 고민과 노력의 흔적들이 채워지는 블로그 입니다!

4개의 댓글

comment-user-thumbnail
2022년 9월 8일

42서울 관련 3개의 글을 전부 읽어보았는데, 댓글을 안 다는게 오히려 실례가 될만한 엄청난 글들입니다. 감사합니다. 너무 잘 읽었습니다.

1개의 답글
comment-user-thumbnail
2022년 12월 30일

42서울을 흘러가는대로 수료를 했었을때의 막막함이 있었고 항상 42서울은 어떤 교육이고 현실적인 방안은 무엇인가 생각을 주로 했었는데 엄청난 수고와 그에 훌륭한 통찰로 너무 좋은글을 써주셔서 감사합니다.

1개의 답글