프로그래밍 일기 — 개발자 취업에 대한 걱정 및 고민

배우는 자(Learner Of Life)
12 min readSep 22, 2023

--

개발자 선배님들께 질문이 있습니다.

선배 개발자님들께 도움을 요청드립니다(1).

안녕하세요.

저는 약 5년 정도 IT 회사 PM으로 일을하다가 개발자로 전환하기 위해서 항해라는 부트캠프에 참여중인 사람입니다.

저의 나이는 30대 중반입니다. 이 부트캠프에 참여하게된 이유는 몇 년 전부터 여기 부트캠프 회사에서 제공한 직장인 대상 웹 개발 주말반을 수강하면서 프로그램을 좋아하게되었고, 그 때부터 지금까지 꾸준히 Coursera 등의 MOOC 플랫폼으로 혼자서 Python 수업들을 들으면서 프로그래밍을 계속 학습해 왔습니다. PM을 하면서 눈치도 빠르지 않고 센스도 부족해서 고객사와 개발자들을 아우르며 일하기가 매우 힘들었는데, 개발자들은 상대적으로 자신에게 주어지는 일만 잘 하면 그것이 티가 나는 스타일이라 그런 환경이 부럽기도 했습니다. 고객사와 팀원들에게 조아리면서 욕만 먹으며 일을 아무리 잘해도 티가 안나는 PM이 정말 싫었고, 저 스스로도 개발자 출신이 아니어서 개발자들의 입장에서 100% 이해하면서 그들에게 최적의 업무 환경을 제공하는 것이 쉽지 않았습니다. 마침 이전에 다녔던 회사의 사정이 좋지 않아 권고사직을 했고, 이제 더 이상 PM일은 하고 싶지않아, 오랫동안 유튜브 광고를 통해 눈여겨 보았던 이 부트캠프에 과감하게 등록했습니다. 제가 10년 20년 앞으로 일을 한다고 하면 개발자 이외에는 상상할 수 없었습니다.

현재 과정 중반 중에 있고, 기본적인 수업은 다 끝난 상태이며, 현재 6주간 이어질 마지막 프로젝트를 대비한 2주간의 예열 프로젝트를 하고 있습니다.

그런데 프로젝트를 하면서 , 또 최근에 멘토님을 만나서 현재 취업 시장의 현실을 듣고는 많은 생각이 들었습니다.

부트캠프에서는 기술적으로 도움을 주기위해 멘토님을 붙여서 저녁에 멘토님을 만나서 이런 저런 질문을 할 수 있는데, 저는 기술적인 질문을 다한 상태에서 멘토님께 현재 취업시장이 어떤지를 물었습니다.

멘토님 께서는 꽤 잘나가는 게임회사에 개발자로 근무 중이신데, 역시 이 부트캠프의 옛 기수의 수료자이십니다.아마도 이 프로그램이 시작된 4~5년 전 수료생이신 것 같습니다. 그 때만해도 정말 개발자 수요가 많았고, 부트캠프 졸업도 하기전에 이곳 저곳(비록 스타트업이나 중소기업 위주이기는 하지만)에서 오퍼를 받으셨다고 하네요.

그런데 지금은 본인이 이제 3년 정도된 경력자 서버 백엔드 엔지니어임에도 불구하고 이직하려고 이력서를 내면 거의 10에서 2정도만 연락이 오는 수준이라고 하시더라고요. 그나마 그 2곳도 연락이 오랫동안 없어서 떨어진 것 같다고 하십니다. 본인이 보기에는 지금 신입에 대한 TO를 많이 줄인 회사들이 많고 또 많은 스타트업들이 망했다고 하네요.

그래서 신입들에게는 그 어느때보다도 가혹한 시기라고 하십니다. 코로나 이후에 개발자 수요도 많이 줄었다고 하더라고요.

