하드 코딩 무용론
최근 UI 개발자라는 직군이 만들어지면서, 채용 필수 항목으로 하드 코딩(hard cording) 가능 여부를 체크하고 있는 경우가 종종 있다. 여기서 말하는 하드 코딩은 메모장과 같은 텍스트 에디터를 이용하여 html과 css, javascript를 작성하는 것을 말한다.
보통 하드 코딩의 가능 여부를 체크하는 이유는 아래와 같다.
- html, css, javascript의 요소, 속성, 상태 등에 대한 명확한 이해
- 보다 빠른 수행 능력
- 영타 능력
하지만 실제 하드 코딩만으로 올바른 문법을 지켜서 html, css, javascript 등을 작성하는 것은 쉽지 않다. 오히려 코딩의 양을 줄이기 위해서 img를 입력하면서 alt를 넣지 않기도 하며, 효율적이지 못한 코드를 작성하기도 한다.
최근에 출시된 dreamweaver 8, golive cs2, aptana, Expression Web과 같은 웹 에디터 툴은 오히려 하드코딩보다 빠른 퍼포먼스를 가능하도록 한다. 특히 코드 힌트와 코드 유효성 검사, 구문 강조, 코드 정리 등의 기능은 코딩 퍼포먼스는 물론이고, 보다 효율적인 코드 작성을 가능하게 해준다.
나의 경우 드림위버8를 메인 에디터로 사용하면서, 위의 기능들 외에도 사용자 단축키 지정 기능을 최대한 활용하여 하드 코딩보다 훨씬 빠른 코드 작성을 하고 있다. 포토샵은 물론이며, 워드 작성 프로그램(워드, 한글)을 사용하는 것보다 더 빠르게 웹 문서를 만들 수 있다.
군대에서 삽질한다는 말이 있다. 수십 명의 일반 보병들이 몇시간에 걸쳐 삽으로 흙을 파고 있을때, 옆에서 공병대 포크레인이 단 몇분만에 훨씬 많은 양의 흙을 파내는 것을 표현하는 말이다. 전혀 효율적이지 못하고, 오히려 쓸데 없는 짓을 뜻하기도 한다.
삽이 없으면 손으로라도 파낼 수 있는 근성은 반드시 필요하다. 하지만 10시간 삽질할 동안에 포크레인 사용법을 익혀서 훨씬 더 많은 양을 파내는 게 좋지 않을까? 호모 사피언스… 인간은 도구를 만들어 사용한다는 점이 동물과 구별되는 가장 큰 이유라는 것을 다시 한번 상기해야 할 것이다.