신입 백엔드 개발자의 취업 회고록

조성현·2023년 9월 23일
4
post-thumbnail

들어가는 말.

저는 제 취업 결과에 굉장히 만족하면서 잘 다니고 있지만, 그렇다고 해서 제가 막 좋은 회사에 간 것은 아닙니다.
그렇기에 제가 하는 말을 무조건적으로 수용하지는 않으셨으면 좋겠습니다.
이렇게 생각하고 접근했구나~ 하는 정도에서 참고자료로 사용하시길 권합니다.



입문 (국비교육 전)

약 1년 전, 이제 막 개발의 세계에 입문하며 쓴 글.

[나의 벨로그 첫 글 - whoAmI]

  • 성장과 성취 에 대한 갈증이 가득차 있던 시기
  • 갈증의 시기에 만난 개발공부는 하면 할수록 공부할 것들이 생겨난다는 점이 큰 매력으로 다가왔고,
    교육기관에 들어가기 전부터 생활코딩 유튜브, 네이버 부스트코스 강의, 노마드코더 강의를 보면서 웹개발과 Java에 대해 공부했던 것 같다.

국비교육 (Java Spring)

9 to 9 / 4.5개월 간의 몰입

국비 교육기관의 운영에 대해서는 아쉬운 점이 많았지만, 많은 튜터님들 중에 특히나 두 분의 은사님(튜터)께서 페이 이상의 교육을 해주셨기에,
좋은 기업의 개발자들은 어떻게 생각하고, 학습하고, 접근-해결 하는가에 대해 배울 수 있었다.

5번의 프로젝트 (에서 모두 발표자였던 나놈..)

교육기간이 짧았지만, 총 5번의 프로젝트에서 발표자이자 개발 리드역할을 감당하면서 많은 경험과 성장을 얻을 수 있었던 것 같다.

  • 개인적으로 프로젝트의 최대 장점은 소통능력, 협업능력보다 데드라인에 쫓기며 숨참고 몰입!하는 과정에서 얻는 성장이 더 컸던 것 같다.
  • 반면교사의 역할을 해주신 분들에게도 일부러 더 소통하고 업무를 배정해드리면서, 그럼에도 불구하고 결과를 만들어내는 연습을 할 수 있었다.
  • 아쉬웠던 점 :
    교육기관은 중간이탈자가 생기면 손해가 막심한지, 항상 잘하는 1~2명과 이미 지쳐계신 3분을 붙여서 조를 짜줬다.
    한번정도는 잘하는 친구들과 조를 짜서, 끝없이 공부하고 개발하는 기회를 부여해줬다면 온전히 몰입할 수 있었을텐데~ 하는 아쉬움이 있다.

  • 발표자의 장점 :
    보통 팀 프로젝트를 하다보면, 여러번 프로젝트를 하더라도 내가 하는 분야만 계속해서 하게 되는 경우가 있다.
    그러다보면 프로젝트를 했지만 잘 모르는 분야가 생기게 되고, 앞으로도 그 부분을 피하게 된다. ex) spring security, jwt, queryDSL 등 사전 공부가 필요한 분야들
    BUT, 제대로 발표를 하기 위해서는 내가 안했더라도 확실하게 이해해야하기에, 자연스럽게 프로젝트 모든 분야에 대해 학습하고 복기할 수 있다는 장점이 있다.

  • 두 분의 은사님 덕분에 얻은 것들 :
    두 분의 공통점은, 정답이 아니라, 생각할 수 있도록 힌트를 주신다는 점,
    시행착오를 거치며 정답으로 가는 과정에서 이게 왜 좋은지를 체험하게 하신다는 점이었다.
    (이 과정이 차곡차곡 쌓여서, 좋은 개발습관으로 나에게 남았다.)
    수료한 이후에도 주문-결제 플로우, 동시성 문제에 대하여 현업에서는 어떻게 하고 있는지 등, 취준생이 알 수 없는 부분들에 대해 여쭤보고 피드백 받으면서 성장하는데 큰 도움을 주셨다.

개인적인 학습 / 교육 소소한 TIP

