F-Lab
🚀
깊이 있는 개발자 커뮤니티, 데브클럽에 함께 하세요

주니어 개발자는 어디에서 커리어를 시작하면 좋을까?

writer_thumbnail

F-Lab : 상위 1% 개발자들의 멘토링

이직 시에나 처음 취업을 준비할 때나 내가 가고 싶은 회사를 선택하는 것은 매우 어렵다. 외부에 공개된 정보와 면접 과정에서 얻은 정보로는 이 회사가 잘 될 회사인지, 조직의 상태는 어떤지, 내가 가게 될 팀의 문화는 어떻고 어떤 사람들이 있는지 모를뿐더러, 내가 기대하는 것을 만족할 수 있는 회사인지는 직접 가보지 않으면 알 수 없기 때문이다. 항상 제한된 정보만을 가지고 회사를 선택해야 한다. 그래서 회사를 선택하는 나만의 기준과 원칙을 가지고 있어야 두 개 이상의 회사에 합격 후 후회 없는 좋은 선택할 수 있다.

 

먼저 기준을 세우기 위해서는 내가 회사에 가서 얻고자 하는 것이 명확히 있어야 한다. 대부분은 금전적 보상과 커리어 성장일 것이고 워라밸도 어느 정도 있을 텐데, 이 글에서는 커리어 성장, 그리고 주니어 개발자의 입장에 중점을 두어 얘기해 보자. 어떤 기준을 가지고 있어야 내가 개발자로서 커리어 성장을 이룰 수 있는 회사를 정할 수 있을까?

 

 

주니어 개발자가 성장할 수 있는 조건

 

주니어 개발자는 사회생활을 처음 시작하거나 시작한 지 얼마 안 되었기 때문에 개발자의 일을 처음 배우는 단계이다. 처음 배우는 것이기 때문에 잘 배워야 하는데, 무엇을 잘 배워야 하는 걸까? 나는 주니어 때, 코딩 스킬이나 새로운 기술을 배우는 것보다는 전반적인 업무 사이클을 잘 익혀놓는 것이 중요하다고 본다. 이 업무 사이클은 시대가 흐르면서 바뀌는데, 요즘은 스프린트 식으로 해당 스프린트에 진행할 업무를 기획하고 이슈를 나누고 개발하고 스프린트가 끝나면 배포하는 방식을 많이 한다. 또 기술적으로는 브런치를 만들어 테스트 코드를 짜고 기능을 개발하고 코드리뷰를 통해 메인 브런치로 합쳐지면, CI/CD를 통해 개발 서버로 배포되고 문제가 없다면 프로덕션 서버로 배포되는 devops로 배포가 자동화된 방식을 많이들 한다. 주니어 시절에 이런 스프린트 방식의 업무 진행이나 devops로 자동화하며 개발한 사람과 아닌 사람은 시간이 흐르며 일하는 것 자체부터 개발 실력까지 차이가 나게 된다. 그래서 당연한 얘기지만 개발 프로세스가 잘 정립되어 있거나 정립하고 있는 것이 좋은 기준의 하나다. 그리고 물론 일하게 되면서 적절한 추상화를 만들고 테스트 코드를 짜며 유지보수가 편한 코드를 작성하는 것을 배워야 한다.

 

 

개발 외의 조건들

하지만 개발자로 들어간다고 우리가 마냥 개발만 하는 것은 아니다. 시간이 흐르면 매니징을 할 수도 있고, 뭔가 중요한 결정을 해야 할 때도 온다. 중요한 결정이라 하면 보통은 기술적인 것에만 관련된 것이 아니라 서비스 전반에 관한 것, 사업에 관련된 것인데 이때는 기술에 관련된 지식과 경험뿐만 아니라 다른 복합적인 것에 대한 지식과 경험도 필요하다. 개발자라면 개발만 하고 기술과 관련된 업무만 할 테니 다른 것들을 직접 챙기며 배우기 어려운데, 이런 지식과 경험을 얻기 위해선 그냥 회사에 그 분야에 전문가들이 있으면 된다. 그러면 전사 미팅이나 가끔 같이하는 회의를 통해 알게 모르게 배우게 된다. 결국 회사 내 모든 조직들에 전문가들이 있고 잘 꾸려져 있어야 한다. 좋은 조직에 있으면서 알게 모르게 배운 것들은 다른 회사에 가서도 큰 도움이 된다.

 

 

성장하는 회사