멘토님께서는 겁을 줄 의향은 아니셨지만, 그래도 솔직하게 이야기해주는게 좋겠다는 생각에 그렇게 말씀을 해 주셨다고 합니다. 지금 이 부트캠프의 참여자가 제가 속한 백엔드 그룹만해도 70명이 조금 넘습니다. 여기에 프론트도 아마 비슷한 수일 것이고, 그러면 150여 명이 되겠죠. 또 부트캠프가 여기만 있는 것도 아니고 바닐라코딩 등 여러 다른 곳들과 국비지원까지 합하면 제 예상에는 아마 최대 1000명 정도가 매년 취업시장에 쏟아지는 준 신입 개발 지망생의 수가 될 것 같습니다. 그래서 그런지 멘토님께서는 내가 이 부트캠프에서서 가장 잘하는 1~2명 내외에 들어가야 취업이 어렵지 않을 거라고 하시네요.

멘토님께는 혹시 “부트캠프나 국비지원”같은 양산형 개발자가 많아진 것이 그 원인인지, 혹은 신입들이 회사에 들어가서 2~3년 만에 연봉을 올리기 위해 이직을 해 버리니, 신입을 육성하는데 돈을 들였던 회사들이 차라리 경력자를 돈 더주고 쓰는게 이득이라는 판단하에 신입 TO를 많이 없앤것이 원인인지를 여쭤봤습니다. 멘토님께서는 그 것들도 원인이 될 수는 있으나, 가장 큰 원인은 코로나 이후 경제 상황의 변화가 가장 크다고 하셨습니다. 스타트업이 많이 도산하여 일자리가 줄어든 것도 큰 원인 중 하나라고 하시네요. 물론 저희에게 동기부여를 하기 위해 과장하여 말씀하신 측면도 없지 않아 있을 것 같지만, 현업자가 그렇게 느낀다고하니 마냥 그것을 믿지 않기도 힘드네요.

저 또한 프로젝트를 하면서 많은 생각이 들었습니다. 이 부트캠프는 마지막 6주간의 메인 프로젝트를 2가지 트랙으로 나눠서 진행합니다. 하나는 프론트/백엔드 개발자와 실제 디자이너가 협업하여 서비스를 론칭하는 트랙이있고, 다른 하나는 조금 더 기술적 난이도가 높은 백엔드 문제 해결(대용량 트래픽 처리, 보안성 개선, 실시간 데이터를 효율적으로 처리하기 등등)을 통해 백엔드 엔지니어로써 기술력을 올리는 트랙이 있습니다. 이번 예열 프로젝트를 시작하기 전까지만해도 저는 후자에 마음이 쏠렸지만, 막상 프로젝트를 해보고 나서는 조금 생각이 달라졌습니다.

일단 이번 예열 프로젝트에서 저는 조금 잘하는 다른 백엔드 지망생 분들과 매칭이 되었습니다. 4명으로 조가 짜여져서 저희는 고심끝에 배달앱을 하나 만들어보기로 했습니다. 물론 프로젝트 자체가 백엔드 작업을 위주로하는 것이 목표이기 때문에 프론트 작업을 최소화하고 백엔드 테스크(Redis + Elastic Search 등을 활용한 검색 효율성 개선 및 시간 데이터 처리, 테스트 코드 작성 및 CI/CD를 활용한 배포 자동화)등에 도전하기로 목표를 잡았습니다.

그런데 막상 프로젝트를 시작하고 보니, 꽤 많은 부분에서 특히 테이블 관계 정의(Entity Relationship)을 하는데 있어 제가 상당히 어려움을 겪었고, 다른 잘하시는 분들을 따라 잡아 저도 그만큼 기여를 하고 싶지만 그게 쉽지는 않았습니다. 배달앱에서 여러가지 Entity를 만들었는데, 그 각각이 서로 1:1, 1:N, N:M인지에 따라 어떻게 코드상에서 관계를 설정해야할지가 더욱더 복잡해졌고, 그 부분에 있어 어느샌가 갈피를 잃은 저를 발견하였습니다(다행히도 점점 ERD가 복잡해져 관계 없이 index만으로 참조하는 방향으로 나중에는 수정하였습니다.). 다른 두 분은 성향이 그렇게 붙임성 있는 분들이라기 보다는 자기가 하는 일에 집중하면서 다른 사람이 방해하지 않는 것을 원하는 성격이셨고, 저 또한 그 안에서 분위기가 무거워진다고 느껴 쉽게 도움을 청하거나 질문을 하기 어려웠습니다. 제가 조금 더 노력해 따라가려고 했지만, 프로젝트를 하면서 공부를 같이 한다는게 그렇게 쉬운 일이 아니었습니다. 그래서 저는 현실적으로 제가 부족한 부분을 인정하고 대신 다른 사람들이 기피하는 프론트 작업(웹 페이지 작성 및 JavaScript 작성)업무를 하려고 했습니다.

