[회고] 2024년 싸피 수료와 개발 직무 시작

Junkyu_Kang·2025년 1월 1일

2024년. 우당당탕 많은 일이 있었다.

가장 큰 이슈 두개를 보자면?

1. 싸피 수료

2. 개발자 취업

두개로 볼 수 있다.

나중에 싸피 회고록도 한번 써야겠다..

우선 차례대로 봐보자.

1. 싸피 수료

때는 무더운 여름날 6월 말쯤 나는 무사히 싸피를 수료했다. 처음 개발자를 꿈꾸며 입교를 했던 1년 전과 달리 제법 개발을 할 줄 안다는 자신감(아주 오만하고 바보같았던)을 가지고 수료를 하며 앞으로의 미래를 꿈꾸었던 시기였다.

싸피 성과

  • 기초적인 웹개발 역량 습득(Front, Back, DB, Infra 등)
  • 프로젝트 경험 4회
  • 수상 1회
  • 좋은 동기들
  • 혼자 학습할 수 있는 능력
  • 지피티 잘쓰는 법
  • 물고 안놔주는 끈기..
  • 알고리즘 역량

보면 뭐 엄청난 걸 한 거 같지만 대다수의 싸피생들은 이정도 역량과 경험은 가지고 나오게 된다.

그럼에도 가장 좋다고 경험한 건 프로젝트 기획 단계에서 해보고 싶은 것에 대한 도전에 제약이 없다는 것과 머리 깨지는 한이 있더라도 성공과 실패를 겪는다는 게 가장 크고 의미있던 경험이지 않았나 생각한다.

그리고 필요한 것에 대해 공부하는 과정에서 성장이 일어난단 걸 알게 되었다.

싸피를 수료하며 얻은 기술 스택은 다음과 같다.

Backend : Java, SpringBoot, Node.js
Frontend : JavaScript, React, Vue
DB : MySQL

기본적인 커리큘럼은 Java, SpringBoot, JavaScript, Vue, MySQL이지만 기술스택은 뭐 필요에 따라 공부하면 되는거니까. 추가적인 학습으로 얻게 되었다.

위 내용은 전반적인 한국 웹개발 파트에 필수적인 스택으로 채용공고 대다수에서 확인되는 백엔드 스택을 학습한다.
물론 프론트엔드의 경우 React를 더 많이 찾고 워낙 여러 스택이 있다보니 그것에 대한 학습은 본인에게 달려있다.

이외에도 다양한 라이브러리를 사용해보고 백엔드에서 프론트엔드로 전향하여 프로젝트를 하는데 있어 다양한 관점에서 바라볼 수 있는 역량을 쌓았다.

당신은 하고싶은 것만 할 수 없다.

분명 자기만의 목표가 있을 것이고 프로젝트에서 원하는 경험을 쌓고 싶을 것이다.
하지만 그건 공동의 목표로 성과 달성을 위해서는 조정과 양보가 필요하다.

싸피를 하면서 간혹 볼 수 있는 경우인데 무조건 백엔드만 고집한다거나, 프레임워크와 라이브러리에도 갈등상황이 많이 발생한다. 물론 하고싶고 만들고싶고 하는 욕심은 분명하나 조직과 단체에서는 너무 강한 고집은 독이 될 수 있단 것도.. 알아야한다.. 양보하고 더 나은 성과를 만드는데 노력하는게 중요할지도 모른다.
하지만 그 고집을 꼭 따라줘야할 필요도 없고 꼭 대화로 풀어가며 서로의 협의점을 찾아 모두가 적당히(?) 만족할 선을 찾는게 중요하다.

이게 감정의 골이 생기면 협업단계에서 부정적인 영향을 끼칠 수 있을 뿐더러 처음 기획 단계에서 신나게 싸우고 조정해야 나중에 딴 말이 안나온다.

내말이 맞지 금지

  • 협의하고 조정한 것에 대해 자기가 했던 말이 맞지 하는건 비난과 다를게 없다.
  • 문제가 생기면 다같이 해결할 생각을 해야지 내 일이 아니라고 나몰라라 하면 안된다.
  • 스스로 해결할 생각을 하자. 내 역량부족은 없다. 시간과 건강을.. 쏟아부어라..

