안녕하세요 선생님 항상 좋은 강의를 제공해 주셔서 잘 공부하고 있습니다. 다름이 아니라 복싱을 배울 때 줄넘기와 달리기를 통해 기초체력을 단련하는 것처럼 개발자에게도 근본적으로 단련해야 하는 기초체력이 있을까요 요즘 개발 공부를 하면서 뭔가 모래 위에 성을 쌓아가는 느낌이 들어 이렇게 질문드립니다.
기초
noahsway
작성일
23.05.13 15:09
수정일
23.05.13 15:10
조회수
396
댓글 1
안녕하세요 noah님ㅎㅎ
음..
저는 그게 CS와 알고리즘이라고 생각을 해요.
하루에 30분 CS를 공부하구요. 하루에 1 ~ 2시간정도는 알고리즘 공부를 하는게 좋다고 생각합니다.
사실 CS 도움이 안된다고 현업개발자들이 말한다고 하지만, 저는 이게 차별점을 만들어준다고 생각해요. CS를 모르는 개발자와 아는 개발자는 차이가 크고 그 차이가 좋은 기업을 가게 해준다고 생각합니다. 어떠한 도메인에서 CS를 모르는 상태에서 아키텍처를 구상하거나 로직을 구축하는 것과 아는 상태에서 구축하는게 차이가 클 경우가 있거든요.
예를 들어 네트워크 대역폭 등의 개념을 모르는데 해당 네트워크 장치가 너무 낙후된 상태라 대역폭이 4048byte일 때 단방향 데이터 통신은 어떻게 해야할까? 메시지큐나 작은 데이터 단위로 나눠서 보내야겠구나, 그러면 무결성은 어떻게 처리하지?? 이런 고민부터 시작해서 결정되는 로직, 아키텍처 다 달라지거든요. 이 질문들은 모두 대역폭 등 네트워크라는 개념을 잘 이해한 것부터 시작이 되구요.
분명 근본있는 개발자로 만드는데 도움이 됩니다.
알고리즘도 마찬가지입니다. 알고리즘은 저는 개발자에게 필수품이며 근본이라고 생각합니다. 우리는 어떤 민족인가요?
배달의 민족~개발자는 어떤 문제를 해결하는 사람입니다. 그 문제를 해결하는 실력에 깊게 관여하는 것이 바로 알고리즘이라고 생각을 해요. 알고리즘 문제라는 작은 상황안에서 어떻게 하면 최적해를 찾아야 할까. 주어진 시간복잡도와 공간복잡도 안에서 어떠한 최적해를 찾아야할까? 라는 고민들은 실제 문제상황에 직면했을 때 큰 도움이 된다고 생각합니다.
꾸준히
하루에 30분 CS를 공부하구요. 하루에 1 ~ 2시간정도는 알고리즘 공부를 하시면 모래성이 아니라 탄탄한 시멘트위에 개발지식을 쌓는다는 느낌이 드실겁니다.
참고로 이 CS강의는 이번 5월말 ~ 6월초안으로 많은 업데이트가 될 예정입니다. 조금 더 근본있는 개발자가 될 수 있도록 노력하겠습니다.
참고부탁드립니다.
감사합니다.
답글