네카라쿠배와 좋은 개발자가 되는 정석

Oct 8 / Dave Lee
네카라쿠배는 IT업계에서 네이버, 카카오(기업), 라인(메신저), 쿠팡, 배달의민족(우아한형제들)을 함께 묶어부르는 말입니다.

기원은 디시인사이드 프로그래밍 갤러리의 유행어라고 하며, 개발자 취준생들이 가고싶어하는 인기있는 회사들을 묶어부르다가 나온 말입니다.

네카라쿠배 라는 말이 유행하고, 최근 개발자 연봉이 치솟으며, 많은 분들이 관심을 가지고 있는데요.

이와 관련해서, 과장 광고도 많아지고 있어서, 현업 입장에서 궁금해하시는 분들께 도움이 되면 좋을 이야기를 블로그로 적어보았습니다.

1. 개발자 연봉은 높은가요?

연봉은 어느 회사나 대외비이지만, 실제 몇몇 회사에서는 신입 연봉이 6천이 넘기도 합니다. 심지어 여기에 스톡옵션등을 받는 경우도 있고요. 

"
하지만, 몇몇 유니콘 회사들의 이야기입니다.
기존 회사들은 최저 임금 수준으로 주는 경우도 허다합니다!
개발자야 말로 정말 양극화입니다!
"

2. 어떤 개발자가 보통 좋은 대우를 받을까요?

어떤 개발자가 좋은 대우를 받는지는 당시의 시장 상황과 함께 다양한 경우의 수가 존재합니다. 

다만, 다음과 같은 역량을 가진 개발자가 일반적으로는 대우를 잘 받을 가능성이 높습니다:

  • 탄탄한 기본기: 컴퓨터 과학의 기본 원리에 대한 깊은 이해를 가지고 있습니다.
  • 세부 분야를 넘나드는 다양한 기술 경험: 여러 세부 분야와 프로그래밍 언어를 알고 있으며, 다양한 프로그램 개발 경험이 있습니다.
  • 학습 능력: 새로운 기술을 배우는 데 두려움이 없고, 빠르게 변화하는 IT 분야에서 지속적인 학습을 추구합니다.
  • 문제 해결 능력: 새로운 문제에 직면했을 때 적절한 IT 기술을 선택하고 익혀서 구현하여 해결할 수 있습니다.
  • 협업 능력: 대부분의 개발 프로젝트는 팀 단위로 진행되므로, 효과적인 의사소통과 협업 능력이 중요합니다.

하나의 완성된 프로그램을 만들기 위해서는 다양한 기술이 필요하며, 이로 인해 개발 분야는 여러 세부 분야로 나뉩니다. 많은 개발자들은 특정 세부 분야를 전문으로 합니다. 그러나 기본기가 없고, 단순히 하나의 기술이나 특정 분야의 프레임워크만 다룰 줄 안다면, 좋은 대우를 받기도 어렵고 소위 '좋은 개발자'로 인정받기도 애매한 측면이 있습니다.

몇 개의 프로그래밍 언어와 세부 분야 기술을 얼마나 알고 있느냐는 핵심이 아닙니다. 탄탄한 기본기를 바탕으로 몇몇 기술을 익히면 역량이 높아지고, 전체 시스템을 조망하고 구조를 설계할 수 있는 능력이 생깁니다. 이를 통해 새로운 문제에 대해서도 어떤 기술을 사용하여 어떻게 해결하고 최적화할지 알 수 있습니다.

3. 좋은 개발자가 되려면 어떻게 해야할까요?

어떤 용어가 없어서, 정의하기도 어떻게 불러야 할지도 모르겠지만, 직관적으로 이야기하면, 결국 네카라쿠배등에서 찾는 개발자를 의미한다고도 볼 수 있으니까요.

간접적으로 2020 네이버 신입개발공채 관련 남아있는 블로그글 를 읽어보셔도 도움이 될 것 같습니다. (링크가 없어져서… 2021, 2022도 없고…)

가장 강조하는 것이 기본기 입니다.

4. 기본기는 어떻게 쌓을까요?

기본기를 설명한 부분은 너무 현학적이라, 무슨 이야기인지 감이 오지 않을 수 있습니다. 우선 반드시 전공자일 필요는 절대 없습니다. 전공자이든 아니든, 최근 인기 있는 웹과 앱 개발을 중심으로 다음 정도를 익힌다면, 기본기는 어느 정도 쌓을 수 있다고 생각합니다. 

  • 프로그래밍 언어 익히기
  • 데이터베이스(SQL 과 NoSQL), 프로그래밍 언어 (메인 언어 1개, 서브 언어 1개)
  • 전문 분야 이외의 웹, 앱 개발 전분야에 대한 핵심 기술 이해 및 활용
  • CS 지식에 대한 깊은 이해 (특히! 운영체제, 네트워크) + 컴퓨터 구조, 자료구조, 알고리즘
  • 자신이 원하는 전문 세부 분야 기술의 깊은 이해 및 활용
  • 코딩 테스트 준비
단, 여기까지는 기술적인 역량만입니다.

여기에 더해서 커뮤니케이션, 다른 기술을 계속 익힐 수 있는 성장 가능성 역량이 필요합니다.

5. 좋은 개발자와 커뮤니케이션 역량이란?

예전 배달의 민족인지, 네이버인지 어쨌든 CTO 님의 인터뷰를 보며, 남다른 커멘트를 보고, 맞는 말이라는 생각이 들었습니다.

좋은 개발자가 많아 지려면 어떻게 해야 하냐 라는 질문에, 좋은 인력들이 개발분야로 많이 들어오도록 해야 한다 라는 답변이었는데요. 맞는 말이라고 생각합니다. 개발자는 항상 팀단위로 개발을 하게 되어 있습니다.

그래서 커뮤니케이션 역량이 필요하다라는 것인데요.

"
한국말 못하는 한국 사람은 없겠죠!
"

커뮤니케이션 역량이란, 한국말을 할줄 아느냐를 묻는 것이 아니라, 상대의 상황을 배려하며, 설명할 수 있는 역량, 상대의 상황을 이해하며, 상대의 요구를 이해하고 받아들일 수 있는 기본 역량에 가깝습니다. 즉 서로를 배려하며 함께 일할 수 있는 역량을 의미합니다. 보통 이런 역량은 폭넓은 사고를 하며, 예의와 배려를 할 수 있는 좋은 분들이 갖추고 있는 역량이며, 이런 부분도 실제로 면접에서 확인하려 한답니다. 

6. 결국 좋은 개발자란?

폭넓은 사고와 배려, 예의등 기본적인 역량에, 더해서 IT에 대한 탄탄한 기본기를 갖추고, 다양한 기술에 대한 넓은 이해와, 전문 분야에 대한 깊은 이해를 갖추고 있어야 합니다.
다양한 문구로 가이드하고 있지만, 결국 이런 분들을 뽑는 것이 최근 유니콘 기업들의 목표이기도 합니다. 그런 분들이 많이 없기 때문에, 항상 유니콘 기업들은 개발자가 없다고 힘들어하고, 많은 돈을 들여, 그런 분들을 샅샅이 찾고 다닌답니다.

제가 만드는 강의 리스트도
이러한 목표를 위해 설계되어 있습니다.
관련 강의를 본 사이트에서 확인해보세요