위 3개는 프로젝트를 하며 다양한 유형의 사람을 만나고 우리팀 말고도 여러 팀을 만나면서 느낀 거다. 생각보다 다양한 곳에서 갈등이 발생한다는 점..

무조건 대화로 풀기! 안되면 문제 공유하기!

  • 몇시간 몇일을 붙잡고 있어도 안되는 문제는 주변 친구에게 도움을 청해보자. 직접적인 도움이 아니더라도 아이디어를 받을 수 있을 것!
  • 헤어질 결심.. 내코드와 헤어질 결심은 필요하다.. 안된다 싶으면 처음부터 다시 해보자.. 실제로 웹소캣 때 다 지우고 새로 하니까 되더라..

해보며 좋았던 경험!

  • 약소하지만 Infra 경험을 쌓았던 것! 많은 쪽에서 도움이 되었고 추후 인프라 학습을 할 때 아 이래서 이렇게 된거구나 할 수 있다!
  • WebRTC, WebSocket의 경우 웹개발이 아닌 응용 SW에서도 많이 쓰인다. 꼭 경험해 보는 것을 추천한다. 뭐 간단하게 대화방을 만들던, 나처럼 작업 공유환경을 만들던 머리깨져가며 익혔던 경험은 도움이 되더라.
  • 하나라도 제대로 알자! 개발을 하며 언어 선택은 중요하지만 하나의 언어만 계속하리라는 보장은 없다. 하지만 하나를 제대로 알고나면 다른 언어에 대한 학습은 빠르게 된다!
  • 블로그, 지피티 말 믿지 마라! 대부분 블로그 글은 이전 오래된 버전의 레거시 자료일 경우가 많다. 지피티도 마찬가지다! 그래서 나는 일단 공식문서에 들어간다! 그리고 내용을 확인하고 하나하나 적용해본다!
  • 코드 좀도둑이 되려거든 귀중품을 훔치자.. 자꾸 분리수거장에서 가져오지말고.. 내가 깃헙에서 가져온 코드로 고통받았을 때가 생각나 쓴다..

싸피? 공부?

  • 싸피는 1학기엔 학습에 중점을 두지만 2학기엔 학습보다 프로젝트 위주였다. 그렇기에 스스로 학습하는 것이 중요했고 1학기보다 2학기에 많은 걸 알게 되었다.
  • 알고리즘은 멈추면 안된다.. 머리 굳는거 한순간이다.. 꾸준히 하자!

알고리즘? 그게 뭔데

알고리즘을 처음 접한 건 싸피를 입학하고 시작이었다. Python만 사용해봤던 내가 Java로 알고리즘을 하기 시작하고 Bronze 5부터 시작하여 Gold에 진입하기 까지 실제 수개월이 걸렸다. 물론 다같이 학습하는 분위기에서 다른 동기에게 지기 싫어 열심히 한 결과이기도 하고 실제로 도움도 많이 받아 성장할 수 있었다!

어려우면 이거라도 하자!

  • 이분탐색
  • 그래프이론
  • 다익스트라
  • 유니온파인드
  • 누적합

일단 이 다섯개 정도는 공부를 확실히 해두는게 좋더라.. 물론 어떻게 적용시키냐도 문제지만 모르면 못푸는 문제들이 많아 이론은 외워두는게 좋다.

백준 말고도 리트코드, 프로그래머스도 사용하자
IDE 못쓴다고 못푸는 사람이 되지말자!!

자격증

자격증은 사실 크게 도움이 되진 않으나, 기초적인 CS공부를 하는데 있어 결과물도 준다? 그러면 안할 필요가 있나?가 내 생각이다. 나는 뭐 SQLD만 취득하고 정처기는 원래있었으니.. 문제는 없었지만 굳이 공부해야할 걸 안하고 미루는 건 옳지않다 생각한다!

이상으로 싸피 회고 끝!


개발자 취업

나는 6월부터 본격적으로 취업전선에 뛰어들었다.

싸피는 기본적으로 포트폴리오 특강과 자소서 특강으로 취업전략에 많은 도움을 준다.

내가 3년 전 경영학부를 졸업하고 취업할 때와 비슷하지만 다르게 느낀 경험을 말해보려한다.

