Zbiór statystyk dotyczących najważniejszych problemów deweloperów, zebranych podczas wielu rozmów indywidualnych.
Kilka miesięcy temu Paul Kinlan opublikował post o największych problemach deweloperów w 2021 roku, więc warto zacząć ten artykuł od aktualizacji dotyczącej ostatnich 2 kwartałów. Liczby nieco się zmieniły, ale ranking pozostał bez zmian.
| Wyzwanie | Pierwszy kwartał 2021 r. | Drugi kwartał 2021 r. | III kwartał 2021 r. | IV kwartał 2021 r. |
|---|---|---|---|---|
| nadążanie za zmianami na platformie internetowej lub w standardach internetowych; | 27% | 26% | 27% | 22% |
| nadążanie za dużą liczbą nowych i istniejących narzędzi lub platform; | 26% | 26% | 25% | 21% |
| Zapewnienie, że projekt lub interfejs działa tak samo w różnych przeglądarkach. | 26% | 28% | 24% | 21% |
| testowanie w różnych przeglądarkach, | 23% | 24% | 20% | 20% |
| Zrozumienie i wdrażanie środków bezpieczeństwa. | 23% | 25% | 20% | 19% |
Jak wspomniano w poście Paula na blogu, musimy rozwiązać te problemy. W ramach większego projektu mój kolega Kadir Topal i ja przeprowadziliśmy wywiady z ponad 18 programistami. Naszym celem jest zbadanie i rozpoczęcie rozwiązywania najważniejszych problemów deweloperów.
Dyskusje deweloperów
Wyłączenie odpowiedzialności: te statystyki opierają się na niewielkiej liczbie rozmów z deweloperami. Sformułowania „wszyscy” lub „niektórzy” odnoszą się do deweloperów, z którymi przeprowadzono wywiady, a nie do całej społeczności. Aby móc ekstrapolować te wnioski na szerszą skalę, potrzebne są dalsze badania.
Te rozmowy przypomniały nam, jak niesamowita i różnorodna jest społeczność twórców stron internetowych. Chcielibyśmy podziękować wszystkim deweloperom, którzy z nami rozmawiali. Niektórzy deweloperzy mają ponad 25-letnie doświadczenie, podczas gdy inni zaczęli dopiero w 2020 roku. Niektórzy deweloperzy rozpoczęli karierę po ukończeniu studiów informatycznych, a inni – samodzielnie. Niektórzy deweloperzy aktywnie poszukują nowości i są na bieżąco, czytając informacje o wersjach przeglądarek, podczas gdy inni dowiadują się o nowych rzeczach od współpracowników i znajomych. Niektórzy uważają, że złożoność jest częścią pracy i lubią wyzwania, podczas gdy inni chcą po prostu wykonać swoje zadanie. Myśląc o rozwiązaniu tych problemów, warto pamiętać o tej różnorodności.
Wszyscy deweloperzy używają w swojej pracy systemu CMS lub platformy. Wspomniano o Wordpressie, React, Bootstrapie, Angularze i Tailwindzie, ale żaden z deweloperów nie używał w środowisku produkcyjnym platformy internetowej bez dodatków. Wybór platformy na początku projektu jest wyzwaniem, a deweloperzy często biorą pod uwagę wymagania nietechniczne. Na przykład czy łatwo będzie zatrudnić programistę, który będzie pracować z daną platformą. Nie możemy rozwiązać problemów deweloperów, jeśli rozwiązanie nie obejmuje platform i systemów CMS.
Jeśli chodzi o platformę internetową, większość deweloperów rozumie ją jako coś, na czym tworzą swoje rozwiązania. Obejmuje to nie tylko klasyczną definicję platformy internetowej, ale też systemy CMS, platformy, narzędzia i polyfille. W wielu przypadkach największe trudności sprawia śledzenie tych zmian. Zmieniło to naszą interpretację tego pytania i teraz wiemy, że musimy zaktualizować ankietę, aby podzielić ją na różne części, które są mniej niejednoznaczne.
Kolejnym niejednoznacznym obszarem jest definicja standardów internetowych. Gdy zapytaliśmy o przykłady dotyczące przestrzegania standardów, wielu deweloperów wskazało trudności z przestrzeganiem sprawdzonych metod. To kolejny obszar, który musimy wyjaśnić w ankiecie.
Deweloperzy szukają sprawdzonych metod wdrażania konkretnych przypadków użycia i wzorców. Posty na blogach i StackOverflow są wymieniane jako źródła sprawdzonych metod, ale deweloperzy często zastanawiają się, czy informacje, które czytają, rzeczywiście są sprawdzone i czy są aktualne w odniesieniu do najnowszych funkcji i interfejsów API. Chce znaleźć bardziej oficjalne źródło, w którym można je przeczytać.
Bycie na bieżąco z funkcjami i interfejsami API, które umożliwiają nowe przypadki użycia, jest mniejszym problemem. Deweloperzy mają większe trudności z funkcjami, interfejsami API i zmianami na platformie, które powodują zmianę sprawdzonych metod.
Większość deweloperów zgadza się, że zgodność jest jednym z największych wyzwań. Sytuacja poprawia się dzięki takim inicjatywom jak Compat 2021 i Interop 2022, ale deweloperzy nie uważają jeszcze tego problemu za rozwiązany.
Większość deweloperów w ten czy inny sposób korzysta z polyfilli. W wielu przypadkach użycie jest jednak przejrzyste dla deweloperów, ponieważ polyfill może być automatycznie dodawany przez narzędzie takie jak Babel lub framework. Osoby, które same zarządzają polyfillami, mogą mieć problem z ustaleniem, czy dany polyfill jest „dobry”. Deweloperzy wspominali o używaniu liczby instalacji w NPM i twórcy kodu polyfill jako sygnałów. Kilku deweloperów wspomniało o usunięciu polyfilli, które stały się niepotrzebne po zakończeniu obsługi IE 11.
Platformy powodują problemy z fragmentacją. Otrzymaliśmy zgłoszenia, że deweloperzy „utknęli” w starszej wersji platformy i z tego powodu mają ograniczony dostęp do funkcji, ale przejście na nowszą wersję tej samej platformy może być kosztowne i trudne do uzasadnienia.
Podsumowanie
Nowoczesne tworzenie stron internetowych obejmuje wiele elementów, takich jak standardy, przeglądarki, biblioteki, polyfille, systemy zarządzania treścią, platformy, sprawdzone metody i narzędzia. Ta różnorodność jest jedną z największych zalet internetu, ale obecnie każdy deweloper musi samodzielnie zrozumieć każdy element i sposób, w jaki są one ze sobą zgodne.
Zastanawiam się, czy istnieje sposób, aby deweloperzy mogli lepiej zrozumieć, jak wszystko się ze sobą łączy, i aby wszystkie elementy były bardziej spójne, bez uszczerbku dla różnorodności. To duży, złożony problem, który trudno rozwiązać od razu. Ale od czego zacząć?
Jeśli masz poglądy i opinie, którymi chcesz się podzielić. Ja też chętnie z Tobą porozmawiam. Wkrótce udostępnię możliwość bezpośredniego umawiania się na rozmowy, ale na razie można się ze mną kontaktować przez wiadomości prywatne na Twitterze. Skontaktuj się z nami, aby umówić się na rozmowę.