학사과정 도중에 현업에서 풀타임으로 일하고 돌아온 개발자를 소개합니다!
졸업을 하지 않고도 정규직으로 회사를 다닌 개발자가 있다?!
학교를 떠나 현업에서 병특으로 일하고 다시 돌아온 특별한 손님을 모셨습니다.
졸업하지 않고 풀타임으로 일한 경험은, 학교로 돌아온 소감은 어떨까요?
같이 들으러 가봐요!
#병특 #산업기능요원 #복학 #리턴투캠퍼스 #백앤드 #개발자
(본 글은 특정 집단을 대표하지 못하며 개인의 견해를 바탕으로 하고 있습니다.)
🕵️: 오랜만에 뵙네요! 인터뷰 진행을 맡은 느림보 탐정🕵️입니다. 지난 인터뷰 글은 느림보의 소개였다면, 이번 느림보 온더 블럭은 제대로 손님을 모셔보았는데요. 어떤 이야기를 들려 주실 지 벌써 두근거리네요. 그럼 오늘의 초대 게스트님, 나와주세요!
🧳: 안녕하세요! 백앤드 개발자 여행자🧳 입니다. 저는 산업기능요원이라는 병역특례제도로 두 회사에서 총 4년 정도 일을 하고 졸업을 위해 학교로 복학했습니다. (보충역이라 병특기간은 2년이었지만, 2년 정도 더 일을 했었어요.) 첫 1년은 스타트업인 A회사에서, 뒤의 3년은 이제 중견기업이 된 B 회사에서 일을 했습니다. 맛있는 것과 재미있는 것을 찾아서 돌아다니기도 하고, 제가 무엇을 좋아하고 무엇을 하고 싶은지, 스스로를 알아가는 여행을 하고 있어서 여행자 이모티콘을 골랐어요.
Q. 여행의 어디쯤 계신 거 같나요?
🧳: 아직 제가 무엇을 좋아하는지 무엇을 하고 싶은지 찾아가고 있는 단계예요. 중간 정도 온 것 같네요.
🧳: 느림보의 구독자로서 글을 잘 보고 있었는데, 마침 인터뷰를 요청해 주셔서 영광스러운 마음으로 수락했습니다!
Q. 저희가 더 영광입니다. 가장 인상 깊은 편은 무엇이었나요?
🧳: 10월 느림보 번아웃 편이 가장 기억에 남아요. 저도 한 번 크게 겪어본 적이 있거든요. 번아웃 편을 나중에 보고서는, 저도 이렇게 이겨냈으면 좋지 않았을까 싶어서 가장 인상 깊었습니다.
🕵️: 좋게 봐주셔서 감사합니다. 여행자🧳님의 다양한 경험을 잘 녹여내보고자 노력해 볼게요. 시간 순서대로 여행자님을 담아보려고 하는데, 먼저 처음으로 병특을 시작했던 순간으로 돌아가 볼까요?
🧳: 병특은 크게 산업기능요원 (학사 과정 대상)과 전문연구요원 (석사 이상의 학위를 취득한 사람 대상)으로 나눠지는데 저는 산업기능요원이에요. 산업기능요원이 가능한 회사의 조건은 1) 중견기업이나 대기업이 아니어야 하고 2) 최소 10명 이상의 회사 중 3) 병역지정업체로 선정된 회사여야 합니다. 최근 토스와 크래프톤이 중견기업으로 분류되기 시작했어요. 토스와 크래프톤보다 작은 회사라면 웬만해서는 다 포함된다고 생각하시면 됩니다.
다양한 회사들 중 A 회사를 선택한 계기는 학교 프로젝트 수업이었습니다. 수업에 외부 개발자 멘토 분들이 오셔서 진로 멘토링을 해주셨었는데, 한 멘토 분의 정말 친절하게 잘 설명해 주시는 모습이 너무 멋있었어요. 그리고 저는 병특 회사를 찾고 있었는데, 바로 병특 회사를 고르면 바꾸기 힘들 것 같아서 인턴을 먼저 짧게 해보려고 했어요. 계속 교류하고 지냈던 멘토님께 인턴을 구하는지 여쭈어봤더니, 본인과 함께 일할 인턴 자리가 있다고 하셨습니다. 그렇게 존경하는 멘토님과 함께 일하는 것을 선택했고, 병특까지 진행했어요.
Q: 사수 한 분을 보고 회사를 고르셨군요! 실제로 일해보니 사수와 회사, 둘 중에 무엇이 더 중요한가요?
🧳: 일을 한 번도 안 해본 쌩 신입 입장에서는 회사보다는 사수님과 팀이 더 중요하다고 생각해요. 회사에 입사하면 (주로) 사수와 소통하기도 하고, 일거리를 보통 사수님이 나누어주시는데, 잘 성장할 수 있는 일을 맡는 것이 중요하거든요. 또한 사수는 회사에 잘 적응할 수 있도록 온보딩을 도와주고, 질문을 받아주고, 코드에 대한 피드백을 주는 등 다양한 역할을 하기 때문에 신입시절에 제일 중요한 것 같아요.
🧳: A 회사 입사 시 따로 면접을 보지는 않았었어요. 대신 제가 입사 직후 사수님께 '왜 회사에서는 주니어를 뽑나요?'라는 질문을 했을 때 사수님께서 말씀해 주셨던 것을 공유드리겠습니다. 요약하자면, 계속해서 숙련된 개발자를 구하기는 어려우니 좋은 신입 개발자를 뽑아서 성장시키기 위함이에요. 회사에서 과업을 달성하기 위해서는 팀 내의 리소스만으로는 부족한데, 신입 개발자를 뽑아 회사에서 경험을 쌓게 도와주어 어느 정도 실력이 궤도에 오르면 회사가 목표로 하는 과업을 함께 할 수 있게 되는 거죠. 그래서 신입을 뽑아서 같이 일을 하는 거라고 답변해 주셨어요.
🧳: 저는 신사업 팀에 있었는데, 그러다 보니 주로 PoC (Proof of Concept) 를 만드는 일을 했어요. 기술이 많은 개발을 한다기보다는, 기술과 사업을 연결하는 기획과 같은 일을 더 많이 했습니다. 학사 과정을 모두 이수하지 않은 채 정규직으로 일을 했지만, 딱히 그것 때문에 어려웠던 점은 없었어요.
Q: 본 회사에서 인턴으로도 일하시고 병특으로도 일하셨는데, 두 경험의 차이가 있을까요?
🧳: 먼저 병특이라고 해서 딱히 다른 정규직 사람들과 차별되는 점은 없어요. 정규직이라고 보시면 됩니다. 인턴과 정규직의 차이에 대해서 이야기하자면, 인턴은 기본적인 전제가 오래 있을 사람이 아니에요. 따라서 회사에서 중요한 프로젝트보다는 자잘한 버그 픽스나 회사 개발팀 내부에서 사용하는 툴 개발을 많이 했었어요. 인턴을 마무리하고 정규직이 되고 나서는 신사업 개발팀에서 아예 같이 기획 업무와 기술 연구도 진행했었어요.
🧳: 좋았던 점은, 사수님을 보고 갔던 만큼 좋은 사수님께 많은 것을 배웠어요. 특히, 개발 관련된 것뿐만 아니라 생각하는 과정도 배울 수 있었습니다. 예를 들자면, 트래픽이 많아지면 어떡하지? 장애가 나면 어떻게 해결할거니?처럼 운영과 관련된 질문들을 사수님이 던져주셨거든요. 덕분에 저도 앞으로 시스템 구현 시에 이런 고민들을 해야 한다는 걸 깨달았습니다.
아쉬웠던 점은, 저는 신사업 팀에 있었는데, 신사업이 잘 안되고 결국 프로젝트가 접혔어요. 다 같이 6개월 시간 동안 열심히 기획하고 준비하고 했는데 프로젝트를 폐기하고 없었던 일이 되어서 많이 아쉬웠습니다.
🧳: 신사업이 망하고 사수님이 회사를 떠나셨는데요. 제 입장에서는 사수님을 보고 온 만큼 사수님이 없으면 굳이 있을 필요가 없다고 느꼈습니다.
🧳: A 회사에서 실제로 운영되는 서비스를 경험하지 못한 게 아쉬웠어요. 그래서 실제 유저가 있는 서비스를 운영하는 회사로 가고 싶었습니다. 스타트업에서는 PoC (Proof of Concept)를 만들고 발전시키는 게 중요한 반면, 실제로 운영되는 서비스에서는 안전하고 신뢰성 있는 시스템을 만드는 게 더 중요해 보이더라고요. 그래서 그 차이도 경험해 보고 싶었어요. 또, 연봉이 높은 곳으로 가고 싶었어요! 전에 있던 곳이 스타트업이었는데 대우가 그렇게 좋지 않았거든요.
회사를 탐색할 때에는 지인들이 이미 다니고 있는 곳들 위주로 살펴보았어요. 내부인의 시선에서 회사의 장단점을 사실 그대로 보고 싶어서, 지인들이 다니는 곳들 위주로 지원했죠.
🧳: 첫 면접이어서 친구들에게 면접 때 주로 무엇을 보는지 물어봤어요. 데이터구조, 알고리즘 위주로 물어보고, 나머지 (CS) 과목들은 제일 중요한 거 한두 개만 질문한다고 해서 그렇게 준비했습니다. 또, A 회사에서 일 년 동안 진행했던 프로젝트를 잘 설명할 수 있도록 준비했어요. 그런데, 혼자 면접을 준비한 것과 면접장에서 질문을 받는 건 꽤 다르더라고요. 예상했던 질문을 받아도 더 당황해서 처음에 봤던 두 면접은 정말 망했어요. 하지만, 이후 면접들에서는 이전 면접 경험을 바탕으로 좀 더 잘 준비할 수 있었습니다.
🧳: 회사의 인재상에 따라 회사별로 질문이 많이 달랐습니다. 무조건 1인분 이상을 할 사람을 채용하고자 했던 회사에서는 실무 위주의 질문을 했어요. 반대로 정말 이론적인 것만 많이 물어보는 회사도 있었습니다. 회사마다 어떤 사람을 뽑고 싶은지에 따라서 면접 내용이 많이 달랐던 것 같아요.
Q: 1년의 경력이 있으셨는데, 그 경력 때문에 면접에서 특히 중요하게 다뤘던 질문이 있을까요?
🧳: 1년 일했던 경험을 따로 특별하게 본 것은 없었어요. 이력서에 한 줄 추가된 그뿐이고, 면접에서는 이력서에 있던 걸 질문하는 정도였습니다.
🧳: 좋았던 점은, 사용하고 있는 유저가 존재하는 실용적인 시스템을 개발했던 거요. B 회사에서는 아이템 상점 등 구매와 관련된 시스템을 개발했었어요. 재화 및 결제와 관련되어 있다 보니 버그가 없는 안정적인 시스템을 만드는 것이 중요한 목표였죠. 그 외에도 다양한 프로젝트에서 다양한 기술들을 써보면서 알차게 잘 성장할 수 있어서 좋았습니다. 또, B 회사가 복지가 좋기로 유명한데, 좋은 복지와 높은 연봉을 받고 일할 수 있었던 것도 좋았습니다.
아쉬웠던 점은 B 회사에서 만든 서비스가 점점 유저들도 줄어들고 성장하지 못하는 상황이었어요. 주위 친구들이 다니는 회사는 빠르게 성장하고 유저도 많아진다는데, 저도 성장하고 있는 회사에서 일하고 싶다는 아쉬움이 있었습니다.
🧳: 좋았던 점은, 저는 학교 다닐 때 학교 공부가 싫어서 열심히 하진 않았어요. 그런데 실무에서는, 일하는 자체가 공부니까 오히려 적성에 잘 맞더라고요. 일하면서 즐겁게 공부할 수 있었습니다.
어려웠던 점은, 저는 OS (운영체제) 수업을 듣기 전에 병특을 시작했는데, 생각보다 실무에서 OS의 동시성 문제가 많이 쓰이더라고요. OS 수업을 안 듣고 동시성 개념이 없는 상태에서 일을 하는 게 힘들었습니다. 다행히 팀에서 공부할 여유를 주기도 하고, 가르쳐주기도 해서 많이 배웠는데 처음에는 좀 어려웠어요.
🧳: 저에게는 복학이 하기 싫은 숙제 같은 거였어요. 회사에서 일하면서 지내는 것이 저는 좋았거든요. 졸업만을 위해서 학교를 가야 하는 거여서 귀찮음 반, 그래도 휴직을 하고 일 생각 없이 여유롭게 쉬겠다는 여유로움 반입니다.
Q. 어떤 과목들을 듣고 계신가요?
🧳: 병특 이전에는 필수 과목 한두 개에 재밌어 보이는 과목을 들었는데, 지금은 졸업이 제일 큰 목표여서 졸업에 필요한 과목들, 시키는 거 많이 없고 시험 안 보는 꿀 과목들 위주로 듣고 있습니다. 😁
Q. 어때요? 양학 가능한가요?
🧳: 공부를 하겠다고 마음을 먹으면 쉽게 좋은 성과를 낼 수 있는데, 안 하겠다고 마음을 먹으면 안 됩니다. 하하 저는 공부를 안하겠다고 마음을 먹어서 여유롭게 놀면서 시간을 보내고 있네요.
Q. 공부하는 센스가 늘은 걸까요?
🧳: 네 병특기간 동안 많은 것들을 배웠는데, 그러다 보니 새로운 지식을 받아들일 때 속도가 빨라졌어요. 수업 중 배우는 것들이 실제로 써본 것과 일부 유사하기도 했고요.
🧳: 필수적인 과목 몇 개만 들어도 꽤 충분한 것 같아요. 떠오르는 건 DS, Algorithm, DB, OS 정도? 수업과 현업은 교집합이 크지 않아서, 단순히 수업을 많이 듣는 게 저에게는 큰 도움이 되지는 않았습니다. 일을 할 때는 다양하고 풍부한 CS 지식보다는 framework 나 기술 스택에 영향을 더 많이 받거든요. 물론 DS나 Algorithm 같은 기본적인 CS 지식은 정말 중요합니다. 그럼에도, 큰 프로젝트를 경험할 수 있는 수업은 듣고 오는 걸 추천합니다. 큰 규모의 코딩을 경험하는 것만으로도 "내가 이 정도 코딩도 했는데 뭘!" 하는 자신감이 생기거든요.
🧳: 학교에서는 대부분 혼자서 일회성 코드를 짰는데, 현업에서는 다른 사람들과 협업하면서 실제 서비스에서 돌아가는 코드를 짜고 유지 보수하는 게 달랐어요. 또, 학교에서는 기본 전산학 지식들을 다루는 반면, 현업에서는 실제로 사용되는 기술들을 배울 수 있었죠. 현업에서도 설계하고 생각하는 과정에서 아주 가~끔 전산학 지식들이 쓰이긴 합니다. 크게 영향을 주진 않지만, 뭐 단적인 예로, 실무에서 어셈블리 코딩을 하지는 않지만, 시스템이 뒷단에서 어떻게 작동하는지는 알아서 나쁠 게 없죠.
🧳: 저는 병특 중에 했던 일이 적성에 잘 맞아서 졸업 후 다시 회사에 가서 백앤드 개발자로 일하려고요. 대학원은 아쉽게도 생각이 없습니다. 병특 전과 후에 조금 달라진 것이 있다면, 병특 전에는 배우고 성장할 수 있는 일을 하고 싶었는데, 이제는 제가 재밌게 할 수 있는 일을 하고 싶어요. 무엇이 재미있는지는 아직 찾아가는 단계입니다.
🧳: 제 다음 목표는 빠른 시일 내에 시니어 개발자가 되는 거예요. 시니어 개발자는 개발 태스크에 대해 본인이 모든 결정을 내리고 책임을 질 수 있는 사람, 또 사람들을 모아서 프로젝트를 완성으로 이끌고 갈 수 있는 사람이라고 생각합니다. 이를 위해서는 올바른 결정을 내릴 수 있게끔 실력과 경험을 더 쌓아야 하고, 팀을 올바르게 이끌기 위해서는 리더십과 관련된 역량도 필요로 하겠죠. 졸업 전까지는 빠르게 개발 능력을 향상시키는 것에 집중했는데, 시니어 개발자가 되기 위해서는 다른 종류의 역량들이 추가적으로 필요한 것 같아요. 제가 부족한 역량들을 채울 수 있는 회사를 찾고 있습니다.
🧳: 결국 개발은, 단순히 코딩을 하고 시스템을 만드는 게 아니라, 달성해야 하는 목표를 향해 가는 수단이라고 생각해요. 따라서 목표를 잘 설정하고, 목표를 잘 달성하는 역량이 제일 중요하다고 생각합니다. 본인이 목표하고 있는 도메인의 문제를 잘 정의하고 잘 해결하는 사람이 성공한 개발자 아닐까요? (결국 다 잘해야 하긴 하네요..ㅎ)
🧳: 저는 오래오래 재미있게 일할 수 있는 실력 있는 개발자가 되고 싶습니다. 사람들과 함께 일을 해서 결과물과 가치를 만들어가는 게 재미있더라고요. 제 목표이기도 합니다!
🧳: 남학생들에게는 병특이 군문제도 해결하면서 진로에 대해 고민을 할 수 있는 좋은 기회예요. 그러나, 올해부터 현역은 산업기능요원을 할 수 없도록 규정이 바뀌어서 전만큼 많은 사람들이 병특을 하지 못해 제 이야기가 전만큼 도움이 많이 못 되는 거 같아서 아쉽네요.
🧳: 기대했던 만큼 재밌고 알찼습니다! 이야기를 하니 저도 어느 정도 생각이 정리되네요. 나중에 게시물이 나와 다시 읽어보면 제가 무엇을 좋아하고, 어떤 일을 하고 싶은지가 더 명확해지지 않을까 생각이 듭니다.