개발자 전성시대다. IT 계열뿐만 아니라 금융, 유통, 의료 등 다양한 분야에서 개발자들의 수요가 늘어나면서 기업 간 경쟁도 더 치열해지고 있다. 그런데 이 치열한 경쟁은 개발자가 되고 싶은 예비 개발자들 또한 마찬가지다. 개발자의 수요가 늘어난 만큼 취업 시장에 참여하는 인원 또한 많아지면서 개발자를 꿈꾸는 취준생들의 경쟁도 거세지고 있다.

지난 31일 두나무는 오는 22일 열릴 ‘업비트 개발자 콘퍼런스(UDC) 2022’ 부대 행사로 예비 개발자를 대상으로 한 멘토링 프로그램을 개최했다. 행사에는 오재훈 람다256 최고기술경영자(CTO), 문성식 두나무 증권플러스 비상장 개발 팀장, 양주찬 두나무 Levvels NFT마켓플레이스 개발 팀장 등이 멘토로 참여했다. 아래는 예비 개발자들과 해당 멘토들의 일문일답이다.

현재 마이스터고를 다니고 있는 학생입니다. 학교 특성 상 대학 가기가 힘든 감이 있는데, 개발자 직군에서 고졸에 대한 인식은 어떤가요?

오재훈 CTO : 사실 지금은 학력이 의미가 없는 시기라고 생각해요. 현 직장에 오기 전 직장에서 고등학교 3학년을 뽑은 적이 있어요. 여름방학 동안 인턴으로 활동했고, 지금은 정직원으로 채용한 상태예요. 예전에는 대학을 가지 않으면 못 배웠기 때문에 학력이 중요했지만, 지금은 그렇지 않잖아요. 배울 의지만 있다면 얼마든지 온라인 강의 등 원하는 것을 배울 수 있는 시대가 됐어요. 람다 256에도 마이스터고 출신이 있습니다. 중요한 건 개발 능력이죠.

문성식 팀장 : 현재 저희 팀에도 마이스터고 출신이거나 대학에 들어가지 않은 이 등 다양한 사람이 함께 일하고 있어요. 누구보다 평등하고 학벌은 거의 따지지 않는 직군 중 하나가 개발이라고 할 만큼 개발자들은 학력이나 여타 다른 지식들이 아닌 코드로 자신을 증명하는 직업입니다. 그런 걱정은 안 하는 게 좋을 것 같아요.

부트캠프, 교육기관, 온라인 교육 추천하는 프로그램이 있다면 무엇인지 궁금합니다.

오 CTO : 상황에 따라 들어야 할 프로그램이 다르죠. 경험이 없으면 부트캠프를 먼저 듣는 게 좋습니다. 6개월에서 1년 정도 진행되는 부트캠프에선 개발의 기본, 애플리케이션 개발에 대한 경험을 해볼 수 있죠. 다만 컴퓨터 사이언스가 짧게 배울만한 지식 체계가 아니어서 이보다도 더 깊게 공부할 필요는 있죠.

교육 기관처럼 몇 달 단위의 교육은 지금 현 개발자들이 듣는 교육이에요. 단기간에 일정 부문을 학습할 때 유리한 프로그램이고, 초보한테 추천하는 방법은 아닙니다. 온라인 교육은 이미 전산지식과 프로그램 경험이 있으면 온라인 교육이 괜찮습니다. 상황에 따라 들을 프로그램이 다르니 자신의 진척도에 맞춰 듣길 바랍니다.

현재 개발 분야와 관련성이 높은 프로그래밍 언어는 무엇인가요? 또한 개발자가 되려먼 프로그래밍 언어 무엇을 알아야 할까요?

문 팀장 : 프론트와 백엔드를 나눠 설명해야 하는데요. 프론트는 잘 아시다시피 리엑트를, 백엔드는 스프링 기반의 자바가 많이 쓰고 있어요. 업비트는 스프링 기반의 코틀린을 사용하고 있고요. 각 팀에 따라 환경에 따라 각각 다른 언어를 쓸 수도 있어서 어떤 걸 배워야하고 해야하는 지는 중요하지 않아요.

이런 상황에서 해결책은 CS 기초를 쌓는거에요. CS에 대한 기초적인 것들이 쌓고 쌓여야지 언어가 어떻게 구현돼있고 활용할 수 있는지 확인할 수 있기 때문이죠. 이는 웹 개발자 뿐만 아니라 개발자가 되기 위해 필요한 부분입니다.

메타버스와 NFT 기술 활용해 창업하고 싶은데 지식을 배우기 위해 어떻게 접근해야 할까요?

양주찬 팀장: 일단 부딪혀야죠. 메타버스와 엔에프티랑 많이 써보는 게 중요합니다. NFT 플랫폼 오픈씨에서 NFT를 직접 민팅할 수도 있고, 퍼블릭 블록체인 서비스들을 직접 써볼 수도 있죠. 한 NBA 감독이 “오늘 선수가 잘 한 이유가 뭐냐”, “이런 작전은 어떻게 생각하게 됐냐”라는 질문을 받을 때 그 감독은 모든 질문에 “연습” 이라고 답하더라고요. 이처럼 실제 코드를 짜보고 접해보는 게 제일 중요해요. 직접 해보지 않으면 몰라요.


오 CTO : NFT는 현재 공개된 자원들이 굉장히 많아요. 그걸 실제로 실천해보는 게 중요하고요.