무엇이 다를까?

  • 자격증은 역량의 지표가 되지못한다. 당연하다. 누가 정처기 있다고 개발잘한다 생각하겠는가.. 노베이스에 공부 3개월한 나도 취득했었는데..
  • 경험에 대한 어필은 과장을 해선 안되고 오히여 Depth를 중요하게 보는 듯 하다. 분명 기업에 Fit한 인재가 있을 것이다. 기술 스택이나 라이브러리 사용 경험 등에 있어. 오히려 자신만의 경험과 문제를 해결한 것에 대해 더 중요하게 본다.
  • 프로젝트 경험은 중요하다. 하지만 대다수는 프로젝트 정리를 열심히 하지 않는다. 내 경우가 그랬다. 트러블슈팅을 조금 더 열심히 남겼더라면 이러지않았을텐데 하는 경우가 많았다.
  • 과장하거나 아는척 하지말자. 면접에서 다 들통난다. 하려면 그만큼 공부를 하자.

위 내용은 내가 가장 크게 느낀 부분에 대해 작성한 것이다.

나는 6월부토 100통이 넘는 이력서와 9번의 면접 그리고 3번의 합격을 받았다.

지금의 회사에 오기까지 문제에 대해 복기하고 준비를 하는데 있어 든 생각이다.

나는 싸피 말고도 취준컴퍼니도 참여하여 수료하였고 원티드의 넥스트 스탭에도 참여하여 많은 사람에게 컨펌을 받았다.

그 중 가장 많이 받은 의견은 다음과 같다.

내 자소서는 기업명만 바꾸면 모두 적용이 된다.

  • 이걸 가장 치명적이라 생각한 건 안산학생님 피드백을 받고 나서인데 아무래도 내 개발 역량에 대해 어필하려했고 많은 기업을 동시다발적으로 작성해야했기에 포괄적인 자소서를 작성한게 패배 요인이라 생각한다.

개발을 한 건 좋은데 소통, 협력은 모두가 가지고 있다.

  • 그렇다 나는 자소서에 협력, 소통, 대화 등의 키워드로 작성을 하며 문제해결과정을 작성했었는데 이건 옳지 않다라는 생각이 들었다. 모두가 가진 키워드가 나의 장점이 될 수 있었을까? 내 자소서가 뽑힐 이유가 있을까? 하는 생각이 들었다.

내 장점을 살리지 못하고 있다.

  • 인사총무팀 경력 3년과 해외경험 1년, 싸피 수료와 다양한 자격증 위 경험을 약점으로 드러내고 시작한다는 피드백을 받았다. 사실 회피하고자 했던 의도도 있었다. 왜 개발자가 되고 싶었어요? 하는 질문을 매번 받았고, 독특한 이력속에서 뚜렷한 실력으로 설득하는게 어려웠기 때문이다.

위 3가지를 고치는데 노력했고 아직도 작성중에 있다. 분명 어려운 부분이 있다. 하지만 차근차근 정리하며 나만의 자소서와 기업에 핏한 자소서를 쓸 수 있다는 생각을 하고 있다.

면접

나는 tech blog를 보며 CS에 대한 질문 대비를 했었다.
하지만 모든 걸 대비할 순 없는 법..
그래서 항상 복기를 하며 적어두었다. 블로그 포스팅 봐주면 고맙겠다.

면접 전에 항상 깊은 질문에 대해 준비하면 그정도까진 안나오긴 하지만 그 과정에서 공부한 내용은 분명히 도움이 된다. 절대 CS 공부를 게을리 해서는 안된다.

손코딩.. 가끔 나온다.. 준비하자..

많이 나온 질문

  • DB 정규화, 비정규화
  • index
  • 성능개선 경험
  • 어려웠던 경험
  • Java
  • Network
  • API 설계
  • MVC
  • 자료구조
  • 암호화

위 내용은 면접에서 많이 나온 질문들이다.

이정도는 정말 외운다 생각하고 공부하는게 좋을 듯 싶다.

물론 멘탈이 나가는 질문들도 많았고 당시에는 공부가 부족하여 답변하지 못하는 경우도 많았다.

