
Post poświęcony dniowi ochrony dzieci. Jakiekolwiek zbieżności są przypadkowe.
W wieku 10 lat miałem swój pierwszy komputer i dysk z Visual Studio 6. Od tego czasu wymyślam sobie zadania – zautomatyzować sprawy, stworzyć jakiś serwis internetowy dla trzech osób czy napisać grę, która potem zostanie usunięta z playmarketu z powodu wieku. Oczywiście, traciłem źródła i pisałem kod, którego wstydziłbym się pokazać ludziom. W wieku 10 lat z pewnością nie odmówiłbym otrzymania archiwum z przyszłości ze wszystkimi moimi błędami – żeby nigdy ich nie popełniać.
Kilka tygodni temu zapytałem kolegów z Yandex.Dengi, co by teraz doradzili dziecku, które chce zostać programistą, a potem przypomniałem sobie coś o sobie. Tak powstał ten tekst. Proponuję o tym porozmawiać.
Nie polecam tracić dużo siły na męki wyboru, lepiej wszystko wypróbować i zająć się wszystkim. Kiedy zrozumiesz, co w ogólnych zarysach jest dostępne, sam zdecydujesz, w jakim kierunku iść, a od czego lepiej się wycofać.
Siergiej, młodszy programista
Dzieciństwo
Jakie jest najzabawniejsze zajęcie w dzieciństwie programisty, kiedy nie ma jeszcze internetu?
Miałem dwa – rozebrać wszystkie gry z dysku "800 gier w języku rosyjskim" wszystkimi programami z dysku "Wszystko, czego potrzebuje haker", a potem przepisać wszystkie gry, na które spędziłem ponad 10 godzin, od zera w Basicu. Nie ma żadnej różnicy, co wyjdzie – nawet jeśli wyjdzie takie.

Bierzesz, próbujesz, przestawiasz bloki, eksperymentujesz i sięgasz do wszystkiego, do czego można sięgnąć. Usuwasz Windows, 10 godzin instalujesz Windows z powrotem. Próbujesz przywrócić sterowniki. Dowiadujesz się, jak działa DOS. Sprawdzasz, jak powinny stać zworki, żeby twój dysk twardy włączył się w komputerze u kolegi (tam 200 megabajtów nowych gier!). Kręcisz oprogramowaniem, kręcisz sprzętem, rozbierasz i składasz komputer. Piszesz symulator piłki nożnej przez 13 lat, w końcu.
Kiedy nic nie ma, stajesz się szczęśliwy i z tego.
Nie można lekceważyć znaczenia samokontroli. Moim zdaniem, nowicjusze w IT niedoceniają, jak surowo będą musieli kontrolować swój produkt (i w analizie też) i ile to zajmuje czasu w porównaniu do czysto twórczej części. Im ciekawsze jest to, co robisz, tym trudniejsza i dłuższa będzie kontrola.
To be honest, it's somewhat an abstract piece of advice, but if I had known from the start.
And I don't recommend getting too focused on one direction in IT. Here, having a wide perspective also matters.
Anna, senior systems analyst
High school
At one point, on the forum of a small town P, they were discussing programming — and there was a thread titled “A large company is looking for PHP programmers.” The text of the ad was as follows:
A large company is looking for PHP programmers:
To understand whether you should come for an interview, complete a simple task: write a PHP program that finds such positive integers x, y, and z, that x^5 + y^5 = z^5. (^ - exponent).
You can respond here.Only a few people responded to this thread — I was one of them. With all my sixteen years of naivety, I replied:
Really strange. And you need a decent computer to find this...
Because there are no such numbers for x, y, z <= 1000 — that's the first thing (I typed it in VB, nothing more is available for now), secondly, the computer gets stuck hard.
It's still weird, IMHO.Yes, a joke, a trap for beginners, yes, a childish one, so what. Obviously, I spent some time on a simple script, but completely forgot about Fermat's theorem — about which the author of the thread, the honorable The_Kid, clarified at the very end.
The outcome is sad — in P. there are practically no people who understand mathematics, but every second thinks of themselves as a programmer. In three hours, across all the forums where I posted the message, there were roughly two hundred views... and only two correct answers. And Fermat's theorem is part of the school curriculum, and its conditions are so simple that they should stand out. By the way, simultaneously, in a survey on ICQ, 6 out of 6 acquaintances of mine who are students in Novosibirsk responded, “That's Fermat's theorem.”
And who should we hire after that?At that time, this caused a storm of indignation in me, along the lines of: “Just because I didn't mention Fermat's theorem doesn't mean I don't know about it,” — the classic excuse. Am I sad about it now? No, it’s also a lesson for life. Just like when my game was featured in the Indonesian Windows Phone Store, and two weeks later it was removed because I didn't update certain EULA conditions.
I zupełnie nie jest jasne: jeśli w jakiejś dużej firmie nie ma nikogo do zatrudnienia — kim więc być? Czym się zajmować? Gdzie się rozwijać?
Nie myśl, że po ukończeniu edukacji zostaniesz programistą/taksówkarzem/matematykiem lub kimś innym.
Nadeszły czasy, gdy w dyplomie znacznie ważniejsze stają się podstawowe przedmioty (matematyka, fizyka, informatyka, filozofia), a nie przedmioty praktyczne (programowanie, projektowanie w konkretnych obszarach itp.). Wyższe wykształcenie zaczęło dzielić się na warstwy – podstawową (inżynieryjną) i praktyczną. Należy uczyć się nie konkretnych umiejętności, a myślenia, podejścia naukowego, zrozumienia, jak rozwiązywać problemy, umiejętności miękkich.
To dotyczy uniwersytetu. Na umiejętności praktyczne człowiek będzie miał jeszcze całe życie.
Oleg, wiodący analityk systemowy
Uniwersytet
Piszesz kod w „plusach”, piszesz kod w Javie. Dotykasz asemblera, odciągasz rękę, wpadasz w Qt i myślisz, za co ci tak robią. Na czwartym roku wszystkim staje się obojętne, na czym piszesz kolejne ważne laboratoria — nauczyciele patrzą na kod tak, jak im się żywnie podoba.
Tak, oczywiście, nie wszędzie — są uczelnie, gdzie wiedza jest solidna i dobra, ale przyjmują tam uczniów, którzy w szkole rozwiązywali zadania z ACM, na dodatkowych zajęciach wyciskali wszystko z teorii grafów i wkuwali, ile pamięci wymagają wszystkie istniejące na świecie algorytmy.
Ja nie rozwiązywałem, nie chodziłem na dodatkowe zajęcia, a po prostu uczyłem się w mojej klasie matematycznej, równocześnie robiąc ciekawe rzeczy. Spoiler — na rozmowach kwalifikacyjnych nie będą one nikomu potrzebne.
Najpierw lepiej określić, co ci się podoba w IT. Jeśli podobają ci się wszystkie kierunki, to będzie trudno. Uczenie się jakiegoś języka — nie doprowadzi do niczego, będzie tylko zamieszanie w przyszłości.
Jan, specjalista ds. monitorowania finansowego
Prawdziwa historia — za symulator Windows, zrobiony z kolegą na kolanie w 10. klasie, na uniwersytecie można zdobyć parę egzaminów i zaliczeń automatycznie. Można nawet potem wszystkim opowiadać, jak to było świetnie. Problem w tym, że to nie było świetne — to była skomplikowana architektura, okropny kod i całkowity brak jakichkolwiek standardów czegokolwiek.
Takie rzeczy należy robić z jednym celem — aby mieć własny katalog grabi. Choć to nie uchroni przed syndromem oszusta, gdy znajdziesz się w dużej firmie z jakimiś swoimi powierzchownymi wiedzą na wszystko i myślisz, że zaraz cię zdemaskują.

