본문 바로가기

생각/넋두리

탐구는 프로그래머의 기본 자세이다.

프로그래머의 기본 자세엔 탐구가 있다고 생각한다.

무척 주관적인 생각이며 아래에 왜 그런 생각을 하는지 적어본다.


돈을 받으면서 개발업무를 한 지 벌써 4년을 채워가고 있다.

이렇게 4년을 일하면서 만난 사람도 여럿이다. 회사업무로 만난 사람들, 그렇지 않은 사람들. 어쨋거나 주위에 프로그래머가 꽤 있고, 그 프로그래머들과는 어찌되었든 프로그래밍 얘기를 하게 된다. 그럼 여기서 '아 저 사람 닮고 싶다.' 하는 롤모델이 생기기 마련이다.


내가 롤모델로 생각하는 프로그래머들은 다른 부분에서도 강점을 보이지만, 모두 경력이 많아서인지 지식이 풍부하다. 물론 경력이 적음에도 내 롤모델로 살포시 포함되어있는 사람도 있다. 마찬가지로 지식이 풍부하다. 그리고 이들은 하나같이 공통점을 가지고 있다.


뛰어난 탐구능력은 내가 롤모델로 생각하는 사람들이 가진 공통적인 특징이다. 이 사람들은 루틴한 업무에서 조차 관찰을 즐기고 그 관찰에서 특징을 찾아내어 이를 개선하려한다. 그리고 절대 전혀 이해하지 못하고 있는 프로세스에 대해서 그냥 넘어가려 하지 않는다. 우선 인터페이스라도 이해를 하고 진행을 한다.


그리고 이 사람들은 자신들의 편의와 프로덕트를 위해 더 나은 방향을 꾸준히 고민하고 개선점을 찾아 나아간다. 그러면서 자연스레 깊은 이해도를 갖추게 되고, 소위 기본기가 매우 탄탄해지게 되며, 그것을 바탕으로 새로운 지식에 대해 다시 탐구하고 스폰지같은 흡수력을 보이게 된다.


돈을 받으면서 개발업무를 한 지 벌써 4년이라고 앞서 적었다.

이렇게 개발을 업으로 하면서 다양한 사람들을 만났고 거기에서 실망한 사람도 있었고, 롤모델도 있었고, 그렇지 않은 사람들도 있었다.


실망한 사람들을 제외한 모든 프로그래머들은 기본적으로 탐구하는 자세를 가지고 있었다. 코드에 대해 이해하려는 노력과 상황에 대해 관찰하고 개선점을 찾으려는 자세를 다들 갖추고 있었다. 다만 그 탐구하는 자세의 범위가 어디까지인가. 정도의 차이일 뿐이었다.


그래서 탐구는 프로그래머의 기본 자세라 생각하는 것이다. 기본으론 이런 자세가 없다면 내가 생각하는 롤모델들이 될 수 없으며 내가 실망한 사람들과 내가 롤모델들로 생각하는 사람들과는 프로그래밍에 대한 얘기를 나누기가 힘들다고 생각한다. 탐구하는 자세가 없는 프로그래머는 어찌되었거나 자신의 경험에만 빗대어 대화를 할 수 밖에 없고, 깊이가 없는 상황에서 해결점만 찾고 있기 때문에 서로 문제를 해결하는 방식 자체가 다르기 때문이다.


프로그래머는 모든걸 알아야한다는 강박관념이 있는 것은 또한 견제해야겠지만, 최소한 프로이기때문에 자신의 코드에 책임을 지려고 노력하기 위해 자신이 작성하는 코드와 시스템에 대해선 명확히 이해하기 위해 탐구해야하는건 기본 자세라 생각한다.