취준

취업을 준비하는 사람들에게... (개인적 의견)

멍토 2022. 2. 2.

https://mungto.tistory.com/514

 

2021년 회고(2년 6개월이라는 취준생활을 마무리하며... )(준비, 스펙, 의견)

소감 2년반이라는 취준이 끝났다. 3번의 공채지원끝에 카카오에 합격할 수 있었다. 5년전 개발을 처음시작할때는 내가 네카라쿠배급에 들어갈 수 있을지 몰랐다. 이미 심화전공까지 끝난 상태에

mungto.tistory.com

https://mungto.tistory.com/516

 

코딩테스트 (알고리즘) 준비하기(알고리즘 종류, 방법)

코딩테스트 공략 목적 : 코딩테스트 준비를 하는 사람들에게 주로 나오는 알고리즘에 대한 키워드를 제공하기 위해 작성한다. 알고리즘에 대한 설명은 부족할 수 있으니 따로 찾아서 공부를 해

mungto.tistory.com

https://mungto.tistory.com/517

 

CS와 면접 준비하기

https://mungto.tistory.com/516 코딩테스트 (알고리즘) 준비하기(알고리즘 종류, 방법) 코딩테스트 공략 목적 : 코딩테스트 준비를 하는 사람들에게 주로 나오는 알고리즘에 대한 키워드를 제공하기 위

mungto.tistory.com

 

아마 나처럼 5년동안 공부해서 취업하려는 사람을 없을거다. (나도 이렇게 오래걸릴줄 몰랐다.)

그래서 5년동안 공부하고 2년 6개월간 취준을 하면서 느낀점과 주위에서 취업을 일찍 한 사람들의 공통점을 모아 정리해 보았다.

 

1. 내가 취업하려는 분야를 확실하게 정하자. 

2. 사용하는거에서 끝나지 말고 깊이있는 학습을 하도록 노력하자.

3. 가고싶은 회사가 사용하는 기술을 찾아보자.

 

써보니 3개밖에 안된다.


첫번째로 분야를 확실하게 정해야한다.

 

개발자는 총 3단계가 있다고 한다.

1단계 - 개발을 시작

2단계 - 분야를 결정

3단계 - 특정부분 강화

 

각 분야마다 공부해야하는게 달라진다. 취업을 위해 하나만 깊이파도 모자른 시간인데 정하지 못해서 이것도 하고 저것도 하면 애매하게 된다.

2단계 부터 취준의 시작이라고 생각한다. 빠르게 취준을 끝낸사람들을 보면 자신이 어떤걸 해야할지 결정하고 달려나갔다.

내가 백엔드를 할건지 프론트를 할건지, 혹은 DB, 인프라, 게임, 안드로이드, 윈도우, 맥, IOS를 할건지 확실하게 정하고 시작하자. 

 

두번째는 사용에서 끝내지 말고 깊이있는 학습을 하자.

내 잘못된 습관중 하나가 기능구현 혹은 사용하는 방법만 익히고 넘어갔고 CS의 경우도 그냥 단순하게 암기하고 어떤방식으로 적용할지 고민하지 않았었다.

예시를 들어보면 아래와 같다.

1. Hash는 접근속도가 O(1)이다.

여기서 멈추지 않고 왜 O(1)일지 생각해보자. 자료구조를 찾아보면 O(1)로 접근이 가능한건 배열이다. Java의 경우 Hash자료구조는 배열로 구현이 되어있어 O(1)로 처리가 가능하다.

그러면 Key는 여러가지 자료형이 들어올 수 있는데 왜 가능하지? -> 해시함수를 통해서 변환

Key는 달라도 완전해시함수가 아니기때문에 같은 Index가 나올텐데 이거는 왜 가능하지? -> 해시충돌 처리

 

 

2. 만약 내가 Hash관련 자료구조를 써야한다고 할때 어떤걸 써야할지 찾아본다면 Java의 기준으로 이러한 것들이 나올것이다.

HashMap, HashTable, ConcorrentHashMap

보통은 HashMap을 쓰고 동시성처리가 필요할때는 ConcurrentHashMap을 쓰세요 라고 보통 나온다.

그러면 여기서 끝내지 말고 평소에는 왜 HashMap을 쓰는지 동시성 처리때는 HashTable이 아니라 왜 ConcurrentHashMap을 쓰는지 생각해보자.

여기서 더 찾아보면 HashTable은 메서드에 동기화가 걸려있고 ConcurrentHashMap은 버킷마다 락을 걸어 처리하기 때문에 효율성에서 더 좋다고 나올것이다.

그러면 여기서 또 멈추지 않고 직접 구현코드를 보고 왜 코드를 그렇게 짰는지 살펴보는게 좋다.

 

 

세번째는 가고싶은 회사에서 사용하는 기술을 찾아보자.

이것은 카카오 수시채용 공고중 하나이다.

여기서 살펴보면 Spring 경험과 모바일/웹 환경을 위한 API 시스템 개발 경험을 우대하고 있다.

그렇다면 아마 Spring을 이용한 RestAPI서버를 구축할것이라 유추할 수 있다.

 

그리고 k8s, docker를 이용한 서비스 운영경험이 적혀있다.

이것도 마찬가지로 카카오는 k8s를 통해 서비스를 운영하고 있다고 유추가 가능하다.

 

다음으로 테스트 구축, 지속적인 구조개선 경험이다.

이 회사는 규모가 있기때문에 기능추가 및 변경이나 리팩터링시 사이드이팩트를 확인하기 위해 테스트코드를 작성한다고 생각할 수 있다.

 

그렇다면 여기서 진행할 전략은 Java 혹은 Kotlin으로 Spring 프로젝트를 진행하고 k8s를 학습해서 배포하는 경험을 하는것이다. 물론 프로젝트를 진행하면서 테스트코드를 꾸준히 작성하고 리팩터링을 통해 서비스를 개선해나가는 과정까지 들어가있다면 더 좋을것이다.

 

추가적으로 모니터링 시스템을 구축하고 부하테스트까지 진행한다면 더 완벽할 것이다.


 

위와 같은 방식으로 공부를 한다면 나처럼 5년이 걸리는것이 아니라 1년에서 2년 사이면 충분히 네카라쿠배급에 취직이 가능하지 않을까? 라고 생각한다.

댓글

💲 광고입니다.