그런데 그 업무도 마침 시작해보니 생각보다 훨씬 어려웠습니다. Ajax/Fetch() API 등을 활용해 백엔드 데이터를 가져오고 그것을 웹페이지에 출력하기만 하면되는데 그것이 또 쉽지 않더군요. 익숙하지 않은 JavaScript를 다루려니 더 어렵게 느껴졌습니다. 그래서 그 부분도 너무 진행이 안되어서 어느 정도 백엔드가 완성된 상태에서(백엔드에서도 저의 기여도가 많지 않았습니다.) 다른 분들께 도움을 구해야했고, 다행히도 프론트 작업에 필요성을 다들 느껴서 모두 프론트 테스크로 넘어왔습니다. 다른 분들이 백엔드를 조금 더 잘 구현하셔서인지 저보다 훨씬 더 빨리 스크립트도 캐치를 하시고 뭘해야할지 파악을 하시더군요, 저는 결국 웹 페이지 뼈대를 좀 만들고(그 마저도 많이 고쳤습니다.) 프론트 기여도 생각보다 많이 하지 못해서 결과적으로 제가 다른 사람에게 많이 끌려다니는 시간을 보냈습니다.

그래서 다음 프로젝트를 할 때 제가 백엔드 과제에 집중하는 트랙으로 갈 수 있을지 고민이 많아졌습니다. 지금도 백엔드 그룹 중에서 엄청 못하는 건 아니지만 그렇다고 잘하는 쪽에 속하지도 않습니다. 지난 한 달 동안 하루에 12시간 넘게 투자해서 기본적인 Java Spring CRUD는 할 수 있는 능력을 갖추었지만, Spring Security에 대한 이해, 그리고 특히 Entity Relationship에 대해서 완벽하게 이해하지 못하고 넘어갔습니다. 추후에 나중에라도 시간을 내서 공부를 하려는 마음을 먹었는데 이번 과정에서는 쉽지 않을 것 같습니다. 아마 부트캠프가 끝나도 이 과정에서 배웠던 것의 절반이상을 다시 리뷰해야할 것 같다는 생각이듭니다. 어쨌든 이런식으로 가다가는 내가 1인분도 못하는 사람이 될까 두렵습니다. 메인 프로젝트에서 백엔드 과제 트랙을 밟으려면 과연 지금 제 실력으로 충분할까하는 생각이듭니다.

그러한 두려움이 물론 이유 중 하나이기는 하지만, 저는 서비스를 론칭하는 팀에가서, 나와 다른 전문성을 가진 사람들과 협업하여 결과를 내고 싶은 마음이 더 큽니다. 백엔드 그룹에서 백엔드 지망생들과만 이야기해보니, 물론 많이 배울 수 있어 좋았으나, 백엔드 사람들이 은근히 프론트 엔드를 무시한다는 느낌을 받았습니다. 저만 그렇게 느낀 것 일수도 있는데, 프론트엔드는 백엔드처럼 복잡하게 대용량 처리를 하는 것은 아니니 더 쉬울 것이라고 착각하는 사람들이 많았습니다. 실제로 저희 팀도 그런 오해 때문에 실수를 하기도 했고요. 프로젝트 시작전부터 와이어프레임을 확실하게 만들어 프론트를 확실히 잡고 가는 것의 중요성을 저희는 간과했습니다. 그냥 백엔드를 계획하고 거기에 프론트를 맞추면 되겠지라는 안일한 생각으로 임하다가 정작 페이지를 만드려고하니 어떻게 데이터를 연결하고 출력해야할지 갈피를 잡지 못했습니다. 다행히도 저희 멘토님께서 이 부분을 지적해주셔서 부랴부랴 와이어프레임을 완성하고 다시 임하니 그제서야 빛이 보이기 시작했죠. 프로젝트에서 백엔드를 구현하는 시간보다 프론트를 작업하는데 더 많은 시간을 썼습니다. 프론트 작업도 정말 쉬운게 아니구나, 이 데이터를 유저에게 원하는 형태로 출력한다는게 생각보다 많은 노력이 필요한 작업이라는 걸 다시 한번 더 느꼈습니다.

