개발자 99% 커뮤니티에서 수다 떨어요!
안녕하세요 개발 경력 2년차 현재는 이직준비중(백수)인 헨리입니다. 😳
저도 한번 그동안의 경험들을 풀어보려고 합니다.
그동안의 저를 떠올리면 많이 무모했지만 운이 좋았던 것 같아요.
저는 공학을 전공했지만 컴퓨터 공학은 아니었습니다.
우연한 기회에 이쪽 분야를 알게되었고 호기심이 많이 들었어요.
무작정 부산의 국비학원에 JAVA 웹개발자과정을 등록하고 본격적으로 개발을 시작했습니다.
막상 시작한 국비학원의 과정은 강사가 프로젝터에 띄운 코드를 그대로 따라치고 이게 되는지 안되는지만 체크하는 수준이었습니다.
저는 그때 생각했죠, 이대로 따라가면 나는 아무것도 못배우고 어중이 떠중이 밖에 안되겠다.
이때부터 필사적으로 방법을 찾기 시작했습니다. 유튜브 강의, 유료 강의, 블로그들을 찾아보며
제가 가야할 진로를 설계했습니다. 이때쯤 노마드 코더를 발견한것 같아요 🥳
(월 40만원, 9시부터 7시까지 에어컨에 집중할 수 있는 강의실까지 제공되니 국비교육이 나쁜것만은
아니었습니다 ㅋㅋㅋㅋ)
스프링 프레임워크로 게시판 정도 만들 수 있을 정도의 실력이 되었을 때 5개월간의 국비지원이 마무리 되었습니다.
개발자로 제대로 일을 하려면 서울로 가야한다는 말과 스타트업에 꽂혀 서울에 있는 스타트업의 공고에
저는 한개의 개인프로젝트와 이력서만을 가지고 지원하기 시작했습니다.
그런데 아아니?! 첫번째로 지원했던 회사에서 Java 서버개발 면접 제의가 왔습니다.
면접장에 가보니 20년차 개발자분이 팀원을 모집하고 계셨습니다.
많은 연차에도 불구하고 개발이 좋아 아직까지 현업에서 개발을 하고 계셨습니다.
간단하게 언어는 어느정도 써봤냐, 프로젝트는 어떻게 만들었냐 등의 질의가 오간 후
가볍게 면접이 마무리되었고, 그날 집으로 돌아가던 버스안에서 합격 소식을 들었습니다.
너무 쉽게 되는거아냐??
저도 너무 쉽게 취직에 성공했다고 생각하는데 이건 정말 케바케 인것 같아요
이렇게 쉽게 취직했지만 실제 업무는 쉽지 않았습니다. 공부할때는 유튜브 선생님들이 계셨지만
업무를 진행할 때는 혼자 힘으로 해결해야 했습니다. 20년차 분도 본인 업무에 집중하시고 제가 가끔
질문을 드리거나 업무를 지시하실때 외에는 배울 기회가 없었어요.
사실 개발자에게 가장 중요한 것이 이 부분인것 같아요. 스스로 문제를 정의하고 해결하는 능력.
9개월간 서버 개발을 하면서 데이터베이스, 네트워크, 보안, 업무 진행방식등 실무를 통해 많은 것을 배웠던 것 같습니다.
아마 혼자 개인프로젝트를 하거나 일반적인 다른 회사에서는 경험하기 힘들었을 것 같아요.
스타트업을 고집했던 이유도 다양한 것을 경험할 수 있을 거란 생각때문이었고 실제로도 그러했습니다.
(하지만 경험에 비례해 업무강도도 상승합니다)
첫번째 회사가 사업 진행에 차질을 겪자 개발 연구소가 해체될것이란 얘기가 돌기 시작했습니다.
다른부서의 상사와 개인적으로 갈등을 겪기도 했었고 이 시점에서 저는 제 능력을 시험해보고 싶어졌습니다.
회사를 그만두고 1개월간의 일본, 베트남 여행등을 통해 저를 재충전(=탕진)하는 가졌습니다.
가벼운 마음으로 돌아와 또 다시 스타트업에 지원하기 시작했습니다. 9개월간의 경력을 인정받은 것인지
생각보다 많은 기업에서 면접제의가 왔습니다. 그 중 마지막 면접이 이번에 관둔 회사였는데
대표님과 말이 잘 통했습니다. 이분과 함께 일한다면 재밌을것 같고 무엇보다 사업의 비전성에 공감해서
2번째 스타트업에 입사하게 되었습니다. 외주를 맡긴 php 웹사이트가 있었는데
백엔드부터 프론트까지 php로 작성되어 있었습니다. 대표님께서 새로이 웹사이트를 만들기 원하셔서
간단한 HTML, CSS만 알고 있던 서버개발자인 저는 새롭게 프론트 개발을 배우기 시작했습니다.
이것저것 주워 들어서 백엔드와 프론트엔드를 분리하기로 했습니다. 서버는 Serverless,
프론트는 그 당시 활발하게 개발되던 React를 사용해서 개발을 시작했습니다.
강의도 보고 예제도 따라 해보며 Serverless를 개발하다 도저히 시간안에 만들 자신이 없어 포기하고
익숙하게 사용했던 Spring의 REST API를 사용했습니다. 개발을 시작한지 약 1개월 반만에
프론트 - next.js, react.js, redux, redux-saga, styled-components
백엔드 - spring boot, mysql, aws
스택을 갖추어 웹사이트를 오픈했습니다. css 지식도 부족해서 완벽한 반응형은 아니었지만
처음으로 제가 만든 프로젝트가 출시되었다는 뿌듯함이 있었습니다.
여러번의 출시와 리뉴얼, 연구등을 통해 웬만한 페이지, 웬만한 기능들은 대부분 구현할 수 있게 되었습니다. (관리자, 타사연동, 결제, 엑셀, SNS, 복잡한 DB설계, 보안)
사업도 순조롭게 진행되어 1년후에는 300%이상의 성장을 기록하기도 했습니다.
저는 다른 프론트 개발자 한분과 함께 일을하며 서버, 프론트, 데브옵스를 얕고 넓게 아는 그러한 개발자가 되어가고 있었습니다.
약 2년간의 근무 끝에 최근에 다니던 회사를 그만두었습니다. 여러가지 이유가 있었지만 가장 큰 이유는
더이상 이곳에서 저의 성장을 기대하기 힘들거란 생각이 많아졌기 때문입니다.
주니어 개발자란 어떤것이다 이렇게 정의하기 힘들지만 저는 아직 그 주니어 개발자의 범주에 있는것 같습니다.
최근에 면접을 하나 다녀왔는데, 면접을 진행 하시던분께 이런 얘기를 들었습니다.
"개발을 좋아하시는것 치곤 노력을 안하신것 같아요"
뼈를 때리는 그말에 제대로 대답하기 힘들었습니다. 항상 새로운것, 재밌어 보이는 것만 찾아다녔더니
제가 이미 알고 있는 것이라 생각했던 것들을 제것으로 만들고 그 영역을 확장하는것에는 소홀했던 것이었습니다.
현재는 제대로 된 서버 개발자가 되기 위해서 CS, 알고리즘 무엇보다 서버개발에 대해 깊게 공부하고 있습니다.
주니어를 넘어서 시니어가 되는 첫걸음은 본인이 하는 일에 전문성을 갖출 수 있도록
관심을 갖고 노력을 기울여 자기것으로 만드는 것이 아닐까 싶습니다.
=== 긴글 읽어주셔서 감사합니다. 🙇🏻♂️ ===