개발자의 방향?
기술인터뷰에 대한 특강을 들었다
기술인터뷰에서 면접관이 요구하는건
주도적인 압축성장과 문제해결 능력을 본다고한다
주도적인 압축성장은 얼마만큼 고민을 했는가 ? -> 강의를 보거나 하는게 아니라, 밤낮을 넘기면서 얼마만큼 고민을 했는가 ?
문제해결 능력이 있는가? -> 기능 구현은 기본이고, 그 기능이 많은 유저에게 서비스를 빠르게 제공할 수있는가? 즉, 성능개선 / 성능 최적화를 얼마나 시켰는가 ?
1. 주어진 문제에 대한 요구사항(성능개선, 성능최적화)
2. 해당 문제를 해결하기 위해서 어떤 가설을 세웠고 그 가설을 적용하기 위한 선택지(툴이라던지)
3. 그 선택지를 고르게 된 의사결정와 다른 선택지를 배제한 근거
4. 결과는 어떻게 나왔고, 후속조치는 무엇을 했는지 ?
기능 구현하기에도 아직 많은 시간이 걸린다. 근데 현업에서는 상기의 능력여부에 대해서 물어본다.
어느날, 기술 매니저에게 문의를 한 적이 있다. quearyDSL 이라는 기술을 이용한 테스트 코드를 작성하는 내용이였다. 실제 가져와서 써보니 테스트 단에서는 작동이 되었지만 실제 코드에 어떻게 작성해야하는지 몰랐고,,, 심지어 프론트와는 어떻게 이걸 통신시켜야하는지도 .... 뭐랄까 큰 그림을 그리지 못해서 물어본 적있는데,,, 그 기술매니저는 꽤나 굳은 얼굴로 팩폭을 주었다
그런걸 물어보는건 회사에서는 매력적인 면접자라고 생각되지 않는다고
특강을 듣는 내내 저 말이 오버랩 됐다..
인정할 수 밖에 없다. 솔직히 말해서 최근 CI / CD를 구축한 이후로... 아니 정확하게는 CI / CD를 할 떄도 잠도 잘자고 심지어 놀기도 했다.
그래도 그나마 자위하는 부분은 CI / CD는 개발에 좀 더 집중할 수 있게, 무중단배포까지 인프라를 만들면서 그만큼 서비스 개발에 많은 시간을 쓸 수 있으니까 했는데,,,
막상 redis를 하려고 하니,,, 전혀 그림이 안그려진다. 인메모리 방식에 캐시니까 성능 향상에 좋다.. 근데 그걸 우리 프로젝트 어느부분에 적용해야하는지 감이 안온다..
다시 생각하더라도 현재 나는 회사에서 뽑을 만한 무언가가 없다...