EN
Norhala
Norhala
36 subscribers

Как войти в IT или история о том, как я учусь программированию (игрообзор с юмором)

"Есть ли в жизни что-то более захватывающее, чем самосовершенствование?" - спрашивает меня менеджер компании, куда я только-только устроилась работать. Я отвечаю: "Конечно же нет, босс!" - и иду складывать и вычитать переменные совершенно бесплатно.
Итак, обзор на Human Resource Machine.
(scr.1) - Привет. Теперь ты стажёр. Работай бесплатно. Печенек и кофе тоже нет.
Войти в IT оказалось гораздо легче, чем вещают на многочисленных курсах и коучингах. Это стоило мне всего 100 рублей. Вжух, 10 секунд - и вот я уже самый настоящий айтишник, готовый приступить к работе в огромной компании (прим.: без скидки игра в Стиме стоит 360 р. но, поскольку я люблю оптимизировать не только действия в игре, но и свои расходы, то стараюсь покупать игры по скидкам).
Итак, меня взяли на работу в некую компанию. Обещали карьерный рост, но первое время придется просто работать нахаляву стажёром ради опыта.
Я, конечно же, согласилась.
Первые задания были совсем простые, типа: "возьми две переменные и выведи в обратном порядке", "возьми две переменные, сложи их (или вычти) и выведи". Потом появилось что-то посложнее: "вычти первое число из второго и выведи, затем вычти второе из первого и тоже выведи".
(scr.2) - Сложение и вычитание. Легкотня!
Все переменные - это кубики на транспортере. Чтобы их "обработать" перед выводом - можно скопировать данные в ячейки на полу. Нам нужно написать "программу" (на скрине - справа) которая даёт указания что делать с кубиками персонажу перед тем, как положить на транспортёр вывода. То есть вам даётся несколько операторов (взять, скопировать, сложить с, вычесть из, вывести, повторить и т.д.) и вставляя их в поле справа в определённом порядке вы задаёте действия, которые потом повторит ваш персонаж, когда вы нажмёте кнопку "пуск". С каждым последующим уровнем вам выдают новые операторы и усложняют ТЗ (Техническое Задание — документ определяющий цель, структуру, свойства и методы какого-либо проекта).
(видео) Геймплей Human Resource Machine
После того, как меня обучили базовым основам и действиям, шеф начал требовать, чтобы я максимально оптимизировала свой "код". К каждому заданию стало добавляться требование использовать не более X команд и чтобы на обработку всех данных ушло меньше N шагов.
(scr.3) - "Тебе платят не за количество строк, а за качество!!!" - "Но мне не платят..." - "Выполняй!"
В принципе, если мой рукожопный код нормально работал, то за отсутствие оптимизации не наказывали и давали следующее задание. Премии и зарплаты за провал оптимизации меня тоже не лишали, - ведь нельзя же лишить зарплаты, если у тебя её нет.
Так что тут я, даже можно так сказать - обманула начальство! Во какая хитрожопая :) Кстати, можете использовать это как лайфхак.
(рис.) - Работай бесплатно - и не придётся жить от зарплаты до зарплаты
И вот, таким вот образом, я проработала у них стажёром 10 лет. Эх, пролетели как один день. Всё это время денег на еду и квартиру не было, поэтому приходилось ночевать в офисе и незаметно подъедать забытое в холодильнике коллегами. К счастью, начальство попалось очень доброе и никто из офиса на ночь не выгонял, а после окончания стажировки даже обещали начать платить зарплату! Поэтому я продолжила у них работать.
Наконец, наступил тот день, когда меня направили на экзамен для повышения квалификации. Он состоял из 3-х этапов и задания уже были посложнее и запутаннее. Но я справилась, ура! Меня повысили! Но не зарплату... Хотя шеф клятвенно пообещал, что если я хорошо буду справляться, то скоро мне выпишут премию. Я думаю, он не стал бы обманывать своих сотрудников, ведь тогда на него никто бы не работал. Так что я осталась в этой компании. Всё равно больше некуда идти. А вдруг там будет хуже? А здесь вроде такой хороший, дружный коллектив и порядочное начальство.
(scr.5) Ответвление слева - ветка "экзаменов" из 3-х этапов
С новым усердием я бросилась на решение новых задач. Первые две были очень даже лёгкие, почти как в первые 10 лет моей стажировки, и я справлялась с ними очень быстро, поэтому всегда было время отдохнуть и посмотреть фильмы на работе. Видимо, начальство это заметило...
Так вот вместо того, чтобы похвалить меня, что я так быстро и хорошо справляюсь, они решили, что раз у меня слишком много свободного времени, то можно меня побольше нагрузить и поручить самые сложные задачи (от которых отказались все другие сотрудники).
И вот мне дали написать программу настолько сложную, что я пару недель только пыталась разобраться в ТЗ.
Если интересно поломать голову, вот условие одной из задач:
(scr.6) Первая усложнённая задача
На текущий момент я уже научилась работать с такими операторами:
inbox - взять кубик слева [ввод]
outbox - отнести кубик на траспортер направо [вывод]
copyto - скопировать значение с кубика в промежуточную ячейку
copyfrom - взять значение из промежуточной ячейки
add - сложить
sub - вычесть
jump - перейти к выполнению строки N [повторить]
jump if zero - перейти к, только если в руках ноль
jump if negative - перейти к, только если в руках отрицательное
Я вертела их и так и эдак, складывала, вычитала, минусовала, проверяла на ноль... Но ничего не получала (по шее не считается). В итоге, спустя пару (прим.: реальных) дней, я придумала как это всё можно сделать, чтобы получался верный вывод для любых поступающих переменных. Всё чётко по ТЗ.
Но моя программа получилась огромной... А по доп.задаче на оптимизацию надо было уложиться всего в 12 команд!!! У меня же было аж больше 20... Как??? Как сделать лучше? И тут я впервые сдалась.

Пока начальник отвернулся, зашла на Stackoverflow (прим.: подсмотрела прохождение). Там мне довольно быстро подсказали как все "сделать красиво" и я успешно сдала работу (СПОЙЛЕР):

(scr.7) Решение первой усложнённой задачи
Начальство очень обрадовалось тому, что я справилась и с еще большим рвением стали скидывать на меня проекты, за которые больше никто другой не брался.
Вот тут то я уже и начала сомневаться... а может, IT - это не моё? А может, всё таки, нельзя вот так вот с улицы просто "влететь в it", ничему ранее не учившись... А что, если я не смогу? Если не справлюсь? Что, если все предыдущие несколько лет успешной работы я просто притворялась что что-то знаю и делала вид, что разбираюсь? Может до этого мне просто везло? Может я просто самозванка?
По ТЗ мне нужно было выводить от некоего числа все промежуточные до нуля. При этом, числа могли быть не только положительными, но и отрицательными. И надо как то это програмно распознать, чтобы задать исходя из этого команду на вычитание или сложение по единице до нуля.
Но КАК??? Всё показалось таким запутанным...
(scr.8) Вторая усложнённая задача
* * *
А если серьёзно:
Я пока что застряла на "Второй усложнённой задаче". Думаю, как же правильно написать эту программу... Но уже решила написать на игру обзор, так как от неё сильно в восторге.
Я вообще очень обожаю головоломки и загадки, где надо реально думать и решение действительно есть, то есть оно не надуманное или притянутое за уши. В Human Resource Machine - всё ясно, чётко и подчиняется его величеству Логике.
Не могу это объяснить, но эта игра чем-то напоминает мне шахматы. Может просто мозг использует те-же процессы или что-то в этом роде. Я не спец и с трудом могу объяснить, но чувствую от этой игры такой же кайф, как при игре именно в шахматы, когда продумываешь свои ходы на несколько шагов вперёд и так же ищешь лазейки, продумывая возможное наступление противника.
Однако, я совершенный нуб в программировании. Поэтому, возможно, кажущиеся мне сложными задачи, для опытных людей - просто семечки. Меня же, как человека впервые пробующего такой "геймплей", Human Resource Machine сильно заинтересовала.
Мне так же очень нравится в ней то, что решение задач не привязано к сидению у компа. Операторы (пока что) не сложные и их не много, так что запомнив ТЗ, можно просто думать над "написанием кода" в дороге (в очереди, в пробке и т.д.) прикидывая решение в голове или чирикая в блокноте.
Очень рекомендую попробовать Human Resource Machine таким же любителям головоломок. Но настоящим программистам игра скорее всего не зайдёт.

Subscription levels

На булочку к чаю

$ 1,09 per month
Подкармливая автора вкусняхами вы даёте ему стимул к работе!
✨ Я обязательно съем в твою честь вкусную булочку или шоколадку

Опытный Приключенец

$ 2,18 per month
Ты опытный приключенец и жаждешь большего, чем просто пара сокровищ. В своих скитаниях, ты наткнулся на мой блог и дальше хочешь пойти вместе по пути, который я открою тебе в своих рассказах

Искатель Сокровищ

$ 3,3 per month
Ты как Лара Крофт, бродя по Бусти ищешь скрытые сокровища. И ты его нашёл. В этом блоге ты точно залутаешь несколько артефактов, которых больше нигде не найти

Всеведущий Мастер

$ 5,5 per month
Ты опытный Мастер и жаждешь только лучшего! Именно поэтому ты здесь.
Go up