취업 5개월차 백엔드 개발자 후기

Dion·2021년 5월 7일
61

회고

목록 보기
2/5
post-thumbnail

이 글은 그냥 남들도 취업 후기 쓰길래, 회고를 겸해서 써보는 글입니다.
최근에 너무 바쁜 생활을 해서 회고를 제대로 할 여유가 없어서 열심히 써보려 합니다.

취업 이전의 배경

개발자 1차 입문

(2021.12.18 Update)

기존에 개발자를 입문한 내용을 조금은 상세하게 작성했었는데요.
조금 민감한 내용들이 많아서 삭제를 결정하게 되었습니다.
이 때의 경험이 좋은 개발자가 되기 위한 밑거름이 되었다고 생각합니다.

퇴사 이후

목표를 우아한 테크코스 혹은 코드스쿼드에 들어가서 최종적으로 취업을 하는 플랜을 세웠습니다.
퇴사 당시 내가 다시 입사한다면 '연봉 3천만원'을 받을 수 있는 개발자가 되는 것이 목표였습니다.

최종적으로 코드스쿼드 2020 백엔드의 멤버로 합류하게 되었고, Node.js 과정에서 Java 과정으로 변경되었습니다.
당시에 코드스쿼드의 이런 결정은 결과적으로 저에겐 매우 좋은 영향을 미쳤다고 생각됩니다.

코드스쿼드 과정 후기는 이미 작성했기 때문에 이 이후의 내용에 대해서 작성하겠습니다.

코드스쿼드 과정 이후

계속해서 취업준비를 하고, 당근마켓의 2차 면접 까지 본 상황에서 멘탈은 이미 흔들리고 있었습니다.

대부분의 회사에 이미 지원하고 탈락한 상태였고, 몸과 마음도 지쳐서 불면증까지 왔었습니다.
백엔드 개발자는 내 길이 아닌가? 라는 생각도 하고, 다른 과정을 수강하고자 하는 마음도 있었습니다.

이 때는 정말 자존감도 바닥이고, 많이 힘들었던 것 같습니다.
그래도 포기하겠다는 생각은 들지 않았고, 제가 부족한 부분이 있으니 계속해서 노력해야겠다는 생각만 들었습니다.

그 때의 저에게 조언해준다면, "꼭 모의면접을 해봐라." 정도가 있겠네요.
전 다행히도 코드스쿼드 선배와 동기분께서 모의면접을 한 번 해주셨고, 아직도 감사하고 있습니다.

그리고 또 하나의 조언을 한다면, "꼭 사이드 프로젝트를 제대로 만들어봐라."라고도 해주고 싶습니다.
이는 당근마켓에서도 받았던 피드백입니다.
사이드 프로젝트에 별로 큰 생각과 관심이 없었는데, 배움의 기회를 스스로 놓은 것 같아서 아직도 아쉽네요.

이후 코드스쿼드 코코아 과정의 TA로 참여했습니다.
과제를 진행하는데 있어 도움을 드리고, 코드리뷰를 수행하는 역할을 했었습니다.
이 때, 학습자가 학습할 때 어떻게 코치해야하는지에 대한 고민을 정말 많이 했던 것 같습니다. (아직도 어렵네요.)

TA를 하면서 계속해서 이력서를 제출하고, 면접을 보러 다녔습니다. 면접 공부를 병행하면서 했고, 우테코를 지원해서 우테코 오픈채팅방에서 자극을 받으며 공부를 계속 했던 것 같습니다.
(2021.12.18 Update)
우테코는 우테코를 수강하기에는 능력이 이미 취업할 수 있는 수준으로 생각되기에 탈락했습니다.

최종 합격한 회사가 생겼고, 코로나로 입사 지연이 되었습니다. 그 사이에 한 회사에서 먼저 연락을 주셨고, 면접을 보았습니다.
면접 경험은 좋았고, 연봉 협상도 순탄하게 진행되었습니다.

저는 애초에 타겟으로 했던 회사가, '제가 좋은 개발자로 성장할 수 있는 여건을 제공해 줄 수 있는가'였기 때문에 주변의 만류에도 불구하고 선택하게 되었습니다.

취업 이후