회사 내 조직의 환경만큼 회사 자체의 환경 역시 중요하다. 개인은 성장하는 회사에서 더 성장할 수 있다. 물론 회사가 성장한다고 해서 개인이 그 성장에 무임승차하듯 올라탈 수 있는 것은 아니지만, 성장할 사람이라면 더 가파르게 성장하는 회사에서 더 많은 기회와 경험을 얻을 수밖에 없다. 또 잘 될 회사에 유능한 인재들이 모이기 마련이기 때문에 이러나저러나 잘 성장할 회사인지는 꼭 회사를 선택하는 기준에 들어있어야 한다. 성장할 회사를 선택하는 것은 내가 성장할 수 있는 기회를 확보하는 것이라고 생각하자.

 

정리하면,

  1. 개발 프로세스를 정립하는 데에 힘쓰고
  2. 회사 내 각 조직 구성에 구멍이 없으며
  3. 비즈니스가 이미 탄탄하거나 앞으로 유망한

 

이 세 가지를 기준으로 삼으면 좋다. 그럼 어떤 회사에 지원하고자 하거나 지원 후 면접 과정 중에 있다면 이 조건들에 부합하는 곳인지 어떻게 알 수 있을까?

 

 

성장할 수 있는 회사를 고를 수 있는 도구

 

재직자에게 커피챗, 1:1 대화 요청

 

내 경험상 가장 좋은 건 인맥과 직장인 익명 커뮤니티를 통해 1:1로 내부자의 정보를 얻는 것이다. 방법도 그리 어렵지 않고 가장 고급 정보라고 볼 수 있다. 나 같은 경우 블라인드에서 해당 기업에 재직 중인 사람에게 오프 더 레코드로 대화를 요청해서 좀 더 자세한 질문들을 하고 기프티콘을 주곤 했다. 또 현재 재직하는 회사에 대해서도 블라인드나 링크드인을 통해 커피챗 요청이 종종 오는데 앱 내에 채팅을 통해서나 카페에서 만나 얘기를 하기도 한다. 사람들이 생각보다 편하게 커피챗 요청을 받아주니 부담 갖지 말고 요청을 해보자.

 

아니면 면접 과정에서 회사나 팀에 대해 좀 더 알고 싶다고 인사팀에 커피챗 요청을 해도 된다. 네이버, 카카오와 같은 대기업이던 스타트업이던 흔쾌히 받아준다. 하지만 회사에 요청을 한 것이고 좀 더 자세한 사정을 듣긴 힘들 수도 있다는 점을 감안해야 한다.

 

 

회사에 대한 첫인상, 홈페이지와 채용 페이지

그다음은 외부로부터 정보를 얻는 건데 대표적으로 홈페이지가 있다. 회사의 홈페이지와 채용 페이지는 생각 외로 아주 중요하다. 내 경험을 통해 보면, 이 두 페이지를 통해 그 회사의 조직 상태를 볼 수 있다. 건강한 조직일수록 외부로 보이는 곳에 신경을 쓰고 잠재적 지원자들에게 어필한다. 좋은 채용 페이지의 경우, 어떤 일을 하는지, 어떤 사람이 지원하면 잘 맞을지, 입사한다면 어떤 좋은 점들이 있는지 나열한다. 채용 페이지의 목적은 최대한 많은 사람들이 회사에 관심을 가지고 지원서를 내는 것이 목적이기 때문에, 심심해서 들린 사람도 한번 내볼까? 하는 마음이 들도록 계속 유혹할 것이다.

 

좋은 예는 그냥 유명한 스타트업 홈페이지를 보면 된다. 화려하고 디자인도 아주 예쁘게 해놓은 곳들이 많다. F-Lab 홈페이지도 아주 잘되어 있는 홈페이지의 한 예다. 반면 홈페이지만 봐도 조직의 상태가 안 좋아 보이는 곳은 지원서를 써보고 싶은 마음이 안 들면 그것으로 판단해도 좋다. 입구부터 구미가 당기지 않으면, 채용 과정이나 입사 후에도 마음에 들기는 힘들 것이다.

 

 

면접을 통해 직접 들여다보기

그다음은 직접 얻는 정보로 면접이 있다. 면접은 조직을 가장 가까이서 볼 수 있는 기회다. 많은 주니어 개발자의 실수가 면접을 회사가 나를 평가하는 장소로 본다는 것이다. 면접은 회사와 내가 서로를 평가하는 곳이라는 걸 잊지 말고 기술 면접, 컬처 면접, 임원 면접을 보면서 질문 시간을 활용해 각 면접관을 통해 얻을 수 있는 정보를 최대한 빼내와보자. 나의 경우 기술 면접에서는 개발 문화가 어떤지나 기술적으로 내가 관심 있는 것을 할 수 있는지 물어보고, 컬처 면접에서는 전반적인 조직 구성이나 궁금했던 복지 등에 물어본다. 임원 면접은 개인적으로 회사에 갈지 말지를 선택하는데 가장 큰 도움이 되었는데 CEO 혹은 CTO가 비즈니스 모델을 얼마나 잘 이해하고 있고 나에게 잘 설명하는지 보았고 회사의 방향성에 대해 어떤 생각인지 물어보았다. 이런 과정을 통해 회사마다 내가 세운 원칙에 잘 부합하는지 점수를 매겨 선택을 했다.

 

