home

성장하지 못할 이유가 없는 신입개발자의 연대기💪

안녕하세요! 작년 8월 나름 치열했던 인턴십을 걸쳐서 9월부터 신입개발자로서, 무시무시한 개발자 세계에 발을 들인 임형준이라고 합니다! 해당 글에는 인턴십 이전의 개인적인 이야기, 아이들나라의 인턴십 과정, 인턴십 이후 현재까지의 성장, 개발문화로 총 4파트로 나눠서 글을 작성했습니다. 의식의 흐름대로 글을 작성하다보니 개인적인 이야기가 주를 이루었습니다. 어여쁜 마음으로, 재밌게 읽어주시면 감사하겠습니다

인턴십 이전, 개인적인 이야기

다른 분야도 마찬가지지만, 개발에서는 유독 "현업”이라는 말을 많이 사용하는 것 같습니다. 그 이유는 실제 현업에서 사용하는 개발과 그렇지 않은 개발과의 차이가 크기 때문이라고 생각합니다.
뛰어난 개발자 1명이 1000명의 어중떠중한 개발자들을 대체할 수 있다라는 말은, 제가 신입생 때부터 유명한 말이었습니다. 그래서 개발자가 되기로 마음 먹은 순간부터, “성장을 할 수 있는 환경이 아니라면, 대기업에 붙어도 가지 않겠다!” 라는 조금 오만방자한 생각을 하였습니다.
(그리고 그것이 실제로 일어났습니다)
이전의 결심과는 다르게 대기업(SI)에 붙으니 마음이 살짝쿵 흔들리긴 했지만(사람 마음이 이렇게 간사합니다…) 제 기대만큼 성장할 수 있는 곳은 아니라고 생각했습니다. 그리고 막상 채용에 붙고 나니, 금방 다른 곳에 입사할 수 있을 것이라는 자신감을 획득했습니다. 그래서 입사포기를 하였고…
그로부터 1년이나... 지나고 나서야 제가 원하는만큼 "성장할 수 있는" 회사의 인턴십 과정에 합격하게 됐습니다. 아이들나라 이전에도 여러 기업에서 면접을 봤지만, 아이들나라만큼 강하게 끌리는 회사는 없었습니다. 면접은 대체로 면접관이 면접자를 판단하는 자리이지만, 면접자 역시 면접관을 통해 회사를 판단하니까요.

인턴십

인턴십은 약 한 달간 진행됐습니다. 인턴십 과정은 축복이자 고난이었습니다. 인턴십을 진행하는 모두가 아이들나라를 마음에 들어했고, 구성원이 되고 싶어했습니다. 인턴십은 성장의 기회이지만 경쟁의 장이기도 했습니다. 그래서 한 달간 인턴십에 참여하는 모두가 치열하게 고민하고 노력했습니다. 저 역시 오랜 기다림 끝에 찾아온 절호의 기회였기에 한 달간 온 정신을 쏟아서 결과물을 만들고자 애썼습니다. 인턴십 진행 과정에서 성장을 지향하는 개발문화, 시니어 분들의 인사이트, 업무에 최적화 된 환경 등은 아이들나라에 더 욕심이 나게 된 포인트들이었습니다.
인턴십 과정 중 얻은 지식들을 정리한 내용들입니다.(외부 노출이 되면 안되기 때문에 모자이크 처리 하였습니다.)
인턴십이 끝날 쯤, 인턴을 진행했던 분들과 공통적으로 했던 이야기가 있습니다. 혹시 정규직 전환이 되지 못해서 떨어지더라도, 정말 많은 것을 얻고 가니 괜찮다고. 저 역시 그랬습니다. 인턴십을 진행하면서 "현업"처럼 일을 한다는 것은 어떤 것인지, 논리적인 생각으로 코드를 짜는 것은 어떤 것인 지 개발자로서 한 단계 더 성장할 수 있는 귀중한 시간이었습니다. (물론 떨어졌으면 마음만 아팠을지도 모르겠습니다)
혹시 아이들나라 인턴십에 지원할까 고민중이시라면, 별 고민할 필요 없이 지원하셔도 좋을 것 같다는 말씀을 드리고 싶습니다. 인턴십 동안 결과에 상관없이 정말 많은 성장을 하시게 될 거라고 자신있게 말씀드릴 수 있습니다.

인턴십 이후, 현재까지의 성장

