멘티 질문
프론트엔드 개발자에게 운영체제, 시스템프로그래밍(리눅스), 컴퓨터구조 등의 CS지식은 필수로 요구 되나요? 학교에서 수업을 들었었는데 깊게 공부하지 않아서 어느정도 까지 알아야 하는지 궁금합니다.
멘토 답변
실무만 놓고본다면 하나도 몰라도 됩니다.
우리가 변수에 할당하는 값이 메모리에 어떻게 저장되고, 자바스크립트 엔진이 어떻게 동작하는지, Array.prototype.sort메소드가 어떤 알고리즘으로 동작하는지 몰라도 됩니다.
하지만 우리가 마주하게될 문제가 간단한 수준의 문제가 아니라면, 컴퓨터공학 지식을 필요로 할수도 있을 것입니다. 아는만큼 문제가 보일것이구요. 많이 헤맬수도 있겠죠.
저는 한번쯤은 언급해주신 지식들을 학습하고 지나가봐야 추후 내가 모르는(공부했었는데 까먹은) 부분이 나왔을때 재학습하기 용이하다고 생각합니다.
하지만 그보다도 더 중요하다고 생각하는것은, 한정된 시간을 보유한 지금엔 선택과 집중을 해야한다고 생각합니다.
(제가 몇년전에 비슷한 고민을 했을때 우연히도 리액트를 만든 댄의 블로그에서 비슷한 소재의 글을 보았던 기억이 있네요.)
https://overreacted.io/ko/things-i-dont-know-as-of-2018/