2019년, 개발 1년차 회고

2019년에 이룬 것들

이번 해는 정말 많은 일을 했다. 2018년도에 학생회장을 하면서 지냈던 시간들 보다 어쩌면 더 바빴던 것 같고, 한 일도 많은 것 같다. 차이점은 내가 좋아하는 일을 하기도 했고, 진로도 결정되는 계기가 되었고, 이 블로그를 만들 수 있게 되었다. 2019년은 특별한 해이다. 2019년 1월 1일부터 뭘 했는지 기억한다. 2019년 1월 1일부터 2019년 12월 31일까지의 회고를 한 번 해보자.

피로그래밍

나는 피로그래밍을 통해 처음 개발을 시작했다. 다시 말해서 2019년도 1월 1일부터 피로그래밍을 통해 개발을 시작했고 이제 딱 개발 경력이 1년이 되는 해이다. 그 전에 학과에서 하던 공부로는 내가 컴퓨터 공학과 맞는 건가 싶은 느낌만 가지고 있었는데, 피로그래밍을 통해서 여러 가지를 확인 할 수 있었다. 우선 컴퓨터 공학은 나와 잘 맞는다. 말도 안되는 스케줄을 잠도 안 자면서 소화하는 기간을 지나고 나니까 내가 재밌어 하는 일이 뭔지 확인할 수 있었다. 뿐만 아니라 개발 공부에 대한 방법에 대한 확신이나 신념이 서기도 했다. 특별히 나의 경우에는 처음 공부하는 부분의 이론적, 문법적, 개념적 부분을 최대한 빠르게 끝내버리고 프로젝트를 해보고 여러 경우를 맞이 하는 것이 가장 잘 맞는 공부 방법임을 느꼈다. 물론 지금도 책을 보면서 천천히 이론적 공부만 하는 것을 싫어하는 것은 아니고, 무언가를 제대로 공부할 때는 느리게 하지 않는 것을 선호하게 된 것 같다. 올 해 나와 같은 시기에 시작한 개발자 중에서 나보다 빠르게 성장한 개발자가 없다는 것을 확신하기 때문에, 이런 개발 공부 방법론을 이번 겨울 기수 피로그래밍 강의에 가서 널리 전파해줄 계획이다. 이번 기수는 생각해 볼 수록 감회가 남다른 기수이다. 정확하게 1년 전에 2기수 윗 선배님이 오셔서 강의하는 것을 보면서 내가 1년 뒤에는 저렇게 될 수 있을까? 라는 생각을 했던 게 기억나는데, 이런 궁금증을 가진 2020 겨울 방학 기수 후배님이 계시지 않을까 생각이 들었다. 1월 초에 가는 강의에서 꼭 당연히 가능하다고 얘기해 줄 생각이다.

구체적으로 피로그래밍에서 Django를 배우기 시작했다. 지금 생각해도 장고는 처음 개발을 공부하는 사람에게는 최고의 선택이 아닐까 싶었다. 아무 것도 모르는 사람이 가장 빠른 시간 내에 프로젝트를 진행할 수 있는 프레임워크라고 생각한다. 피로그래밍에서 밤을 새면서 한 프로젝트들이 제일 재밌었다. Git으로 협업 하는 방식을 직접 모든 프로젝트를 뒤집어 엎어 가면서 체득하였고, 밤 새면서 고통 받는 사람이 아님을 확인했고, 주변에 나와 잘 맞는 사람과 있을 때 큰 시너지와 자극을 얻는 것을 새삼 다시 느꼈다.

피로그래밍은 내가 개발 공부를 하루 열 시간 이상 하는 탄력을 제대로 심어주었고 나는 운이 좋게도 피로그래밍이 끝나자 마자 그 탄력을 이어서 자율적으로 원 없이 공부할 수 있는 환경에 놓여지게 되었다.

위한과 인턴

