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

여러 차례에 걸친 대화에서 가장 많이 발생하는 개발자 고충에 대한 유용한 정보 모음

몇 달 전 폴 킨란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, 프레임워크, 도구, 폴리필도 포함됩니다. 많은 경우 이러한 최신 기능을 유지하는 것이 가장 큰 어려움입니다. 이로 인해 이 질문에 대한 Google의 해석이 바뀌었습니다. 이제 설문조사를 업데이트하여 모호하지 않은 여러 부분으로 나눌 수 있도록 해야 합니다.

모호한 또 다른 영역은 웹 표준의 정의입니다. 표준 준수와 관련된 사례에 대해 질문하자 많은 개발자가 모범 사례를 따라가는 데 어려움이 있다고 지적했습니다. 이는 설문조사에서 명확히 해야 할 또 다른 영역입니다.

개발자는 특정 사용 사례 및 패턴을 구현할 때 권장사항을 찾습니다. 블로그 게시물과 StackOverflow가 권장사항의 출처로 언급되었지만, 개발자가 읽고 있는 정보가 실제로 권장사항인지, 최신 기능과 API가 포함된 최신 정보인지 궁금해하는 경우가 많습니다. 보다 공식적인 출처에서 읽을 수 있기를 원합니다.

새로운 사용 사례를 가능하게 하는 기능과 API를 지속적으로 유지하는 것이 더 적은 문제점입니다. 개발자는 권장사항의 변화로 이어지는 플랫폼 변경사항, 기능, API로 인해 더 많은 어려움을 겪습니다.

대부분의 개발자는 호환성이 가장 큰 과제 중 하나라는 데 동의합니다. Compat 2021Interop 2022와 같은 노력을 통해 상황이 개선되고 있지만 개발자들은 아직 이를 해결된 문제로 보고 있지 않습니다.

대부분의 개발자는 어떤 방식으로든 폴리필을 사용합니다. 그러나 대부분의 경우 폴리필이 Babel이나 프레임워크와 같은 도구를 통해 자동으로 추가될 수 있기 때문에 개발자가 쉽게 사용법을 익힐 수 있습니다. 폴리필을 직접 관리하는 경우 폴리필이 '양호'한지 파악하는 것이 문제가 될 수 있습니다. 개발자는 NPM의 설치 수와 폴리필을 신호로 사용한다고 언급했습니다. 몇 명의 개발자가 IE 11 지원 중단으로 인해 불필요하게 된 폴리필을 삭제하는 작업을 진행 중이라고 언급했습니다.

프레임워크에 파편화 문제가 발생합니다. 개발자가 이전 버전의 프레임워크로 '고착'되어 사용할 수 있는 기능이 제한된다는 신고가 있었습니다. 하지만 동일한 프레임워크의 최신 버전으로 마이그레이션하는 것은 비용이 많이 들고 이를 정당화하기 어려울 수 있다는 신고가 있었습니다.

결론

최신 웹 개발에는 표준, 브라우저, 라이브러리, 폴리필, CMS, 프레임워크, 권장사항, 도구 등 움직이는 요소가 많이 있습니다. 이러한 다양성은 웹의 장점 중 하나이지만, 각 요소가 어떻게 서로 호환되는지를 이해하는 것은 각 개발자에게 달려 있습니다.

다양성을 해치지 않으면서 모든 요소들이 어떻게 결합되는지, 모든 부분 간에 더 잘 일치하도록 할 수 있는 방법을 개발자에게 좀 더 명확하게 전달할 방법이 있을지 궁금합니다. 이는 크고 복잡한 문제이며 한 번에 모두 수행하기는 어렵습니다. 어디서부터 시작해야 할까요?

공유하고 싶은 의견이나 의견이 있다면 나도 당신과 이야기하고 싶습니다. 대화를 직접 예약할 수 있는 방법을 설정하겠습니다. 그때까지는 채팅 메시지를 트위터에서 열 수 있습니다. 문의해 주시면 상담 시간을 예약해 드리겠습니다.