(신입) 주니어 웹 개발자를 원하는 회사의 기본적인 생각들

요즘 개발자 뽑기가 너무 어렵다고 합니다. 네 물론 저도 힘들었어요. 아니 지금도 사실 힘들어요.

최근에도 구인을 원하는 (스타트업) 회사들은 필사적으로 자기PR을 하며 회사를 뽐내는데 여념이 없습니다. 구직을 원하는 사람들은 "지원 하는 회사가 어떤 사람을 뽑고 싶은지"에 대해서 정확히 알고 접근해야 할 필요성이 있는 것 같습니다.

회사에서는 여러 가지 이유로 계속 구인이 실패한다면, "(신입) 주니어 키우기" 시도 해보는건 어떨지에 대한 제안을 조심스럽게 해봅니다. 물론 그에 상응하는 비용이 어마무시 하지만, "잘 가르칠 수 있는" 능력이 있거나 "알려주기를 좋아하는" 사수가 있다면 그렇게 어렵지 않을 것 입니다.

이 글은

자신이 "잘 가르칠 수 있는" 능력이 있거나 "알려주기를 좋아하는" 사람 이라면 어떤 (신입) 주니어를 구인 해야 할 것인가? 에 대하여 생각해 본 것들을 나열해 놓은 정도가 될 것입니다.

자신이 주니어 개발자라면 어떤 부분들을 회사에서 원하고 있는지 공통적인 부분들 을 살짝 긁어줄 예정입니다. 하지만 회사마다 다를 수 있으니 너무 믿으시면 곤란합니다.

(신입) 주니어를 뽑을 당시에 제가 겪은 경험담을 공유하고자 이렇게 글을 써봅니다.

주니어 웹 개발자를 원하는 [회사]가 아니라 
면접관 OR 같이 일하려고 하는 사람 OR 기존 팀원(직원) 
이라고 해야 더 알맞는 표현이 될 것 같네요

회사에서 퀘스트 "(신입) 주니어 키우기"를 진행하게 되었습니다. 적당한 노가다성(?) 레벨업을 통해 신입의 잠재력을 끌어 올려서 버스 태우기를 시전하여 혼자서 초반 보스급 몹 정도는 간단히(?) 해치울 수 있도록 만드는게 목적이었습니다.

팀에서 신입 웹 개발자를 구인하게 되었습니다. 하지만 아무것도 모르는 신입이 아니었고, 어느 정도 경력(?)이 있던 분이었네요. 네 흔히들 요즘 말하는 헬조선의 신입 스펙입니다. 신입에게 "경력"을 요구하는 그런 이상한...... 스펙 말이죠. -_-a 정정할께요. 신입 보다 주니어라고 하는게 더 맞을 수도 있겠네요.

(신입) 주니어 웹 개발자 지원의 요구 사항은 다음과 같습니다.

  • 앞으로 웹 개발자가 되고 싶은 분 or 웹 개발자인 분
  • 개발이 즐거우신 분, 재밌다고 느끼는 분
  • 수리력, 논리력을 가지고 있고, 절차적 생각 및 개념적인 부분을 이해 할 수 있는 분
  • 컴퓨터 사용 용어에 대하여 컴퓨터 공학도 정도의 소양을 갖춘 분
    • 웹 개발에 관심을 가졌다면 알아야할 용어들에 대한 기본적 소양을 말합니다.
      • OOP, function, method, class 등등의 개발 용어
      • Web Server, DB, client, DNS, browser, telnet, ip 등등의 기본 서버, 네트워크 관련 용어
  • 기본적인 html, css, javascript 이해 및 사용 여부
    • blog나 homepage를 customize 해 본 경험
    • 홈페이지를 만들어본 경험
  • 웹 언어를 사용하여 프로그램을 만들 수 있는 능력
    • 화이트보드에 손 코딩 할 수 있는 능력 (*)
  • SQL을 사용하여 CRUD를 해봤는지 여부

요구 사항을 보면 알겠지만, (신입) 주니어에게 원하는 것은 웹 개발자가 가져야할 기본적 소양 입니다.

일반적으로

