Masz wiele opcji, jeśli chodzi o wybór języka. Podzieliłem je wg kategorii, aby ułatwić Ci podjęcie decyzji. Dla początkujących, którzy dopiero wgryzają się w backend, polecam wybrać jeden z języków skryptowych, ponieważ jest na nie duże zapotrzebowanie i pozwoli Ci to na stosunkowo szybkie znalezienie pracy. Jeśli masz trochę wiedzy na temat frontendu, może znasz już Node.js. To duży plus przy poszukiwaniu zatrudnienia, bo jest na niego naprawdę spory popyt.

Jeśli już masz już jakieś doświadczenie w programowaniu na backendzie i znasz jakiś język skryptowy, radziłbym nie wybierać teraz innego języka skryptowego, a postawić na coś z sekcji „funkcyjne” lub „wieloparadygmatowe”. Np. jeśli już korzystasz z PHP lub Node.js, nie wybieraj Pythona lub Ruby, a zamiast tego wypróbuj Erlanga lub Golanga. Z pewnością pomoże Ci to rozwinąć myślenie o backendzie.

Nie ma lepszego sposobu na naukę niż ćwiczenie. Po wybraniu języka i zrozumieniu podstawowych pojęć, postaraj się je stosować. Twórz jak najwięcej małych aplikacji. Oto tylko kilka pomysłów na dobry początek:

  • Zaimplementuj jakąś komendę znaną Ci z konsoli. Np. spróbuj napisać swoją prostą wersję ls
  • Napisz polecenie, które pobiera i zapisuje posty reddit na /r/programming w postaci pliku JSON
  • Napisz polecenie, które zwróci Ci strukturę katalogów w formacie JSON, np. jsonify dir-name, aby otrzymać plik JSON ze strukturą wewnątrz dir-name
  • Napisz polecenie, które odczyta JSON z powyższego kroku i utworzy strukturę katalogów
  • Pomyśl o jakimś zadaniu, które wykonujesz każdego dnia i spróbuj je zautomatyzować

Każdy język ma własne standardy i najlepsze praktyki dotyczące robienia różnych rzeczy. Ucz się ich dla wybranego przez siebie języka. Np. PHP ma PHP-FIG i PSR, a w Node.js istnieje wiele różnych wytycznych ustanawianych przez społeczność.