일단 무조건 열심히 하라.

  • 필자는 온라인 9 to 9 교육을 진행하는 교육기관에서 학습을 진행했다.
    사실 그렇게 12시간을 스트레이트로 학습하면 지치기 마련이지만, 실제로 교육생 중에서 잘하는 사람들은 대부분 새벽까지, 주말에도 온라인 교육환경(zep)에 나와서 공부를 했다.

    대부분의 개발 교육들이 기간대비 많은 학습양을 가르칠 수 밖에 없는 환경이다.
    열심히 공부해서 배운 내용을 다 내 것으로 만드는 것은 기본이고,
    배운 것들을 공부하다보면 자연스럽게 생기는 근본적인 원리에 대한 궁금증을 탐구해나가는 과정이 정말 중요하다.

열심의 방향을 잘 잡아서 '효율'을 최대로 끌어내라.

  • 무작정 열심히 하는 사람들이 있다. 그러나 방향이 잘못된 열심은 노력대비 성과가 아쉬울 가능성이 높다.
    이러한 악순환이 계속되다 보면 사람은 지치기 마련이고, 포기하게 되는 안타까운 사태가 발생할 수 있다. (은근히 주변에서 이런 케이스들이 왕왕 있어, 부족하나마 조언을 드리곤 했다.)
  • 학습을 진행할 때, 미리 계획을 세우고 -> 중간중간 한번씩 정한 계획에서 어긋나지 않았는지 체크하는 것 이 개인적으로 효과가 좋았다.

    나는 이제 배우는 입장인데, 어떤게 필요한 공부일지 알고 방향을 정하느냐!
    라고 하는 분들을 위해 다음 주제를 준비했습니당 :)

'좋은' 질문을 많이하는 개발자가 되는 연습

학습방향을 모르겠을 땐 질문을 하자.

  • 무작정 알려줘! 라고 질문하라는 것이 아니라, 아래와 같이 나름의 노력을 하고 질문을 드리라는 것이다.
    (튜터님들에게 하면 좋고, 아니라면 같은 반에 잘하는 분들에게라도 해보자)

    공부를 하다보니 A, B에 대한 부족이 느껴졌습니다. 그래서 구글링을 해보니 A', B' 라는 키워드를 찾아서 그 부분을 공부하려 합니다.
    -> 이렇게 공부해도 괜찮을까요? 제가 놓친 키워드가 있다거나, 방향을 잘못 잡은 것 같다면 조언해주시면 감사하겠습니다.

  • 이렇게 질문을 했을 때, 다들 좋아하시고 많은 도움을 주셨다.
    그리고 이 과정을 반복하며 좋은 인상을 쌓아가다 보면, 어느샌가 전담 과외선생님처럼 많은 가이드를 주시는 선순환이 이어지게 된다는 장점도 있다.

  • 덧붙여, 질문이라는 건 부탁과도 같은 것이기에 예의를 갖추고, 진심을 담은 감사를 표하는 것이 중요하다.
    (은근히 교육생들 중에 당연한 서비스라 생각하여 무례한 태도를 보이는 경우를 왕왕 보곤 했다.)


국비교육 수료 이후 학습

0. 국비교육에서 느꼈던 '학습적 갈증'

너무 빠르게 배우다보니, 근본적인 배움을 얻을 시간이 부족하다.

  • Java & Spring 기반 백엔드 / Spring Security & JWT & Redis 기반 인증, 인가 / 기본적인 프론트 제작 및 연동 / 'CI/CD' & AWS 배포 등
  • 짧은 기간대비 말도 안되게 많은 학습 주제들. 취업을 위한 찍어내기식 학습주제들이다 보니 엄청나게 많은 것들을 배우게 된다.
  • 앞전의 전제대로 방향을 잘 잡고 무조건 열심히 한 분들이라면 통상 저 것들을 다 할 수는 있게 된다.
    (어려운 것들은 늘 하던사람이 맡게 되다보니 자연스럽게 해내게 된다.)

    그러나, 이게 왜 작동하는지..? 에 대한 갈증을 풀어낼 여유가 없다.

    • 실제로 이러한 부분에서 교육기간 中 현타가 몇번 오기도 했다.
    • 3월 중순즈음 수료를 하였고
      -> 이후 2주정도 교육기간동안 미뤄두었던 개인적인 일정들을 소화하고
      -> 4월부터 근본적인 갈증을 해결하기 위한 학습을 시작했다.