하지만 그럼에도 불구하고 프론트 작업이 백엔드보다 중요성이 떨어진다고 오해하는 사람들이 많고 제가 프론트 작업을 한다고 이야기했을 때 팀원들은 “지금 그리 중요하지도 않은 걸 하겠다고? 대체 무슨 생각인거지? 백엔드 엔지니어가 되려하는 사람이 맞나? 자기만 빠져서 그 쉬운걸 하겠다고?”이런 생각을 가진 팀원들도 있었습니다. 물론 나중에 가서야 그 작업이 생각보다 그리 만만하지 않다는 걸 다들 알게되기는 했지만, 그럼에도 불구하고 “프론트 작업은 조금 만 배우면 다 할 수 있어.”라고 아직 가볍게 여기는 사람들을 팀원들 포함 꽤 보았습니다. 이런 사람들하고만 협업하니 왠지 시야가 좁아지는 것처럼 느겨집니다. 물론 좋은 분들도 많습니다만, 대체적으로 프론트를 상대적으로 평가 절하하는 사람들이 예상보다 많은 것 같습니다.

백엔드든 프론트엔드든, 어쨌든 풀스택을 이루는 각 컴포넌트이기때문에 필연적으로 서로가 서로를 더 깊게 이해해야 프로젝트의 질도 올라간다고 생각하는 저로써는 이 환경이 조금 더 불편하게 느껴집니다. 만약 서비스를 론칭하는 트랙으로 간다면, 프론트 지망생들과의 협업을 통해 오히려 프론트에 대한 걱정을 덜 할수도 있고, 저와 매칭되는 다른 백엔드 개발자도 백엔드 엔지니어가 단 2명 밖에 없으니 저와 밀접하게 협엽해야 프로젝트를 성공적으로 이끌 수 있다는 생각이듭니다. 이런 환경에서는 제가 지금보다 더 주도적으로 활약할 수 있다는 생각이듭니다.

그럼에도 불구하고 불안한 점은 있습니다. 디자이너와 프론트랑 협업할 때는 전혀 다른 도메인을 다루는 사람들과 소통해야하기 때문에 과연 문제없이 잘 진행할 수 있을지, 무언가 바틀넥(bottleneck)이 생겨 프로젝트가 더 느려지는 것은 아닌지, 그렇게되면 전체 프로젝트의 질이 내려갈 수 있어 오히려 백엔드 과제 트랙보다 더 안 좋은 결과물을 만들어 내게되면 어떨지 등 고민이 있습니다. 내가 하는 프로젝트가 일반 대학교에서 하는 졸업 프로젝트보다는 좋아야할텐데, 그정도에 그칠 수도 있을 것 같다는 고민이 있습니다. 이 부트캠프 이전 기수 분들 중에는 정말 유용하고 사용하기 편리한, 수준 높은 서비스를 론칭하신 분들이 많았습니다(심지어는 창업을 하신 분들도 소수 존재한다고 합니다.). 그래서 실제 업무환경과 가깝게 프론트 엔지니어와 일하면서 실무적 소통능력을 기르고 그런 팀에서 높은 성취감을 얻을 수 있는 것에 대한 기대감도 있지만, 한편으로는 백엔드에 집중한 프로젝트가 아니기에 생각보다 기술적 난이도가 높지 않을 수 있어 이 것이 나중에 포트폴리오로 활용되었을 때 회사 면접관들에게 어떻게 받아들여 질 것인가에 대한 의문은 있습니다.

