Czy są one potrzebne żeby dostać pracę jako programista
Wątpie żeby ktoś na to w ogóle spojrzał w kontekście programisty, ale gdyby szukanie pracy się przedłużało i chciałbyś znaleźć coś "technicznego", to dyplomy z technikum będą przydatne (np helpdesk itp). Kolega kiedyś dostał prace jako operator cnc bo wymagane było jakiekolwiek wykształcenie techniczne lub zawodowe. W takich zawodach firmy często i tak uczą ludzi od zera i przygotowują do pracy, ale chcą odsiać osoby bez jakiekolwiek przeszłości technicznej (żeby na szkolenie do helpdesku nie przychodził ktoś, kto nawet nie wie jak zainstalować excela na windowsie).
Dużo ludzi nie znajduje pracy od razu, bierz pod uwagę że szukanie może potrwać kilka miesięcy, a w tym czasie lepiej robić coś co wymaga jakichkolwiek kwalifikacji niż mieć robotę "dla każdego z ulicy".
A dlaczego dla programisty dyplom jest mało użyteczny to już dłuższy temat, ale w dużym skrócie chodzi o to że wymagania są zbyt duże, żeby ktoś odważył się oddać decyzyjność egzaminom w technikum lub na studiach (egzaminy, jak wiadomo, można zdać mając realną wiedzę, ale można też wyryć materiał i po 3 dniach zapomnieć, nigdy nie wiesz kto jest kim). Zauważ że zazwyczaj zawody wymagające dyplomu, nie wymagają go z powodu wiedzy, tylko z powodu regulacji państwowych.
czy wystarczy dobre portfolio
Tak, plus CV które jest jakkolwiek czytelne i zachęcające (częsty błąd to pisanie CV w taki sposób, że druga osoba na to patrzy... i ma problem żeby znaleźć podstawowe informacje). Teraz popularne są systemy ATS, warto napisać CV tak, żeby system prawidłowo rozpoznał co ty w ogóle napisałeś, dobrą metodą jest zrobienie ctrl+a, ctrl+c i wklejenie tekstu do notatnika, jak CV wygląda czytelnie to masz duże szanse że system prawidłowo je odczytał. Pamiętaj że "prawidłowo odczytane" i "zrozumiałe" to nie to samo.
sporo projektów
Lepiej postawić na rozbudowane projekty, osobiście polecam zrobienie 1 lub 2 większych projektów, bo nikomu nie będzie się chciało przeglądać dużej ilości. Dodatkowo, robiąc mało projektów, możesz je ładnie rozbudować i postawić na jakość + dojdziesz do wielu trudnych problemów, z których wiedza jest najbardziej wartościowa.
Chcąc mieć dużo projektów, ledwo będziesz zahaczał o trudne problemy i już będziesz się przerzucał na inny projekt (i przez większość czasu będziesz powtarzał robienie tego samego, czyli konfigurowanie bibliotek itp, zamiast wchodzić głębiej i się rozwijać).