brunch

You can make anything
by writing

C.S.Lewis

by EasyCode Oct 13. 2024

개발자 계속하는게 맞을까?

요즘 저는 이런 생각에 빠져살고 있습니다.

처음으로 개발자가 되어야겠다고 생각했을 때 나는 막연히 좋은 개발자가 되고 싶다는 생각을 했던 것 같다. 그 때는 그저 좋은 개발자가 API를 막힘없이 찍어내고, 새로운 기술이 나오면 그것을 배우고 실제로 사용해야 그게 좋은 개발자라고 생각했다. 그래서 나는 많은 분야, 많은 기술에 대해서 어느정도 알고있지만, 뭔가 실속이 없는? 그런 사람이 되었다. 그래도 조금씩 실속을 채워가면 되지 라는 생각을 갖고 끊임없이 성장에만 집착하며 살아온 것 같다. 누구보다 빠르게 성장하고 싶어서 뭐가 그리 급했는지 졸업하기도 전에 회사 경험도 1년 넘게 채웠다.


개발자로서 현타

최근에 졸업 준비를 하면서, IT 연합 동아리 활동도 하고 다양한 회사에 공채 지원을 하기 위한 이력서도 작성해보고 이직을 위해 빅테크 기업에 지원해 서류 - 과제 - 기술 면접 까지 경험을 했는데 현타가 왔다. 그 이유는 크게 3가지이다.


1. 내가 한 실무 경험은 그냥 물거품이 된건가?
2. 다시 기본기를 잡기에는 너무 늦은 것 같은데?
3. 남들은 내가 놓쳤던 걸 하나도 안놓치고 살아온거겠지?


1. 내가 한 실무 경험은 그냥 물거품이 된건가?

이직 준비를 위해서 빅테크 기업 채용 프로세스를 경험하며 느낀 것이다. 나는 나름 다양한 기술들을 많이 접해보고 프로젝트 경험, 실무 경험 학부생 수준에서는 충분하다고 생각을 했었다. 근데, 그들이 찾고 있던 진짜 인재는 내가 아니라는 것을 뼈저리게 느꼈다. 예를 들자면, 좋은 코드를 작성하기 위해 어떤 것을 고민해 봤는가? 로 질문이 들어왔을 때 나는 실무에서 유연한 설계를 위해 어댑터 패턴 등의 추상화로 이루어냈다고 말을 했을 것이다. 근데 본질은 그게 왜 좋은 코드인데? 에 대한 명쾌한 답을 스스로 내지 못했다는 것이다. 

그래서 느낀 것은 내가 실무 경험을 하며 여태까지 해온 것들이 과연 무엇이었는지, 내가 어떤 프로젝트를 진행하기 위해 얼만큼의 고민을 하며 설계를 했는지에 대한 의문이 들면서 그럼 내가 여태한 것들은 물거품이 된건가? 라는 생각을 하게 되었다.


2. 다시 기본기를 잡기에는 너무 늦은 것 같은데?

실무 경험과 다양한 기술에 혈안되어 탄탄한 기본기보다는 어느정도 수준의 기본기를 바탕으로 빠르게 프로젝트에 적용하며 배워가자는 마인드로 여태껏 개발을 해왔다. 졸업을 앞둔 상태에서 돌아보니 내가 기본기를 너무 많이 넘겨온 것 같다는 생각이 들었다. 그렇다고 다시 기본기부터 차근차근 준비하기에는 주어진 시간이 나에게 많은 압박을 주었다.


3. 나만 부족하고 도태된 거면 어떻게 하지?

IT 연합 동아리 활동을 하며 느낀 것은 아직 학부생이고 나보다 나이가 어리지만 기술적인 지식이나 설계에 있어 의사 결정에 대한 확신, 신뢰가 나보다 훨씬 뛰어난 사람이 정말 많구나 였다. 근데 동아리에서 거의 나를 제외한 모두가 그렇게 살아온 것 같았고, 내 주변의 개발자도 전부 그렇고 나만 도태된 거면 어떻게하지? 라는 불안감이 생겼다.


