두서없이 쓰는 본인의 개발 입문 1년( + 1개월) 기념 (실무 3개월차)
1년을 되돌아보며 작성하는 장황한 글이다.
왜 개발자를 선택했는가?
나는 작년 11월. 국비지원 백엔드 개발자 양성과정 교육을 통해 개발자로 입문했다.
조금 더 거슬러 올라가 내가 개발자가 되어야겠다 라고 생각한 이유는 요약하면 다음과 같다.
1. 이전 업계에서의 나의 위치에 대한 고민
2. 막연한 동경
우선, 이전에 게임업계에 있으면서 막연한 미래에 대한 고민을 하게 됐다.
당장에 페이는 좀 높을지 몰라도, 전문성과 이를 바탕으로 하는 지속 가능 여부를 계속 고민해왔고,
이를 재테크로 극복하고자 했었다.
그러다보니 자연스레 주식, 코인을 접하게되었고
재테크를 하며 손익을 배제하고, 거래소의 동작 과정에 대해 엄청 신기해했고
막연한 동경을 가지게 되었다.
두가지 요인을 바탕으로, 막연히 직업을 변경할 때가 온다면, 개발자가 되어보자!!! 라는 생각을 가지게 되었다.
개발자로 취업하기까지
국비지원 후기는 위 포스팅에 자세히 서술되어 있으니 생략하고
내가 경쟁력이 있는 개발자인지는 아직 잘 모르겠으나
경쟁력 있는 개발자로 성장하기 위해서, 혹은 이력서 / 면접 때 눈에 들어오는 신입 개발자가 되기 위해서
그들의(회사) 눈높이를 최대한 충족시킬 수 있도록 다음과 같이 준비했다.
1. 모자란 CS 지식 학습 (비전공자 이슈)
2. 코딩테스트 준비
3. 어필할 수 있는 나의 무기를 갈고닦기
CS는 아직도 많이 부족하다고 생각하기 때문에 현재 진행형이며,
취준 당시에는, 내가 구현한 프로젝트의 베이스가 될 수 있는 CS 지식에 대한 학습 위주로 진행했다.
개인적으로 노션에 여기저기 블로그들의 지식들을 발췌하여 정리해서 자료를 만들었으며
그 중 내 눈에 가장 보기 쉽게 되어있었던 블로그는
아래 블로그의 신입 개발자 기술면접 파트를 정리해놓은 부분이었다.
코딩 테스트는, 국비지원 과정에서부터 강사님이 매일 한 두문제씩 제공해줬었는데,
그 당시에 문제를 푸는 것이 너무 재밌었던 기억이 있다.
그 때 문제를 더 풀고 싶은 욕심에 프로그래머스 라는 플랫폼을 접하게 되었고,
문제를 미친듯이 풀었었다. 단순히 재밌어서...
올해 3월쯤? 부터였는지 모르겠지만
언젠가부터 문제가 잘 업로드되지않아 백준으로 갈아탔다.
사실 처음부터 백준으로 시작했으면 어땟을까... 싶을 정도로
백준에는 방대한 문제와, 내가 환장하는 티어 시스템이 있었고.. 늦게 접한만큼 티어도 낮다..
현재는 알고리즘 풀이, 즉 코딩테스트 문제 풀이를 하고 있지 않은데
이유는 취업 후 회사에서 사용하는 기술 스택 관련한 학습이 우선이라고 생각하기 때문이다.
신입 개발자로 내가 선택한 무기는 꾸준함과 성장 욕구. 두 가지였던 것 같다.
너무 뻔한, 누구나 가질 수 있는 무기지만
꾸준하게 공부한 것들을 기록하고,
토이 프로젝트를 통해 회사에서 개발자에게 요구하는 기술들을 사용해보는 등
1년이면 짧은 시간이지만, 단 하루도 시간을 허투루 쓰지 않았다고 자부할 수 있을 정도로
열심히 살아왔던 것 같다.
이렇게 열심히 한 데는 성장 욕구가 한 몫 했던 것 같다.
물론 아직도 많이 부족하고 목이 많이 마르다.
첫 취업
스프링으로 국비 프로젝트를 완성하고 스프링 부트로 토이 프로젝트를 진행중에 이력서를 여기저기 돌렸다.
회상해보면 회상해보면, 비전공? 고졸? 국비? 이 타이틀 때문에 이력서에서 많이 걸러졌을 것이라고 자기위로를 많이 했던 시기였다.
사람인, 잡코리아, 원티드, 프로그래머스, 점핏 등등 많은 채용 플랫폼을 돌아다니며
2~300곳 정도 이력서를 넣었고, 한 5% 정도 면접 기회가 주어졌을까..
조급했던 시기였다.
나는 자사 웹/앱 서비스가 있는 서비스회사를 원했지만,
데이터 분석을 통한 가치를 창출하는 데이터 기반의 회사에 취업하게 되었다.
실무를 빨리 접해보고 싶다는 갈망 때문에
면접에 합격했다는 소식을 듣고, 덜컥 취업해야겠다고 생각하고 입사했다.
그래서 그랬을까..
회사에서 개발을 하고싶은 나의 바람과는 다르게 정부 사업차 대표님과의 지방 출장이 잦아졌고,
정부 사업 또한 개발에 초점이 맞춰진 것이 아니다보니 빠르게 지쳐갔다.
물론 개발이 아예 없었던 것은 아니다.
데이터를 수집하기 위한 크롤링을 필요로 했기 때문에, 크롤러를 만들게 되었다.
당시 구글 학술 사이트의 크롤링을 담당했는데, 맡은 임무를 완수하기 위해 여러 고민을 하고 시도하며 부딪혔던 기억이 있다.
블로그를 뒤져보니, 관련 포스팅도 많았는데, 그 중 하나인 reCAPTCHA의 우회에 대한 고민을 담은 글을 링크로 남겨놓겠다.
이래선 안되겠다.. 라는 생각이 들었다.
물론 정확히 알아보지 않고 덥석 취업해버린 내 잘못이 전체 지분의 100%라고 생각하지만,
맞지 않는 옷을 입는 스타일은 아니기 때문에..
다음엔 이런 잘못을 하지 말자라는 생각을 가지고 3개월만에 퇴사를 하게 되었다.
두번째 취업
다시 취업을 준비하는 과정에서, 딱 두 가지만 확실하게 고려하기로 했다.
1. 집에서 너무 멀지 않기 (편도 2시간은 안돼)
2. 서비스 서비스 서비스회사
방향을 정해놓고, 또 다시 이력서를 돌렸다.
과정에서 좋은 기회들이 있어서, 도전을 많이 해보았던 시기였던 것 같다.
최종에서 탈락한 것도, 입구컷 당한 것도 다 좋은 경험이었다.
좋은 인턴, 정규 채용 기회들이 더러 있었고, 마찬가지로 입구컷 당한 곳도 있고, 최종까지 갔던 곳도 있고
이 때, 준비를 하고 코테, 면접들을 온 오프라인으로 다니면서
정말 많이 부족하지만, 다시금 깨닫게 해주고 더 정진할 수 있도록 마인드를 잡아줬다.
(특히 토스 서술형 문제에서...)
결국 원하던 서비스회사에 9월 초에 입사할 수 있었다.
나는 신입이고, 스프링밖에 할 줄 몰랐지만, Node 개발자로 입사했다.
나중에 여쭤보니, 블로그를 봤는데 개발을 시작한 후로 지금까지도 블로그를 꾸준히 하는 것에서
꾸준함과 성장 욕구가 느껴진다고 했다.
자사 백엔드 개발자로 금방 적응할 것 같아서 채용했다고 한다.
회사 구성은, 개발 팀이 두 팀이 존재하고,
내가 속한 팀은, 개발자 4명 (PHP, PHP, java/node, REACT)이다.
노드 백엔드 개발자는 나 하나지만, 단순 코드 구현부에 대한 고민은 혼자 하더라도
인프라 쪽으로는 물어볼 수 있는 개발자 분이 다른 팀에 계셔서 다행이라 생각한다.
1년 전과 후, 무엇이 달라졌나?
시간을 사용하는 만큼, 점점 성장하고 발전해나가길 누구든 원할테지..
나 또한 이 회고록을 작성하며 무엇이 달라졌나 생각해보았다.
가장 큰 차이는, 분명 자바,스프링으로 출발했지만 노드 개발자가 되어 현재 NestJS를 사용하고 있다.
이른 감이 많이 있지만, 개발 언어는 크게 개의치 않다 라는 말을 이제는 어느정도 받아들이고 있다.
개발 전반에 대한 올바른 지식을 함양하기 위해 노력을 많이 해야한다고 느낀다.
또한, 단순 코드만 써내려가던 것에서, 코드를 쓰기까지 고민거리가 많아졌다.
1. 프론트와의 협업
2. 사내 서비스 특성상, 유지보수할 일이 많아서 코드를 작성하기 전에 구조에 대한 고민을 많이 하게 되었다.
3. 서비스와 백오피스와의 연관관계에 대한 고민
4. 레거시 코드를 어떻게 해야하지..
레거시 중 쿼리문을 그대로 사용하는 부분이 많았는데,
전부 TypeORM의 쿼리빌더로 바꾸겠다고 건의를 드렸고 교체를 완료했다.
바꿨더니 SQL Injection이 많이 줄었다고 했다.
또한, 채팅 서비스의 레거시 코드를 개선하여 렌더링까지 최대 3초가 걸리는 경우도 있었는데
1300ms까지 개선했다. 하지만 더 이상의 개선은 힘들었다.
몽고DB와 MySQL 두 가지를 사용하여 백오피스와 서비스에 동시에 동작을 수행하는 기존 로직을 갈아엎기엔
상시로 돌아가는 서비스를 스탑시켜야만했고, 이 이상으로 개선이 필요하지 않을 것 같다는 의견이 지배적이었다.
기타 레거시 코드에 대해서는
망나니개발자님의 개인 사견이 담긴 SOLID에 대한 포스팅을 보고,
사내에서 내가 담당하고 있는 노드로 되어있는 레거시 코드에 대해서는 반드시 리팩토링을 해야겠다고 다짐했다.
또한, 이번 달 12일 카카오 TECH MEET를 시작으로 이곳저곳 컨퍼런스나 밋업등을 다녀 볼 계획이다.
각종 테크 기업들의 기술 블로그도 열심히 보면서 그들의 생각을 나도 따라 생각해보고,
너무나도 유명해 모르는 사람이 없는 향로님을 필두로, 향로님이 자주 인용해주시는 백명석님, 토비님 등등
앞서 나가계시는 개발자분들의 블로그 등 온라인으로 얻을 수 있는 것들을 얻으려고 노력하는 중이다.
블로그 포스팅 또한 변화를 주려고 했다.
단순 코드만 써내려가는 것이 아닌, 내 생각을 그려내기 위해 노력중이다.
어떤 문제를 만나 어떻게 해결해야겠다 생각했다 등등의..
블
앞으로의 1년, 그리고..
솔직히 말하면 잘 모르겠다.
나는 재밌어하는 것에는 목숨을 걸고 정말 미친듯이 하는 사람이다.
지금은 개발이 그러하다.
사람 앞일 모르는 거라고, 어떻게 될지 나도 모르겠다.
하지만 개발의 빠르게 변화한다는 특성이, 나에게는 이보다 더 큰 자극제는 없을 것 같다.
그렇기에 지금 더 미쳐보려고 한다.
롱런할지는 모르겠지만, 언젠가 내가 보고 배운 사람들과 의견을 교류할 수 있는 개발자가 되기를 바라면서
앞으로의 1년도 힘차게 달려가보자 화이팅!!
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!