개발을 워낙 좋아했다. 어릴때는 n사의 게임 핵을 만들어서 공지사항에 내 캐릭터가 제제되며 닉네임이 올라간적도 있다. 대학생때는 수강신청을 빨리하고 싶은 마음에 자동 신청 프로그램을 만들고 패킷을 조작하다 걸려 학사에서 연락이 오기도 했다. 그것을 계기로 학부생때 대학교 어플리케이션 개발 팀에서 일을 해보기도하고 암튼 지금 돌아보면 그 시절이 참 재밌었다.
무작정 대학 친구들과 스타트업을 창업했다. 창업을 하면 프로젝트를 많이 할 수 있을 것 같아서 그랬다. 4년 5년동안 다양한 서비스를 만들었고 회사를 성장시키면서 달려왔다. 대기업이 하지 않은 일들을 우리는 했고 작은 아이디어를 현실로 만들었다. 사용자들의 반응을 직접 보며 느끼는 성취감은 정말 컸다. 좋은 기회로 CES도 나가 세계무대에도 서보고 투자유치도 경험하며 그 과정에서 개발자로, 리더로서 많은 경험을 할 수 있었다.
하지만 마음 한켠에는 항상 갈증이 있었다. 비즈니스적인 성장보다 순수한 엔지니어로서의 성장이 더 컸다. 더 좋은 코드를 짜고, 더 나은 시스템을 설계해보고 좋은 동료들을 만나서 협업하는 그런 것들.. 하지만 내게 주어진 환경은 그런 것들을 할 수 없었다. 같은 시기에 입사한 친구들은 벌써 중간 리더가 되거나, 기술적으로 성장하고 있는게 보였다. 한편으로는 그게 부러웠고 조급해지기 시작했다.
그래서 5년간 이뤘던 내 회사를 정리하고 엔지니어가 되기 위해 새로운 도전을 시작하기로 했다.
1주차 개강날 오프라인에 참여하여 다양한 사람들을 만났다. 이렇게 많은 개발자를 한 곳에서 만난건 처음이였는데 새로운 경험이였다. 얼떨결에 팀장을 하게 되었는데 부담은 되지만 이것도 리더로서의 경험을 쌓을 수 있다고 생각하고 열심히 해보려고한다.
10주간 나를 극한으로 몰아넣을 수 있는 환경이 될 것 같다. 그 안에서 잘하려고 하는것 보다는 하나라도 더 배우자라는 마인드로 임해야겠다. 이 과정에서 더 좋은 개발자, 더 좋은 동료 그리고 더 나은 나 자신이 되고싶다.
그동안 나는 프론트엔드 개발자가 아닌 React 개발자로 일을 해왔던거 같다... 당연하게 사용되던 도구라 그 도구의 본질을 깊게 고민해봤던 적이 별로 없었다. 이번 과제를 통해 React나 Vue와 같은 SPA 프레임워크를 만든 팀들이 어떤 문제를 해결하고 싶어했는지 조금이나마 공감할 수 있었다.
SPA를 직접 만들어보면서 상태관리, 라우팅, 렌더링, 생명주기 같은것들을 직접 만들어 보는건 생각보다 많이 까다로웠고 한편으로는 재밌기도 했다. 어떻게하면 상태관리를 깔끔하게 할 수 있을까? 어떻게하면 라우팅 로직을 더 단순하고 확장성있게 만들 수 있을까? 이벤트는 어떻게 위임하는게 좋을까? 어떤 부분을 추상화해야 더 좋은 코드가 될까? 이런 고민들을 자연스럽게 할 수 있었다.
그동안 써오던 라이브러리들이 얼마나 많은 복잡함을 감춰주고 있었는지, 그리고 내가 그것들을 당연하게 사용하면서 얼마나 편안하게 일해왔는지를 새삼 깨닫게 되었다.
이번 과제는 단순히 과제를 했다기 보단 내가 사용하는 기술의 본질을 처음으로 되짚어본 소중한 경험이었다. 앞으로도 ‘그냥 쓰는 사람’에 머물지 않고, 조금씩이라도 ‘어떻게 만들어졌는지, 이게 왜 만들어졌는지 물음표를 던지는 사람’으로 성장하고 싶다.
다만 아쉬웠던 점도 분명 존재했다. 테스트코드 통과에 집중하다보니 코드의 완성도나 설계에 충분한 신경을 쓰지 못했다. 그리고 막판에는 거의 AI에게 다 작업을 위임했던지라 일단 돌아가게만 만들어서 통과를 하자는 마인드로 마무리해버렸다.
일단 돌아는 가잔아요..?
물론 AI를 활용하는 역량을 익힐 수 있었지만 중요한건 내가 얼마나 문제를 이해하고 내 손으로 풀어냈느냐는 부분이라는걸 다시 느꼈다. 2주차 과제에서는 좀 더 고민을 많이 해봐야겠다.
또한 팀장으로서 팀원들과 더 자주 소통하며 코드에 대한 리뷰를 하거나 설계에 대한 대화를 나눴더라면 서로 배우고 좋은 방향으로 발전할 수 있었을텐데 그런 방향을 제시하지 못한 것도 아쉽다.
다음 과제에서는 내가 좀더 주도적으로 문제를 이해하고 설계한 뒤 부족한 부분을 보완하는 도구로 AI를 활용해야겠다. 테스트 통과 자체를 목표로 삼기보다 좋은 구조와 코드 품질을 함께 고민하는 태도를 가져가려고 한다. 또한 팀장으로서 팀원들과 더 활발히 소통하고 코드에 대한 리뷰나 설계 논의를 자주 주도하는 시간도 가져야겠다. 서로의 성장에 기여하는 협업 방식을 연습하고 싶다.
다양한 사람들이랑 친해지기, 10주차까지 포기하지 않기, 하나라도 더 배우기, 코치님들이랑 친해지기, 기술블로그 활성화
그리고 이거..
개발을 워낙 좋아했다. 어릴때는 n사의 게임 핵을 만들어서 공지사항에 내 캐릭터가 제제되며 닉네임이 올라간적도 있다. 대학생때는 수강신청을 빨리하고 싶은 마음에 자동 신청 프로그램을 만들다가 걸려 학사에서 연락이 오기도 했다.
진짜 남다르다...
창준님 멋진 분이셨구나...