위한 개발팀에서 클라우드 인프라를 지원 받으면서 인프라 공부를 할 수 있었다. 개발 동아리로서는 정말 최고의 동아리가 아닐 수 없었다. 다만 개발하는 친구들이 없어져서 아쉬웠다. 그 당시에 위한 개발팀에 개발하는 사람이 없어서 사실상 거의 나 말고는 없다고 볼 수 있었다. 위한에서는 방학이 끝나고 인턴을 했다. 정확하게는 위한과 관련된 회사에서 원 없이 개발을 했다. 개발 회사가 아닌 곳에서 짜잘한 개발 업무를 맡아서 혼자서 공부했다. 위한이 얻은 건 없다고 볼 수 있지만 나는 너무 많은 것을 얻어갔다. 그 시기에 REST API가 무엇인지 제대로 알게 되었고 많은 프로젝트를 했다. 그 중 하나가 연하대라는 대학생 미팅앱을 만드는 프로젝트였다. 완성하지는 못했다. 다만 DRF를 써보고 React Native, React, Redux 등 프론트앤드 프레임워크를 많이 공부할 수 있었고, 앱 환경에서의 인증 방식을 여러번 고민하고 JWT 방식의 인증도 시도해 봤다. GraphQL에 대해서도 접하게 되었고 회사에서 진행하는 외주 같은 프로그램에 직접 적용해 프로덕트를 만들었다. REST와 또 다른 매력을 느낀 계기가 되었지만, 이게 왜 효율적인지 그 때는 깨닫지 못 했다. 코드의 양은 그대로 같은데? 라고 생각하면서 생산성이 더 좋다는 아티클이 잘못 쓴 것이라고 생각했다. 아무튼 개발팀 덕분에 돈 걱정 없이 EC2, RDS, S3 정도는 많이 쓴 것 같다. 이 과정이 끝나고 나니까 내가 좀 잘 해진 느낌이 들었다. 솔직히, 이 때 성장 속도도 말이 안된다고 지금도 생각한다. 하루 평균 10시간씩 6개월 정도 개발하는 것을 마친 후에 나는 진짜 개발자가 있는 곳에 가서 지금까지 내가 해온 공부들이 맞는 것인지 확인해보고 싶어졌다.

여러 면접들

위한에서의 학점 인정 인턴이 끝나고, 나는 개발자가 보고 싶었다. 나보다 월등하게 잘하는 사람들 사이에서 내가 잘 공부해 온 것인지 확인해보고 싶었다. 다른 개발 회사에 들어가기 위한 여정이 거의 한 달 정도 된 것 같은데 그 동안 약 7, 8 곳에서 면접을 봤다. 이 과정이 생각보다 내가 앞으로 무엇을 공부할지, 회사에서 요구하는 능력은 어느 정도일지를 느끼는 계기가 되었다. 어디서나 묻는 HTTP와 관련된 내용들, Database와 관련된 트랜잭션, 인덱싱, 설계 방법, 알고리즘 관련 내용들, 문제 풀기, Javascript의 비동기, 이벤트 루프, 호이스팅과 ES6 등 단편적인 지식들이지만 정말 중요하고 많은 내용들을 공부했다. 그리고 면접 가서 떨지 않는 법, 완전 모르지 않게 보이는 방법, 완전 모르는 거는 깔끔하게 인정하고 자연스럽게 지식을 줍줍 하고 가는 방법 등을 얻어간 것 같다. 특히 면접 보면서 얻은 경험 중에 가장 좋았던 건 공통적인 공학 내용 외(당연 이것도 좋지만) 평소 혼자 개발하던 경우엔 느끼지 못 했던 도커, GraphQL 사용 이유에 대해서 띵하는 깨달음을 얻은 경험이었다. 프론트앤드와 백앤드를 혼자서 하니까 GraphQL이 왜 좋은 건지 이해하지 온전히 이해하지 못 했고, 개발 환경이 혼자니까 Docker가 왜 필요한지 온전하게 느끼지 못 했던 것이라고 생각한다. 아무튼 이런 저런 경험을 하고 나서 면접에 대해 예리해진 상태로 팀원 30명 대, 개발팀 15명 정도 되는 스타트업에 들어갈 수 있었다.

조용한 스타트업

운이 없게도 들어가게 된 스타트업은 나와 정말 안 맞는 곳이었다. 일단 집이 멀고, 만드는 서비스에도 크게 애착이 가지 않았다(이유는 모르겠다. 그 전에도 써 본 적이 있는 서비스였지만 그냥 개발하는 내내 기계같았다.). 팀원 분들 개인들은 다들 너무 좋았고 나에게 잘 대해 주셨지만, 팀이 너무 조용해서 식사 시간 조차 한 마디도 안하고 다시 올라온 적도 있는 그런 팀이었다. 개발자간의 개발 관련 얘기나, 협업 하면서 토론을 하는 그런 기대를 하면서 왔지만 수습기간 내내 한 번도 그런 재미를 못 봤다. 테스트 코드를 쓰는 것이나, 인프라에 대한 간접적인 경험도 기대했지만(솔직히 인프라는 몰라도 테스트 코드는 했어야 하지 않았나… 싶었다.) 그런 건 없었고, 문제가 많은 레거시 코드를 안은 체로 비지니스에 치여 계속 레거시를 쌓는 구조로 개발이 굴러가던 회사였다. 어떤 걸 바꿔야 하는 지는 모두가 공감하지만, 적극적으로 바꾸지는 못 하는 그런 상황. 내가 주니어이기도 하고 비지니스에 대해서는 접촉면이 없어서 쉽게 판단 내리기 어려웠지만 상황 자체는 실망감이 너무 컸다. 그래서 앞으로 어떤 회사를 가야 할지에 대한 여러 가지 기준점을 세우는 정도로 이 회사에서의 경험은 마쳤다. 수습 기간이 끝날 때 쯤 퇴사하겠다고 하고 퇴사했다. 학업을 마치고 싶다는 이유를 댔지만… 사실 학업은 큰 이유가 아니었다. 이 회사 이후로 회사 선택 기준이 많이 바뀌게 되었다. 그에 대한 내용은 다른 글에 작성되어 있다.

