프로그래밍을 잘한다는 것은 무엇일까.
잘하는 게 무엇인지는 논외로 하자.
양화할 수 없는 것을 괜히 해봐야 부작용만 크다.
질문을 바꾸어보자.
프로그래밍은 어떻게 배워야 해야 할까?
여기에 돌아오는 답변은 아래와 같다.
C, JS, Java 같은 언어를 공부하세요.
아하! 딥러닝 관심 있으시구나.
그로탐 여윽시 python이죠.
허허, 프론트엔드가 대세인 거 모르시나.
JS는 역시 React입니다.
그나저나 Docker 편하지 않나요?
serverless super power♪~
Azu... 아니, AWS가 최곱니다.
엣헴... 엣헴... 으딜..! 어셈블러도 모르는 것들이!
C를 이용해 UNIX 커널단까지 파고드는 그런 근성...
감히 말하길 나는 위에 사람 모두가 옳다고 생각한다.
달리 말하면 모두가 틀렸다고도 생각한다.
왜 그렇게 생각하냐고?
세상은 점점 더 복잡해진다.
하지만 높아지는 복잡도만큼 우리 삶이 복잡해지진 않을 것이다.
복잡도는 추상화로 한 겹씩 감싸져 옅어질 테니까.
그렇다 해도 약간 수월해지는 것이지
복잡한 게 복잡한 게 아니게 되는 것은 아니기 때문에
각 분야는 점점 더 세분화될 것이다.
다시 말하면 포괄적이었던 덩어리들이 세분화된다.
그로 인해 경계가 생기고 저마다의 영역이 뚜렷해진다.
그러니까 무엇을 하든 전문성을 갖는다면
먹고 살 수 있지 않을까 생각해본다.
딥러닝을 하든
블록체인을 하든
프론트엔드를 하든
백엔드를 하든
임베디드를 하든
게임을 하든
당신이 어떤 것을 하든 말이다.
그렇기 때문에 나는 프로그래밍을 잘하는 것에 집착하지 않으려 한다.
툴에 익숙해지는 것은 의미 있는 일이다.
하지만 도구는 도구일 뿐이다.
도구보단 그걸 쓰는 사람이 더 중요하다.
당신 자신의 내실이 말이다.
도구는 사용자에 따라 그 효과가 천차만별이다.
내가 진검을 휘두르는 것보다 켄신이 효자손으로 베는 것이 더 위력적일 것이다.
최근에 블록체인을 공부하고 싶다고 느꼈다.
그런데 블록체인을 공부할 수 없겠더라.
Networking, Cryptography, Distributed systems부터 시작해서
게임이론, 거시경제, 미시경제 등등 수많은 것들이
베이스가 되어야 그나마 좀 시작을 할 수 있겠다 싶었다.
그리고 쭉쭉 내려가다 보면 그 아래엔 결국 수학이 기다린다.
결국엔 기초가 중요한 것 같더라구요.
공부합시다!
수면 위의 파장에 휩쓸리지 말고 그 아래 것들을 파헤칩시다!
'공학 > 단상' 카테고리의 다른 글
1월은 무엇을 했나? (0) | 2020.08.17 |
---|---|
스물네 번째 크리스마스를 돌아보며 (0) | 2020.08.17 |
대기업 면접 후기 (0) | 2020.08.17 |
주석 쓰지 마! (0) | 2020.08.17 |
프로그래밍을 배우는 순서 (0) | 2020.08.16 |