---
Wprowadzenie do problemu pustego interfejsu
Niedawno w naszym czacie na Slacku jeden z deweloperów poruszył kwestię tego, jak nasza strona wygląda dla nowych użytkowników. Szczególnie dotyczyło to stron, na których jeszcze nie było treści. Jedna z naszych użytkowniczek w komentarzach do PR zauważyła, że brak danych stwarza wrażenie niedokończoności i obniża zaufanie do produktu. Zrozumieliśmy, że to poważny problem i postanowiliśmy jak najszybciej znaleźć rozwiązanie.
Dlaczego to ważne
Problem pustego interfejsu dotyczył nie tylko wizualnego odbioru strony. Wiedzieliśmy, że pierwsze wrażenie o produkcie może odegrać kluczową rolę w tym, jak użytkownicy postrzegają naszą usługę. Jest to szczególnie ważne dla stron z ofertami pracy i propozycjami od firm. Jeśli użytkownicy widzą puste strony, może to zmniejszyć ich chęć do interakcji z naszym produktem i zwiększyć prawdopodobieństwo utraty potencjalnych klientów.
Szczegóły problemu
Jednym z wyraźnych przykładów była strona z ofertami pracy. Po przejściu na stronę użytkownicy widzieli tylko nagłówek, ale nie znajdowali żadnych otwartych pozycji. To powodowało zdziwienie i negatywne doświadczenie. Otrzymaliśmy kilka opinii od użytkowników wskazujących, że brak informacji czyni stronę mało atrakcyjną, a nawet budzi wątpliwości co do jej aktualności.
Pierwsze próby rozwiązania problemu
Na początkowym etapie postanowiliśmy po prostu ręcznie wypełnić strony danymi fikcyjnymi. Jednak to podejście okazało się czasochłonne i nieefektywne. Szybko zrozumieliśmy, że ręczne tworzenie kompilacji dla każdej strony to z pewnością nieoptymalna droga. W rezultacie zaczęliśmy szukać bardziej zautomatyzowanego rozwiązania, które pozwoliłoby nam wygenerować dane dla wszystkich stron jednocześnie.
Podejście techniczne
Ostatecznie postanowiliśmy opracować skrypt do generowania seed-danych. Użyliśmy języka Python i biblioteki Faker, aby stworzyć realistyczne dane. Skrypt generował oferty pracy, firmy i profile kandydatów na podstawie wcześniej zdefiniowanych szablonów. Oto przykład kodu, który użyliśmy:
from faker import Faker
import random
fake = Faker()
def generate_job():
return {
'title': fake.job(),
'company': fake.company(),
'location': fake.city(),
'description': fake.text(max_nb_chars=200)
}
jobs = [generate_job() for _ in range(100)]
Ten kod pozwolił nam stworzyć 100 ofert pracy w zaledwie kilka minut. Zintegrowaliśmy skrypt z procesem wdrażania, co zapewniało dostępność świeżych danych przy każdej aktualizacji.
Zmiany w produkcie
Po wdrożeniu generacji seed-danych, interfejs strony znacznie się zmienił. Użytkownicy teraz widzieli rzeczywiste oferty pracy i firmy na stronach, co znacznie zwiększyło poziom zaangażowania. Pojawienie się treści na stronach uczyniło je bardziej atrakcyjnymi i informacyjnymi dla użytkowników. To z kolei doprowadziło do zwiększenia odwiedzalności stron z ofertami pracy i wzrostu zainteresowania ze strony kandydatów na /jobs oraz firm na /companies.
Czego się nauczyliśmy
- Automatyzacja - stworzenie skryptu do generowania danych znacznie skróciło czas potrzebny na wypełnienie treści.
- Jakość danych - wykorzystanie bibliotek do generowania danych pozwala na tworzenie bardziej realistycznych i różnorodnych wpisów.
- Doświadczenie użytkownika - obecność treści na stronach ma bezpośredni wpływ na postrzeganie produktu przez użytkowników.
Co to oznacza dla kandydatów
Dla kandydatów oznacza to, że teraz na naszej stronie znajdują się aktualne oferty pracy, które mogą rozważyć. To znacznie upraszcza proces poszukiwania pracy i czyni nasz zasób bardziej wartościowym narzędziem w ich karierze. Użytkownicy mogą łatwo przeglądać oferty i znajdować odpowiednie opcje, co poprawia ogólne doświadczenie interakcji z platformą.
Co to oznacza dla rekruterów
Rekruterzy zyskują dostęp do większej liczby aktywnych kandydatów dzięki temu, że wypełniliśmy strony treścią. Obecność rzeczywistych ofert pracy buduje zaufanie i przyciąga więcej kandydatów, co z kolei pomaga rekruterom szybciej i skuteczniej znaleźć odpowiednich kandydatów.
Następne kroki
Mimo że z powodzeniem wdrożyliśmy rozwiązanie, nadal monitorujemy jakość wygenerowanych danych i ich wpływ na zachowanie użytkowników. Planujemy ulepszać algorytmy generacji, dodając więcej różnorodności i aktualności do danych. Gdybyśmy mogli coś zmienić, poświęcilibyśmy więcej czasu na testowanie różnych formatów danych, aby zidentyfikować najlepsze podejścia dla użytkowników. ---