창업과 관련해서는, 대부분의 스타트업이 고객이 없어서 실패하는 경우가 다반사예요. 보통 스타트업에서는 서비스 개발에만 초점을 맞추는 경향이 있는데 사실 고객 개발을 더 많이 공부 해야 해요. 사용하는 고객이 누군지, 얼마나 비용을 쓸 것인지 등을 고려하지 않으면 생태계에서 살아남기 어렵죠. 이런 부분도 어느 정도 공부하시길 바랍니다.

알고리즘 공부가 너무 막막합니다. 코드를 쓸 때 더러운코드를 쓰고 있다는 생각이 들 때가 많아요. 알고리즘 공부, 어떻게 해야하나요?

문 팀장 : 저희도 천재 개발자가 아니에요. 연습을 많이 해보는 것이 가장 중요하죠. 저도 하다보면 이상하다 싶을 때가 많아요. 이를 계속 수정 테스트를 거쳐서 클린 코드로 만드는 과정이 중요하죠.

오 CTO: 알고리즘은 딜레마가 있죠. 사실 알고리즘은 개발자 면접볼 때만 문제로 다루지, 현업에서는 알고리즘을 만질 빈도가 적어요. 이런 건 하루에 한 문제씩 꾸준히 필요하다보면 익숙해질 것이고요.

클린코드는… 일종의 강박이죠. 천재 개발자도 더러운 코드로 먼저 시작해요. 리팩터링을 해야 클린코드가 나오는 거지 어떤 개발자들도 처음부터 클린코드를 만들어내지는 못해요. 더러운 코드가 나오는 게 당연한거예요. 단지 이걸 깨끗하게, 변수 하나라도 조금더 깨끗하게 할 수 있느냐가 중요한 거죠. 지식과 경험을 쌓다보면 나중에는 덜 더러운 코드가 나올 거예요.

코딩은 잘하는데 커뮤니케이션이 안 되는 후배와 커뮤니케이션은 잘 되는데 코딩은 못하는 후배 중 후배로 맞이하고 싶지 않은 유형은?

오 CTO : 당연히 커뮤니케이션이 안 되는 후배죠. 개발자들은 요구사항이 불확실한 상황에서 개발을 시작하는 경우가 많아요. 이는 말과 말을 통해서 조율해나가는 거죠.

개발 코드도 하나의 커뮤니케이션 도구와 같죠. 함께 일 하는 모두가 같은 코드를 같은 의미로 읽을 수 있어야 하는데 커뮤니케이션이 안 되면 코드 유지나 보수가 어렵죠. 열심히 코딩한 결과를 다른 팀원이 지워버리는 상황이 생길 수도 있고요. 코딩을 못하면 당장은 코딩이 아닌 다른 일을 주면서 코딩 요소를 배우게 할 수도 있는데, 커뮤니케이션이 안 되면 정말 힘들죠.

개발자 야근 많나요

오 CTO : 최근에는 많이 줄었어요. 지금은 강제로 야근은 하진 않아요. 대부분 자발적인 야근이 많습니다. 물론 내일 모레 서비스를 오픈해야 한다는 급박한 상황이면 야근을 권유할 때도 있지만 평상시에는 야근 하지 않는 분위기입니다.

문 팀장: 야근을 위한 야근은 없어요. 개발자 같은 경우에는 본인 스스로 일정을 관리해야 하는데, 이걸 미리 선정하고 개발하다보면 그 서비스 상황에 따라 일정을 맞추든지 하게 돼요. 강제적인 야근은 없는 게 추세입니다.

개발자 면접에서는 무슨 질문이 가장 많이 나오나요?

오 CTO : http 프로토콜와 관련한 질문 많이 나옵니다. 데이터베이스 쪽 질문도 많이 하는데 주로 트랜젝션 처리는 어떻게 하고 있는지와 관련해서 질문들 많이 하고요. 아키텍처 같은 경우에는 레이어 아키텍처 구조 등을 많이 묻는 편이죠.


문 팀장 : CS의 기본, 랭기지 기본, 프레임웍 철학, DB에 대한 것들 자주 물어봐요. http 많이 물어보고, 동시성에 대한 질문도 사내에서 많이 하고 있습니다.

18번 면접 질문이 있다면?

오 CTO : 객체 지향 설계의 다섯가지 원칙을 알고 있느냐 많이 물어봅니다.

양 팀장 : 포 이치(for each)의 퍼포먼스가 어떻게 좋은지 물어보는 편입니다. 그 질문을 하면서 어떤 고민을 하는지가 궁금하더라고요. 이를 루핑으로만 이용하는지, 더 나아가 퍼포먼스로도 고민을 할 수 있는지를 봅니다.

개발자 면접 코딩 테스트할 무슨 언어를 사용하는지

오 CTO : 자기가 제일 잘하는 언어로 보도록 하고 있고요. 코딩 테스트는 사고나 문제를 풀어가는 과정을 보는 것이기에 언어는 그닥 중요하지 않아요. 제일 잘하는 언어를 하시면 됩니다.

문 팀장 : 본인이 제일 잘하는 언어로 코딩 테스트를 보는게 유리하고, 어떤 언어를 해야할까 고민한다면 가고자 하는 기업을 분석해보세요. 공고를 보시면 어떤 언어를 쓰고, 우대하는지 나와있는데 이를 보면서 맞게 준비하면 좋겠죠.

글.바이라인네트워크
<박지윤 기자> nuyijkrap@byline.network