10년차 개발자인데 백엔드로 전향이 가능할까요
안녕하세요. 이제 경력 10년이 다되어가는 c++ 개발자입니다.
개발했던 분야는 주로 차량 AVN 미들웨어 쪽 개발을 많이 해왔고, c++을 주력으로 개발했습니다.
c++ 개발, 포팅, crash 이슈 분석 등 관련된 여러 일을 주로 했었고, 2년 정도는 기회가 되어 머신러닝 관련 과제를 잠깐 진행 했었습니다.
그동안은 정말 열정적으로 업무에 임해왔고, 그 덕분에 인정도 받아 연봉도 많이 올릴수 있었네요..
그런데 약 6개월 전쯤 어떤 일을 계기로 백엔드에 관심을 갖게되면서, 백엔드로 전향을 하고 싶어졌습니다.
그래서 지금까지 주말을 비롯 모든 여가 시간을 포기하면서 백엔드 공부 및 프로젝트를 진행해 왔네요.
제가 그동안 공부했던 분야는 아래와 같습니다.
Spring(Web, JPA, thymeleaf, QueryDSL), msa, kubernetes, mysql, redis, kafka, spark, tensorflow, hadoop
Spring은 Inflearn 유명 강사님 강의를 들으며 공부하였고, 나머지는 업무나 독학을 통해 필요한 부분 찾아보며 공부해왔습니다.
지금은 사이드 프로젝트를 만들고 있으며, 데이터를 수집하고 이를 통해 추천 서비스를 제공하기 위한 플랫폼을 만들어 보려고 하고 있습니다.
인증 서비스 : 인증 및 토큰 발행, 권한 관리, 다중 로그인 및 로그인 관리, 회원 가입 및 회원 관리
데이터 수집 서비스 : 데이터 수집, 데이터 스트림 관리(kafka stream)
지금까지 구현한 서비스는 두 서비스이고, 서비스들은 msa, stateless 구조로 구현하고 있습니다. 서비스들 간 연동은 event driven 으로 느슨하게 구현 하고 있고, token 갱신과 같은 즉응답이 필요한 경우에만 rest로 구현중입니다.
두 서비스는 kubernetes 환경에 올려 성능 테스트(nGrinder) 및 튜닝 작업을 하였습니다.
Kubernetes는 개인 PC에 구축하여 metalLB, Ingress 들을 활용하여 서비스들에 접근하도록 구성하였고,
Jenkins를 통해 정적 분석 및 빌드, 자동 배포가 가능하게 구성하였습니다.
앞으로는 spark, airflow를 통해 kafka로 수집된 데이터들을 처리하여 사용 통계나, 간단한 추천 모델을 위한 데이터 파이프라인을 구성해보려고 하며, 필요한 모델은 ML 모델을 만들어보고 serving 환경을 구성해보려고 합니다. 그리고 이를 통해 추천 정보나 이벤트를 제공하는 서비스를 만들어보려고 합니다.
근데... 문득 백엔드 전향이 내게 가능한 일일까. 괜한 시간 낭비하는게 아닐까 싶은 생각이 드네요.
너무 앞뒤 재보지도 않고, 하던일에 질려 도망치듯 백엔드 공부를 시작한건 아닌지.. 가서 적응은 할수 있을지.. 많은 생각이 듭니다.
공부를 하면 할수록 알아야할 지식들은 점점 많아지고, 여럿 IT 기업 블로그들을 보면.. 제가 공부했던 부분들은 이제 막 뛰어든 신입분들도 다룰수 있는 분들이 많더라구요.
그리고 이제 나이도 적은게 아니고, 어딜가든 바로 투입되어 실적을 만들어내야하는 연차인데.. 고작 1년 남짓 공부한걸로 가서 폐만 끼칠까봐 두렵네요. 사실 그전에 이직도 쉽지 않겠구요..
그래서 더 늦기전에 하던 공부를 접고 그동안 몸담갔던 분야를 밀고 나갈까 고민중입니다.
지치기도 했구요 ㅜㅜ.......... (일하면서 공부하는 분들 정말 존경합니다.)
선배 개발자 분들의 조언을 부탁드립니다.