SAFFY를 지원하자

조창훈·2023년 10월 18일

취업준비 + SAFFY준비를 하면서 개인적으로 토이프로젝트를 진행하려고 시도했다.
4월인가 5월쯤이었던거같은데, React와 MySQL, SPRING JPA, QueryDsl, Spring Security 등을 가지고 어플리케이션 개발을 했으며,
게시판으로 만들어서 배포하는데까지 어찌저찌 성공했다.

처음에는 만족스러웠다.

  1. 내가 생각하는 게시판을 만들 수 있었다.
  2. 여러가지 생긴 오류들을 해결할 방법을 찾아서 적용시켰다.
  3. 회원가입에서 탈퇴, 게시물 업로드 삭제 수정까지의 과정을 실행하는 것이 가능했다.
  4. 배포중 nginx등을 통해 무중단 배포하는 방법을 이용해보았다.
    등의 좋은 경험들을 쌓을 수 있었다.

피드백이 없다

하지만 시간이 지나면 지날수록 어떻게 해야할 지 모르는 상황이 오게 되었다.

  1. 기술의 기본 지식이 부족하여, 에러를 발생시키고, 처리하는 방법에 대해서 무지하다.
  2. 유저의 수정 요청이 동시에 왔을 때, 어떻게 처리할 것인가?(게시글 수정과 게시글에 댓글이 동시에 일어날 경우)
  3. 게시글에 이미지를 첨부해서 업로드 하려다가 취소한 경우, 이미지는 어떻게 처리할 것인가?
  4. 과연 내가 구현한 어플리케이션을 개선할 방법이 없는건가?
  5. 협업할 때, 엔드포인트 같은 경우에는 어떻게 전달해야 하는가? 또 에러코드는 어떻게 설정해야하지?
  6. 협업할 때, 깃헙의 관리는 어떻게 이루어지는가? 내가 해볼 수 없는가?
  7. 데이터베이스에서 데이터를 가져올 때, 어떤점에서 주의를 해야하고 어떻게 적용시켜야하지?

등의 문제가 떠오르기 시작했다.
너무나도 답답했고, 알려줄 사람을 찾고싶었으나 주변에 아는 사람이 없고 솔직히 말해서 두려웠다.
내게 사람의 시간을 뺏을만한 기초지식이 있을까?
사람에게 질문을 하기 위해서는 질문하는 사람과 질문을 받는 사람이 공유하는 지식의 층이 어느정도 있어야한다.
하지만 내가 생각하기에는 전문가와 나 사이에 공유하는 지식의 층이 너무나도 얇았다.
다른 사람들이 작성한 코드를 봐도 내가 이해하지 못하는 코드들이 너무나도 많았고, 왜 이런 코드들로 작성이 되어야 하는지 그 이유를 모르는 상황이 되었다.

위와 같은 문제로 어떻게 해야하지 하면서 방법을 찾아다녔는데, 부트캠프를 다녀보는 방법이 최선이라고 생각이 들었다.
그래서 SAFFY의 비전공자쪽에 지원했고, 떨어졌다

  • 시험 문제는 나름대로 잘 풀었는데, 지원서에서 내가 싸피가 필요한 이유에 대해서 더 어필을 못한 게 원인이라고 생각한다.

그 다음 프로그래머스에도 지원했는데, 코테 문제는 다 풀었지만, 작년에 다닌 국비지원 학원이력이 있어서 자격이 없어서 떨어지게 되었다.

  • 지원 자격에 대해서 미리 알게되었지만, 부트캠프에서 나오는 코딩테스트 수준을 알고, 이후 대비하기 위해서 시험을 치렀다.
  • 시간을 거의 꽉꽉채워서 풀긴했지만, 그래도 만족스러운 정도로 문제를 풀 수 있었다.

이번엔 SAFFY에 전공자 쪽으로 지원해보려고 한다. 그 이유는 다음과 같다.

