개발자, 벌써 1년
JS 문법 엄청나게 조금 봤음에도 근본이 없네...

개발자, 벌써 1년

글쓴이 이희찬 | 셀렉트스타 개발팀 iOS Client / Front Web Engineer

회사에 입사한지 어느새 1년하고도 조금 더 지났습니다.

생각보다 빠르게 지나갔습니다. 코로나 때문에 재택 근무를 하느라 반년 정도 계절을 느낄 틈이 없어서 더 그렇게 느껴지나 싶기도 합니다.

셀렉트스타에 신입 개발자로 입사한 후 2년차에 접어드는 기념으로 1년 전과 지금을 비교하며 어떤 변화가 있었는지, 어떤 점을 배웠는지 글로 조금이나마 정리해보고자 합니다.

iOS 개발자가 되고, Web 개발자가 되다.

아무것도 모르던 학부생 시절에는, 제가 사회로 나가게 되면 백엔드 개발을 하게 될 줄 알았습니다. 학교에서 백엔드 개발을 배운 것은 아니지만, 그렇다고 딱히 프론트 개발을 배운 것도 아니고, 주로 시스템, 메모리, 동시성, 네트워크 관련 개념을 많이 배웠으니까요.

그런데 매니저님과 처음 얘기했을 때, 현재 회사 리소스 상 백엔드 개발자보다는 프론트, 모바일 개발자가 조금 더 필요하다고 말씀하셨습니다. 최근 프론트도 요즘은 괜찮다는 말도 들었고, 제 입장에서 애초에 백엔드 개발자로서 쌓아둔 것이 있는 것도 아니니 상관없다고 생각했습니다.

 

그렇게 1년 전쯤, iOS 개발자로서 첫 발걸음을 내딛게 되었습니다. 입사 첫 날부터 MVVM 패턴을 공부했었군요?

회사와 팀원분들에게는 정말 감사드리고 싶은 것이, iOS 개발에 대해서는 물론이고 그냥 개발 자체에 대한 지식이 거의 없었던 제가 공부하는 과정을 많이 도와주시고 기다려주셨습니다. 그래서 빨리 공부해서 회사 프로덕트에 기여할 수 있게 되어야지라는 생각을 가지게 되었던 것이 아닐까 싶습니다. 2개월이 지났을 때쯤, 프로덕트 코드에 조금씩 손을 대기 시작할 수 있었고, 차츰 큰 단위의 프로젝트도 맡아 진행할 수 있었습니다.

iOS 개발에 조금은 익숙해졌다는 생각이 들던 늦여름 무렵, 회사에서 앞으로 Web 쪽 리소스가 보다 더 필요할 것 같은데, Web 공부를 해서 병행해보는 것이 어떤지 제안해주셨습니다. 여러 포지션을 경험해보고 싶던 제 입장에서는 듣던 중 반가운 소식이라 하겠다는 말씀을 드렸고, JavaScript, TypeScript, React 공부부터 시작하게 되었습니다.

 

Swift 보다가 JavaScript 처음 보고 화가 난 사람

 

iOS를 처음 공부할 때와 마찬가지로 웹 개발에 대한 지식도 제로에 가까웠지만, 가을 동안 공부를 거쳐, 4분기 중반부터는 Web 프로덕트에 기여하고 있습니다. HTML, CSS, JS 모두 기초만 알고 React를 이용하는 중이라 어려운 점이 많고, iOS와 다르게 node를 이용한 의존성 관리 등이 익숙치 않은 면이 있어 꽤 헤멨습니다. 솔직히 학교에 있을 때는 프론트 개발은 그냥 그림 그리기, 블록 쌓기 정도 아닌가 라고 생각했기에 더 당황했던 것 같은데, 실제로 프론트 개발을 해보니 꽤 심오하고 알아야 하는 것도 많았습니다. 생각보다 공부해야 할 깊이가 깊다는걸 느꼈고, 그걸 조금씩 알아가는 재미도 있습니다.

프론트 개발을 하면서 느낀 가장 큰 매력이 있다면, 아마 사용자의 입장에서 바라봐야 하는 일이 많다는 것이 아닐까 싶습니다.

