백엔드 개발자가 되고싶은 이유
개발공부를 제대로 배워보자고 처음 각오했을때 맞이했던 첫번째 질문은 프론트엔드와 백엔드 공부중에 한가지를 선택하라는 것이었다. 두 분야 모두 전무한 상태에서도 선택하는데 큰 어려움은 없었다. 백엔드 개발이 명확한 답을 찾는 과정이라고 생각해 백엔드로 결정했다.
학부 시절 교양과목으로서 프로그래밍언어를 들었을때 들었던 생각은 컴퓨터는 명확하다는 것이다. 내가 입력하고 작성한대로 명확한 답을 사람과 비견할 수 없을 정도로 빠르게 내놓는다는게 참 매력적이었다.
전기를 전공으로하고 관련 공기업에 재직하게 되면서 내가 이 직업에 흥미를 점점 잃어가게 된것은 명확함이 없어서가 아닐까?
아니 명확함은 분명 존재했다. 전기설비들의 유지보수가 내 주 업무 였는데 어떤 한 설비의 장애가 발생하게 되면 장애 원인을 찾고 해당부분만 피벗하여 수리하는것이 정상적인 메뉴얼이다. 그렇지만 직무 현장에서는 이런경우가 많지 않았다.
가령 A라는 설비가 장애가 발생했고 a-1 에서 a-3 까지의 부품들이 원인이라고 예상가능한 상황에서도 해당 부분만 교체하는것이 아니라 A설비 전체를 교체하는 일이 잦았다.
처음에는 이런 일들이 정확한 분석을 하지 못해서, 혹은 귀찮아서 라고 생각했는데 분명 회사 내에는 나보다 훨씬 전문적이고 숙달된 선임분들이 많이 계셨다. 어느 날 친해진 선임분께 물어봤고 선임분께서 해주신 답은 " a-1이 장애원인인건 대부분 직원들이 알아, 그렇지만 이러한 판단으로 a-1만 교체했는데 같은 증상이 또 반복된다면 누구의 책임이 될까? 게다가 이런현상이 발생됐을때 지금까지 해왔던 조치는 A를교체하는것이었는데 이런걸 무시하면서 조치했을때 발생하는 책임은 온전히 조치자에게 갈거야"
그렇다. 내 회사의 업무 프로세스상 설비의 명확한 분석을 통해 업무의 능률을 올리는 일은 나에겐 꽤나 어려운 일이라는 생각이 들었다.
그런생각을 갖을때 쯤 부터 접어왔던 개발자에 대한 호기심이 생기기 시작했다. 학부 졸업을 앞 둔 당시, 나는 2가지 갈림길에서 고민했었다.
1) 기존 전기전공을 살려 자격증을 취득하고 공공기관 취업준비를 할 것인지
2) 교양과목을 시작으로 영상처리공학, 지능제어, 딥러닝과 같은 과목들을 틈틈히 수강하면서 졸업작품에까지 프로그래밍을 사용했던 개발자 준비를 할것인지 고민이었다.
결국 전자를 선택했고 현재 관련 기업에서 재직자로 일을 하고있지만 지금은 그때의
선택을 후회한다. 6개월 정도의 기간동안 "그때 내가 개발자 준비를 시작했다면 지금은 어떻게 되었을까?" 라는 생각을 자주 했었다. 후회만 남는 시간이 지속 될바엔 뭐라도 하자는 생각으로 개발자 공부를 시작했다.
명확함의 매력에 이끌려 개발자 공부를 시작했고,개인적으로 이 기준에 맞는 공부는 백엔드개발이라고 생각했다. 프론트엔드의 경우 사용자 인터페이스를 구현하는 과정에서 어떤 방식이 더 맞고, 사람들에게 더 편하고 매력있게 구현할 수 있는지를 중점으로 생각해야 하는데 내가 잘 할수 없는일이라고 생각했다. 각각의 이용자들에게 최적의 환경을 제공한다는게 얼마나 불명확한가. 반면 백엔드의 경우 데이터 처리하는데 10초 걸리던것을 1초로 줄이거나, 순간적인 트레픽에 대처하는등 발생하는 문제들의 답이 명확하다는 느낌을 받았다. 내가 백엔드 개발자가 되어야겠다고 생각한 이유다.
물론 이는 단순히 시작에 불과하다. 개발 공부를 더 하게 될수록 위에썼던 나의 생각들이 부끄러워지는 순간이 올거라고 생각한다. 그렇지만 일단 발을 내딛어야한다. 언제든 생각은 바뀔수 있지만 내가 백엔드 개발자를 선택한 이유는 현재는 이와 같다.