IT 대기업 프론트 개발자를 만나다!
컴공 취업! 하면 가장 먼저 떠오르는 네카라쿠배당토!
왜 IT 대기업을 선택했는지, 무엇이 좋은지, 어떻게 준비했는지 함께 알아볼까요?
#IT대기업 #프론트 #주니어 #개발자
(본 글은 특정 집단을 대표하지 못하며 개인의 견해를 바탕으로 하고 있습니다.)
🕵️: 안녕하세요, 오늘 인터뷰 진행자를 맡은 탐정🕵️, 2년차 연구자입니다. 오늘의 초대 게스트는 바로! 느림보의 개발자 🪴님입니다! 반가워요!
🪴: 안녕하세요! 날씨가 확 풀려 어느덧 봄이네요. 초록 초록한 봄과 함께 화분🪴으로 돌아온 개발자입니다, 반가워요! 저는 IT 대기업에서 1년 반 정도 일을 했던 프론트 개발자예요. 오늘은 이 경험을 바탕으로 인터뷰를 해보겠습니다. (왜 일을 했었던 인지는 나중에 이야기 드릴게요! )
🪴: 저는 큰 회사의 체계적인 시스템을 경험해 보고 싶었어요. 수많은 유저가 사용하는 서비스는 어떤 식으로 운영되는지 궁금하기도 했고요. 스타트업도 많이들 가던데, 저는 스타트업에 가기 조금 두려웠어요. 스타트업에 간다면 바로 실전에 뛰어 들텐데, 아직은 교육과 케어가 필요하다고 스스로 판단했어요. 또 듣기로는, (사실인지는 모르겠지만) 대기업에서 스타트업을 가는 것이 반대의 경우보다 더 쉽다고들 하더라고요. 😅 이런저런 이유로, 저를 좀 더 보듬어줄 수 있는 큰 회사를 선택했답니다. 아, 큰 회사는 공개 채용으로 신입을 많이 뽑아서 함께 입사한 동기와 친해진다고도 들어서 동기와의 친목도 기대했어요.
🪴: 네! 기대보다 더 좋았어요. 큰 회사면 너무 딱딱하지 않을까? 걱정도 했었는데, 사내 강의와 같은 교육도 잘 되어있었고, 좋은 팀을 만나 차근차근 잘 배울 수 있었어요. 한 가지 아쉬운 점은 모든 신입 교육이 코로나로 인해 온라인으로 진행되어, 교육 때 만난 동기들과는 친해지지 못했어요..🥲
Q: 기대하진 않았지만 좋았던 점은요?
🪴: 입사 전에는 '최고의 복지는 연봉'이라고 생각했고, 아직도 유효해요. 그런데 생각보다 연봉 외의 복지도 쏠쏠하더라고요? 휴양 시설, 사내식당, 대출 지원 등등...왜 사람들이 대기업을 외치는 지 깨달았어요.
Q: 기대와 달리 아쉬웠던 점은요?
🪴: 안 좋다기보다는, 각각의 역할이 명확하다는 점이 장단점이라고 생각해요. 큰 회사다 보니 아주 세세하게 롤이 나누어져 있어요. 기획, 디자이너는 말할 것도 없고, 개발 내에서도 세세하게 팀별로 나누어져 있답니다. 입사 전에는 커피 챗을 하며 자유롭게 서로의 영역에 의견을 주고받는 상상을 했어요. (제가 드라마를 많이 본 걸까요? ㅎㅎ) 큰 회사는 이름 그대로 컸고, 제가 상상하던 의사소통으로는 일을 할 수 없는 구조였어요. 그렇지만 다르게 보면, 각자의 전문 분야에 집중한다는 점에서는 장점이기도 하죠.
🪴: 저는 쇼핑할 때 사용자가 보는 페이지를 만들고 있어요. 저희 팀은 프론트를 주로 하는 팀이에요. 팀에 대한 설명은 팀바이팀마다 너무 다른데, 보통 서비스 기능 단위로 팀이 나누어져 있어요. 그래서 맡은 서비스에 따라서 한 팀에 프론트앤드/백앤드 둘 다 있기도 하고, 나누어져 있기도 하고, 풀스텍으로 프론트와 백 모두 하는 사람들이 모여 있기도 해요.
🪴: 가장 많이 쓰는 언어는 TypeScript에요. 기술 셋은 프로젝트마다 다른데 React, Redux와 같은 곁가지 라이브러리들, Node.js 와 같은 서버 정도로 말씀드릴 수 있겠네요.
🪴: 거창한 이유는 없는데요, 저는 눈에 바로 결과가 보이는 게 재밌었어요. 🕵️님이 하시는 HCI처럼, 사용자들의 피드백을 바로 받을 수 있다는 점도 좋았고요. 이렇게 프론트/백으로 나누곤 하지만, 쓰는 기술만 다르지 비슷한 거 같아요. 결국에는 둘 다 input에 대해 output을 내는 거잖아요. 그래서 프론트에 국한되지 않고 다양한 것도 해보고 싶어요.
🪴: 저는 인턴 후 정규직 채용으로 전환되어서, 인턴했던 팀에 합류했어요. 팀 / 서비스 선택 과정은 어떤 프로세스로 입사했는 지에 따라 달라요. 공채의 경우, 1~5순위로 가고 싶은 조직을 고른다고 들었어요. (모두가 1순위가 되는 건 아니라고 해요.)
Q: 그 팀을 선택한 이유가 무엇인가요?
인턴으로 지원할 때에는, 저에게 친숙한 서비스여서 골랐어요. 인턴을 하다 보니, 서비스도 좋았지만 팀 사람들이 너무 좋더라고요. 다들 새로운 기술에도 관심이 많으셔서 잘 배울 수 있는 환경이라고 생각해서, 풀 타임으로도 이 팀에서 계속 일하고 싶어서 선택했어요.
🪴: 네 회사 차원에서 팀을 옮길 수 있는 제도가 있다고 들었어요! 다른 팀 자리가 열리면, 지원해서 일종의 사내 면접을 본다고 들었어요.
🪴: 가장 먼저, 서비스 기획과 디자인이 나와요. 그럼 개발자 입장에서 가능한 서비스인지 의견을 드리며 일정을 조율합니다. 저희 회사는 HTML, CSS와 같은 마크업을 하는 개발자분들이 따로 계셔서, 프론트 개발자는 마크업분들이 밑바탕으로 해주신 작업에 데이터를 얹고 동작하게 만드는 작업을 해요. 백앤드 분들과 필요한 데이터에 대해 이야기하기도 하고요. 개발과정이 끝나면, 릴리즈 되기 전에 환경 이슈가 있는지, 예상치 못한 버그들이 있는지 확인하는 QA 과정을 거쳐서 세상에 나오게 됩니다.
Q: 기획에서 릴리즈까지 보통 얼마나 걸리나요?
프로젝트마다 달라요. 제가 기획하는 과정이 얼마나 긴지 몰라서 단언하기는 어려운데, 작은 프로젝트는 3-4개월 정도, 큰 프로젝트는 1년이 넘게 걸린 적도 있었어요.
Q: 개발할 때 가장 오랜 시간이 걸리는 부분이 어디인가요?
저는 다른 분들과 소통하면서 개발을 확정 짓는 커뮤니케이션에 많은 시간을 보냈어요. 막상 각 잡고 개발하면 얼마 걸리지 않는데, 이 기능이 맞는지 확인하고, 의도한 바와 다르게 돌아가면 기획과 디자인을 변경하는 등 커뮤니케이션과 수정사항에 시간을 많이 쏟았죠.
🪴: 흠 얼마를 제시하냐에 따라 다를 거 같긴한데요...😄 개발자들 사이에서는 이직을 흠이라고 생각하지 않고, 오히려 능력이라고 생각하더라고요. (그렇다고 너무 잦으면 안되겠지만요!) 법적으로 문제되지만 않는다면 경쟁 회사에도 갈 수 있고, 뭐라하지 않는 분위기인 거 같아요. 그래서 얼마를 제시해 준다고요...? 😎
🪴: 배웠던 과목들의 PPT를 보면서 정리하는 식으로 준비했어요. 오래 전에 들었던 과목들은 기억이 가물가물하더라고요. 코테는 따로 준비했어요.
Q: 회사는 몇 개나 지원하셨나요? 면접도 경험이니 많이 지원하는 것 vs 가고 싶은 회사만 지원하는 것
저는 가고 싶은 회사에 집중했어요.가고 싶지 않은 회사에 먼저 지원해서 붙으면, 이 정도면 괜찮지않나 하고 더 이상 지원하지 않고 안주할 거 같았거든요. 😬
🪴: 회사마다 다르겠지만, 제가 봤던 회사의 공채는 크게 (자기소개서 + 코테) -> 1차 면접 -> 2차 면접으로 진행됐어요. 총 기간은 학기 초에 지원해서, 학기 말쯤 결과가 나왔어요. 면접 때는 정말 기본적인 CS 지식 (ds, 알고리즘, db, os 등등)과 자기소개에 적힌 했던 프로젝트 위주로 질문하셨어요. 본인이 했던 프로젝트에서 어떤 걸 맡아서 했는지, 어떤 어려움이 있었고, 어떻게 극복했는지를 잘 알고 대답하는 게 중요해보여요. 더불어 같이 일하는 사람을 뽑는 거니, 협력할 때의 자세 및 회사에 어울리는 사람인지도 보는 것 같아요.
🪴: 과목으로는 OS, 네트워크와 같은 기본 수업을 더 충실하게 잘 들을걸 하는 아쉬움이 남아요. 이게 정말 쓰일까? 싶었는데 생각보다 필요한 경우가 많더라고요. 그 외에는 (팀으로 하는) 프로젝트 과목들이 도움이 많이 되었어요. 자기소개서에 학교 수업에서 했던 프로젝트에 대한 이야기를 꽤 담았거든요. 협업에 대해 이야기 하기도 좋았고요.
활동의 경우, 저는 단기간, 장기간 인턴 모두 경험했는데요. 2개월이하의 단기간 인턴은 회사의 전반적인 분위기 파악에 도움이 되었어요. 대기업은 어떤 분위기인지, 스타트업은 어떤 분위기인지 느끼고 싶으신 분들은 짧게라도 경험하시는 걸 추천해요! 현업에서의 개발경험을 쌓고 싶으신 분들은 최소 3~4개월 이상 인턴을 하시는 걸 추천드리고요.
또, 개발적인 성장 측면에서는 대기업보다 스타트업 인턴이 도움이 되었어요. 대기업은 보안 이슈로 인턴에게 많은 권한을 주지 않더라고요. 그래서 토이 프로젝트 위주로만 하게 되었는데, 스타트업은 바로 실제로 돌아가는 코드를 작성하니까 개발적으로는 더 성장할 수 있었던 거 같아요. 다 제 개인적인 경험을 바탕으로 말씀드리는 거니 참고만 부탁드립니다.
Q: 혹시 프론트 개발자라서 특히 도움이 되었던 경험도 있나요?
학업에서 배운 지식이 바로 쓰이지 않아서 인턴, 프로젝트 과목에서의 실전 개발 경험이 도움이 많이 되었어요. 개발 동아리 활동도 열심히 했으면(ㅎㅎ..) 도움이 더 되었을 거 같아요!
🪴: 고등학생 때에는 대학 입시만 바라보고 열심히 살잖아요? 대학생는 졸업 후 진로를 위해 열심히 공부하고요. 직장인이 되고 나서는 '어떤 목표를 갖고 살아가야 할지' 부터가 고민이더라구요. 이게 차이점인 것 같아요.하하, 솔직히 지금은 학생 때가 미화되었어요. 그 당시에는 과제 듀나 시험 기간에 정말 힘들었을텐데 말이죠. 그 때가 그립기도 한데, 확실히 안정적이고 더 마음이 편해진 것은 지금인 거 같아요. 그런데 이게 나이를 먹어서인지 학생과 직장인의 차이점인지는 잘 모르겠어요.
🪴: 저는 사용자들이 많이 쓰는 서비스를 개발하는 사람이 되고 싶어요. 저는 사용자들의 피드백을 받을 때 더 재밌고 뿌듯하거든요. 아직 초기 스타트업에 가서 기획까지 참여하는 개발자가 되고 싶은지, 많은 사용자가 쓰는 대규모 서비스를 개발하고 싶은지는 잘 모르겠어요. 베스트는 기획부터 참여한 서비스가 많은 사용자가 쓰는 대규모 서비스가 되는 거지만요.
🪴: 파고드는 근성이요. 안 풀리는 문제에 맞닥뜨렸을 때, 계속 파고들면서 근본적인 해결 책을 제시하려는 거요. '이게 문제였구나. 그럼 이걸 어떻게 고칠 수 있을까? 어떤 방법이 좋을까?' 이런 질문들이 새로운 것을 계속해서 배우고 본인의 것으로 만드는 힘인 것 같아요. 본인의 자본이 되는 거죠.
또 중요한 건 커뮤니케이션 능력이요. 학교에서는 팀 단위 수업이 아니면 혼자 코딩을 하지만, 회사 단위의 프로젝트에서는 협업이 필수적이거든요. 커뮤니케이션을 잘하는 사람과 일을 하는 게 훨씬 효율적이고 재밌어요. 회사에서 가끔 '개발은 정말 잘하지만 커뮤니케이션은 못하는 사람' vs '커뮤니케이션은 잘 하지만 개발은 그럭저럭인 사람' 중에 누구를 뽑을지 이야기를 하면 보통 후자를 뽑더라고요. 아무리 개발을 잘 하는 사람이 있어도 커뮤니케이션을 잘 못하면 다른 동료들이 퇴사하기 때문 아닐까요?ㅎㅎ
Q. 프론트이기에 특히 더 중요한 능력이 있다면요?
프론트는 백에 비해 좀 더 얕고 다양한 영역을 알아야한다고 들었어요. 깊이보다 너비가 더 있는 영역인거죠. 그래서 그 여러 영역들을 조율하고 관리하는(orchestration) 능력이 특히 더 중요하다고 해요.
🪴: 저는 웹 프론트 개발자여서 다른 분야의 개발자분들에게 질문드리고 싶네요. 앱 개발자분들, 백엔드 개발자 분들, AI 개발자분들은 어떤 기술을 쓰며 어떤 고민을 하고 있을 지가 궁금해요. 다음에 느림보 온더 블럭에 초대해서 이야기 나누면 좋을 거 같네요!
🪴: 최근 졸업을 앞둔 후배들을 만났는데 걱정이 많더라고요. 저 역시 그랬어요. '나는 개발도 잘 못하는데 어떻게 사회에 나가서 일을 하지?' 이런저런 고민이 많았거든요. 다른 친구들은 잘 성장하고 있는데, 저만 멈춰있는 것 같았고요. 지나고 보니 성장곡선은 계단 모양이었어요. 노력한 만큼 결과가 돌아오지 않아 힘들어하면서도, 계속 도전할 때가 바로 성장하고 있는 순간들이더라고요. 그렇게 고민 많던 저도 이렇게 일하면서 잘(?) 살고 있잖아요? 여러분들도 너무 걱정하지 않으면 좋겠어요. 뭐, 저도 아직 갈 길이 많이 남았지만 같이 가보자고요. 😊
🪴: 지금의 저를 기록할 수 있어서 너무 좋은 경험이었어요. 나중에 되돌아보면 지금과는 생각이 또 다를 수도 있잖아요? 지금의 저를 기록할 수 있는 좋은 기회를 주셔서 감사합니다.