이러한 고민 때문에 "내가 계속 개발자로 살아갈 수 있을까?"라는 의문이 생겼다. 하지만 한편으로는 나 자신을 다시 돌아보고 긍정적인 방향으로 생각하려는 노력을 하게 되었다.


그럼에도 불구하고

나 스스로에 대한 부정적인 이야기만 늘어뜨린 것 같아서 요즘의 나에 대한 생각을 이어 작성해보려고 한다.

나는 이런 경험들로 혼자 고민도 많이하고 생각도 정리하는 시간을 많이 가졌다. 위에서 말한 현타가 온 이유 세가지에 대해서 스스로 평가해보자면 그럼에도 불구하고 나는 계속 발전하고 있다고 자신있게 이야기할 수 있다. 


1. 내가 한 실무 경험

스타트업에서 실무 경험을 하며 좋은 코드를 진득하게 고민하기보단 당장 비즈니스 임팩트를 낼 수 있는 빠른 구현이 먼저였고 그걸 동시에 해내기엔 개발자로서 역량이 부족했던 것 같다. 그럼에도 나는 그걸 인지한 시점부터 매일 남는 시간동안 다양한 플랫폼을 통해 '좋은 코드'에 대해 고민하고 토이 프로젝트에 적용해보고 스스로 정의를 하려고 노력했다. 다시 생각해보니 나름대로 중요한 베이스를 잘 다지고 있는 것 같더라.

실무에서는 정말 매일이 새로웠고, 어떤 예외 상황이 어떤 부분에서 (비즈니스적인 문제, 개발 외에도.) 발생할지 모른다. 그걸 대처하는 방법에 대해 어느정도 스킬을 쌓을 수 있었고, 그런 돌발 상황에 익숙해진 것이 가장 큰 얻음이라고 생각한다.


2. 기본기

지금으로부터 딱 10개월 전에 3학년 2학기를 마치고 취업 준비를 하던 나를 기억해봤다. 나름 큰 기업에 인턴십 서류 합격을 하고 기술 면접을 보는데, 거기서 NodeJS 동작 원리에 대해 설명하고 그 동작 원리를 화이트보드에 작성해보라고 했었는데 그 때 머리가 하얘져서 덜덜 떨고 면접을 망친 기억이 있다. 지금 다시 해보라고 한다면 정말 누구보다 자신있게 설명하고 면접관과 즐겁게 기술적인 이야기를 나눌 수 있을 것 같은데? 라는 자신감이 있더라. 또, 다양한 커뮤니티 활동에서 발표와 지식 공유를 하고 있는데 다양한 CS 기본기에 대한 이야기를 하게 되었다. 생각해보니까, 나 나름 기본기를 열심히 다지고 있었다. 지금처럼만 느리지만 꾸준히 쌓아가다보면 언젠가는 지금 하고 있는 고민도 귀엽게 느껴질거라 생각하며 살아가고 있다.


3. 부족함과 도태

이 생각은 항상 하는 것 같다. 언제부턴가 지금 상황에서 뭔가 편안하다고 느껴지면 매번 불안했다. 내가 쉬고 있는 동안 누군가는 열심히 공부하고 있겠지? 라는 생각이 들었고, 솔직히 지금도 완전히 벗어나진 못했다. 그럼에도 내가 이런 부담을 조금이나마 덜어낼 수 있었던 이유는 '난 아직 젊고 개발자로 살아가기에는 아직 너무 많은 시간이 남아있어' 라는 것을 스스로 계속 상기시키려고 노력했기 때문이다. 지금 실패하고 넘어지는 것은 나중에 성공하기 위한 필수 과정이라고 생각한다. 대신 조금 더 여유를 갖고, 급하지 않게 하나씩 채워가는 과정이 꼭 동반되어야 할 것 같다는 생각도 했다.


그래서?

이제는 나 자신을 믿고 나아가려는 훈련을 하고 있다. 내가 걸어온 길이 완벽하지 않더라도, 이 과정이 내 미래에 도움이 될 것이라 확신한다. 앞으로도 스스로의 부족한 점을 고민하며, 개발자로서의 정체성을 찾아갈 것이다. 아무리 생각해도 나는 개발자가 되길 잘한 것 같다.

매거진의 이전글 내 짧은 "삶의 지도"
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari