FunnyCoder. Программирование с нуля
Глава 1. Знаешь, я и сам своего рода писатель
— Знаешь, младший мировой разработчик — звучит слишком круто, чтобы тебя туда взяли. Ты же гуманитарий, какое к черту программирование? — скептично спросил Боб, продолжая жевать обеденный сэндвич с курицей. От этого к его словам приходилось прислушиваться, ведь большинство звуков растворялось под толщей куска во рту.
— Думаешь сам не удивился, когда центр занятости прислал уведомление? И вообще, от тебя гуманитарий звучит как оскорбление. — ответил Артур, сидящий рядом на уличной скамейке.
— А разве это не оскорбление?
— Это предрасположенность к гуманитарным наукам: философия, психология, культурология, экономика, история… Все, что относится к человеку. Это не значит, что человек тупой, а в поведении людей я шарю больше тебя!
— Биология тоже относится к человеку, но ее ты завалил. — съязвила Дарина, продолжая читать учебник из высших курсов.
— Это естественная наука, наравне с химией и физикой. В них разбираются естественники. — не обращая внимание на подкол продолжил Артур, — давайте на примере: видите фонтан?
Дарина и Боб кивнули, не на долго переведя взгляд от учебника и бутерброда в центр парка, где красовались три мраморные чаши одна над другой. Тонкой струей вода льется из самой высокой, падая все ниже и достигая дна, где снова поднимается и повторяет процесс цикл за циклом. Артур продолжил:
— Технарь подумает об устройстве — какой напор воды нужен, чтобы вода не била через края чаши, где провести насос и трубы. Естественник о материалах — эта штука не должна проржаветь ближайшую сотню лет, о количестве подкаченной воды, ведь она испаряется летом. Гуманитарий же скажет, что этот фонтан установили в 2002 году на день города, и за 100 с лишним лет он успел стать достопримечательностью, привлекающую туристов в Мир_256, ведь где вы еще увидите рабочий фонтан. Это хорошо в экономическом плане — больше туристов — больше денежный оборот.
— Тогда получается три касты: технари — за технологии, естественники — за природу и гуманитарии — за общество. — доев бутерброд подытожил Боб, — но это все равно не объясняет, что твоя гуманитарная голова забыла среди разработчиков. Тебя погонят в первый день.
— Да знаю я, это странно. Но будь что будет. Тем более, это лишь подработка на лето, я не собираюсь бросать учебу из-за профессии, которая мне не интересна.
— Да, иногда ты здраво мыслишь, — Дарина закрыла учебник, и тот распался на пиксели, а через секунду и вовсе растворился в воздухе, пахнущем летней пыльцой. По-английски она попрощалась с однокурсниками, и пошла к выходу из центрального парка, занимающего не меньше двух кварталов в радиусе — единственного места для отдыха в этом мире. В отличие от парней она уже устроилась на подработку в библиотеку недалеко от Мира_256.
Артур провел взглядом свою подругу-зубрилку, что даже летом ходит в черном деловом костюме и скрученными в аккуратный пучок темными волосами. Он никогда не видел ее в летних шортах или сарафане, и кажется, что она никогда не улыбалась. Дарина, казалось бы, всем видом хочет показать превосходство над каждым человеком, живущем в этом скучном провинциальном Мире_256. Но, тем не менее, почему-то гуляет с этой парочкой, все время горбясь над учебником и время от времени отпуская остроты. За пять лет это стало настолько привычно, что ни Боб, ни Артур не обращают внимания.
Артур перевел взгляд на Боба, смакующим пальцы после сэндвича. Черт, как можно столько есть и оставаться худым? Даже больше, с завидным прессом, до которого Артуру как до Луны пешком.
— Боб, не думаешь ли ты, что такое поведение неприлично при людях? Это противно!
— Арти, задумайся на секунду, что мне сделают? Ни одного из прохожих я не знаю, и дела до них нет.
— Но мы в центральном парке!
— Да, и на входе не написано, что сосать пальцы запрещено . А что не запрещено — разрешено. На них соус остался. К тому же, я даже обертку выбросил в мусорное ведро, хотя мог бы и не делать этого — все равно каждый день парк убирают. В общем, я проявил некоторое воспитание, и на этом можно закончить.
— Представь, что каждый будет вести себя так же, как ты, что тогда будет?
— А кто им мешает? Меня это не задевает настолько же, насколько та мамочка, что из-под тишка пялится на меня. Да, да, я про тебя говорю, хватит глазеть! — прикрикнул Боб.
Артур посмотрел на скамейку напротив, на которой женщина уже успела отвести взгляд. Она схватила коляску и пошла дальше вглубь парка. В этот момент Артура одолел испанский стыд, сравнимый с просмотром Офиса:
— Боб, почему я до сих пор с тобой общаюсь?
— Потому что со мной весело. Что бы ты делал без меня, сидел в своей каморке? Ты же сам не выходишь, посмотри на себя: бледный патлатый очкарик, сальные волосы и толстовка на все случаи жизни. Тебя нужно выгуливать, и я знаю, что ты это знаешь. Пока не толкнешь — не покатишься.
Как бы грубо это не звучало, но Боб прав. Артур сам понимает, что превратится в овощ, если рядом не будет друга. Такое странное чувство — хочешь быть активным, но мотивации едва хватает поднять голову с кровати. И первый шаг сутра становится самым сложным. Нужен святой пинок, а там не важно, кто его пропишет. Он и в центр занятости пошел по совету Боба и Дарины.
— Кстати, мне пора на работу, — Артур поднял перед собой левую руку, и серебристый браслет на ней вывел дисплей, где голубым неоном сияло расписание с единственным пунктом: «Первый рабочий день, Мир_73, до начала 10 минут».
— В Мире_73? — подглядев, в дисплей, удивился Боб, — Слышал там круто, не то, что у нас — дохлая модуляция двухтысячных годов.
— Да, мой наставник живет там.
— Уже встречался с ним?
— Нет, даже имени не знаю, лишь координаты. Но уверен, что очень богатый, раз позволил себе дом в Мире_73. Настоящее везение, что мне дали туда пропуск.
— Да, будешь первым на курсе, кто побывает в Мире_73. Расскажешь, что там творится.
— Конечно, Боб, — Артур нажал на пункт в расписании и растаял в пикселях, как до этого книга Дарины.
В мгновение, когда шелест листьев смолк, пространство наполнилось гулом моторов и разноцветным мерцанием рекламных вывесок. Летний вечер припорхнул, принося с собой аромат уличных обеззараживателей, находившихся на каждом столбе, освещавшем ночные улицы. Даже если бы погасли фонари, неоновые огоньки все равно гарантировали бы световой путь, свободный от препятствий и прохожих.
Артур медленно обернулся, его стопы прижимались к тротуару, угрожающему дороге, где капсулы летели со скоростью молнии, паря над асфальтом всего в несколько миллиметрах, достаточных для сведения трения на нет — магнитные левитроны, парящие в холодном азоте*. На противоположной стороне тротуара возвышалась бескрайняя стена, ее вершина пропадала в мраке ночного неба. Раз в двадцать метров по ее серому обрамлению мелькали двери, их ручки выделялись темной железной окраской, слегка подсвеченной.
Арти приблизился к одной из них, нежно коснулся холодной рукоятки, и его браслет загорелся мягким синим свечением.
— Руфи, если это ты, то срок еще не вышел, я успеваю к дедлайну, — глубокий мужской голос прозвучал прямо из дверного проема.
— Хм-хм… Простите, я Артур, по поводу работы. Меня центр занятости напра…
— А, это ты, давай, заходи.
Браслет мгновенно угас, и дверь медленно распахнулась. Однако, за её порогом не открывался обычный подъезд, привычный для Артура в Мире_256. Вместо этого его встретил широкий зал, исполненный изящного белого мрамора. Высокий куполообразный потолок, от которого кружилась голова, украшали живописные росписи, а массивные резные колонны поддерживали величественное сооружение. В таких местах легко почувствовать себя муравьем в стране великанов. Это были настоящие царские апартаменты, столь светлые и изысканные, что трудно было поверить, что сразу за дверью тянется лишь ночь, стена и улица.
Путь от самой двери освещал красный ковер, ведущий к возвышающемуся золотому трону, на фоне величественных витражных арок. Сидя на троне с непринужденной позой, с запрокинутой ногой на ноге, был седобородый мужчина в не менее величественном красном плаще с далматинской отделкой. Всё это казалось средневековой сказкой, если бы не наличие ноутбука, парящего непосредственно перед ним.
— И-извините, я не туда попал? — ошеломленный великолепием пространства спросил Артур.
— Нет, дорогой, ты по адресу, — Не отрывая взгляд от монитора и пальцев от клавиатуры ответил король, — Подходи, не разувайся.
Артур поспешил к трону, и чем ближе становился, тем огромнее и могущественнее казался здешний король, как дракон, почивающий на своем злате. Его буквально окружала аура силы. И когда Артур дошел до ступеней, мужчина отодвинул ноутбук и поддался вперед с вытянутой рукой:
— Меня Фамуст зовут, а тебя как?
— Меня Артур, — спешно протянул руку парень, — Ааа… где это мы?
— Ты имеешь в виду этот зал? Это мой пет-проект (Pet-project).
— Извините, но мне это ни о чем не сказало.
— Тут все просто. Pet переводится как «домашнее животное», project — «проект». Получается что-то наподобие домашнего проекта. Программа, которую делают просто для себя, а не для работы. Тут я могу делать, что хочу, оттачивать свои навыки разработки и экспериментировать. Здесь я настоящий король. Правда красиво? — Фамуст распахнул руки, оглядывая свои владения.
— Да, очень, никогда такого не видел. — посмотрел по сторонам Артур.
— Я правильно понял, что ты не занимался программированием до этого?
— А? А, да-да, извините, видно центр занятости меня направил по ошибке. Я вообще гуманитарий. Не думаю, что смогу быть полезен.
— Вздор, чепуха. С чего ты взял, что не сможешь быть полезным?
— У меня плохо с математикой, да и техникой владею лишь на базовом уровне. Уверен, что кто-то с опытом будет более востребованным. Я вообще не думаю, что смогу сотворить нечто подобное, это невероятно сложное.
Фамуст почесал бороду, оглядывая Артура сверху до низу, и произнес:
— На самом деле ты ошибаешься. Хочешь верь — хочешь нет, но сейчас многие компании пришли к тому, что легче обучить своего программиста, нежели брать хорошего с улицы. Я придерживаюсь того же мнения и специально подал запрос на новичка. Тем более я в том возрасте, когда хочется передать свои знания новому поколению.
— Извините, а сколько вам?
— А это пусть останется тайной. А про предрасположенность к гуманитарным наукам — все зависит от подачи. Посмотри: то, что мы творим — такое же произведение искусства, как литературная повесть или масляная картина. Автор книги описывает действия, дает характер персонажам, рассказывает историю, где одно следует из другого, вкладывая в текст самого себя. Разработчик занимается тем же самым, но в другой эпостасии. И тут зависит от человека: кто-то воспримет писательство как рутину, другой найдет романтику между строчек кода. А теперь посмотри на случайный код из интернета, — Фамуст пальцем подозвал ноутбук, и когда тот прилетел, развернул Артуру, — Что ты видишь?
Артур стал вчитываться в слова. Предложений не видно, куча всяких знаков, отступов, непонятных форм то-ли из математики, то-ли из алхимии, но… Продолжая вчитываться, он увидел слова. Обычные слова на английском, перевод которых он знает. Они раскиданы по программе, повторяются, пишутся одно за другим, но это и правда слова, а не сплошные закорючки.
— Я вижу английский. Почему английский?
— Потому что на нем говорит большинство в мире, но тебе даже не нужно им владеть в совершенстве — достаточно знать, как читать и писать. Но если хочешь, есть и языки программирования на других языках. Например язык 1С пишется на русском, его используют в бухгалтерии и документообороте, — Фамуст открыл на ноутбуке другой файл:
— Действительно, круто. Но все равно непонятно, что здесь происходит и почему так пишется.
— Не спеши, всему свое время. Но обрати внимание, код — всего лишь текст. Текст, который может напечатать любой, даже в тетради. Это не монстр, не гексаэдр и не пайка проводов. Всего лишь текст, который ты набираешь на клавиатуре. И как ты научился составлять из букв слова, так научишься из слов программу. Знаешь, раз я смог сотворить этот зал обычным текстом, стоит задуматься о возможности невозможного.
— Да, но у меня просто другой склад ума. Мне и правда проще написать сочинение, чем пару строк кода.
Фамуст вздохнул и положил руку на плечо Артура:
— Знаешь, я не вижу большой разницы между программой и рассказом. Мы оба пишем текст одними и теми же символами, оба описываем события, придумываем окружение, заглядываем вперед по сюжету. Знаешь, я и сам своего рода писатель, так что отнесись к этому проще, возьми яйца в кулак и сделай первый шаг!
И тут Артур вспомнил слова Боба и свои мысли. Первый шаг с постели — самый сложный. И нужен лишь толчок из зоны комфорта, чтобы работать дальше. Да, страх перед новым — нормальное явление, но когда есть тот, кто скажет «А ну вставай и действуй», дальше идешь куда проще. Тем более, раз Фамуст говорит, что программировать может каждый, возможно так и есть. Интересная отсылка к Рататую.
— Ну что, попробуем? — потеребил за плечо Фамуст.
— Да, давайте, — полной грудью вздохнул Артур, — с чего начнем?
— С твоей первой программы, разумеется. Сейчас мы ее сделаем, а чуть позже объясню, как она работает, — Фамуст повернулся к трону, прижал кулак ко рту и прочистил горло, затем во весь глубокий голос прокричал, — остановить симуляцию, создать пустой проект!
Весь зал, начиная от трона, распался на пиксели, оставив непроглядную пустоту, и лишь два человека остались в висящем положении, не чувствуя гравитацию. Артур уже хотел запаниковать, но Фамуст подлетел и успокоил:
— Это пустой проект. В нем пока нет ничего, он ничего не делает, как белый лист перед писателем, а теперь давай напишем твою первую программу, с которой начинается путь любого разработчика. Писать будем на языке Python и русском почти дословном переводе — так называемом псевдокоде. Давай поздороваемся с этим миром — напечатаем «Привет, мир!».
— И как мне это сделать?
— Для этого есть простая команда. В питоне называется print.
— Переводится как «напечатать»?
— Ага, все команды имеют осмысленные названия, прямо говорящие, зачем нужны. Логично ведь? Чтобы что-то напечатать, не нужно вспоминать сложные алгоритмы, достаточно лишь вспомнить слово на английском. Print в питоне - команда для печати строки в консоль.Теперь возьми мой ноутбук и напечатай print(«Hello, world!»).
Перед Артуром из пикселей собрался уже знакомый ноут. Он набрал в открытом приложении:
Python:
print(«Hello, world!»)
Псевдокод (для понимания):
Напечатать («Привет, мир!»)
— Отлично, а теперь ее запущу, иии… вот результат, Артур.
Темная мгла разразилась зелеными неоновыми буквами, где было четко написано «Hello, world!». Фамуст по-дружески обнял одной рукой Артура, глядя с ним на это великолепие:
— Поздравляю, твоя первая программа. Пойдем дальше?
Странно чувство, сравнимое с эйфорией, одолело Артура. Так мало, одна строчка, но она работает, она что-то делает, это нечто прекрасное. Первый шаг на профессии мирового разработчика. От экстаза он обнял Фамуста в ответ и легко сказал:
— Наставник, я хочу создать свой мир!
Конец первой главы, ниже сноски и одной мем-минутки:
* - магнитные левитроны, парящие в холодном азоте действительно существуют, и позволяют разгоняться до огромных скоростей практически без затрат энергии. Но пока не используются в промышленных масштабах, ведь вся дорога для них должна быть магнитной. Возможно в будущем...
One_mem_minute:
Объяснение: "Здравствуй, мир!" на самом деле считается первой программой в жизни каждого разработчика. Ее можно использовать, чтобы узнать работоспособность системы - если она не запускается, значит что-то не настроили. В разных языках программирования (ЯП), чтобы вывести одно и то же на экран, используются разные команды и манипуляции. Но со временем разработки любой аналог print() становится вполне понятным и простым. Сейчас мы пишем на языке Python тк на нем проще объяснить азы, не вдаваясь в особенности языка. В дальнейшем, возможно, перейдем на другой ЯП для развития гибкости ума
Глава 2. Где учиться, как работать
Следующий день Артур начал с учебника по информатике - книге, которую обещал не открывать до конца жизни. Этот предмет настолько скучен, что от одной мысли посетить занятия дергается веко как отбойный молоток. Не удивительно, что ее он тоже завалил. Артур - тот человек, который ни за что не возьмется за дело, что его не интересует. Но в противовес этому быстро загорается новым, и когда это происходит - отдает всего себя. Это произошло и сейчас: мысль о создании своего мира полностью поглотила разум. И сейчас наш герой как губка впитывает знания, что отторгал ранее. В его голове это выглядит как подвиг, достойный рыцаря. Ничто его не остановит.
Ничто, даже стук в дверь, продолжавшийся пять минут.
– Арти, достал, мы знаем, что ты здесь. Открывай! - В очередной раз раздался приглушенный голос Боба за дверным проемом.
– Артур, не расстраивайся, ну выгнали и выгнали. Ты же сам говорил, что пустяк. Мы тебе еду принесли, - сказала оттуда же Дарина.
Прошла еще минута…
– Даря, это бесполезно, я уверен, он сейчас плачет в подушку и никому не откроет. Давай сами съедим пирожные и пригоним завтра.
– Наверное ты прав… стой, Боб, помнишь ты говорил, что у тебя есть ключи от его квартиры?
Из-за двери послышался хлопок ладонью по чему-то пустому, скорее всего голове Боба, и звон ключей.
– Боб, ты придурок, - проворчала Дарина. Хоть голос высокий, слегка детский, но интонация выдает жажду убийства, от чего звон ускорился и через пару секунд сменился на щелчки в замочной скважине.
Дверь тягуче заскрипела, открывая страшную картину. Пристанище Голума, футляр Обломова, ящик Пандоры, свалка - как не называй, все про одно, квартиру Артура. Маленькая пустая комната с окном, завешенным тряпками в несколько слоев. Коробки из под пицц в трех углах и хозяин в четвертом. Забитый в одеяло так глубоко, что торчит лишь пара сонных красных глаз, перед которыми парит учебник.
– Господи, как ужасно! - С испугу Дарина перекрестилась.
– Ты что, верующая? - От удивления поднял брови Боб.
– С таким поверишь. Я не думала, что увольнение на него так подействует, бедный, бедный Артур, - Дарина перешагнула порог и кинулась обнимать нечто, завернутое как младенец и пахнущее кофеином. Она прошла сквозь учебник, и тот растворился.
– А, так ты первый раз в гостях. Не удивляйся, тут всегда так, - прояснил картину Боб, наблюдавший за этим ренессансом.
– Что!? Да ты шутишь! Фу! – В мгновение жалость пропала, и она оттолкнула едва соображавшего Артура, от чего тот упал на пакет с мусором.
Только сейчас формулы перестали витать в голове, и, держась за затылок, он сел обратно:
– Ребята, вы что здесь делаете?
– Думал мы тебя оставим в таком состоянии? - отозвался Боб, танцующий между банками энергетиков и обертками конфет, - когда ты не отвечал на звонки, мы поняли. что ты в депрессии, вот и решили помочь.
– С чего вы взяли, что у меня депрессия?
– Как из чего? - ответила Дарина, - Проработать один день мировым разработчиком, получить бесценный опыт и… вернуться сюда, на землю. Я понимаю, но ты же сам говорил, что тебя не интересует эта работа. Не переживай из-за увольнения, мы найдем тебе другую работу.
– Стойте, стойте, – опешил Артур, – Вы решили, что меня уволили?
– Ну да, а как еще? Ты и мировой разработчик…
Артур перевел взгляд на Боба. Но хоть ты, друг, поддержи. Но Боб лишь скорчил грустную гримасу и кивнул на слова Дарины.
– То есть вы в меня вообще не верите?
Ребята переглянулись. Артур поверить не мог, для них не было и шанса на успех. Он скривился в возмущении и сказал:
– Вообще-то меня взяли!
Дарина, сидящая на коленях прямо перед ним, секунды три не меняла выражения лица. И когда загрузка данных завершилась, ее брови поднялись так высоко, что стянули кожу, выпучили глаза и натянули улыбку. В тот же момент она бросилась на Артура, как на подаренного щенка, чем вывела из равновесия, и тот снова ударился о мусорный пакет.
– Господи, я так рада, я всегда знала, что у тебя получится, ты настоящий молодец, умничка ты мой!
– Кхм-кхм, – напомнил о себе Боб.
Только сейчас Дарина заметила, что лежит и обнимает Артура. Его лицо было… слегка шокированным. Затем она посмотрела на Боба, делавшего вид, что рассматривает закрытое окно.
Дарина припечатала Арти к полу, встала, отряхнула юбку и, чтобы перевести тему, спросила:
– Раз тебя взяли, почему не отвечал на звонки?
– Засиделся за учебником по информатике, – Соскрябав по телу остатки сил, Артур кое-как поднялся, – Хочу сегодня прийти к Фамусту подготовленным.
– Это твой работодатель?
– Скорее наставник.
– Зачем ему тебя учить?
– Сам не знаю. Говорит, что потенциал есть во всех, и ему нравится делиться знаниями.
– Интересно… Стой, и ты хочешь пойти к нему, – Дарина провела рукой указывая на всего Артура, – вот так?!
– А что со мной нет так? – Он огляделся, – Вроде как обычно.
– Обычно ты и выглядишь, как… никак! – Дарина приложила руку к переносице и прикрыла глаза, – Что с тобой делать… Я не могу позволить тебе идти в таком виде. А когда у тебя встреча?
– Через пол часа.
– Что?! Так, а ну быстро в ванную! – Дарина выхватила пирожные у Боба, на что тот чуть не гавкнул, достала одно из пакета и бесцеремонно пихнула в рот Артуру.
Тот опешил настолько, что не заметил, как с него стянули вечную толстовку и брюки и толкнули в ванную комнату.
– Жуй и мойся, – раздался приказной тон из-за двери.
Через двадцать минут дверь в ванную распахнулась, и клубы пара застелились по всей комнате. Прощай старый Артур, да здравствует Артур обновленный! Ему даже самому было приятно это, давно забытое, чувство свежести. Комната тоже изменилась, в ней стало так просторно, что можно жить впятером. Артур, прикрытый полотенцем, спросил, что произошло, и получил почти мгновенный ответ:
– Я выкинула весь мусор, – Дарина держала руки на поясе и гордо задрала подбородок.
– Что?! Но зачем?!
– Я не дружу со свиньями, и раз ты – мой друг, то свиньей быть не должен!
– Это называется самоуправство.
– Это называется поддержка!
Артур хотел еще что-то сказать, но остановился. Она и правда помогает, за что нужно ее похвалить.
– Спасибо, – тихо и спокойно ответил Арти.
– Пожалуйста, – в такой же позе, что и была, Дарина приняла благодарность.
– А теперь можешь вернуть толстовку и брюки, – Артур протянул руку.
– Я их постирала, надень чистое!
Тут Артур опешил, он готов забрать “спасибо” назад:
– У меня нет другой одежды.
Взгляд Дарины медленно перешел из горделивого в непонимающий, а затем панический.
– То есть как это нет?
– Ну вот так, одна толстовка, одни брюки.
– Я ведь говорил, не надо наводить порядки, – сказал на ушко Дарине Боб.
Дарина раскраснелась, ее глаза забегали, стараясь выдать хоть одну идею, как выйти из положения. И в один момент она сняла свой черный деловой пиджак, под которым была рубашка, и протянула его Артуру.
– Надевай.
– … А ничего, что он женский?
– Ничего, у нас одна комплекция.
Как обидно бы это не звучало, Артур послушался и надел пиджак на голое тело. И он вправду подошел, возможно даже на размер больше.
– Боб, снимай шорты, свою юбку я не отдам, – приказным тоном сказала Дарина.
– Эх, а я бы посмотрел, – ответил раздевающийся Боб, чем поверг отвернувшуюся Дарину в краску, – На, держи.
Дверь в покои распахнулась, и на пороге появился парниша в приталенном пиджаке и белых шортах выше колена, стянутые парой булавок, чтобы не спадали.
– С каждым днем все веселее и веселее, – наигранно громко поприветствовал Фамуст.
– Извините за неподобающий вид, наставник, – Артур склонил голову.
– Да ладно… Но чтоб тебе было комфортно, сделаем так.
По щелчку пальца королевские одеяния превратились в схожие пиджак и шорты на голое тело. На удивление старик совсем не был дряхлым, его мышцы лишь чуть меньше, чем у Боба.
Артуру стало еще дискомфортнее.
– Почему у тебя глаза красные, принимал что-то?
– Всю ночь штудировал учебники по информатике.
– Ааа, то-то я думаю в твои мешки под глазами можно картошку класть. А зачем ты это делал?
– Чтобы стать программистом.
– Как это тебе поможет?
– Знания в учебнике помогут стать программистом.
Фамуст встал с трона и пошел к падавану. Когда между ними осталось меньше метра, он продолжил:
– Ты допустил сразу две ошибки: первая - не перегружай себя. Усталый программист - мертвый программист. Наша работа связана с головой, значит ее нужно держать в тонусе и чистоте. Вторая - учебник информатики слабо поможет стать программистом.
Тут красные опущенные глаза Артура распахнулись так, что сейчас вылетят с орбит. Он, что, просто так сидел целую ночь и штудировал эту какашку?! Он поднял голову на наставника с полным непониманием.
– Понимаешь, Артур, программирование и информатика - разные вещи. И учить одно за счет другого - плохое решение. Ни школьной, ни программы многих вузов не будет достаточно, чтобы собрать знания хотя бы для стажера. У меня есть много знакомых, что учатся в государственных и федеральных вузах на IT-специальности. Я им задавал вопросы для самых начинающих, и они едва могли на них ответить: говорили, что только приступили к этим темам, хотя учились 3-4 года. Не потому что они шалапаи, а потому что программа меняется гораздо медленнее, чем развивается программирование, и мало каких успешных программистов пойдут учить в универе, зная, что за это время могут заработать в 10-100 раз больше. Поэтому преподами зачастую становятся не самые выдающиеся разработчики, которые способны дать не самый востребованный материал. И получается, что после 4-5 лет обучения, максимум, куда тебя возьмут - стажер на очень урезанную зарплату.
– И… и что тогда делать? - Артур сразу поник.
– Нужно поступать в хорошие заведения, такие как (сугубо мой личный взгляд и выбор, не реклама, не принуждение): ВШЭ, МГТУ, МИФИ, МГУ, Иннополис, Школа21, Университет Сириус. В одном из них и сам учусь(лся, в зависимости, когда читаете). Оттуда есть знакомые, которые рассказывают про программу обучения - она на хорошем уровне. Остальные места - либо не слышал, либо отношение время/навыки слишком скудное.
– А если нет возможности поступить туда? Всё, дорога к разработчику закрыта?
– Вовсе нет, - успокоил Фамуст, - Есть курсы!
– Курсы? - скептично произнес Арти.
– Да, курсы и книги. С ними развитие идет даже быстрее. Но есть одна проблема - многие курсы уже устарели.
– Развитие технологий?
– Да, многие из описанных через год становятся ненужными, а курс все еще крутится на просторах интернета и дает неактуальную информацию. Есть поговорка: ”Чтобы стать из хорошего разработчика плохим, не программируй 3 месяца, и твои технологии устареют”.
– Тогда как отличить?
– Смотреть по дате выхода, брать из официальных источников и документации, либо брать старые, но держать под рукой ту же документацию, чтобы отследить изменения в новых версиях. Многие так и делают.
– Есть книги и курсы на примете, которые стоит разобрать?
– Конечно есть. Держи список по разным темам.
Браслет Артура подсветился зеленым – обозначение новой информации. Он развернул дисплей и увидел список новых записей в библиотеке данных (не реклама):
Книга “Грокаем алгоритмы” А. Бхаргава
Книга “PostgreSQL. Основы языка SQL” Е. Моргунов
Книга “Изучаем Ruby” Д. Макгаврен
https://javarush.com/programming-course - Java
http://rusrails.ru/ - Ruby on Rails (желательно после курсов и книг про чистый Ruby)
https://stepik.org/course/58852/promo - Python
https://learn.javascript.ru/ - JavaScript (JS)
https://thinknetica.com/ - площадка с курсами
– В дальнейшем буду добавлять разные ссылки, когда придет время, - дополнил Фамуст.
– Огромное спасибо, но… курсы здорово, но вряд ли меня куда-то возьмут без нужного образования.
– Понимаешь, сфера программирования редко смотрит на диплом. Тут куда большую роль играют знания и опыт работы. Я ни разу не проходил собеседования, где стоп словом было “нет диплома”. Эта другая сфера, нежели медицина или педагогика, где без образования делать нечего. Тут другой подход: знаешь и делаешь - берем, знаешь но мало или не делал, но хочешь - возможно возьмем на стажировку.
– Кстати, а как устраиваться на работу? Через центр занятости?
– Нет, обычно устраиваются через стажировки (их проводят и крупные компании, как VK, Tinkoff, Сбер, Яндекс), hh.ru, иногда через хакатоны (конкурсы, где за определенный срок нужно решить задачу по программированию, некоторые компании так вербуют кадры или дают возможность поучаствовать в стажировке), или знакомых программистов. Не бойся спрашивать, если такие есть в твоем кругу.
– У меня только вы.
– Как приятно это слышать, – Фамуст наигранно погладил себя по голове, – Я единственный и неповторимый, бородатый программист*.
Настала неловкая пауза между парнишей и стариком в деловых костюмах и пляжных шортах. Артур пока не знает, что спросить, а Фамуст все ждет возможности блеснуть педагогическим началом. Прошла минута, две, а они так и стояли в метре друг от друга. Первым не выдержал Артур:
– Давайте подытожим информацию?
– Да, дорогой, тебе слово.
– Штудировать учебник по информатике в надежде стать мировым разработчиком нет смысла. А хороших заведений, после которых можно устроиться не так много. Самый лучший и популярный вариант - общаться с реальными разработчиками, читать книги по программированию и проходить курсы. К курсам тоже нужно подходить осторожно, ведь в них может быть устаревшая информация.
– Да.
– Значит я просто так не спал эту ночь.
– Да… То есть нет, некоторые знания все равно пригодятся, но ты их можешь получить быстрее и проще. Тут важен результат.
– А если у меня нет компьютера, могу я вообще стать разработчиком?
Фамуст почесал затылок, после чего ответил:
– Вряд ли возьмут на работу программиста без инструмента. А у тебя его нет?
– Есть, но все же.
– Ты можешь учиться, и даже программировать на телефоне, для этого есть онлайн компиляторы. Например такой:
https://www.online-python.com/
– Также ты можешь читать книги и совершенствоваться, пока не появится свой компьютер. Но также должен понимать, что некоторые крупные компании (те же Яндекс, VK, Tinkoff, Сбер) выдают ноутбуки, и на них люди работают. Если работаешь из офиса, то уверен, что многие компании пойдут на уступки и дадут рабочий ноутбук. Тем более, для большей части того, что я расскажу, будет достаточно телефона и онлайн компилятора. К тому же, то, что я выделяю, лучше запомнить, записать или сохранить в гугл документах.
– А что вы выделяете?
– А это для читателей за четвертой стеной.
Артур огляделся, но ничего странного в стенах не заметил, поэтому не особо обратил внимание. Настала вновь неловкая пауза, но у Артура остался последний вопрос:
– Скажите, мы ведь сейчас находимся в вашем пет-проекте?
– Да.
– И вы здесь можете делать все, что угодно.
– Да.
– И менять одежду.
– Конечно, свою же я сменил, чтобы тебе было комфортнее.
– Но вы могли сменить мою одежду на нормальную.
Неловкая пауза…
– Ааээ… нет, не мог. И вообще, дареному коню в зубы не смотрят.
– Вы ничего не дарили.
– Знания, я подарил тебе знания. А теперь иди домой и переоденься. У меня еще много дел. Завтра будем проходить IDE и работу с переменными.
* Бородатые программисты - так часто называют “ветеранов” разработки. Много знают, много умеют, опыта – как у начинающих вся жизнь)
Спасибо за чтение
Вернуться к книге
