다시 기본에 충실하기로 했다.


만 3년 동안 프로 개발자로 일했다. 정말 다양한 이슈들을 해결해야만 했다. 개발자의 일이란 결국 문제를 해결하는 것이었다. 문제를 해결하기 위해서 많은 도구를 가져다 썼다. 최근엔 많은 머신들에서 제각각 돌고 있는 CronJob들을 보다 효율적으로 관리하기 위해 Airflow를 썼다. 차후에 개발할 것들을 위해 GraphQL에 대해 공부하기도 했다. 스터디에 나갔더니 Kubernates에 대해 다들 이야기하길래 내가 하고 있는 프로젝트들에 적용할 수 있을 지 살펴보고 있다.


다양한 도구들을 써보고 노하우를 위키에 남긴다. 때때로 팀원들에게 공유하기도 한다. 문득 드는 생각이 있다. 어느 도구를 쓰든지 결국 컴퓨터를 다루는 일이라는 걸 깨닫는 순간이 오더라는 것이다. 도구가 도깨비 방망이가 아니고 컴퓨터를 어떻게 잘 다룰 지에 대한 고민들로 탄생한 것들에 불과하다는 것이다.


하드웨어 위에 커널, 커널 위에 시스템 라이브러리, 그 위에 OS가 있고 그 위에 다시 도구들이 있다. 수차례 추상화 되었지만 결국 컴퓨터를 다루는 일이다. 컴퓨터를 잘 알면 더 잘 쓸 수 있다. 운동 생리학을 알아야 달리기를 잘 하는 것은 아니지만 달리기를 잘하는 사람이 운동 생리학을 공부한다면 더 잘 뛸 수 있다. 컴퓨터에 대해 잘 알고 도구를 쓰는 것과 그렇지 않고 쓰는 것은 다를 수밖에 없다. 깨달음이 오자 갈급해졌다.


컴퓨를 잘 안다는 것은 무엇일까? 고리타분한 말이지만 4대 과목에 대해 이야기하지 않을 수 없다. 운영체제, 네트워크, 자료구조와 알고리즘, DB다. 여기에 클린 코드 한 권을 더해 다시 기본을 공부해보고자 한다. 예전에는 컴퓨터 개론 수업에 왜 계산기부터 등장하는지 이해를 못했다. 하지만 이제는 안다. 계산기부터 공부해보고자 한다. 컴퓨터의 태초가 무엇이고 그것이 어떻게 발전해왔는지. 그 원리가 어떻게 현대 컴퓨터로 이어지고 있는지. 위대한 기술에 대해 바닥부터 훑어볼 예정이다.


4년 차에 다시 읽는 기본서 시리즈를 연재하고자 한다. 혹시 함께할 마음이 있으면 연락바란다.

'Tech' 카테고리의 다른 글

신입 초보 개발자 1년 회고  (1) 2017.02.03
TDD 적용기  (0) 2016.10.06
다양한 예제로 학습하는 데이터 구조와 알고리즘 for Java  (0) 2015.11.10

+ Recent posts