velog에서 처음으로 인사드리게 되었습니다!
저는 앞으로 신입 개발자분들이 고민하실만한 “개발자 취업, 면접, 이력서, 포트폴리오, 스타트업, 백엔드 필수 개념, 알고리즘” 등등 다양한 이야기를 해보고자 합니다.
궁금하신 점이나 영상으로 찍어줬으면 하는 주제가 있다면 댓글로 남겨주세요!
요즘 IT 직종, 개발자들에 대해 되게 관심이 많아지고 있습니다.
그래서 많은 분들이 개발을 공부해보고, 취업을 준비하시는 것 같습니다.
저도 개발자로서 취업하기 위해 다양하게 준비를 했었던 만큼, 개발자로서 취업하기 위해 준비해야 하는 것들에 대해서 설명을 드려보고자 합니다!
그런데 본격적으로 설명을 드리기 전에 앞서서, 저는 여러분과 같은 삶을 살지 않았습니다. 또한 대부분의 개발자들 모두 다른 배경과 방법으로 취직을 하셨을 거라고 생각합니다. 따라서 이 글을 정답지로 읽지 말아주시고, 참고서 정도로만 봐주셨으면 좋겠습니다.
제가 생각하기에 IT 회사에 개발자로서 취업하려면 다음과 같은 3가지 능력이 필요합니다.
1. 개발에 대한 지식
2. 개발에 대한 경력
3. 개발에 대한 최소 실력
회사측에서는 지원자의 이 3가지를 확인하고 싶어합니다. 회사는 이 능력들을 다음과 같은 방법으로 측정합니다.
1. 학습한 기록
2. 프로젝트를 진행한 경력
3. 코딩 테스트 또는 코딩 과제
그럼 이 3가지를 준비하고, 진행하고, 연습하면 됩니다! 그 방법들은 정말 다양합니다. 학습할 자료가 넘쳐나는 현재 조금만 검색해도 많은 것을 얻을 수 있습니다. 다만, 어떤 계단을 먼저 밟아 가야하는지 모릅니다. 따라서 저는 조금 먼저 가 본 사람으로서 그 방법을 추천해드리려고 합니다.
개발도 분야가 정말 다양합니다.
백엔드, 프론트엔드, 웹, 안드, iOS, DevOps, 데이터 엔지니어링, 머신러닝, 블록체인 …
그러면 이 중 내가 배워야 하는 게 무엇이고 뭘 하고 싶은지 알 수 있을까요?
아직 감이 안 오신다면, 공통적으로 사용되는 것 먼저 익혀보시는 게 좋습니다. 나중에 여러 경험들을 겪어본 뒤 선택할 수 있도록요.
따라서 개발에 대한 기초적인 소양을 기르기 위해서는 프로그래밍 언어를 학습해야 합니다. 학교나 학원 등에서 배우셔도 좋고, 책이나 강의로 학습하셔도 됩니다. C언어나 파이썬 어떤 언어든지 기본적인 프로그래밍을 할 수 있도록 학습하시기 바랍니다. 그리고 하나의 프레임워크를 이용해서 빠르게 결과물을 만들 수 있는 걸 따라하며 학습해보세요. 웹도 좋고, 앱도 좋습니다. 그 방법들은 아래 사이트에서 찾아가시면 됩니다.
이 중에서 공부하다보면 더 깊게 배워보고 싶은 프레임워크, 언어들이 있을텐테 이제 책을 사서 공부해봅시다. 언어 관련 책도, 프레임워크 관련된 책도 좋습니다. 공부하다보면, 객체지향과 데이터구조, 알고리즘 등 부족한 점이 느껴지면 다음과 같은 방법으로 학습하세요.
이제 어느정도 개발을 학습했다! 하면, 이제 경험하려 프로젝트를 경험해보러 가봅시다. 물론 개발자 로드맵을 참고해서 더 내공을 쌓으시는 것도 좋습니다.
보통, 회사는 프로젝트 경력이 있는 사람을 선호합니다. 프로젝트를 진행하면서 겪은 문제점이나 고민들을 통해 더욱 성장했을거라고 생각하기 때문입니다.
그러면 프로젝트 경력을 쌓아야 하는데, 어떻게 프로젝트를 경험할 수 있을까요?
가장 추천하는 방법입니다. 고등학교 / 대학교에 컴퓨터 관련 학과가 있다면 교내 개발 동아리가 있을 것입니다. 들어가셔서 선배들과 함께 학교를 위한 프로그램을 만들며 협업하는 경험과 포트폴리오를 만드신다면 굉장히 좋은 경험이 될 것 입니다. 만약 없다면, 만드세요! 많은 대학교 개발 동아리들이 해카톤을 운영하고, 교내 서비스를 운영하고 있습니다. 그 동아리들을 벤치마킹해서 운영하셔도 특별한 경험이 될 것 같습니다.
IT에 대한 관심이 부쩍 많아진 요즘, 개발을 하고 싶어하는 사람들은 정말 많습니다. 개발을 할 수 있는 외부 모임에 대해서 소개해드릴테니, 관심있으시면 다른 외부활동을 찾아보셔도 좋을 것 같습니다.
인턴을 지원하는 방법 또한 굉장히 다양해지고 있습니다. 교내 연계형 인턴부터 공개 채용형 인턴도 있습니다. 하다못해 개발자 인턴만 구글에 검색해도 개발자 인턴 정보가 많이 나오니까, 검색하셔서 지원하시면 좋을 것 같습니다.
다음과 같은 3가지 방법으로 프로젝트를 경험해보셨다면, 이제 지원 자격은 충분합니다! 당신이 만든 프로젝트와 서비스를 설명할 수 있을 정도로 경험하고 오시길 바랍니다.
회사에 지원해서 서류에 붙었습니다. 그러면 이제 실력을 알아봐야 하는데, 대부분 직종이 그렇겠지만 개발자의 실력을 평가하는 것도 정말 어렵습니다. 지금까지 해왔던 프레임워크나 언어나 사용했던 기술 스택이 다른 경우가 허다하기 때문입니다.
운 좋게 같은 기술을 사용했다 하더라도 회사의 규모와 데이터의 형태에 따라 같은 양상으로 사용하지 않았을 수도 있습니다. (물론 주니어는 공통적인 개발의 지식과 능력을 평가하므로 원론적인 질문을 하기도 합니다.)
따라서, 회사는 실력을 측정하기 위해 가장 편한 방법인 코딩테스트를 진행합니다.
코딩테스트를 진행하는 방식은 손코딩을 보거나, 온라인 사이트로 진행하기도 합니다. 두 방법 다 연습하시는 게 좋습니다. 노트에다 기본적인 알고리즘 구현을 해보시는 걸 추천드립니다. (Sorting, DFS, BFS, LinkedList 구현 등)
코딩테스트를 연습하려면 결국 알고리즘 문제를 풀어야 합니다.
알고리즘 문제 사이트들은 굉장히 많습니다. 국내에서는 가장 유명한 사이트가 백준인데, 디버깅과 콘솔이 불가능한 구조로서 저와는 맞지 않아서… 저는 해외 알고리즘 사이트들을 이용했습니다. 게임 요소가 들어가있어서 재미있게 진행할 수 있을거라고 생각합니다. 또한 이렇게 풀어놓은 문제들의 솔루션을 깃헙에 정리해보는 것도 좋은 습관이 생길 수 있습니다.
또한 알고리즘 문제를 좀 더 깊게 공부하고 싶다면 아래와 같은 책들을 추천드립니다.
이제 필요한 것들은 모두 준비했습니다! 지식, 경험, 능력을 쌓았으니 지원하면 됩니다. 그런데, 지원하기 위해서는 이력서가 필요합니다.
이력서를 통해 나를 회사측에 마케팅 해야 합니다. 따라서 어떤 장점들을 강조하고 약점들을 보완해왔는지 작성하면 됩니다. 이력서도 만드는 방식이 다양합니다. 커버레터를 쓰는 방식, 웹페이지를 만드는 방식 원하시는 걸 선택해서 자신을 잘 포장하시길 바랍니다.
이력서와 포트폴리오를 작성하는 방법은 제가 추후에 다른 글에서 자세하게 서술해드리도록 하겠습니다!
그럼 다음 시간에 만나요~!🤗
유용한 정보 감사드립니다.