지난 금요일, 인턴까지 포함하여 약 2년 가까이 다닌 회사를 그만뒀다.
스스로를 잘 알기에, 휴식 기간이 길어지면 나태해질 것 같아 주말만 쉬고 다음주 1주일 내에 책 한권 떼기
를 목표로 잡았다.
그러고 바로 공부를 시작하다 보니 이제야 회고를 작성하게 되었다.
회사에 입사하게된 계기
시간을 거슬러 올라가 약 3년 전으로 되돌아 간다.
당시는 대학교 3학년 이었는데, 2학년 까지 공부하고 군대를 갔다 와서 바로 복학했었다.
당시에 들어갔던 과동아리 선배들 중 여럿이 A회사에 인턴 혹은 정규직으로 입사했다는 소식을 들었다.
그 회사는 부산경남권에서 알아주는 대기업의 계열사여서 부럽기도 하고 부모님도 좋아하실 것이라 생각하여 가고싶다는 동기부여가 강하게 됐다.
나름 정말 열심히 1년을 보내고, 3학년 2학기가 끝난 겨울방학에 일학습병행제
라고하는 채용전체형 인턴과 비슷한 제도를 통해
A회사
에 인턴으로 합격하게 되었다. (정확히는, 일학습병행제는 학교-회사-산업인력공단
이 연계하여 진행하는 프로그램이라 인턴과는 차이가 있다.)
인턴(학습근로자) 시절
그렇게 인턴이되어, 첫 실무에 투입된 프로젝트는 사내 시스템 개발
프로젝트였다.
이미 어느정도 안정화가되어 실제 운영하고있는 프로젝트였고, 아마 처음엔 단순히 화면개발 인력이 필요해서 데려왔던 것 같다.
백엔드는 Java 기반 사내 프레임워크로, 프론트는 ExtJS 라고하는 생소한 프레임워크로 되어있었다.
빠르게 학습하여 적응하려고 동기들과 함께 노력하였고, 열심히 하는 모습을 꾸준히 보여드리자 팀장님이 노력을 인정해주셨다.
그래서 단순 화면개발 뿐만 아니라 설계에도 참여할 기회 주시고, 공통 기능을 수정 할 정도로 신뢰를 쌓았다.
그렇게 학습근로자(인턴) 과정을 무사히 마치고, 정규직으로 입사하게 되었다.
솔루션 유지보수
정규직으로 전환되고, 나는 솔루션 유지보수팀
으로 배정받게 되었다.
C# Winform 기반의 솔루션이었고, 유지보수 직무는 1인체제로 운영되었다.
팀에는 컨설팅 기획을 담당하는 분들도 계셨는데, 이 분들도 개발자이고 과거에 유지보수를 하다가
상위 직급으로 올라가며 의지와 상관없이 컨설팅과 기획을 담당하게 되신 케이스셨다.
(그래서 조금이라도 여유가 생기면 개발쪽으로 손을 대시기도 하셨다)
어쨌든 나 혼자 고객문의 응대, 기술지원, 고객사 서버 점검, 개발, 테스트, 기획(일부)를
모두 해야하는 상황에 처해졌다.
되돌아 보니 그러면서 여러 어려움을 겪었었는데, 그 당시에는 내가 무능하고 모자라다는 자책만 많이 했던 것 같다.
하지만, 퇴사를 하고 한발짝 떨어져서 되돌아보니 조직의 구조적 문제가 있었다는것을 느꼈다.
기획 전문가(PM, PO)와 결정권의 부재
내가 기획까지 일부 참여해야 했었는데, 그 이유는 전문가가 아무도 없어서 항상 집단지성(?)으로 문제를 해결해야했기 때문이다.
이제 막 대학생에서 직장인이 된 내가 기획이란 것에 대해 알리가 전무하다.
나는 기획이란 그저 새로운 아이디어를 내는 것 정도로만 이해하고 임했었다.
팀장님도 전체적인 방향을 잡아가시려고 많이 노력하셨지만, 내부 사정상 우리 팀에게 결정권이 있지 않아서 그 마저도 힘들었다.
이때 처음으로 차라리 좀 더 작은 회사로 가거나, 더 결정권이 많은 팀의 일원으로 가서 일하고 싶다는 생각이 들었다.
설치형 솔루션의 한계
우리가 유지보수했던 솔루션은 설치형 솔루션이었다.
프리미엄은 서버 하드웨어까지 제공하기도 하고, 무료 버전은 고객이 직접 PC 에 설치하는 방식이다.
즉, 중앙화되어 관리할 수 있는 서버가 아니라, 고객사마다 모든 서버와 데이터가 분산되어있는 환경이었다.
그런데 솔루션이 스크래핑 문제가 있거나 기타 장애가 발생하는 경우가 잦아 주기적으로 모니터링을 해야했는데
모니터링을 할 수 있는 유일한 방법은 해당 서버로 원격접속하여 확인하는 방법밖에는 없었다.
로그도 그냥 텍스트 파일로 떨어지는게 전부여서 문제가 발생하면 baretail 로 일일이 뒤져가며 찾는 수 밖에 없었다.
그래도 팀에서 이러한 여러 문제를 개선하려는 노력도 했지만 솔루션 특성상, 시스템상 한계에 많이 부딛혀 좌절했었다.
시스템상의 한계
유지보수하고 있던 솔루션 시스템이 한계가 명확했다.
솔루션 개발 시 컨셉이 인터넷 뱅킹을 고객사 컴퓨터로 그대로 이식하는 것 이었기 때문인데,
그래서 개발 효율성을 위해 당연히 기존 인터넷 뱅킹 인프라를 이용하게 되었다.
그런데 해당 은행의 규정상 솔루션이 외부 프로그램으로 분류되어 사실 거의 API 를 불러다 쓰는 형태로 개발되었다.
그래서 솔루션에는 업무가 하나도 녹아들 수 없었고, 단순히 View 만 그려주고 API 를 호출하는것이 전부였다.
우리가 새로운 기능을 개발하고 싶어도 인터넷 뱅킹이 서비스하고있는 범위 내에서만 가능했기 때문에
사실상 인터넷 뱅킹의 API 변경사항을 반영하거나 View 에서의 Validation 을 동일하게 맞추는 작업만 할 수 있었다.
그래서 나는 리펙토링, 업무 편의 도구 개발 쪽으로 가닥을 잡고 개선해보려 했었다.
개발자 친화적이지 않은 조직문화
하지만 기업 문화 자체가 개발자 친화적이지 않았다.
인원의 70~80% 이상이 개발자였지만, 개발문화 라는것이 없었다.
한가지 사례로 상반기 목표를 모두 달성하고 하반기 시작까지 시간이 남아 부분적인 리펙토링을 하고자 했던 적이 있었다.
그런데 '시간이 남으면 하반기 과제를 미리 하면 되는거 아니냐' 는 답변을 듣고 설득이 되지 않아 좌절한 적이 있었다.
그리고 또 팀장님과 코드리뷰 도입을 시도했던적도 있는데, 시간낭비라거나 일을 안하고 논다는 시선도 있어 쉽지 않았다.
포지션 변경 시도
그래서 개발 역량을 기를 수 있는 다른 직무로 전환하기 위해 입사 후 여러번 포지션 변경을 요청(시도)하였다.
부장님 여러번 상담했었는데, 6개월 차에는 '1년만 채우면 옮겨준다', 1년차에는 '신입 들어오면 옮겨줄게',
신입이 들어오고나서는 '한 자리를 맡았으면 끈기있게 최소 3~4년은 해봐야지' 라는 이유로 번번히 좌절되었다.
그래서 내부에서는 활로를 찾기 힘들겠다고 생각하여 결국 이직에 눈을 돌리게 되었다.
이직에 대한 갈망
여러가지 일들로 인해 나는 배울점이 많은 환경에서 좋은 팀원들과 성장하고 싶다는 욕구가 생겨났다.
그래서 가고싶은 회사들을 여럿 찾아보았는데, 사실 이때까지도 나는 개발자란 직업과, IT 업계에 대한 이해가 많이 부족했었다.
그리고 다른 개발자들과 개발자 지망생들이 얼마나 치열하게 살고 있는지 전혀 몰랐다.
이때까지도 그저 규모있는 회사로 가면 다르지 않을까? 라는 생각에서 벗어나지 못했었다.
그러나 여러 회사들을 찾아보며 기업 문화는 어떻고 어떤 채용과정을 거치는지 조금 알게되었고 나의 부족함을 실감하게 되었다.
사실 운좋게(감사하게도) 기술 면접이나, 최종 면접까지도 가게된 적이 있었다.
하지만 번번히 면접에서 탈락했었는데 그 이유는 명확했다.
- 개발자로서 알아야하는 기본 지식의 부족함
- 나 자신에 대한 성찰
- 개발자로서의 로드맵의 부재
그제서야 내가 스스로에 대해 정말 모르고, 전공생이라는 말을 하기 부끄러울 정도로 기반 지식이 약하다는 것을 알게되었다.
그래서 나는 당장은 내가 바라는 환경으로의 이직은 힘들다고 생각되어 다시 공부를 해야겠다고 생각했다.
따라잡을 시간이 필요
프론트, 백엔드, 모바일 등 선택지가 정말 다양해서 내가 뭘 더 좋아하는지 알아보기 위해 이것 저것 건드려 봤다.
C# Winform 을 계속 개발했었기 때문에 성격이 비슷하다고 생각하여 프론트쪽으로 가닥을 잡았다.
그리고 React 와 Vue.js 중에서 코드가 더 직관적이라고 느껴진 Vue.js 를 선택했고 기초만 살짝 맛봤다.
하지만 CSS 에 도저히 정이 가지 않았고, 모바일은 프론트와 비슷한 이유로 나와 안맞겠다고 생각되어 시도해보지 않았다.
그래서 결국 백엔드 쪽으로 관심이 가던 도중 마이크로 서비스 여행기를 보게 되었다.
저런 기업문화를 가진 곳도 있구나 라는 생각도 들었고, 사용자 입장에서 별거 아닌 기능이라고 느껴질 것들을
안정성과 확장성을 위해 저렇게 멋진 아키텍처를 구성하고 개선해 나가고 있다는 것이 정말 신기했다.
콜럼버스가 신대륙을 발견했을 때 이런 기분이었을까 싶다.
(사실 나만 몰랐던 것을 뒤늦게 알게 된거였지만, 당시 감정이 그랬다는 의미이다 🤣)
게다가 프론트, 모바일 모두 백엔드가 개발한 API 를 사용하니, 백엔드 개발자 취업 시장이 더 넓겠다고 생각했다.
그래서 백엔드쪽으로 진로를 잡고 어떻게 학습하면 될지를 고민하게 되었다.
개발자 양성 기관들
좋은 개발자 양성 기관들을 알아보게 되었다.
이곳 저곳 뒤지다가 업계에서 유명한 개발자 양성 기관 여럿을 알게되었다.(참고한 이동욱님 글)
그래서 과감히 퇴사 후 지원해보기로 결심하였고, 현재는 지원 후 결과를 기다리며 개인 공부 중이다.
앞으로
사실 걱정이 안된다고 하면 거짓말이고, 아직 많이 불안하다.
하지만, 계속 걱정한다고 달라지는것도 없어서 그냥 내 페이스 대로 가보려고 한다.
화이팅...!