어렸을때 코딩을 했던 이유는 명백하게 자랑하기 위해서
였던것 같다. 컴퓨터 “파워유저”로써 리눅스를 써보고 리눅스의 쉘스크립트를 통해 startx를 조작하여 시작음을 내는것이 내 첫번째 코딩(?) 이었던것으로 기억한다.
군대 시절과 전역하고 나서 코딩이 재미있어진것은 디자인 패턴 때문이었다. 어렵지만 잘 조직화된 문서는, 읽고 이해한(것으로 믿은..-_-) 비슷한 구현체를 만들어보는데 재미를 붙여주었고 머릿속에서 생각했던 조건들을 맞추어 좀더 나은 구현체를 만드는 과정은 꽤나 흥미로웠고 재미있었다.
다른 말로 하면, 흥미가 생겨서
코딩을 하기 시작했다. 물론 이때도 남들이 잘 이해하지 못한것을 일부러 하려는 경향 - 자랑질의 경향 - 이 없었던것은 아니지만, ‘이렇게 하면 될것 같아’는 생각을 머릿속에서 만들어내고 실제로 구현해 확인하는 과정은 ‘코딩’에서는 자주 일어나는 과정이고 꽤나 즐거운 경험이다.
첫번째 회사에서는 정말 운 좋게 이러한 과정의 연속이었다. 흥미에 도취되어 집중하는 것이 ‘열정’으로 보인다면 보일수도 있는, 루키 프로그래머만이 즐길 수 있는 행복을 가져다준 첫번째 회사, 그때의 사람들은 나에게 매우 각별한 기억으로 남아있다.
세번째 회사는 꽤나 전문적인(혹은 SI같은?) 회사였고, 이곳에서 일반적으로 코딩은 여러 사업적 요소들중 하나이며 따라서 주어진 요구사항을 구현
하는것이 프로그래머의 주된 업무였고, 남들보다 요구사항을 잘 구현하기 위해 노력하는 형태로 코딩을 하게 된것 같다. 조금 부정적으로 보일지는 몰라도 나에게는 또다른 새로운 경험이었고 사실 매우 좋았다. - 나 스스로 직업과 전문가, 사업의 요소, 그리고 프로그래머로써의 경쟁력에 대해 많은것을 생각하게 되었으니까..
지금 회사에서 노력하는것 중 하나가 좀더 전문가답게 코딩하기다. 귀찮더라도 정석으로 가려고 하고 코딩 한줄을 짜는대에도 고민을 많이하려고 노력한다. - 내가 전문가라는 생각이 들지 않기 때문에 더욱 의식적으로 노력한다. 오버같지간 약간은, 조금은 경험이 있는 코더로써 덜 경험이 있는 주변분들에게 도움이 되는 것
이 내가 받은 도움에 대한 맞는 행동이라는 생각이 든다.
궁극적으로 경쟁력이 있고, 경제적인 문제를 해결할수 있는것 뿐만 아니라 소프트웨어로 실질적인 도움이 되는 무엇인가를 만드는것
이 내 코딩의 이유가 되어야 할 것이다. 누군가가 말했듯이 How보다는 What이 중요한 요소이며, 결국 돌이켜봤을때 저러한 목적이 없다면 꽤나 후회할것 같다.