하지만 다른 질문에서 커버하면 된단 생각으로 포기말고 성실히 답변하였다.. 그러다 보니 취업하게 되었네..

취업 그 후

나는 전력 소프트웨어 전문 기업에서 응용 소프트웨어 웹개발 파트에 취업을 하였다.

나는 Java 개발자를 꿈꾸었으나 지금은 Python 개발자?

  • 현재 나는 Flask와 Quart, Django를 사용하는 파이썬 API 개발을 하고 있다.
  • 물론 Java(SpringBoot), C#으로도 개발하긴 한다.. 시키면 다한다..

지금은 기본적인 API 설계부터 고객이 원하는 형태의 데이터를 산학연에서 만든 알고리즘 혹은 우리 회사에서 만든 알고리즘을 적용하여 OutPut을 도출하는 역할을 수행한다. 이 과정에서 Test를 진행하고 코드를 작성하며 성능이 원하는 만큼 안나오면 코드를 수정하며 인증 평가에 맞게끔 개발을 하고 있다.

위 처럼 어떤 규정이 있고 스펙을 요구 받게 되다보니 막설계는 안된다는 생각을 하게 됐다.

DB설계부터 API 모델링은 어떻게 해야할까?

  • 해당 내용으로 소장님께 많은 얘기를 들었다. 항상 성능은 최고를 지향하며 설계해야하며 API는 추후 확장성과 유지보수성을 생각하여 설계해야한다.
  • 캡슐화와 abstract 클래스로 중복을 줄이고 재사용성을 늘리며 가독성과 편의성을 증가시키는 코드를 짜보자
  • 방법이 없다면? 찾아라. Redis polling이 속도 측면에서 안나와? 그럼 Websocket으로 받아오면 되지않는가
  • 이미 완성된 코드에서 에러의 원인을 찾는거 보단 내가 주는 파라미터가 정확한지부터 확인하자.

위 방법으로 나는 4개의 알고리즘을 사용해야하는 환경에서 하나의 부모 클래스를 만들어 상속시키면서 그에 맞는 함수를 abstract로 만들어 넘겨줌에 따라 통일된 규격으로 설계하였고, 유지 보수 과정에서도 모두가 쉽게 파악할 수 있는 코드를 작성하는데 노력하였다.

추가적으로 든 생각은 아래!

1. 함수 만들 때 Naming에 좀 신경쓰자. 이왕이면 규칙도 지키고.

2. NoSQL은 대용량 데이터에서 정말 좋은 성능을 보인다. 물론 10000건 이상의 데이터에서 사용해보자 정말 빠르다..

3. Redis는 정말 좋다.. 공부 꾸준히 하자. MQ 짱짱맨

4. 레거시 코드를 피하지말자. 분명 배울 건 있고 해결방법도 있다. 귀찮고 어렵다 피할생각마라.

5. 라이브러리는 정말 많고 사용 전에 충분한 학습을 하고 적용하자. 특히 Python에서는 더욱..

6. 모든 개발에 CS는 연결되어있다. 나는 도메인 지식과 기본적인 개발지식으로 까불던 승냥이였던 것이다.

7. 납득시키지 못하는 코드는 잘못된 코드다.


회고 마무리를 하며

싸피도 분명 개발 역량을 높여준 건 분명하다. 좋은 경험과 좋은 지식을 얻을 수 있던 기회였고 후회하지 않는다!

그 도움으로 취업을 하게 되었고, 개발자로서의 방향을 찾으려 하는 계기가 되었다.

지금은 이렇게 회고를 작성했지만 취업 전에는 정말 자존감이 바닥을 쳤었다. 과연 내가 뭘 할 수 있을까 하는 생각을 가졌고 처음 취업하고 나서는 다른 사람들처럼 빠르게 잘 할 수 없던 내가 개발을 할 수 있을까 하는 생각을 가졌다.

하지만 선택된 길에 성장을 위해 노력할 생각을 해야지 더이상의 부정적 생각은 오히려 방해가 된다 생각하였고 꾸준히 공부를 하고 있다. 내년 이맘때쯤엔 2년차 회고로 더 나은 내가 되어 작성할 수 있었으면 좋겠다.

profile
강준규

0개의 댓글