1. Spring은 역시...

인프런 - 김영한, 백기선

  • 두 분의 강의를 거의 다 구매하여 n회독을 진행하며 많이 배웠다.

    추천하는 학습 루틴

    1. 시간적 여유가 있다면 일단 강의를 1회독(급하면 생략가능)
    2. 강의에서 학습키워드(성능관련 테스트, 의존성 주입 등)를 뽑아내거나, 개인 프로젝트 등에서 얻은 학습 키워드를 정리한다.
    3. 학습용 프로젝트를 통해 깊이있는 학습을 진행한다.
    4. 3.의 과정에서 공식문서, 공신력있는 글을 찾아보고, 이를 토대로 기술 블로그를 작성한다.
      • 개인적으로 기술 블로그는 보여주기효과 이전에, 깊이 있는 학습과 이해를 위해서 가급적 병행하는 것을 추천한다.)
    5. 주변 지인들에게 내가 학습한 내용을 설명해보며, 내가 제대로 학습했는지를 점검해본다.

2. 알고리즘 학습

사랑해요 바킹독!

[바킹독 알고리즘 유튜브강의 링크]

  • 언어는 C#을 쓰시던가 그랬던거 같은데,
    알고리즘 유형별 풀이방법과 느낌!을 이해하는데에는 전혀 문제가 없다.

알고리즘 연습은 백준, 프로그래머스 추천

대체로 백준에서 많이 풀었고, 프로그래머스는 대기업 알고리즘 문제를 풀어보는 용도로 많이 썼다.

  • 기업 코딩테스트는 대부분 프로그래머스를 통해 보는 것 같으니, 적응 차원에서도 좀 해두면 좋을 것 같다.
  • [solved.ac]에 가입하고, 백준 티어 올리기 + 깃허브 잔디심기 로 습관을 만들어 가는 것도 추천한다.

3. 일상에 코딩을 가까이 두자.

쉬는 시간에 유튜브에서 개발관련 영상들을 보자

  • CS 지식부터 개발자의 마인드셋까지 다양한 분야의 정보를 얻을 수 있다.
  • 은근히 이런식의 학습은 지치지 않으면서 성장을 얻기에 좋다!

기업 유튜브

  • 우아한테크 (배민)
    • 우아콘 영상들에 좋은게 많다. (배민 운영 간 얻은 배움들을 발표함)
    • 그 외에도 우테코 교육영상들이 볼만하다. (우아한 레디스, 우아한 객체지향, 우아한 TDD 등)
    • 우테코 교육생들의 발표는 무조건적인 수용은 지양하자, 학습키워드 입문용으로는 좋다
  • 토스
  • 인프콘
  • NHN Cloud

개인 유튜버

  • 개발바닥, 코딩애플, 노마드코더, 얄팍한 코딩사전, 쉬운코드, 바킹독, 널널한개발자 등

4. 이력서를 쓰기 전, 진득한 프로젝트를 하나 해보자.

필자는 '쇼핑몰이라는 도메인', '동시성 문제' 에 대해 깊게 파는 프로젝트를 진행했다.

꼭!! 블로그를 같이 쓰는 것을 추천한다.

  • '어떤 생각과 분석을 가지고 문제에 접근했는지' 도 기록해두고
  • 공식문서를 비롯한 레퍼런스들을 근거로 달아서,
    일단 됩니다. 가 아니라, 왜 되는지를 설명하는 것까지가 공부이다.
  • 왜 되는지를 향해 가다보면, 자연스레 low level 까지 파게되며, 많이 배울 수 있다.

이력서 / 면접 시즌

멘탈관리가 전부다!

채용은 인연을 만나는 과정과 같다.

낙심하지 않고 꾸준히 나아가다보면, 반드시! 인연을 만나게 될 것이다.

나에게 펜을 팔아보세요 - 영화 The Wolf of Wall Street 中

채용이란, 회사에게 나라는 인재를 파는 것이라고 생각하고 접근했다.

면접 전, 회사에 대해 뒷조사(?)를 철저히 하자.

profile
맛있는 음식과 여행을 좋아하는 당당한 뚱땡이

0개의 댓글