물론 주니어 개발자들의 경우, 면접을 보면서 회사를 평가하는 여유까지 갖기는 힘들다. 대부분 긴장한 상태로 제대로 대답하는 것도 벅차기 마련인데 일단 면접에 여유가 생겨야 면접관에게 질문하며 상대 회사를 알아가 볼 수 있을뿐더러 면접을 잘 봐서 회사가 나를 뽑고 싶어 해야 내가 회사를 평가를 하는 것이 의미가 있다. 면접은 그냥 많이 해보는 것 말고는 달리 방법이 없다. F-Lab에서 멘토링을 진행 중이면 멘토와 자주 면접 연습을 해보자. F-Lab의 멘토들은 채용 문턱이 아주 높은 회사들에서 면접관으로 들어가고 있는 개발자들이다. 이런 사람들과 면접 연습을 매주 하는 것은 주니어 개발자들에게 면접 연습으로나 공부 방향 설정에 대해서나 아주 큰 도움이 될 것이다.

 

 

결국 성장은 나의 의지로 하는 것

 

성장하기에 최상의 조건인 회사에 가던 최악의 회사에 가던 중요한 것은 자신이 성장하려는 의지를 갖고 있느냐이다. 소위 말하는 네임드 개발자로 구성된 조직에 있다고 해도 나의 성장은 나에게 달린 것이다. 거인들과 함께 서 있다고 나도 거인이라고 착각해서는 안 되고 최악의 환경에 있다고 해서 포기해서도 안 된다. 결국 조직 속에서 내가 성장하는 동력은 나의 의지와 실행력이고 나머지는 환경이기 때문이다. 더 좋은 환경을 만들기 위한 기준을 세우고 그 잣대로 후회 없는 선택을 해보자.

 

ⓒ F-Lab & Company

이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.

조회수

멘토링 코스 선택하기

  • 코스 이미지
    Java Backend

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이 있게 기르는 백앤드 개발자 성장 과정

  • 코스 이미지
    Node.js Backend

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이 있게 기르는 백앤드 개발자 성장 과정

  • 코스 이미지
    Python Backend

    대규모 서비스를 지탱할 수 있는 대체 불가능한 백엔드, 데이터 엔지니어, ML엔지니어의 길을 탐구하는 성장 과정

  • 코스 이미지
    Frontend

    기술과 브라우저를 Deep-Dive 하며 성능과 아키텍처, UX에 능한 개발자로 성장하는 과정

  • 코스 이미지
    iOS

    언어와 프레임워크, 모바일 환경에 대한 탄탄한 이해도를 갖추는 iOS 개발자 성장 과정

  • 코스 이미지
    Android

    아키텍처 설계 능력과 성능 튜닝 능력을 향상시키는 안드로이드 Deep-Dive 과정

  • 코스 이미지
    Flutter

    네이티브와 의존성 관리까지 깊이 있는 크로스 플랫폼 개발자로 성장하는 과정

  • 코스 이미지
    React Native

    네이티브와 의존성 관리까지 깊이 있는 크로스 플랫폼 개발자로 성장하는 과정

  • 코스 이미지
    Devops

    대규모 서비스를 지탱할 수 있는 데브옵스 엔지니어로 성장하는 과정

  • 코스 이미지
    ML Engineering

    머신러닝과 엔지니어링 자체에 대한 탄탄한 이해도를 갖추는 머신러닝 엔지니어 성장 과정

  • 코스 이미지
    Data Engineering

    확장성 있는 데이터 처리 및 수급이 가능하도록 시스템을 설계 하고 운영할 수 있는 능력을 갖추는 데이터 엔지니어 성장 과정

  • 코스 이미지
    Game Server

    대규모 라이브 게임을 운영할 수 있는 처리 능력과 아키텍처 설계 능력을 갖추는 게임 서버 개발자 성장 과정

  • 코스 이미지
    Game Client

    대규모 라이브 게임 그래픽 처리 성능과 게임 자체 성능을 높힐 수 있는 능력을 갖추는 게임 클라이언트 개발자 성장 과정

F-Lab
소개채용멘토 지원
facebook
linkedIn
youtube
instagram
logo
(주)에프랩앤컴퍼니 | 사업자등록번호 : 534-85-01979 | 대표자명 : 박중수 | 전화번호 : 1600-8776 | 제휴 문의 : info@f-lab.kr | 주소 : 서울특별시 강남구 테헤란로63길 12, 438호 | copyright © F-Lab & Company 2024