취업 이후에도 사실 불면은 완전히 사라지지 않았습니다.
실력이 부족하다는 불안감은 계속해서 저를 좀먹고 있는 상태입니다.

작년 1월 1일 이후로 개발공부를 손에서 놓은 기억은 없고, 매일 성장하기 위해 노력을 하고 있습니다.

  • 지인의 소개로 참여하게된 백엔드 스터디를 성공적으로 끝마쳤고
  • 백기선님의 자바 스터디에 참여해서 성공적으로 끝마쳤고
  • NextStep의 Java TDD OOP과정을 수료했습니다.
  • 일상속 사물이 알려주는 API 디자인 책을 다 읽고, 좋은 웹 API에 대한 고민을 하게 되었습니다.
  • 관계형 데이터베이스 실전 입문을 읽고, RDBMS에 대해서 보다 깊은 이해를 가지게 되었습니다.

현재는 코드스쿼드 BE 리뷰어로 활동하고 있고, 보다 좋은 리뷰를 하기 위해서 계속해서 공부하고 있습니다.
어떻게 하면 리뷰이분들에게 좋은 경험을 전달해 줄 수 있을지 항상 고민하게 되네요.


회사에서는 기존 레거시 코드를 개선해야 할 대상으로 판단하고, 레거시 코드를 리팩토링 하는 작업을 반복했습니다.
제가 입사 후 5개월 동안 수행했던 일입니다.

  • 입사 후 제대로 된 협업 방식조차 없었던 회사에 협업 방식을 정의하고, 온보딩 문서를 정리했습니다.
    - 짝 프로그래밍, 코드 리뷰, Github을 이용한 협업 Workflow 정의 등을 했습니다.
  • REST와는 거리가 먼 API 디자인을 REST에 가깝게 변경했습니다. 이 자체만으로도 굉장히 Breaking Change가 많이 발생했습니다.
  • 테스트 코드를 JUnit5 + AssertJ로 Migration 하고, Jacoco를 도입했습니다.
  • Flyway를 도입해서 DB Version Management를 수행했습니다.
  • Java7 수준으로 작성된 코드를 Java8 스타일에 맞게 변경하고, Java11을 도입했습니다.
  • 제대로 된 CI/CD를 위해 자동화된 단위 테스트를 작성하는 것을 추진했습니다.
  • Spring Boot 2.1.4 에서 2.4.5로 Migration했습니다. Security를 학습 후 적용했습니다.
  • MyBatis에서 JPA로 전환했습니다.
  • 클라우드 비용 절감에 대한 제안을 했고, 5월 현재 이전의 50%정도가 과금되었습니다.
    - 제 포지션은 백엔드 개발자이기 때문에 위의 업무는 팀장님께서 수행하셨습니다.

어떻게 보면 한 일이 많지만, 그만큼 코드 변경이 쉬운 상황이었고, 이전 코드가 고쳐야 할 만큼 문제가 많기도 했습니다.
현재 제가 작성하던 코드도 뒤돌아보면 레거시 같아보이고, 리팩토링을 지속적으로 수행하고 있습니다.

또한, 회사에서 제가 수행하려는 방향을 적극적으로 지지해주시고, 응원해주신 덕에 작업을 잘 수행할 수 있었던 것 같습니다.

아쉬운 점

최근에 조금 번아웃이 올랑말랑한 상태가 반복되고 있습니다. 수면시간도 규칙적이지 않게 되고, 운동도 열심히 하고 있지 않습니다.

회고를 쓰면서 반성하게 되네요.

결론

개발자로 취업하는건 쉽지 않습니다. 자존감이 떨어지는 시기가 분명히 올텐데, 멘탈관리를 잘 하셨으면 좋겠습니다.

그리고, 내가 취업하고자 하는 목표를 정하고, 거기에 맞게 준비하세요.

가령 IT 대기업이라면, 공채와 수시의 준비는 달리해야한다는 것은 익히 알려진 사실입니다.
유니콘도 마찬가지입니다. 이쪽은 어찌보면 대기업보다 더 들어가기 힘들 수도 있겠네요.
스타트업은 천차만별입니다. 시드부터 참여할 것인지(개인적으로 신입에게 이 길은 추천하진 않습니다.),
시리즈 A, B의 탄탄한 스타트업에 합류할 것인지에 따라 다 다릅니다.

