비전공자 개발자 준비자로써 마음만큼은 네카라쿠배당토 같이 IT 대기업에 입사하고 싶지만 현실적으로 당장은 불가능할 것으로 보인다.
(물론 성공하신 분들도 있지만 나는 그렇다는 뜻이다)
그렇다고 포기한다는 것이 아니라 어떻게 하면 이 꿈을 이룰 수 있는지 방법을 찾고 있었고 유튜브에서 김영한님의 세미나를 보았다.
이 영상을 보고 앞으로 개발자로써 어떠한 자세로 임하고 어떻게 전략을 짜야 하는지 큰 그림을 그릴 수 있게 되었다.
나와 같은 취준생들이 부트캠프를 가야하는지 대기업에 갈 때까지 취준이 나은지 실무에서 경력을 쌓는게 나은지 공부를 어떻게 해야하는지
어느정도의 솔루션을 제시하고 있다.
그래서 나의 생각도 어느정도 들어간 정리 내용을 포스팅한다.
사람들마다 처한 환경이 다 다르고 능력치 또한 다르다보니 참고 정도만 해주길 바란다.
영상의 출처도 남길테니 영상을 보고 개발자가 되는데 조금이나마 도움이 되길 바란다.
https://www.youtube.com/watch?v=QHlyr8soUDM&list=PLZLmyY1ZJciN53cHY5tNVvqji4JycsS7j&index=1
개발자의 자세와 현명한 이직 방법 및 좋은 회사 고르기
이직 - 내가 목표로 하는 회사
1티어 / 2티어 / 3티어 이렇게 분류하기
1. 기술과 채용 확률
1) 기술 맞추기(최종 목표로하는 1티어 회사를 기준으로 기술 스택을 선정)
- 1티어 회사들 채용 사이트 - 사용 기술 조사
- 비슷한 기술을 사용하는 2,3티어 회사들 찾기
2) 채용 확률 높이기
- 실무에서는 당장 사용하는 기술을 잘 다루는 경력자를 선호
- 기술을 맞추어 두면, 3티어 회사에 입사해도 경력을 쌓아서 1티어에 갈 확률이 높아짐(이게 오히려 더 쉽다고 함)
* 물론 공부를 더해서 실력을 쌓는다는 전제이다. 절대 회사에 가서 년차 쌓인다고 뽑는 것이 아니다.
신입 vs 경력 (1티어 회사기준)
1티어 회사는 신입으로 취업이 10배 이상 더 어려움
(물~~론 사람 마다 다르다. 하지만 나는 실력이 절대 출중하지 않아서 위에 내용이 나와 맞다고 생각하는 것이다.
)
1티어 회사에 바로 취직하는 것이 best지만 안되면 2티어,3티어까지도 일단 들어가는 것을 추천한다.
위에서 설명한 바와 같이 기술스택을 맞춘 상태에서 3티어 -> 2티어 -> 1티어로 올라가는 것이 더 쉽다고 한다.
좋은 회사 기준
성장할 수 있는 회사 == "개발, 운영, 개선" 사이클이 있는 회사
이런 회사들은 대표적으로 본인 제품을 만드는 서비스, 플랫폼 회사들이다. 이 중에서도 트래픽이 많아서 고생하는 회사를 더욱 더 추천한다.
장점: 내가 만든 코드를 내가 운영하고 개선하는 경험을 가질 수 있다. 일의 성과에 따른 보상이 확실하다
SI,SM 회사는 비추천 한다. - 주로 고객이 만들어달라는 것을 만들고 빠지는 경우가 많아서 개발을 하는데 운영 및 개선이 불가하여 성장이 힘들다.
(물론 이 쪽에서 일하는 것이 적성에 맞고 여기서 부터 시작해서 크게 성장한 분들도 분명 계실 것이다. 절대로 이들을 비하하는 바가 아니라 대중적으로 확률이 높은 경우를 따졌을때 그렇다는 것 같다.)
채용
1. 확률
면접관 마다 선호하는 것이 다르다.
1) 기술( java, spring, DB, HTTP, 객체지향, 알고리즘)
2) 성향(기술 경험 vs 성장 가능성)
기술 분류: java, spring, DB, JPA, HTTP
- 완전히 요약해서 이런 기준의 실력을 본다는 것 같다. 이 중에서도 나는 당장에는 java와 spring을 깊게 팔 것이다.
2. 실력있는 개발자 TO는 무제한
시장에 실력있는 개발자가 너무 부족하다 - 물론 그 실력을 쌓기 또한 힘드니깐 실력있는 개발자들이 부족할때 열심히 잘하자는 마인드를 가져야 할 것 같다.
이직 - 나의 현주소 파악
조건1. 서류부터 광탈한다.
1. 실력의 부족 - 학습과 경험을 더 쌓아야 한다.
2. 이력서 쓰는 방법을 모르는 경우
이력서 필살기: [문제발견 - 해결방법]
문제를 기술적으로 어떻게 해결했는지 자세히 적는다.
(기술적 깊이의 여부에 따라 면접관이 관심을 가지고 이걸 면접에서 질문 - 내 영역으로 질문을 가져오는 좋은 계기가 된다.)
깊이
기술적으로 깊이가 있다는 깊이 파기 위해서 그 주변까지 파고 들어야한다.
조건2. 면접은 가는데 계속 떨어진다.(열 몇군데 다 그런 경우)
실제로 내공이 부족하다.
내공의 기준: 학습 -> 체득(토이프로젝트, 회사일에 적용) -> 정리
실력을 쌓는 방법
학습의 3단계
1. 학습: 강의, 책
2. 체득: 실무 적용, 토이 프로젝트
3. 정리: 노트, 블로그, 세미나 만들기 (이직 면접때 큰 역할)
학습과 이직
학습을 통해서 나의 레벨을 높이고 다시 도전
학습 -> 레벨 업 -> 이직 도전 -> 실패 -> 면접에서 부족한 부분 확인
학습 -> 레벨 업 -> 이직 도전 -> 성공 -> 반복
지속적인 학습과 성장
시스템을 만들어야 한다. - 시스템을 통해 지속해서 성장, 시스템도 나에게 맞게 수정 -> 개발 역량 상승 -> 이직확률 상승
피드백 사이클 - 준비를 다하고 면접을 가는게 아니라 면접을 자주 봐야지 피드백을 자주 받을 수 있다.
시스템과 성장
실무에서 업무시간 이후에 학습하는 개발자가 그렇게 많지 않다. (나도 그렇게 될 수 있다는 것에 경각심을 가지자)
시스템으로 매일 3시간씩 학습 = 1년 1000시간 학습 -> 잘 될수 밖에 없다.
보통의 머리를 가지고 있으면 언젠가 1티어 회사에 충분히 갈 수 있다.
성장 = 기술적 겸손함 ( 이부분은 취직하고 나서 주의해야 할 점)
2 종류의 개발자 - 존재
실력있는 시니어로 가는 개발자와 아닌 개발자
1) 본인이 매우 잘한다 생각 -> 팀에서 보통인 개발자
주니어가 3년 정도 되면 대충 업무 굴러가는게 보임, 이쯤되면 담당 업무는 공부하지 않고 처리할 수 있음 -> 성장이 멈춤
3년차의 경험을 10년동안 반복
2) 본인이 아직 부족하다고 생각 -> 팀에서 가장 뛰어난 개발자
공부할수록 더 배울 것이 나옴, 지속적인 성장 가능, 가지고 있는 카드가 많음. 기술적인 혁신이 가능, 변화에 유리
그래도 여유를 가지자
사람은 기계가 아니다. 마음을 다지고, 삶의 방향과 시스템을 점검하는 시간이 필요 =컨디션 사이클이 있다.
시스템을 통해서 더 좋은 개발자로 지속해서 성장하는 것 자체가 중요 = 실력이 있으면 모든게 따라온다.