프로그래밍에 매력을 느껴 프로그래밍에 입덕하게 된 건 2학년때쯤.. 이후 그 재미를 느끼고 많은 것들을 시도해보곤 했다. HTML과 CSS를 배워 가장 기본적인 웹사이트를 만들고, 이를 더 화려하게 꾸미기 위해 JS를 공부했다. 이를 배포하기 위해 서버 구축에 대해 공부했고, PHP나 MySQL을 이용해 기능성을 부여하면서 DB와 SQL에 대해 공부했다. 이후 고전적인 서버를 넘어 SSR이나 CSR에 대해 알아보려 NodeJS를 공부했다. 학교 입학시 과제였던 C로 하는 PS를 하면서 C나 C++에 관심을 가졌고, 왜 C로 코딩하는데 C++를 써야하는지 의문을 가지고 C++을 공부했다. C++이 완전히 다르다는 것에 충격을 먹었고, 이후 비슷한 객체지향에 대해 알아보며 Python에 입문했다. C에 비해 너무 쉬운 코딩과 너무 간단한 개발에 충격을 먹었고, PS하는데만 쓸 수 있던 C와는 다르게 다양한 분야에 접목하기 너무나도 쉬운 Python은 나를 개발 세계에 빠뜨렸다.

Python의 다양한 모듈을 사용하며 Requests와 같은 웹을 다루는 모듈을 쓰며 대체 웹은 어떤 구조일까 의문이 들어 네트워킹이나 HTTP, HTTPS에 대해 공부했고, 이런 것들을 응용해 나가며 실질적인 코딩에 가깝게 가면서도 주어진 기능 외로 작동하게 만드는 것에 맛을 들려 해킹에 대해 점점 흥미를 가지기 시작했다. Python은 빠르게 무언가 기능하는 하나의 완성품을 만들기 너무 적당했고, 실행했을 때 원하는 대로 작동했을 때의 쾌감에 빠져버렸다. 이후 생각나는 아이디어란 아이디어는 다 파이썬으로 구현했고, 나 자신의 아이디어 뿐 아니라 주변의 아이디어를 신경쓰게 되었고, 그게 학교 서비스 구현 프로젝트로 이어졌다. 파이썬으로 간단하게 했던 것들을 친구들이 노가다로 하는 모습을 보고 아 저거 파이썬으로 할 수 있겠는데라고 생각했고, 그렇게 만들어본게 수십개는 될 것이다. 한편으로는 내 호기심에 딱 알맞게 점점 깊은 곳으로 내려가고 있었다. 원리의 원리를 계속 파고들며 컴퓨터 구조까지 내려갔고, 내려가면서 다른 땅굴을 파는 게 너무 재미있었다. 해킹이.

결국 반도체까지 내려가서 더 이상 이해할 수 없을 때까지 내려갔고, 해킹은 더 이상 내가 알던 해킹이라는 학문이 아니게 다 통합되었다. 해킹을 할 수 있던 원인중 대부분 그 아랫단계에서 기초된 버그였고, 아래로 내려갈수록 하나로 합쳐졌다. 그래서 내가 읽은 책을 살펴보면 다양한 분야가 많이 있지만 다 상하관계로 얽혀있음을 알 수 있다. 네트워크에서 기초해서 TCP/IP로, 거기서 물리계층인 데이터 통신까지, 그리고 신호처리와 신호를 처리하는 소자까지 이어져 있다.

관심사에 따라 공부해서 재미있게 공부했고, 관심사에 따라 공부하니 꼬리물기 공부가 가능했다. 서로 얽혀서 각자의 이해를 도왔고, 서로의 흥미를 돋구었다. 그냥 ‘컴퓨터’라는 분야 하나가 너무 재미있었고, 나에게는 천직이라고 생각됐다. 전체가 재미있으니 가장 기초인 ‘반도체’나 ‘컴퓨터 구조’가 자연스럽게 내 진로이자, 내 주요 관심사가 되었다.