실질적으로 멘토님께서는 벡엔드 트랙을 추천하셨지만, 지금까지 백엔드 지망생들과 협업해본 결과 정말 잘하는 사람들도 많지만, 자기가 아는 분야 밖에서 무슨 일이 일어나는지에 대해(프론트) 관심이 없는 사람들이 많아 왠지 프론트 엔지니어와 일하면 조금 더 전체적인 그림을 볼 수 있는 개발자가 되지 않을까합니다. 특히 이번 예열프로젝트에서 프론트에서 백엔드로 데이터를 넘겨주고, 다시 처리된 데이터를 프론트에 넘겨주는 작업을 직접하면서 프론트와 백엔드의 상호작용에 대한 이해를 더 가질 필요성이 있다고 느끼게 되었습니다. 그래서 저는 서비스를 론칭하는 팀에 가고자 결심했습니다.

그와 동시에 이번 프로젝트를 하면서 미래에 대한 고민도 커졌습니다. 비록 몇 달간 엄청 노력했다고하나 고작 Spring CRUD할 수 있는 신입들은 나 말고도 많고, 또 나보다 잘하면서 나이가 어린 신입 지망생들도 많은데, 기업들이 굳이 나를 뽑아야할 이유가 있을까라는 생각이 들기도합니다. 그러면서도 예전만큼 지금 파릇한 다른 20대 지망생들처럼 날밤을 새기도 쉽지 않고, 그들만큼 배움의 속도가 빠르지 않음을 느낍니다. 저는 이 과정 이후 취업이 되지 않는다면 최대 1년 정도 알바를 하면서 남는 시간 개발 공부를 하며 개발자가 되기 위한 준비를 계속할 생각이 있습니다. 아직 책임질 자녀가 없는 것이 다행이라면 다행입니다. 그럼에도 불구하고 멘토님 말씀을 들으니 머리가 복잡해지는 것은 어쩔 수 없네요.

그래서 개발자 선배님들께 몇 가지 질문을 드립니다.

  1. 현재 현업 개발자로써, 지금 정말로 신입에 대한 문턱이 높다고 느끼시는지? 그렇다면 그 이유는 무엇이라고 생각하는지? (정말 경기가 좋지 않아 많은 기업들이 도산하고 TO를 줄인 것인지, 아니면 신입을 트레이닝하기 위한 비용을 기업들이 줄이기 때문인 것인지, 혹은 요즘 나오는 부트캠프나 학원출신 개발자들이 일을 못해서인지?)
  2. 본인이 채용 담당자라면, 자기 분야에서 기술적 난이도가 높은 문제에 도전해 그것을 기록으로 남긴 지원자를 더 높게 볼 것인지, 아니면 여러 다른 사람들과 협엽하여 하나의 완성도 높은 서비스나 프로젝트를 성공적으로 끝내고 그에 대한 기록을 남긴 사람을 더 높게 살 것인지?
  3. 저는 매일 밤을 새는 회사가 아니라면, 야근을 하거나 근무 환경이 상대적으로 열악하더라도 SI 회사에 들어갈 생각이 있습니다. 이런 회사들조차 지금 문을 많이 닫아버렸나요?(물론 근로기준법을 아예 안지키면서 지나치게 직원들을 힘들게하는 곳은 최대한 피하고 싶습니다.)
  4. 부트캠프/국비지원 전공자시라면 취업이 되지 않는 기간동안, 어떤 마음으로 계속 공부에 매진하셨는지, 어떻게 스스로 멘탈을 잡으면서 취업에 성공하셨는지 궁금합니다.

긴글 읽어주셔서 감사하고, 선배 개발자님들의 소중한 한마디 부탁드립니다.

참조:

(1) https://pixabay.com/photos/emotions-sadness-emotional-sight-2764936/

--

--

배우는 자(Learner Of Life)
배우는 자(Learner Of Life)

Written by 배우는 자(Learner Of Life)

배움은 죽을 때까지 끝이 없다. 어쩌면 그게 우리가 살아있다는 증거일지도 모른다. 배움을 멈추는 순간, 혹은 배움의 기회가 더 이상 존재하지 않는 순간, 우리의 삶은 어쩌면 거기서 끝나는 것은 아닐까? 나는 배운다 그러므로 나는 존재한다. 배울 수 있음에, 그래서 살아 있음에 감사한다.

Responses (1)