주요 웹 개발자 고충사항 심층 탐구

여러 일대일 대화를 통해 수집한 개발자의 주요 고충에 관한 유용한 정보 모음입니다.

몇 달 전 Paul Kinlan이 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%

폴의 블로그 게시물에서 언급했듯이 이러한 문제를 해결해야 합니다. 이를 위한 더 큰 노력의 일환으로 동료인 Kadir Topal과 저는 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을 보내주세요. 연락해 주시면 시간을 내어 대화를 나누겠습니다.