(신입) 주니어들이 회사에 어필하는 점은 열정 이라고 말들 하지만, 회사 면접관들은 그들의 태도 를 많이 보게 됩니다. 단 한 번 혹은 두 번의 면접으로 사람을 정확히 판단할 수가 없다고 생각합니다. 그래서 면접시에는 여러가지 질문을 하게 되는데 보통은 기술적 질문과 사회적 질문이 있습니다. 이 질문들을 통해

  • 프로그래머적 생각 (절차적, 논리적인 성향)
  • 문제를 풀이 하는 과정 안에서 자신이 얻어가는 여러가지 정보를 습득하여 풀이하는 과정
  • 하나라도 더 배울려고 하는 의지
  • 자신의 생각을 표현하는 언어적 방법
  • 자신의 세계관, 성격, 성향 등등을 나타내는 답변들

여러 가지가 조합되어져 지원 하는 회사가 어떤 사람을 뽑고 싶은지에 알맞는 같이 일하고 싶은 사람이 될지, 스쳐지나가는 사람이 될지 결정하게 될 것입니다.

기술적으로는

사실 아무것도 모르는 신입의 요구사항은 아니고, 컴퓨터공학 졸업의 요구사항 정도라고 생각합니다. 실기 수업 시간에 관심이 없거나, 졸지만 않았다면 저정도는 맛보기로라도 다 해보지 않나요? 저 또한 약 1x여년 전의 수업의 커리큘럼에서 쓰여진 정도는 다 해본 것 같습니다.

하지만 보통 신입 분들은 일반적으로 당연하다고 생각하는 이 기본적 소양이 생각보다 꽤 넓다는 것을 인지하지 못하고 있습니다. 실무를 조금이라도 경험한 주니어 라면 모르겠지만 신입 이라면 저런 내용들을 전부 습득하기는 거의 불가능합니다. 대학교에서 수업시간에 배워서 조금씩 직접 이런 저런 프로젝트를 만들어 보지 않는한 모른다고 생각하는게 일반적인 사회의 현실입니다. 더욱이 자신이 비전공자 라면 요구하는 개발 소양 이외에도 컴퓨터 용어에 대한 부분들을 많이 알아두어야 할 것입니다. 기술적인 부분들은 몇 달/년 전부터 준비해야지만 습득할 수 있는 넓은 분야입니다.

  • 프로젝트를 직접 만들고, 포트폴리오로 남겨두세요. 증명할 수 있는 기회를 많이 만들어야 합니다.
    • 자신의 PR에 소홀해 하지 마세요.
  • 내가 만든 내용을 컴퓨터로 실행해서 확인 하는 것이 아니라 머리로 생각하는 방법을 많이 해보세요.
    • 손코딩에 도움이 많이 됩니다.
  • 기술적 부분은 사실 혼자 삽질 하는 것 보다 회사에서 사수에게 배우는게 훨씬 빠르고, 확실하게 느는 길입니다. 보통 사수들도 그 점을 매우 잘 알고 있습니다. 그래서
    • 넓은 분야의 "기본기"를 정확히 쌓는 연습을 하세요.
    • 휘황찬란한 기술에 휘둘리지 말고, 그 기술을 만든 Source 기술에 집중하시는 편이 더 좋습니다.
    • 책을 많이 읽으세요. 좋은 책은 기본기를 정확하게 쌓도록 해줍니다.

사회적으로는

이 부분은 사람들마다 각각 다른 성격과 성향을 갖고 있기 때문에 일반화가 불가능합니다만, 단순히 일을 하고 월급만 받는다 라는 개념이 아니라 아래와 같은 성향의 사람들을 회사에서는 보통 원하는 인재상 입니다.

  • 결과가 아닌 과정에 집중하는 사람
  • 문제를 풀어가는데 희열을 느끼는 성향
  • 개발이 재밌어야 하는 것, 취미처럼 즐기는 것
    • 보통 신입 때는 자기 적성을 잘 모르기 때문에 이 부분이 있다면 좋은 개발자가 될 수 있습니다.

회사는 사람을 구인할 때 그 사람에게 "투자"를 하는 것 입니다. 이 사람을 구인 함으로써 이득을 보기 위한 것입니다. 손해가 나지 않도록 말이에요. 본인 스스로가 회사에 손해를 주는 사람이 되지 않기를 바랍니다.


처음 의도 와는 다르게 글을 진행함에 따라 생각이 복잡해져서 어떻게 끝내야 할지 모르는 글이 되어버렸네요.

Ssemi

Read more posts by this author.