피로그래밍 운영진

피로그래밍에는 남다른 애착이 있기 때문에 운영진까지 했다. 운영진은 재밌는 경험이긴 했다. 사실 피로그래밍은 개발 공부하는 장점이 완전 크지만 그만큼이나 엄청 열심히 사는 사람들이 모인다는 장점이 또 있다. 주변 사람들에게 이렇게 자극 받는 환경은 흔하지 않다고 생각했다. 여기에 모이고, 온전하게 완수 하는 사람들은 개발이 적성에 맞지 않더라도 어디가서든 열심히 살 사람들이라고 생각했다. 이런 사람들을 많이 만나고 싶기도 해서 운영진을 했는데, 운영진을 한 친구들하고 많이 친해지고 11기 몇 사람들과도 친해지고, 좋았다. 여전히 개발하는 친구들 모임은 여기에서 만난 사람들 지분이 상당히 높다. 11기 중에 한양대학교 사람들은 위한 개발팀으로 꼬셔왔다.

해커톤: Amathon

아마톤은 정말 나에게 큰 반환점을 준 해커톤이다. 아마톤에서는 나에게 있어서는 꽤나 실험적이었는데, 서버리스와 Graphene였다. 특히 서버리스는 나에게 신세계로 다가왔는데 클라우드 의존적인 기술 스택을 사용하는 것이 생각보다 벽이 높지 않고, 공부하고 바로 사용할 수 있구나라는 띵한 경험을 했다. 이후 AWSKRUG라는 커뮤니티를 알게 되었고, 여기서 진행하는 클라우드 관련 밋업을 나가서 여러번 참석 했다. 커뮤니티 참석은 재밌었다. 현업자들이 클라우드 기술을 어떻게 도입했는지에 대한 내용이나, 클라우드 관련 핸즈온 등 새로운 걸 접하기에 퀄리티 높은 정보들이 많았다. 아무튼 해커톤에서 서버리스의 매력을 느끼고 이후 클라우드 의존성이 높은 프로젝트를 한 두 번은 진행해보고 싶었다. 지금까지도 클라우드를 적극적으로 공부하고 있다. 이런 퀄리티의 해커톤이 있다면 또 다시 나가보고 싶다.

기타 여러가지와 내년도

개발적인 측면으로 큰 사건들은 위 정도로 정리해도 되지 않을까 싶다. 그 외에 CI/CD, TDD, Docker, Typescript 등에 큰 관심을 갖게 되었고 지금은 CircleCI, github actions, Mocha, should, jest, Docker, docker-compose, Typescript를 모두 사용해서 백앤드 개발을 하고 있다. 회사를 나오고 나서 교환 학생이 가고 싶어서 한 달간 영어 공부를 대충 하고 시험을 보고, 학교 졸업할 계획을 세우는데, 중간에 학과 선배님의 조언을 듣고 생각이 바뀌었다. 본인이 엄청 초기부터 시작한 스타트업이 상당히 커졌는데, 그 과정을 모두 함께 참여하다 보니까 남들이 10년 동안 해야 얻을 수 있는 경험치를 본인은 정말 짧은 시간에 쌓을 수 있었다는 조언과 개발자로서 빠른 성장을 기대하고 있다면 “성공할 것 같은” 초기 스타트업을 선택해서 한 번 뛰어 보라고 하셨다. 생각보다 울림이 있어서 머릿 속에 딱 저장 한 상태일 때 학교 커뮤니티에서 마침 초기 스타트업 개발자를 나쁘지 않은 조건으로 뽑는 것을 보고 지원했고, 지금은 그 회사에서 일을 시작했다. 기획 과정과 디자인이 나오는 과정을 모두 참여하고 있는데 재밌고 이전 스타트업에서 느꼈던 단절감이 전혀 없다. 또 공동 창업자로서 제안을 받아서, 당분간은 다시 하기 힘든 경험을 할 수 있겠지? 라는 생각 때문에 우선은 구두로 합류하겠다 한 상태이다. 계약이 어느 정도로 변경되는지 확인해야겠지만 별 변동이 없다면? 월급을 기존 제안보다 조금 더 인상하고 공동 창업자로 들어가길 바란다.

내년은 창업자로서 회사에 기여하고 있길 바라기도 하고, 또 정신없이 성장하고 있길 바라고 있다. 내년은 올해보다 더 재밌을 것 같다.

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×