2021년 2월쯤에 적은 글이다.
프로그래밍 공부한지 어느덧 6개월이 되었다. 파이썬으로 시작해서 지금은 자바스크립트를 배우면서 토이프로젝트를 진행하고 있는데 고민이 생겼다. 장기적으로 봤을때 내가 생각하는 궁극적인 목표를 이룰 수 있으면서 전망도 있고 취직도 어느정도 되는 언어가 무엇일까 하는 고민이다.
내가 요새 고민하고 있는것
웹? vs 앱?
웹이면
백엔드? vs 프론트엔드?
되도록 파이썬을 통한 데이터분석쪽으로 가고 싶은데.. 한국에선 자바, 자바스크립트가 강세니 어떻게 해야할지..
프론트엔드에서 백엔드 쪽으로 넘어가는 일도 있나? 반대가 더 쉬울 것 같은데
사실 난 자바스크립트도 재밌지만 파이썬이 더 잼써서 백엔드로 갈려고 하는데 진입장벽이 높아서 일단 프론트엔드로 가려고 하는데 어떻게 해야할지..
T 형 인재가 좋다고 생각함. 두루두루 얇게 알되 하나만큼은 깊게 아는. 백엔드를 두루두루 알고 프론트엔드를 깊게 파는것(자바스크립트) // 바꼈다. 웹을 두루두루 알고 앱과 데이터 쪽을 깊게 파는것.
unmanaged(c계열) / managed(자바,파이썬,루비, 자바스크립트 등등) 언어에 대한 생각은? (포프님 영상)
무언가를 해결하기 위한 고통스러운 순간이 있어야 하는데 그러한 순간은 언제였는지??
파이썬 스크래퍼 바닐라 js 챌린지 다 완수하고 진짜 기본기만 다진 상태에서 취업하려고 한다. 이게 바람직한건지 아님 어느정도 개인프로젝트 수행하고 좀더 고통스러운 과정을 경험하고 나서 취직하는게 바람직할지.
찾아보고 고민해서 내가 내린 결론.
다 필요없고 내가 하고싶은게 뭐냐는거다. 뭘 이루고 싶고 뭘 만들고 싶냐는 거다.
난 팩트풀니스를 보고 데이터관리가 정말 중요하다고 생각했다. 세상을 객관적으로 바라보는 수단으로 공신력있는 데이터를 봐야한다는 것이다. 그래야 편견이 아닌 팩트로 상황 판단하여 더 지혜로운 결정을 내릴 수 있다.
그 러한 관점에서 , 데이터 사이언스 쪽에서는 파이썬이 치고 올라오고 있으므로 파이썬을 공부해야하는 것으로 결론이 나온다.
또한, 나는 통역어플, 기계를 만들고 싶었고 (추상적이지만) 손문탁박사님처럼 라즈베리 파이에 기반한 무선도서관같은 기계를 개발도상국 사람들에게 선물하고 싶고 그들의 인생을 좀 더 윤택하게 하고 싶다. 그런 의미에서 어플과 기계쪽에 많이 쓰이는 자바를 익히는게 맞다. 사실 node.js(자바스크립트)로 앱을 만들 수 있다고는 하지만 자바가 아직 대세인것 같다.
그리고 그와 더불어 프로그래밍의 기초를 탄탄히 해주는 c 계열 언어를 별개로 공부해둬야 한다는 결론을 포프님 영상보고 내렸다. 왜냐하면 대부분의 언어가 c 에서 출발했기 때문에 c를 제대로 알면 어떤 새로운 언어를 배우더라도 금방 배울 수 있다. 기본 컨셉은 거의 같고 표현방식만 조금씩 달라질 뿐이다.
그리고 나중에는 어느정도 수준이 올라갔을때 세부적인것을 나한테 맞추어 사용하기 위해 소스코드를 건드려야 할 때가 온다. 원본, 조립 부품을 손대야한다는 것이다. (포프님은 메모리 손실을 줄이기 위해 메모리 할당하는 방법을 알아야 한다고 했는데 사실 무슨 말인지 모르겠다.) 비유를 하자면 자전거 선수들이 실력이 어느정도 경지에 오르면 그 다음엔 자전거의 원리를 알고 어떤 부품을 사용하는가에 따라 승패가 좌우된다는 것이다. 미세한 차이가 결국 승패를 가르다. c언어를 아는것은 자전거선수에게 있어서 자전거의 작동원리와 자전거를 구성하는 부품의 특성을 이해하는것이 된다.
여튼 소스코드를 나한테 맞게 수정하여 효율을 끌어올려야하는데 이 차이가 상급자(아키텍쳐급)로 갈수록 매우 중요하다고 했다. 단순 전문가와 신급을 가르는 차이라고 설명해도 될라나? 기본이(c언어, 컴퓨터작동 원리) 탄탄해야 결국에는 천장을 뚫고 경지에 도달할 수 있다고 하였다.
그래서, 소스코드를 수정, 관리 하기 위해서도 c 언어를 알아야 한다는 결론이다.
그럼 입문을 c 언어로 하고 그 뒤에 자신의 필요에 따라 언어를 선택하면 된다고 생각할 수 있는데 사실 나는 제일 재미있고 쉽게 배울 수 있는 파이썬을 입문언어로 선택해서 프로그래밍의 개념과 논리를 재미를 어느정도 빠르게 익히고 체험한 다음에 c 언어를 배우고 그 다음 필요에 따라 언어를 선택하는게 맞다고 본다.
c언어를 맨처음 배우게 되면 프로그래밍에 대한 첫인상이 안좋게 자리잡을 수 있다. 그럼 안된다. 가속이 안붙는다. 중간에 끊길수 있다.
가장 중요한것은 재미다. 즐기지 못하면 지속하지 못한다. 영어를 배울 때 뼈저리게 느꼈다. 즐기는게 첫번째고 그다음 그 언어를 배울 '실질적' 이유를 찾는것이다. (내 생활에 필요한 불편을 해결해 준다던가 아님 남에게 도움이 되는 서비스를 제공해준다던 가 하는 것들)
그래서 지금 파이썬, 자바스크립트를 배우면서 재미와 원리를 어느정도 알게 되었고 이후에는 내가 언젠가는 공부해야할 언어이자 취직도 잘되는 자바를 익혀 취직을 한다음, 중간중간 짬나는 시간에 c 언어를 본격적으로 공부할 생각이다.
2022년 1월, 지금 시점에서 이 글을 읽어보면... 사실 자바스크립트 하나만 파기에도 벅차다는거... 사실 언어 하나만 굉장히 깊게 정확하게 이해하면 다른 언어는 금방 익힐거라고 생각한다.
언어를 여러개 할 줄 아는게 과연 정말 중요한가??
그것보다 더 중요한것은, 컴퓨터의 기본구조, 작동원리, 그리고 언어의 철학과 개념에 대한 명확한 이해라고 생각한다. 결국 여러가지 언어, 프레임워크 보다 기본기를 확실히 하는게 가장 중요한것일까?
아직 배워나가는 단계라서 확실히 대답은 못하겠다.