Skip to main content Link Menu Expand (external link) Document Search Copy Copied

현재와 목표간의 거리

개발자 취업시장의 문을 두드린지 6개월이 지났습니다. 알아야 될 부분이 너무나도 많았고, 또 많을 예정입니다. 지금 생각해보니 옜날 개발자로 진로를 처음 정한 이유는 단순했습니다. 새롭게 배우는 것이 즐겁고, 배운 것이 적용된 서비스가 정상적으로 동작하는 것이 즐거웠습니다.

하지만 최근 개발자 취준생으로써 열등감을 느낍니다. 스스로 부족함을 많이 느꼈기 때문입니다. 참 아이러니 한게 비록 학사/석사를 컴퓨터공학으로 전공하였지만 여전히 모르는 부분이 많고, 부족한 부분을 공부하다보면 더 많이 부족해지더라구요.

예로 개인 프로젝트인 채팅 서버 프로젝트를 들어볼까요?

제 프로젝트에서 유지보수관점과 성능측면에서 부족한 부분은 SQL 쿼리튜닝, CI/CD, 분산 DB, 캐시서버, 등등 셀 수 없이 많다고 생각합니다. 일단 SQL 쿼리튜닝부터 점검했는데요. 기본적인 쿼리튜닝에 대한 이해는 배울 수 있었지만, 문제는 그로 발생할 수 있는 장애에 대해 감조차 안온다는 것이었습니다. 모든 것을 예상하고 이를 사전에 고려할 수 있어야 하는 제 성격상, 프로젝트의 미래가 구체적으로 그려지지 않는점이 매우 힘들었습니다. 특히 장애부검 포스팅와 같이 고마운 포스팅을 참고하면 할 수록, 구현 및 공부해야될 부분이 기하급수적으로 증가했습니다(ex) 캐시서버, cpu/memory 사용량 전체 모니터링, SQL deadlock, etc.). 그리고 혼자서 모든 부분을 구현하기전 스스로 질문을 던졌습니다.

과연 신입 개발자에게 요구하는 역량이 어느정도일까?

사실 이전에 같은 질문을 카카오에 다니는 지인 형님께 물어봤었습니다. 신입 개발자로써 제 역량은 충분하다고 답변을 받았었는데요. 위로가 되었었지만, 한편으로는 불안합니다. 사실 여전히 부족하다고 느낍니다.

제 목표는 다년차 개발자같은 신입 개발자가 되는 것이 목표이기 때문입니다.

조금 건방진 목표이긴 하지만 다년차 라고 굳이 설정한 이유는, 서비스의 설계단계에서부터 고려하지 않으면 이후 서비스/기능들을 추가하거나 성능이슈를 점검할 떄 정말 힘들어지기 때문입니다(예로 채팅 서버 프로젝트를 확장성 이슈로 쪼갤 때 쉽지 않았습니다). 그래서 다년차 개발자와 같은 인사이트를 가지는 신입 개발자라면 팀에 도움이 되기에, 이와 같은 목표를 두고 있습니다.

결론적으로는 현재의 역량목표한 역량과의 괴리감이 지금 저를 힘들게 하는것 같습니다. 항상 스스로 확신을 가지고 살아왔지만, 과연 제 목표가 올바른지 의문이 드네요. 그래도 이 포스팅을 계기로, 제가 왜 힘든지 알 수 있게 되어 다행이라고 생각합니다.

끝으로 제가 좋아하는 말을 적으며 본 포스팅을 마무리하겠습니다.

Work hard, be kind, and amazing things will happen. - 코난 오브라이언