취직까지..
2022년 2월 졸업을 하고 개인적인 사정으로 인해 4월부터 취업 준비를 시작했고 약 3개월 정도 빡세게 한 것 같다.
취준을 하면서 알게된 것은 나를 어필하는 능력이 부족하다는 것이다. 그래서 자소서 작성이나 포트폴리오를 만드는데에 노력이나 시간을 많이 쓴 것 같다.
사실 자소서에 어떤 내용을 쓸지, 어떤 걸 내 강점으로 내세우면 좋을지, 지원을 많이 해보면서 감이 생길 수 있을텐데
지원하는 데에 너무 많은 고민을 했다.
취준 관련 글들을 찾아 보면 일단 지원을 해라. 내가 들어가고 싶은 회사를 우선순위 매겨서 리스트화하고 내림차순으로 지원하면서 감을 잡으라. 등등의 조언들이 많고 나도 그래야겠다🔥 생각 했는데 실제론 그러지 못했다.💦
입사한 지 한달하고 1주일이 지난 시점인데, 취업하기 까지 4개월 간 쌓아온 정보들 중 나중에도 기억해야할 내용들 위주로 더 까먹기 전에 몇개 적어놓으려 한다.
취업하기 위해 필요했던 것
- 내 이야기를 적을 소스 (제일 필요한 거 아닐까)
- 포트폴리오 (노션으로도 많이 제출하는 듯하다)
- 자소서 스킬 (처음부터 능력이 있거나 여러번 반복 작성해보거나)
- 면접 준비 (기술 면접, 임원 면접 쉬운 거 하나 없다)
- 기술 면접 : 약 6가지 주제 (특히 DB, 자료구조, 내가 사용한 언어나 툴)
- 인성 면접 : 미리 예상 질문에 답변 작성해놓고 몇번 연습하면 좋다. 생각보다 회사에 대한 관심도를 보는 회사가 많았는데, 준비가 무조건 필요하다. 인턴 면접도!!!!!!!
- 코테 통과를 위한 알고리즘 실력 (무조건 병행!)
이젠 이직을 준비할 일 밖에 없을 것 같은데!!
이직 준비 시에 뭐가 필요할까?
- 정리 필요 👉 자소서나 면접이나 모든 소스
- 현재 회사에서 진행하는 프로젝트에 대한 이해도는 기본
- 내가 회사에서 이뤄낸 점 (개선 사항이나 추가 제안을 통한 레벨업)
- 현재 상황에 만족하고 받아들이기보다 개선하려는 생각 무조건 잃지 않아야 함.
- 면접 준비
- 기술 면접 : 덜 기본적인 질문들. 신입에게 물어볼 질문들은 기본으로 인지하고, 그 이상의 지식 체크할듯.
- 인성 면접 : 현재 회사에서의 구체적인 상황 질문 가능할 듯하다.
- 이직 코테 통과를 위한 알고리즘 실력
지금 생각해보니 가장 힘들었던 때는 합격하길 원했던 회사에서 떨어졌을 때인 것 같다.
그런 상황이 여러번 반복되면 자신감이 떨어질 수 밖에 없겠구나 란 생각도 들었다.
본인은 취준 과정에서 두가지 생각이 공존했다.
- 일단 빠르게 현업에 뛰어들어서 당장 배우면서 성장한다.
- 취준 기간을 좀 더 갖고 도전해서 조금 더 좋은 환경(?)에서 성장한다.
4개월 정도 취준을 하다가 (짧은 기간은 아닐 수도..)
내가 더 많은 걸 경험할 수 있는 환경에서 빠르게 성장하는 것이 제일 베스트겠지만,
꽤나 높은 허들을 넘기 위해 시간을 더 쏟기보다 당장 현업에서 배우면서 성장하고 싶은 마음이 컸다.
그래서 자소서와 2번의 면접을 진행하고 합격 결과를 받은 회사에 들어가게 되었다.
한달하고 1주일동안..
입사해서 거의 2주 간은 방화벽 신청, DB 접근 권한 등을 요청하고 환경 세팅과 회사 프로젝트를 내려받아서(clone) 로컬에서 잘 동작하는 모습까지 확인하는 시간을 가졌다.
특히 보안이 중요한 회사라 그런지 환경세팅에 있어 까다로운게 많았다!
다행히 전체적인 순서에 대해 문서화가 되어있어서 크게 어렵지 않았지만
진행하면서 잘못된 정보나 누락된 정보들이 있음을 알게 되고 추가로 진행하면서 꽤 시간이 오래 걸렸다. (문서화의 중요성을 제대로 깨달았다. 진행하면서 부족하거나 잘못된 부분은 수정하며 진행했다.)
OJT
셋 째주부터는 신규 입사자 과제(OJT)를 진행했다.
워킹 데이 기준 7일 간 1차 과제를 진행했고, (전체 기간은 2주였지만, 신규 입사자 교육이나 회사에서 진행한 외부 세미나 등에 참여하는 날도 있었다)
2차 과제는 워킹 데이 기준 10일 + 2일동안 진행한다. (다음 주 발표 예정이다.)
1차 과제는 혼자 진행하였고, 사내 프로젝트에서 제공하는 개인&기업 회원가입 기능에 대해 분석 및 발표하는 것이었다.
2차 과제는 페어와 같이 진행하였고, 현재 등록된 이슈들 중 두개를 맡아서 해결하는 과제였다.
2차 과제를 더 재미있게 하고 있고, 페어와 같이 진행하다보니 개발 뿐만 아니라 _문제를 해결하는 과정에서 의견을 조율하고 커뮤니케이션하는 과정_을 거치면서 느끼는 점도 있었다.
OJT를 진행하며 느낀 점
1. 코드를 작성하는 것보다 작성하기 전까지의 과정이 더 중요하다.
필요한 기능이 잘 돌아가도록 구현하는 방법은 다양할 것이다.
그러나 그냥 돌아가도록 구현하면 되는게 아니라
어떻게 하면 추후에 유지보수하기 좋은 환경이 될 지, best practice는 무엇일지 고민하고 알아보는 시간이 무조건 필요하다고 생각한다.
이러한 고민의 과정은 더 좋은 질의 코드를 작성할 수 있도록 한다.
2. 페어 프로그래밍의 장단점
회사를 다니기 전에 알고리즘 문제 풀이를 페어로 진행한 적이 있다.
코딩을 하기 전 아이디어를 의논하는 과정에서 약간의 의견 조율이 필요했지만, 코딩을 할 때에는 어느정도 정해진 방식이 있어서 그런지 순조롭게 진행됐다.
하지만 입사하면서 2차 과제에서 페어와 과제를 진행하였고 느낌은 사뭇 달랐다.
페어 프로그래밍이 쉽지 않음을 경험한 입장에서 말하고 싶은 주의점은,
페어로 진행하는 과정(페어 프로그래밍)에서는 경력이 몇 년차이던지 상관없이 활발하게 의견을 주고받고 더 나은 방향으로 갈 수 있는 의견을 받아들일 수 있어야 한다. 당연히 본인의 의견도 논리적으로 잘 전달할 수 있어야한다.
어려웠던 점 만큼 좋은 점도 많았다.
혼자 진행하면 놓치고 진행할 수 있었을 부분을 페어와 진행하면서 더 짧은 시간이 소요되기 때문에 효율적으로 문제를 해결할 수 있다는게 가장 큰 강점 같다.
3. 레거시 프로젝트 쉽지 않군. 테스트 코드도 없다.
2차 과제에서 진행한 프로젝트가 레거시였는데, 수정을 하는게 쉬운 게 아니었다.
(내가 생각하는 레거시는 프로젝트의 상태가 시간의 흐름과 상관없이 개선되지 않고, 요즘 트렌드에 맞지 않는 방식 혹은 오래된 버전의 환경이고
클래스의 용도나 규칙이 일관되지 않는 등 여러 규칙이 꼬여있는 상태의 프로젝트라고 정의했다.)
특히 개선하기 까다로운 것에는 테스트 코드가 없다는 점도 영향을 미친다. 만약 테스트 코드가 존재한다면, 수정을 한 후 모든 테스트코드를 돌려보고 문제되는 부분이 있는지 쉽게 확인할 수 있을 것이다.
그러지 못하는 상황에서 기존의 코드를 수정한다는 것은 꽤나 큰 용기가 필요할 것 같다.
문제 되는 부분을 수정하려하면, 그 메서드를 사용하고 있는 곳이 많고 내가 인지하지 못한 이펙트가 발생할 수 있을 것을 생각하니
왜 레거시 코드가 개선시키기 어렵다 하는 지도 조금은 알게 됐다.
이제 프로젝트 투입이다.
다음 주부터는 어느정도 내가 해결해야 할 업무를 맡거나 신규 프로젝트를 진행하는 등 실제 업무를 진행할 것이다.
1달 차가 되면서 이제 필요한 공부도 개인적으로 진행하고 있는데
개인 공부가 회사 업무에 도움이 되는 순간은 왠지 짜릿할 것 같다.
프로젝트를 조금 뜯어 보거나 상사분들 얘기를 들어보면서
현재 프로젝트들이 레거시이거나 개선할 부분이 꽤 많을 것이라 생각 들었다. 그만큼 개선시키는 작업을 통해 더 나은 프로젝트가 되도록 하는 것이 하나의 과제이지 않을까!
현재는 서비스 이해를 완벽히 하는 것이 가장 중요한 테스크이다.
'monologue > 내 이야기 공책' 카테고리의 다른 글
항상 처음처럼 (0) | 2021.08.31 |
---|---|
알고리즘 공부를 위한 강의 선택 (0) | 2021.07.30 |
BackEnd Developer를 향한 여정 (0) | 2021.07.19 |
Spring과 node.js를 접하다. (0) | 2021.07.19 |
[사담]피와 살이 될 것인가 (0) | 2021.06.14 |