제가 코딩하는 것이 바로 화면에 구현돼 눈으로 확인할 수 있는 것이 꽤 즐겁고, 사용자 입장에서는 이렇게 만드는게 좀 더 좋지 않을까 생각해 의견을 나눈 것이 실제 프로덕션에 반영되는걸 볼 수 있다는게 프론트 개발의 매력인 것 같습니다.

코딩만 잘한다고 좋은 개발자는 아니구나

회사에 들어오기 전에, 좋은 개발자는 개발을 정말 기가 막히게 해내는 사람이라고 생각했습니다. 막 모두가 알고 있는 프레임워크나 라이브러리를 만들어내는 사람, 빠른 시간 내에 에러 없고 깔끔한 코드를 작성하는 사람, 어려운 코딩도 척척 해내는 사람이 워너비 개발자였죠.

물론 그런 개발자들은 대단한게 맞습니다. 다만 그런 수준의 개발자가 존경 받는 이유는 그만큼 되기 힘들다는 뜻입니다. 저같은 평범한 주니어 개발자는 지금 1인분하기도 급급한데 그런 미래는 꿈도 못꾸고 있는 상황이죠.

하지만 회사에 들어와서 일을 하며 느낀 점은, 전설 속의 유니콘 개발자가 되지 않더라도 좋은 커뮤니케이션 능력과 꾸준히 뭔가 개선하고자 하는 마음가짐이 있으면 나름 좋은 개발자가 될 수 있지 않을까 였습니다.

 

 

학교에서 수업을 들을 때는 몰랐던 점인데, 회사에는 개발자가 함께 협업해야 할 사람이 엄청 많습니다. 일단 같은 개발자들은 물론이고, 기획자, 디자이너, QA 엔지니어, 그리고 사내 동료 직원분들과 캐시미션을 사용해주시는 요원분들과의 소통까지 필요합니다.

예를 하나 들자면, 개발자 간의 협업은 git 을 반드시 알아야 했습니다. 학교 다닐 때는 과제로 나온 스켈레톤 코드를 다운 받기 위해 git clone 하는 정도로만 알고 있었던 git. 회사에서 여러 사람들과 같은 코드를 기반으로 개발을 하는 상황에서는 아주 중요한 기능이었습니다. 개발 사항들이 막 배포되고 섞이는 일을 방지하기 위해 branch 규칙도 세웠는데, 처음에는 이해하기 어려웠지만 git을 공부하고 그 이유를 배우다보니 이제는 익숙해졌습니다.

그리고 팀에서는 프론트엔드 개발자와 백엔드 개발자 사이의 소통을 어떻게 할 것인지도 고민이 많았습니다. 기존의 API 문서가 제대로 관리가 되지 않거나, 어디서 어떻게 쓰이는지 몰라 수정이나 추가적인 개발이 필요할 때 그 미싱 링크를 찾느라 고생한 적이 간간히 일어났습니다. 그런 문제를 최대한 해소해보고자 문서 관리는 어떻게 할지, 어떤 절차를 통해 개발을 진행할지 등을 함께 고민하고 있습니다.

기획, 디자인, QA 엔지니어와도 원활한 커뮤니케이션을 하는 것이 정말 중요하다는 것도 느꼈습니다. 뭔가 애매한 부분이 있을 때, 의견을 제시하고, 논의하고, 기록하는 것이 상당히 필요한 점이라고 생각이 들었습니다. 그러지 않으면 나중에 꼭 다시 문제가 생겨서 시간을 더 쏟아야 하는 일도 발생하기 때문입니다. 그래서 프로덕트팀에서는 기획에 대한 검토나, QA에 대한 정보를 더 효과적으로 전달하기 위한 여러 방안을 시도하고 있습니다.

셀렉트스타가 정말 좋다고 생각하는 점은, 개발자 뿐만 아니라 모든 프로덕트팀 동료들이 더 좋은 결과물은 물론 더 좋은 과정에 대해서도 함께 고민하고 발전시키고자 하는 사람들이 많다는 점입니다.

