Ten blog nie bez powodu nazywa się webporady. Choć często piszę tu ogólnie o programowaniu, nie będę ukrywał, że najbardziej interesuje mnie właśnie tworzenie stron internetowych.
Jako że naukę podstaw mam już dawno za sobą i zrealizowałem niejeden mniej lub bardziej zaawansowany projekt, chciałbym podzielić się w tym miejscu wiedzą na temat nauki tworzenia stron.
W tym wpisie odpowiem na następujące pytania:
Spis treści
Przede wszystkim, każda osoba chcąca tworzyć strony internetowe powinna zacząć od nauki HTML i CSS.
Te języki są stosunkowo proste i tak naprawdę nie są jeszcze programowaniem. To bardziej instrukcje pozwalające na ułożenie struktury strony (HTML) i nadanie jej odpowiednich właściwości wizualnych (CSS).
Oba języki są naprawdę łatwe i nie musicie wkuwać całej ich zawartości na pamięć. Wystarczy posiedzieć przy tym kilka dni, żeby w miarę zrozumieć założenia i być w stanie np. zacząć korzystać z frameworków, czy narzędzi takich jak Bootstrap, które jeszcze bardziej przyśpieszą Waszą pracę.
Jeśli nie mieliście jeszcze styczności z HTML i CSS, w ramach zapoznania się z tymi językami, możecie np. zrealizować ten projekt.
Znajomość HTML i CSS powinna pozwolić Wam tworzyć ładne, choć niezbyt dynamiczne i “inteligentne” strony internetowe. Większość twórców stron internetowych powinno nauczyć się także przynajmniej podstaw języka JavaScript, który ułatwi tworzenie bardziej dynamicznych elementów (np. prostych alertów, sliderów, kalkulatorów, i tak dalej).
Jeżeli nie chcecie pójść np. w Node.js, a chcielibyście samodzielnie tworzyć zaawansowane portale, dobrze byłoby też nauczyć się jakiegoś języka backendowego jak np. PHP. Oprócz tego, że umożliwi on Wam budowanie różnych interaktywnych modułów jak np. elementy sklepów, czy for internetowych, będziecie mogli ułatwić sobie pracę nad stroną np. poprzez przechowywanie poszczególnych elementów strony w różnych plikach (np. dzięki funkcji require_once()
). To z kolei przyczyni się do tego, że gdy będziecie chcieli, dajmy na to, dodać nową zakładkę do menu, nie będziecie musieli robić tego ręcznie na każdej podstronie — wystarczy zmienić to w jednym pliku z menu, i to tyle!
Podsumowując, według mnie każdy web developer powinien znać:
Nauka tworzenia stron internetowych zajmuje tak długo jak dana osoba tworzy strony internetowe.
Pewnie liczyliście na inną odpowiedź, ale prawda jest taka, że programowanie to dynamicznie zmieniająca się, niezwykle rozległa branża i nie mamy tu osób, które pozjadały wszystkie rozumy. Praktycznie zawsze jest do nauczenia się coś nowego, więc nie należy się nastawiać na to, że pewnego pięknego dnia “pojmiecie wszystko”.
Jeżeli jednak chodzi o poziom wystarczający do samodzielnej pracy, powiedziałbym, że w miesiąc-dwa da się sensownie pojąć HTML i CSS, a nawet jakiś prosty framework, czy bibliotekę jak Bootstrap. JavaScript to już bardziej rozległy temat, ale do tworzenia prostych stron nie musicie posiadać więcej wiedzy niż taką, którą pojmiecie w ~miesiąc.
Tak jak wspomniałem, warto byłoby nauczyć się przynajmniej podstaw jakiegoś języka backendowego. Nie musicie być w nim wymiataczami, ale umiejętność tworzenia prostych automatyzacji czy routingów może znacząco przyśpieszyć Wam prace jeśli tworzycie wszystko od A-Z na własną rękę.
Jeżeli myślicie o budowaniu samemu bardziej złożonych portali z dynamicznymi funkcjami (jak np. logowanie, rejestracja, itp.) – dobra znajomość języka backendowego będzie niemal niezbędna, a ta może zająć przynajmniej kilka miesięcy.
Na początku ustalmy sobie jedno: żaden program nie napisze za Was strony internetowej. To znaczy, są pewne narzędzia do “wyklikiwania sobie stron internetowych” (tzw. “nocode”), ale nie o tym jest ten wpis. Według mnie to jeszcze nie te czasy, by profesjonalni web developerzy mogli całkowicie zapomnieć o tym jak pisze się kod.
Wiedząc to, nie będziecie marnować zbyt dużo czasu na poszukiwanie tego jedynego, najlepszego na świecie programu.
Jedyne, czego potrzebuje programista to tak naprawdę dobry edytor kodu. Choć da się nawet w notatniku, edytor trochę ułatwia pracę. Jeśli nie wiecie co wybrać, weźcie VSCode, który jest darmowy, dobry i niezwykle popularny. Sam z niego korzystam.
To zależy. Próg wejścia jest na pewno dość wysoki, ponieważ w przeciwieństwie do np. pracy na jednej i tej samej, prostej maszynie w fabryce, nauki jest tutaj bardzo dużo. Żeby móc swobodnie pracować trzeba poświęcić przynajmniej setki godzin na naukę i niezbyt udolną praktykę. Z tego punktu widzenia, powiedziałbym, że tworzenie stron internetowych jest trudne.
Z drugiej strony, gdy już opanujecie podstawy, tworzenie stron to bardzo przyjemna i nieprzesadnie trudna praca. O ile nie tworzycie backendu i nie potrzebujecie głowić się nad zaawansowaną logiką, jest to typ pracy, którą da się nawet wykonywać z muzyką w tle. Przyznam szczerze, że kodując layouty stron internetowych, jestem w stanie nawet z kimś rozmawiać, bo po prostu nie wymaga to przesadnie logicznego myślenia, a doświadczona osoba napisze większość potrzebnych rzeczy z tzw. “palca” bez konieczności szukania tego w internecie.
Samo programowanie (czyli coś więcej niż kodowanie ładnych struktur w HTML i CSS) to już jednak inna bajka. Tutaj nawet doświadczona osoba może raz na jakiś czas napotkać większy problem, który pochłonie mnóstwo czasu i nierzadko spowoduje jakieś frustracje. To piękna i kreatywna dziedzina, ale z pewnością trzeba uczciwie przyznać, że jest trudna.
Oczywiście nie umniejszam językom HTML i CSS, bo wymiatacze potrafią zrobić w nich rzeczy, o których mnie nawet się nie śniło. Większość z Was, podobnie jak ja, będzie jednak używać tych języków do tworzenia stosunkowo prostych szablonów stron, przy których, wierzcie mi lub nie — nie trzeba jakoś przesadnie się skupiać.
Przede wszystkim potrzebna jest odpowiednia wiedza i znajomość języków, które opisywałem we wcześniejszych sekcjach tego wpisu. Oprócz tego, oczywiście przyda Wam się komputer, podstawowe wyposażenie, edytor kodu, oraz inne rzeczy wymienione w tym wpisie.
Oprócz umiejętności i sprzętu, przyda Wam się także znajomość języka angielskiego i umiejętność szybkiego i skutecznego wyszukiwania informacji w internecie. Te dwa aspekty bardzo często są pomijane, a są niezwykle istotne przy programowaniu, czy nawet tworzeniu tych najprostszych stron internetowych.
Chyba nikogo tu nie zaskoczę, ale tworzenia stron najprościej jest uczyć się… Tworząc strony internetowe.
Naprawdę, w moim (i nie tylko moim) przypadku najlepszą metodą nauki zawsze była praktyka. Oczywiście pierw trzeba opanować trochę teorii, ale nawet jeżeli tworzycie słaby kod, lub musicie co chwilę zerkać do internetu, próbujcie zabrać się za praktykę najwcześniej jak to możliwe.
Starajcie się też próbować nowych rzeczy, żeby nie zamknąć się “w bańce” tego, co już znacie. To dość częsty błąd, którego nie warto popełnić zbyt wcześnie.
Nie da się ukryć, że programowanie czy tworzenie stron internetowych to stosunkowo dobrze płatne zawody.
Choć żeby dojść do poziomu, który pozwoli Wam na zdobycie pierwszej pracy potrzeba zwykle co najmniej kilku miesięcy nauki, możliwości zarobkowe są całkiem niezłe, tym bardziej że jest to praca, która sprzyja trybowi zdalnemu. Dzięki temu nie musicie zamykać się na oferty dostępne wyłącznie w Waszej okolicy.
To ile możecie zarobić, zależy przede wszystkim od Waszych umiejętności i tego, jaką ofertę znajdziecie.
Sufitu też tutaj za bardzo nie ma, bo nikt nie każe Wam przecież pracować na etacie. Nie chcę zabrzmieć tu jak jakiś guru, który nasłuchał się, że “sky is the limit”, ale jeżeli boicie się, że na tworzeniu stron internetowych nie da się zarobić dużo, przypomnijcie sobie, że taki Facebook, czy YouTube to też strony internetowe (może bardziej portale, ale chyba rozumiecie, co mam na myśli).