Zgadzam się, ważniejsze jest, aby pomagać radami, co można zrobić i gdzie znaleźć informacje, a nie odwrotnie. I zupełnie nie jest straszne, jeśli na początku będzie coś na wyczucie. — Swiadomość przyjdzie później. Ważne, żeby to lubić.
Eryk, inżynier ds. testowania
Wszyscy piszemy plany rozwoju — co trzeba studiować, czym zajmować się w najbliższej przyszłości i jak się poprawiać. Ale wydaje się, że wszyscy moglibyśmy skorzystać z napisania listu do siebie z przeszłości — oto mój.
- Poświęć czas, znajdź książkę i zainstaluj w końcu ten dystrybucję Ubuntu, którą wysłali ci za darmo z Canonical. Tam z pewnością jest jakaś prosta problem, Ubuntu działa wszędzie. A Linux bardzo ci się przyda.
- Nie bój się konsoli. Volkov Commander, oczywiście, mieści się na jednej dyskietce, ale spróbuj zrozumieć, po co są te wszystkie komendy, zaprzyjaźnij się z wierszem poleceń. A dyskietki umrą. Płyty umrą. Pendrive'y też umrą. Nie martw się zbytnio.
- Przeczytaj o algorytmach, zrozum sortowania, drzewa i kopce. Czytaj książki.
- Aby zrozumieć podstawy, płatne kursy nie są potrzebne. Wkrótce pojawi się YouTube – zobaczysz, jak cię zaskoczy.
- Nie koncentruj się na BASIC-u. Na świecie jest setka technologii, które zasługują na twoją uwagę i milion rzeczy, które są ciekawsze niż ciągłe rysowanie formularzy użytkownika w Excelu. Weź choćby Pythona — a potem sobie poradzisz.
- Naucz się korzystać z Gita, zrób kopie zapasowe wszystkich źródeł. Napisz przynajmniej jedną aplikację klient-serwer, by rozumieć, jak działają. Zrozum sieci, przełączniki i routery.
- I jeśli teraz to czytasz, to znaczy, że wszystko nie jest na marne.
Opowiedz w komentarzach, co byś napisał do siebie z przeszłości? Doradź coś obecnym uczniom i studentom, którzy są na rozdrożu i próbują znaleźć swoją drogę. Porozmawiajmy o tym.
Źródło: habr.com