저는 원래 조금 불편한 점이 있어도 별 생각 없이 넘기는 편인데, 사소한 점이라도 개선할 수 있는 가능성이 있으면 방법을 찾아보는 분들이 주변에 있는걸 보면서 많이 배우고 있습니다.

뭔가 완전히 틀이 잡혀지지 않은 스타트업에서 함께 절차를 만들어가는 느낌이라, 개발자를 시작하는 단계인 제가 그 과정을 보고 같이 할 수 있었다는 것이 상당히 행운이라고 생각합니다.

앞으로 나아갈 길

1년 간 iOS, Web 개발에 대해 많이 배우고, 이전에는 제대로 알지 못하던 객체지향, TDD 같은 근본적인 공부도 많이 할 수 있었습니다.

 

분기마다 진행했던 팀 세미나 자료

 

특히 공부하고, 블로그에 정리하고, 회사에서 배운 내용으로 세미나를 진행하는 것이 정말 많은 도움이 되었던 것 같습니다.

그것말고도 다른 개발자 분들과 얘기하고 배우면서 클린한 코드가 왜 필요한지, 테스트가 왜 필요한지, 학교에서는 생각해본 적도 없는 문제들에 대해 인식하고 공부하게 되었습니다.

무엇보다도 다른 사람과 협업하며 실제 서비스를 만들어간다는 경험을 할 수 있어, 아무것도 모르던 1년 전의 저와는 완전히 다른 수준의 개발자가 되었습니다.

하지만 아직도 배워야 할 것이 많습니다.

iOS, Web에 대한 것도 깊게 배울 것들이 너무나 많이 남아있습니다. 특히 웹은 깊은 것뿐만 아니라 기초적인 내용도 공부해야 할 것이 많습니다. 아직 CSS, JS에 대해 모르는게 산더미입니다.

앞으로 1년 동안도 배우고 싶은 것이 많습니다. iOS는 좀 더 단단한 지식을 쌓고 싶고, Web은 조금 더 많은 것을 알아보고 싶습니다. 더 좋고 깔끔한 코드를 짜고 싶기도 하고 테스트 코드도 좀 잘 짜보고 싶네요. 이 모든걸 하려면 1년이란 시간이 굉장히 부족하겠죠? 언급한 내용을 1년 내에 수준급으로 하게 된다는건 조금은 양심없는 생각이기도 합니다.

 

 

지난 1년을 거치며 가장 크게 느꼈던 점은, 조급해질 필요가 없다는 것이었습니다.

코딩, 개발 능력 뿐만이 아니라 인생 사는게 다 그런 것 같습니다. 주식 같은걸 처음 시작할 때도 배당은 뭐고, 우선주는 뭐고, 금리가 주가랑 무슨 상관이고… 이런 내용들을 다 언제 익히나 했는데 하다보니 자연스레 알게 되었습니다.

제로 베이스에서 시작했던 iOS와 달리, 이미 개발에 대한 지식이 좀 있는 상태에서 Web을 처음 공부했을 때는 굉장히 답답하고 조급했습니다. ‘이거 iOS였으면 만들었는데, iOS에서는 이렇게 하던데, 언제 Web에서도 이런 내용 다 이해하지?’ 하는 생각이 들었습니다. 그런 생각 때문에 Web 공부에 흥미를 잃을 뻔 한 적도 있었는데, 매니저님과 1대1 미팅 중 고민을 나누다 이런 조언을 얻었습니다. iOS는 적어도 세 분기 동안 부딪혀가면서 배운 내용이 많아진 것인데, Web은 배운지 얼마 되지 않았는데도 그 정도 수준이 되지 않는다고 스스로에게 스트레스를 줄 필요가 없다는 것이었습니다.

 

 

그래서 앞으로는 스트레스를 받을 정도로 조급해하지 않고, 발전하겠다는 마음가짐만 놓지 않고 한 걸음, 한 걸음 나아가다보면 좋아지지 않을까 믿으며 주어진 일부터 열심히 하려고 합니다.

또 어느정도의 시간이 지난 후에는, 셀렉트스타 팀과 함께 지금보다 앞으로 나아간 개발자가 되어 다시 글로 찾아뵐 수 있으면 좋겠습니다. 읽어주셔서 감사합니다!

Related Posts