안녕하세요. 멘토님. 저도 수학과 출신으로 개발자 공부를 하고 있는 취준생입니다.
프레임워크(라이브러리) 공부를 할 때 “어떤 기능을 구현하기 위해서 / 어떤 문제를 해결하기 위해서 이러한 기술을 사용해 봤습니다.”라는 식으로 흐름과 쓰임새를 이해하고 적용해 보는 식으로 공부하고 있는 중인데, 면접을 위해서 어느 정도의 깊이 있는 공부가 필요할까요?
같은 수학과라니 반갑네요!
수학과 수업에서 컴퓨터 관련된 과목이 거의 없다 보니 개발 공부 시작하기 두렵고 어려우셨을 것 같은데, 좋은 개발자가 되기 위해 열심히 성장해 나가고 계신 것 같네요!
백엔드 개발자를 희망하고 계시다면 스프링, Mybatis, JPA 등 여러 가지 백엔드 기술들을 학습 중이실 것 같습니다. 공부할 때, 프레임워크에서 제공해 주는 기능들이 어떤 식으로 우리가 사용하면 되는지, 어떤 문제를 해결하기 위해서 이러한 기술이 등장했는지 공부하시는 것도 물론 필요하고 중요합니다! 다만, 여기서 깊이를 더 해볼까요?
예를 들어, A라는 기술(개념)이 어떤 문제를 해결하기 위해서 등장했고, 이런 식으로 사용하면 되는구나!를 이해하셨다면, 실제로 내부에서는 어떤 방식으로 동작해서 내가 이렇게 사용하면 어떤 일들이 일어나는 것일지에 대한 궁금증을 가져 보셨으면 합니다.
그리고 그 궁금증을 하나하나 해결해 나가시다 보면 단순히 “어떤 기능을 구현하기 위해서 / 어떤 문제를 해결하기 위해서 이러한 기술을 사용해 봤습니다.”를 넘어서 "그 기능이 어떤 방식으로 내부적으로 동작하는지 (중략)