하지만 결국 기본적으로 필요한 것은, 프로젝트 경험, 내가 사용한 기술에 대한 지식입니다.
코딩테스트는 코딩테스트를 수행하는 기업을 통과하기 위해 필요합니다.
코딩테스트가 저처럼 그렇게 좋지 않다면, 갈 수 있는 회사를 포기해야 한다는 생각도 해야합니다.
CS는 어느정도 까지 학습해야한다는 것은 대단히 애매합니다. 일반적으로 IT 대기업을 목표로한다면 빠삭하게 알아야 합니다.

스타트업이나 유니콘은 개발팀의 성향에 따라 다르기 때문에 일반화하기 곤란한 부분이 있습니다.

결국 공통적으로 잘 물어보는 언어와 프레임워크, 네트워크, 데이터베이스 정도의 CS 지식은 기본적으로 챙기는 것이 좋고
거기에 더해 자료구조와 운영체제에 대해서도 일부 알아야 합니다.
솔직히 말해서 알고리즘은 이것까지 준비할 여력이 있다면 준비하시길 추천합니다. 일반적인 비전공자가 여기까지 준비하려면 그래도 꽤 시간이 걸릴겁니다.

저도 했는데, 여러분들도 당연히 할 수 있다고 생각합니다.
다만, 그 과정이 누구나 쉽지 않다는 점을 염두에 두시고, 준비하셨으면 좋겠습니다.

profile
코드리뷰와 고양이를 좋아하는 개발자입니다. 좋은 글을 위한 비판은 언제든 환영합니다.

27개의 댓글

comment-user-thumbnail
2021년 6월 8일

공유해주셔서 감사합니다.

1개의 답글
comment-user-thumbnail
2021년 6월 13일

디온 진짜 열심히하시네요..

1개의 답글

많이 공감하고 갑니다. 화이팅입니다!

1개의 답글
comment-user-thumbnail
2021년 7월 1일

코쿼 과정이 끝나고 한번 더 읽어보니.. 감회가 새롭습니다.. 저도 디온처럼 더 열심히 공부할 계획입니다!

1개의 답글
comment-user-thumbnail
2021년 7월 2일

안녕하세요 이제 막 1년 차인 백엔드 개발자입니다 Dion님의 깃헙이나 블로그보고 개발 습관이나 깃헙관리 참고하고 있는데 혹시 실례가 안된다면 양식같은 걸 참고해서 제가 블로그나 깃헙 관리에 사용해도 될까요? 출처는 밝히겠습니다!

1개의 답글
comment-user-thumbnail
2021년 7월 26일

디온님, 열심히 사시는 모습 너무 좋습니다. 지금의 영향력도 좋지만, 이렇게 꾸준하게 자기계발 꾸준히 하시면 언제가 더 큰 영향력 있는 분이 되어 있을 것 같습니다. 열정을 주셔서 감사합니다.

1개의 답글
comment-user-thumbnail
2021년 10월 17일

고생 많으셨습니다.
글쓴 분처럼 해내신 분들이 계시다는 사실이, 지금도 공부하고 있는 저같은 사람들을 힘내게 합니다.

1개의 답글
comment-user-thumbnail
2021년 11월 18일

고생 많으셨습니다!

답글 달기
comment-user-thumbnail
2022년 9월 16일

엄...사이드 프로젝트의 의미가 사람마다 다른듯한데 사이트 제작된 강의 클론코딩을 해보라는건가요.? 프로젝트 계획을 실행한 다음 소스코드 여러가지 짜보면서 해보는것을 말하는건가요.?

1개의 답글
comment-user-thumbnail
2022년 9월 30일

다시봐도 대단하다는 생각밖에 안드네용..
한번 더 자극 받고 갑니다..!

1개의 답글
comment-user-thumbnail
2023년 1월 19일

준비기간 5개월이면 취업이 되게 빨리 되셨군요..대단하십니다.
전 비전공자지만 OS 전공책 공부하고, 네트워크 공부하고, 이것저것 하다보니 1년 되더라구요...ㅠㅠ 현타오네요 ㅠㅠ

1개의 답글
comment-user-thumbnail
2023년 8월 11일

좋은 글 감사합니다.

1개의 답글