ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [발번역] 왜 좋은 Front-End 개발자를 찾는게 힘든가?
    FrontEnd/번역 2015. 12. 2. 10:43
    발번역본 이므로, 원본을 참고하시는 것이 좋습니다.

    [원본] Why is it so hard to find a good front end developer? - by Ilias Ismanalijev


    왜 좋은 Front-End 개발자를 찾는게 힘든가?

    그건 당연한 질문이다. 초보자의 눈에는 Font-End 개발자는 바람과도 같게 보인다.
    만약 프론트 앤드 개발자가 주변에 널려있다면, 어떻게 될까?

    대답은 간단하다. 프론트앤드개발이라는건, 전문 트래이더가 스포츠 선수를 기용하는것보다 훨씬 어렵다.
    이건 물의 깊이를 잴려고 발가락을 넣어보는것과 같은 이치다.
    (좀더 의역해보면, 스포츠 선수들이 많은데 그중에 고르라는 말과 같다. 스포츠 선수는 흔하고, 그중에 하나를 골라야 하는것이다.)


    프론트앤드개발은 그것보다 더 복잡하다.

    서버사이드 개발의 어려움과는 또 다르다. 클라이언트의 문제가 중요하다는건 인정하자.
    프론트앤드개발자의 대부분의 작업은 HTML , CSS로 제한된 환경에서 버그을 잡는것이다.
    물론 자바스크립트는 도움이 되지만, 기능검사기능과, 퍼포먼트 저하를 가져온다.
    그리고 이것은 더 많은 코드의 오류를 가져올 확률을 높인다.
    당신의 사이트가 성장하기 시작하면, 이미 선언된 CSS는 더 많은 유지비용을 불러온다.
    (좀 더 의역하면, CSS에 기반해서 자바스크립트를 구현했고, 더 많은 기능을 넣을려면 기존의 CSS을 계속해서 덧대야 된다는 내용이다.)

    프론트앤드는 가파르게 달라지고 있다.
    새로 배울것들이 계속 나온다 : 반응형 웹 , HTML 어플리케이션 , CSS 트랜스폼 , WebGL  외
    이 툴들은 새로운 가능성이지만, 당신의 사이트가 동작하는 방식을 변경하기도 한다.

    그 말은 곧 프론트앤드를 배우고, 가르치는 방법이 변경됨을 의미한다.
    불행하지만, 어떤 강사들은 실무자들과는 틀리게, 자신이 알고있는 한계 내에서만  새로운 업무자들을 배출한다.


    단지 프론트앤드만 개발하는것이 아니다.

    프론트앤드는 단순히 코드만 말하는것이 아니다. 코드와, 사용자간의 상호작용하는 방법에 대하여 관여한다.
    클라이언트 개발은 바보같은 디자인을 아주 쉽게 사용자의 장애물로 만들수 있다.
    좋은 프론트앤드 개발자는 '웹성능의 이해'와 '온라인의 성공을 결정하는 통계'를 요구한다.
    즉 DNS시간 측정하여 최적화 하고, 해당하는 빌드스크립트를 만들어서 적합한 CSS레이아웃을 만든다.

    이것뿐만이 아니라, 마케팅을 이해하고, 사용자의 심리와 접근성, 편리성을 우선순위에 두고,
    검색엔진최적화(SEO) 을 유지한다.  또한 기초적인 디자인 이론과 이해를 가지고 구현하기가 거의 불가능한 그래픽 디자인과 협력한다.

    클라이언트 개발은 CSRF , XSS , DNS 피닝 , 클릭재킹(clickjacking)에 대해서 방어하는것도 중요하다.
    이 모든것이 프론트앤드개발이다. 심지어는 서버사이드 개발자와 긴밀하게 협조해야 한다.

    즉. 좋은 프론트앤드 개발자 뿐만 아니라 좋은 백앤드개발자도 있어야 한다.


    이 모든것이 호환된다 라는것을 의미한다.

    개발자 "피터 폴 코흐(Peter-Paul Koch)" , "더글러스 크록포드(Douglas Crockford)" , "니콜라스 자카스(Nicholas Zakas)" 모두 동의하는 말이 있다.

    "프론트앤드개발은 세계에서 가장 적대적인 (호환성이 없는) 개발환경입니다."

    이유는 호환성(compatibility) 때문이다.

    프론트앤드개발자가 자신의 업무를 끝내면, 확인하는 작업을 해야 하는데,
    범위가 태양 아래 모든 브라우저 ,모바일 기기 , 하이앤드토스터오븐에 최적화 해야한다.

    즉. (확인해야 하는) 일을 아주 많이 할 수 있다.

    당신은 얼마나 많은 인터넷 브라우저를 생각할수 있는가?
    불과 몇개 만 나열하면, 크롬, 파이어폭스 , 오페라, 사파리 , 인터넷 익스플로어가 있고,
    현재 개발하고 있는 엣지도 말할것도 없다.

    호환성을 위해 각 브라우저간의 과거 몇개의 릴리즈버전도 고려해야 한다.
    각 버전들마다의 고유한 버그가 있고, 맞추는건 한계가 있다.
    사용자가 정보에 접근하는것에 실패가 있을수 있다는 말이다.

    지금까진 데스크탑 시장만 이야기 했다.
    이제 각자의 다른 입력방법과 엑세스하는 방법이 있는 스마트폰 및 태블릿 모델을 고려 해야 한다.

    - 키보드 없이 사용할 수 있는가?
    - 마우스 없이 사용할 수 있는가?
    - 터치가 가능한가?
    - 제스쳐 기능은 있는가?
    - 이 모든 사항에서 동작하는가?

    이 서비스는(프론트앤드 결과물) 이들 모두에서 작동된다.
    사용자가 글자크기를 바꾸든, 색상을 바꾸든, CSS을 걷어내거나 자바스크립트를 끈다.
    그래도 서비스의 기능은 유지하고 있어야 한다.

    프론트앤드개발자 "Bulat Bochkariov"는 "우리의 제품은 당신이 상상할수 있는 싸구려 도구와,
    일관성없는 플랫폼을 가진 모든 종류의 장치에서 동작한다." 고 말했다.

    자 왜 좋은 프론트앤드개발자를 찾는게 어려운지 알겠는가?
    좋은 프론트앤드개발이라는건 당신이 생각하는것보다 훨씬 어렵다.
    좋은 프론트앤드개발자는 제품에게 가능한한 많은 고객에 맞추어 최적화 하기 위해,
    과거의 개발에서 벗어난 다양한 일을 하고, 헌신하고, 인내하고, 최선을 다한다.

    그렇다. 그래서 어려울수 밖에 없다.



    단어표


    댓글 0

Designed by Tistory.