일대일 대화에서 수집한 주요 개발자 문제점과 관련된 유용한 정보 모음입니다.
몇 개월 전 폴 킨란님이 2021년 개발자 주요 문제점에 관해 게시했기 때문에 이 도움말은 지난 2분기에 대한 업데이트로 시작하는 것이 적절할 것 같습니다. 수치가 약간 바뀌었지만 순위는 변경되지 않았습니다.
도전과제 | 2021년 1분기 | 2021년 2분기 | 2021년 3분기 | 2021년 4분기 |
---|---|---|---|---|
웹 플랫폼 또는 웹 표준의 변경사항을 파악합니다. | 27% | 26% | 27% | 22% |
수많은 신규 및 기존 도구 또는 프레임워크를 따라잡기 | 26% | 26% | 25% | 21% |
디자인이나 환경이 브라우저에서 동일하게 작동하도록 합니다. | 26% | 28% | 24% | 21% |
여러 브라우저에서 테스트 | 23% | 24% | 20% | 20% |
보안 조치 이해 및 구현 | 23% | 25% | 20% | 19% |
폴의 블로그 게시물에서 언급했듯이 이러한 문제점을 해결해야 합니다. 이를 위한 대규모 노력의 일환으로 동료인 카디르 토팔과 저는 18명 이상의 개발자를 인터뷰했습니다. Google의 목표는 주요 개발자 불만사항을 조사하고 해결 방법을 모색하는 것입니다.
개발자 토론
면책 조항: 이러한 통계는 소수의 개발자와의 대화를 바탕으로 합니다. '전체' 또는 '일부'를 사용할 때는 전체 커뮤니티가 아닌 인터뷰에 참여한 개발자를 의미합니다. 이러한 통계를 더 광범위하게 추론하려면 추가 연구가 필요합니다.
이번 대화를 통해 웹 개발자 커뮤니티가 얼마나 놀랍고 다양하게 성장했는지 다시 한번 확인할 수 있었습니다. 대화에 참여해 주신 모든 개발자에게 감사드립니다. 25년 이상의 경력을 보유한 개발자도 있었고 2020년에 시작한 개발자도 있었습니다. 일부 개발자는 정규 컴퓨터 공학 학위를 통해 경력을 시작했지만, 독학으로 경력을 시작한 개발자도 있습니다. 일부 개발자는 새로운 소식을 적극적으로 찾고 브라우저 출시 노트를 읽으며 최신 정보를 파악하는 반면, 동료나 친구를 통해 새로운 소식을 접하는 개발자도 있습니다. 복잡성이 업무의 일부라고 생각하고 도전을 즐기는 사람도 있고, 그저 일을 완료하기만 바라는 사람도 있습니다. 이러한 문제 해결을 생각할 때는 이러한 다양성을 염두에 두어야 합니다.
모든 개발자 사이에 공통적인 점 중 하나는 모두 CMS 또는 프레임워크를 사용하여 작업한다는 것입니다. WordPress, React, Bootstrap, Angular, Tailwind가 모두 언급되었으며 프로덕션에서 표준 웹 플랫폼을 사용하는 개발자는 한 명도 없었습니다. 프로젝트를 시작할 때 프레임워크를 선택하는 것은 쉽지 않으며 개발자는 기술 이외의 요구사항을 고려하는 경우가 많습니다. 예를 들어 해당 프레임워크를 사용할 개발자를 쉽게 고용할 수 있는지 여부입니다. 솔루션에 프레임워크와 CMS가 포함되어 있지 않으면 개발자 문제점을 개선할 수 없습니다.
웹 플랫폼에 관해 말하자면, 대부분의 개발자는 플랫폼을 개발의 기반으로 생각합니다. 여기에는 웹 플랫폼의 기존 정의뿐만 아니라 CMS, 프레임워크, 도구, 폴리필도 포함됩니다. 대부분의 경우 이러한 최신 정보를 파악하는 것이 가장 큰 어려움입니다. 이에 따라 해당 질문에 대한 해석이 달라졌으며, 설문조사를 업데이트하여 모호하지 않은 여러 부분으로 나누어야 한다는 점을 알게 되었습니다.
모호한 또 다른 영역은 웹 표준의 정의입니다. 표준을 준수하는 것과 관련된 예시를 물었을 때 많은 개발자가 권장사항을 준수하는 것이 어렵다고 지적했습니다. 설문조사에서 명확히 해야 하는 또 다른 영역입니다.
개발자는 특정 사용 사례와 패턴을 구현할 때 권장사항을 찾습니다. 블로그 게시물과 StackOverflow는 권장사항의 출처로 언급되지만 개발자는 자신이 읽고 있는 정보가 실제로 권장사항인지, 최신 기능과 API를 반영하는 최신 정보인지 궁금해하는 경우가 많습니다. 더 공식적인 출처에서 이러한 내용을 읽고 싶어 합니다.
새로운 사용 사례를 지원하는 기능과 API를 따라잡는 것은 그보다 쉬운 문제입니다. 개발자는 기능, API, 플랫폼 변경사항으로 인해 권장사항이 변경되는 문제에 더 많이 어려움을 겪습니다.
대부분의 개발자는 호환성이 가장 큰 문제 중 하나라고 생각합니다. Compat 2021 및 Interop 2022와 같은 노력을 통해 상황이 개선되고 있지만 개발자들은 아직 이 문제를 해결된 문제로 보지 않는 것이 분명합니다.
대부분의 개발자는 어떤 식으로든 폴리필을 사용합니다. 그러나 대부분의 경우 폴리필은 Babel이나 프레임워크와 같은 도구에 의해 자동으로 추가될 수 있으므로 개발자에게는 투명하게 사용됩니다. 폴리필을 직접 관리하는 경우 폴리필이 '좋은' 폴리필인지 파악하는 것이 어려울 수 있습니다. 개발자는 NPM의 설치 수와 폴리필 제작자를 신호로 사용하는 것을 언급했습니다. 몇몇 개발자는 IE 11 지원 중단으로 인해 불필요해진 폴리필을 삭제하기 위해 작업하고 있다고 언급했습니다.
프레임워크는 단편화 문제를 일으킵니다. 개발자가 이전 버전의 프레임워크에 '고착'되어 이로 인해 사용할 수 있는 기능이 제한되지만 동일한 프레임워크의 최신 버전으로 이전하는 데 비용이 많이 들고 이를 정당화하기 어렵다는 신고가 접수되었습니다.
결론
현대 웹 개발에는 표준, 브라우저, 라이브러리, 폴리필, CMS, 프레임워크, 권장사항, 도구 등 여러 가지 요소가 있습니다. 이러한 다양성은 웹의 장점 중 하나이지만 현재로서는 각 개발자가 각 요소와 그 상호 운용성을 이해하는 것이 중요합니다.
다양성을 손상시키지 않으면서 모든 것이 어떻게 연결되는지, 모든 부분 간에 더 많은 조화를 이루도록 개발자에게 더 명확하게 설명할 방법이 있을까요? 대규모의 복잡한 문제이며 한꺼번에 해결하기는 어렵습니다. 어디서부터 시작해야 할까요?
공유하고 싶은 의견이 있는 경우 저도 이야기 나누고 싶습니다. 대화를 직접 예약할 수 있는 방법을 설정해 드리겠습니다. 그동안 트위터에서 DM을 보내주세요. 문의해 주시면 채팅으로 지원해 드리겠습니다.