in 추천/리뷰

하드 코딩 무용론

최근 UI 개발자라는 직군이 만들어지면서, 채용 필수 항목으로 하드 코딩(hard cording) 가능 여부를 체크하고 있는 경우가 종종 있다. 여기서 말하는 하드 코딩은 메모장과 같은 텍스트 에디터를 이용하여 html과 css, javascript를 작성하는 것을 말한다.

보통 하드 코딩의 가능 여부를 체크하는 이유는 아래와 같다.

  1. html, css, javascript의 요소, 속성, 상태 등에 대한 명확한 이해
  2. 보다 빠른 수행 능력
  3. 영타 능력

하지만 실제 하드 코딩만으로 올바른 문법을 지켜서 html, css, javascript 등을 작성하는 것은 쉽지 않다. 오히려 코딩의 양을 줄이기 위해서 img를 입력하면서 alt를 넣지 않기도 하며, 효율적이지 못한 코드를 작성하기도 한다.

최근에 출시된 dreamweaver 8, golive cs2, aptana, Expression Web과 같은 웹 에디터 툴은 오히려 하드코딩보다 빠른 퍼포먼스를 가능하도록 한다. 특히 코드 힌트와 코드 유효성 검사, 구문 강조, 코드 정리 등의 기능은 코딩 퍼포먼스는 물론이고, 보다 효율적인 코드 작성을 가능하게 해준다.

최근 웹 에디터

나의 경우 드림위버8를 메인 에디터로 사용하면서, 위의 기능들 외에도 사용자 단축키 지정 기능을 최대한 활용하여 하드 코딩보다 훨씬 빠른 코드 작성을 하고 있다. 포토샵은 물론이며, 워드 작성 프로그램(워드, 한글)을 사용하는 것보다 더 빠르게 웹 문서를 만들 수 있다.

군대에서 삽질한다는 말이 있다. 수십 명의 일반 보병들이 몇시간에 걸쳐 삽으로 흙을 파고 있을때, 옆에서 공병대 포크레인이 단 몇분만에 훨씬 많은 양의 흙을 파내는 것을 표현하는 말이다. 전혀 효율적이지 못하고, 오히려 쓸데 없는 짓을 뜻하기도 한다.

삽이 없으면 손으로라도 파낼 수 있는 근성은 반드시 필요하다. 하지만 10시간 삽질할 동안에 포크레인 사용법을 익혀서 훨씬 더 많은 양을 파내는 게 좋지 않을까? 호모 사피언스… 인간은 도구를 만들어 사용한다는 점이 동물과 구별되는 가장 큰 이유라는 것을 다시 한번 상기해야 할 것이다.

댓글 남기기

  1. 면접시에 단서를 달게되는 하드코딩(?)여부는

    하드코딩을 무조건 한다는것이 아닌 하드코딩이 가능한지의 여부입니다.

    원래는
    “html css javascript 의 스팩을 잘알고있고 사용할줄아는사람” 이라고 변경되야겠죠

  2. 저는 상용 웹 에디터까지 사서 쓸 돈이 없는 관계로 오로지 텍스트 에디터만으로 모든 코드를 만드는데, 물론 코드 규칙을 다 못 외워서 속도가 떨어지고, 실수를 할 가능성이 있는 단점은 있습니다. 웹 에디터를 잘 안 써서 그런지 모르겠는데 웬지 답답하더라구요. 그리고 웬지 코딩하는 방법 외에 복잡해보이는 웹 에디터 사용법도 배워야 할 것 같고… 그래서 아직은 (사실은 흙을 파낼 일이 별로 없어서) 그냥 삽질합니다.

  3. “하드코딩” 의미가 한자한자 타이핑 한다는것을 의미하지는 않습니다.

    text에디터 기반의 도구들로 상용구, 단축키, 매크로등을 잘 활용하여 WYSIWYG과 같은 수준으 생산성을 보장 하는 것역시 하드코딩의 범주 입니다.
    울트라에디트와 같은 경우는 매크로 기능으로 자동화 까지 가능하기도 합니다. 이 역시 효율적인 하드코딩의 한 예가 되구요

    기업에서 원하는 “하드코딩”의 의미를.. 이제 막 배우거나 시작하려는 분들이 메모장에 a, b, c.. 와 같이 한자한자 쳐야 한다고 오해하지 않아야 할텐데 말이죠..

    저같은 경우 “하다코딩 가능자” 라는 항목을 명기시에 의도하는 것은 “WYSIWYG 기능이 없으면 페이지 제작이 불가능한 사람이라면 죄송합니다.” 정도를 내포하고 있습니다

    하드코딩에 기반을 둔사람 작업자라면 WYSIWYG이든 뭐든 크게 문제될건 없는것 같습니다.

  4. deute님/ 제 말이 그 말입니다. ^^

    신승식님/ 지난 1회 웹표준의 날처럼, 저 역시 이지윅 에디터가 없을 땐 메모장으로 html을 만든답니다. html의 가장 큰 매력이 바로 쉽게 만들 수 있는 점이니깐요~

  5. be_color님/ 울트라에디트에 그런 기능이 있는지 몰랐어요. 한번 사용해봐야 겠네요.

    하드코딩에 자신 있는 사람이 위지윅 툴에 크게 문제가 될 건 없겠지만, 무조건 잘 쓴다고 할 수 없겠죠. 언제 기회가 되면, 제가 드림위버 쓰는 걸 보여드릴께요~ ^^;

  6. 어떤 툴을 쓰느냐 보다는 스펙을 얼마나 정확히 알고 있느냐가 문제겠죠.
    하드 코딩 못지 않게 GUI툴을 다루는것도 어렵더군요. ㅡㅡ;
    하드 코디의 매력은 역시 메모장만 있으면 가능하다는게 아닐까요…

  7. 1. ui개발자를 뽑는 사람은 ui개발자이다. ui 개발자는 자신의 가치를 높이기 위해서 드림위버를 사용해서는 안된다. UI개발자가 드림위버로 뚝딱거리는 걸 다른 디자이너나 개발자가 본다면..연봉깍이는 지름길..ui개발 드림위버로 뚝딱 쉽네.라는..

    2.ui개발자는 mvc에서 view를 책임진다.
    html css js 이외에도 많은 선수지식이 필요하다. 그래서 웹개발경험이 있는 사람을 선호한다.