왜 전공자 쪽으로 지원하려고 하는가?

  1. 경쟁률이 적다.
    오픈카톡에 자기소개서를 피드백 받기 위해서 들어간 적이 있었는데, 전공자의 자기소개서 피드백 요청이 비전공자의 요청보다 훨씬 적은 것을 확인했다.
    물론 이것만으로는 확정지을 수 없지만, 그래도 피드백을 받기 위해서 들어오는 친구들 중에서는 적은 편이라고 생각되었다.
    전공자쪽으로 지원을 결심한 가장 큰 이유다.
  2. 학습 환경이 유리하다.
    이전 10기 지원할 때 지원 영상과 인터뷰를 다 살펴봤었는데, 물론 비전공자 반도 좋은 점이 있다.
    하지만 내가 원하는 것은 피드백이다.
    내가 성장할 수 있는 사람이 되기 위해서는 많은 피드백이 필요한데, 모두 배우는 입장에 있는 사람이지만 전공자를 모아놓은 반이
    좋은 피드백을 받을 수 있는 환경을 가지고 있다고 생각했다.

걱정되는 점

  1. 전공자와 비전공자의 차이
    일본에서 영상학부 게임제미를 통해서 어느정도 프로그래밍에 대한 기초적인 지식을 갖췄고,
    국비지원학원을 수료하긴 했지만, 아무래도 4년제 대학을 졸업한 친구들에 비해서 CS지식과 관련된전공지식이 부족하다.
  2. 데이터베이스에 대한 기본 이해 부족
    국비지원학원에서 팀장을 맡고, 쇼핑몰 프로젝트를 진행했지만 그렇게 만족스러운 결과를 얻지 못했다.
    서로간의 소통이 부족했고, 설계도 애매했고, 데이터베이스에서 데이터를 가져오는 쿼리를 작성하는 것도 최적화가 덜 되어있었다.
    이 부분을 메꾸기 위해서 학원 선생님께 지속적으로 물어보면서 수정했지만, 그렇게 만족스러운 결과물을 내지 못했다.
    결국 이 부분이 백엔드 개발의 핵심인데, 이 지식이 부족하면 앞으로 개발자를 해나가면서 문제가 발생할 때마다 걸림돌이 될 것은 확실했다.
  3. 언어
    학원에서 자바를 배울 때, 잠깐만 배우고 바로 스프링으로 넘어갔고, JAVA8 이상의 Stream이나 Collection과 같은 기법을 배우지 않고 넘어갔다.
    이후 책을 참조하며 연습할 때, 관련한 문법들이 나올 때마다 이해가 되지 않는 경우가 많았다.
    처음 작성했던 프로젝트도 대부분 레거시한 문법으로 작성이 되어있다.
  4. 프레임워크
    스프링을 배우기는 했지만, 왜 이렇게 해야하는가? 어떻게 이렇게 되는 것인가에 대한 지식을 주먹구구로 쌓았기 때문에
    개인 프로젝트를 진행할 때, 구멍이 생길 수 밖에 없었다.

단점 메꾸기

위와 같은 단점을 메꾸기 위해서 공부하기로 했다.

그렇다면 어떻게 공부할 것인가?

  1. CS지식
  • 기술면접에서 묻는 CS지식을 키워드로 검색 및 chatGPT를 통해 공부 및 정리한다.
  • 가장 기본적이면서 가장 중요하게 생각하는 지식들로 이루어져있을 것이기 때문에, 빠르게 필요한 지식을 쌓을 수 있을 것이다.
  1. 데이터베이스
  • KDT기초트레이닝 제도를 통해서 들을 수 있는 무료 강의를 정리한다.
  • 지금 프로그래머스 SQL/DB강의를 들으면서 정리중이다. - 실행중
  1. JAVA언어
  • 일단 모르는 문법을 공부하기 위해서 아는 문법과 모르는 문법을 정리한다.
  • 이후 모르는 문법을 적극 활용하여 코딩테스트 문제를 풀이한다.
  1. 스프링 프레임워크
  • 토비의 스프링을 정독하면서 요약 및 정리 - 실행중이지만, 공부방법을 마인드 맵 형식으로 바꾸는 중
    • 왜 마인드맵으로 바꾸는가? > 줄글로 되어있어서 한눈에 알아보기 힘듬
    • 머릿속에 잘 남지 않음 결국 마인드맵으로 머릿속에 정리가 되어야 나중에 응용할 때도 편함
profile
초전도-개발자의 길

0개의 댓글