성장할 수 있는 환경이란 무엇일까요? 제 생각에는 아래의 것들이 필수로 전제돼야 한다고 생각합니다.
나보다 잘하는 혹은 내가 모르는 부분에서 배울 점 있는 동료의 존재
개발자들을 power 개발자로 키워내려는 회사 문화
체계적인 피드백 시스템(ex- 코드리뷰)
맥북과 4k모니터, 모션데스크!!
아이들 나라에는 위 모든 게 갖춰져있습니다!
어느새 제가 입사한 지 4개월이나 됐네요. 4개월 동안 2개의 프로젝트에 참여하고 있으며, 책 관련 스터디를 3번 진행했습니다.
첫 번째 프로젝트에서는 인턴십 때 같은 팀에서 프로젝트를 진행했던 준우님, 시니어 개발자이신 충민님과 미디어 서버 구축을 위한 Prototyping을 진행했습니다.
해당 프로젝트를 진행하면서 ‘와.. 시니어분들은 자료 조사를 통해 필요한 output을 뽑아내는게 다르구나' 라는 것을 느낄 수 있었습니다. 약 3주 정도의 길지 않은 프로젝트였지만 Media 서버에 대한 이해부터 여러 기술적인 관점을 배울 수 있었습니다. (충민님 심심한 감사의 말씀 올립니다) 그 중 특히 도움이 됐던 것은 필요한 정보를 뽑아내고 만들어내는 감 이었습니다.
이후부터 현재까지는 기존 U+의 파편화 된 시스템을 아이들나라로 내재화하는 작업을 하고 있습니다. 해당 프로젝트를 진행하며 다음과 같은 사항들을 배울 수 있었습니다.
클린 아키텍처로 코드를 짜는 방법
도메인 중심적인 개발시 고려사항들
legacy 코드 분석 방법과 legacy 코드 이관시 고려해야 할 사항들
코드 배포 프로세스
datadog을 통한 서버 모니터링
기존 U+ 서버의 구성환경
이슈 대응 프로세스
외 등등등
앞으로는 전시 파트(프론트서버)를 맡을 에정입니다. 전시 파트가 장애가 나면 앱 전체가 장애가 나는 만큼, 좀 더 정신 바짝 차리고 일에 임해볼 예정입니다.

아이들나라의 개발문화

아이들나라에서 좋은 개발 문화는 여러가지가 있지만, 그 중 3가지만 뽑아서 소개해드리고 싶습니다.
페어작업
개발자들의 성장을 도와주는 세미나
스터디, 그리고 스터디를 권장하는 분위기

페어작업

저희 팀 그룹은 정말 많은 작업들을 페어로 진행합니다. 저에게 있어, 페어 프로그래밍을 하면서 가장 도움이 됐던 건 지식 공유입니다. 조금 시간이 걸릴 지언정, 팀원 모두가 해당 이슈에 대한 지식을 공유받고 성장을 도와주는 문화 덕분에 정말 많은 도움을 받고 있습니다.

세미나

아이들나라에는 요정이 존재합니다...! 아이들나라에는 주기적으로 고오급 개발자분들이 오셔서 세미나를 해주십니다. 여러 번의 세미나를 통해 좁았던 시야가 더 넓어질 수 있었습니다.

스터디

4개월동안, 총 3권의 스터디를 진행하였습니다.
이펙티브 코틀린
만들면서 배우는 클린 아키텍쳐
클린 아키텍쳐
업무시간을 조금 할애하더라도, 팀원들의 성장을 지원하기 위해 스터디를 권장해주는 문화 덕분에 바쁜 와중에도 3권의 책에 대해서 스터디를 마무리 할 수 있었습니다. 앞으로 더 많은 스터디를 통해 성장할 제 자신을 기대하고 있습니다.

마지막으로…

신입으로서 일을 한 4개월 동안, 위에 적은 것 외에도 정말 많은 것을 얻어가고 있습니다. 그리고 제가 성장할 수 있는 원동력은 저희 팀, 그리고 저희 그룹 사람들입니다. 결국에 일은 사람이 하는 것이고, 성장 역시 사람들 사이에서 존재합니다. 제가 이후에 많은 성장을 해서 뛰어난 개발자가 된다고 하더라도 그 공은 오롯이 저의 것이 아님을 압니다. 앞으로도 꾸준히 성장해서 팀에서 받은 것에 배로 이자를 쳐서 돌려주는 사람이 되도록 노력하겠습니다.
추가적으로 저희 팀 분들에게 감사의 인사를 전하고 싶습니다. 평소에 정말 잘 챙겨주고 계신데도 더 잘 챙겨주지 못해 미안하다고 말씀해주시는 개발 도사 경수님, 꼼꼼하고 책임감있는 일 처리가 너무 좋으신 프로 일잘러 효진님 외 팀 모든 분들께 감사하다는 말씀드리고 싶습니다. 글은 여기까지 입니다. 정신없이 휘몰아치는 긴 글 읽어주셔서 감사합니다
송호훈님, 백엔드에서 SRE분들에게 많은 도움을 받고 있습니다 아이들나라에서 Devops를 구축하면서 여러 에로사항들이 있으셨을 것 같습니다. 해당 에로사항들에 대한 내용이나, 아니면 자유 주제로 글 남겨주시면 감사하겠습니다 !