Одна мысль после каждого обновления на пикабу
Сериал "Поколение Ви" спин-офф к "пацанам"
Немного мыслей про IT
В последнее время вижу все больше постов и комментариев о том, как люди хотят "вкатиться в IT", о том, что рынок перегрет и сейчас там большая конкуренция. Много советов, рекомендаций, оскорблений, хвастовства и отчаяния проскальзывает у разных людей при упоминании этих заветных (для кого-то) двух букв. Поэтому хочу поделиться своими мыслями и наблюдениями по этому поводу.
Немножко вводных: работаю в сфере больше 5 лет, начинал практически с самых низов, сейчас "старший инженер". Иногда провожу технические собеседования у кандидатов. Учился в городском университете на математической специальности. Устраивался не по блату, сам из "рабоче-крестьянской" семьи, из бонусов - наличие компьютера и отсутствие необходимости работать во время обучения: еда была, крыша над головой была.
Так вот к сути:
1. Непонимание принципов обучения IT
Многие люди начинают обучение программированию без какого-то представления о том, что они будут делать и что они должны уметь делать. Одна из основных ошибок: пытаться перенести опыт обучения из другой сферы. Обычно как: сначала ты читаешь много заумных книжек, учишь определения, теорию, набиваешь багаж знаний. Потом начинаешь применять знания на практике, а на любой вопрос у тебя будет ответ из выученной теории.
В IT сфере такой подход работает слабо. Каждый новый вопрос, с которым ты сталкиваешься - это почти всегда то, о чем тебе не написали в книжке. А таких вопросов возникает ну очень много. Многие на этом этапе сдаются и думают, мол "не моё это, пойду в другую сферу".
Лучший, по моему мнению, подход к обучению, это "Что - Как - Почему" или "Задача - Решение - Объяснение". Например: "У меня в программе есть список цен, я хочу посчитать их все с учётом определённой скидки - Я загуглю как к каждому значению массива применить математическую операцию - Я использовал массивы, функцию for, переменную i и поищу больше информации о них". Таким образом теория привязывается к практике, тебе не надо судорожно вспоминать определение, потому что ты просто знаешь зачем это нужно. При работе ты сможешь разбивать большие задачи на маленькие, какие-то будут тебе уже известны, а какие-то ты можешь загуглить и подучить.
2. Google it.
Два умения, которые нужны программистам, но о которых иногда забывают упомянуть: английский и гугл.
Английский нужен банально потому, что большинство полезной информации в IT - на английском. И искать практически любую информацию лучше сразу на английском. По началу можно обойтись и переводчиком, но в дальнейшем это очень сильно замедлит процесс.
Умение правильно гуглить - это тоже навык, можете даже добавить в резюме. Это когда вместо того, чтобы идти к людям и спрашивать: "А как мне отсортировать массив объектов, если это не числа?", ты идёшь в поисковик и пишешь "JS sort array of objects" и первой-второй ссылкой получаешь ответ. Если гугл в ответ выдаёт, что твои запросы похожи на автоматизированные, пройди капчу, то ты на правильном пути.
3. Сам себе режиссёр
Ещё один хороший способ обучения - придумывать себе задачи самостоятельно. Ты пытаешься похудеть? Напиши программу по подсчету калорий. Постоянно что-то забываешь? Напиши бота в телеграм, который будет слать напоминалки. Хочешь рассказать о чем-то миру? Напиши простенький сайт с нужной информацией.
По началу будет тяжело и долго, но таким образом ты научишься не "тупо копировать из туториала", а именно думать, принимать решения, разбивать задачи, искать информацию и решать нерешаемое.
4. Идти в IT только из-за денег
Не надо. Серьёзно. Если единственная мысль при написании очередной задачки или приложения: "зато денег заработаю", то ты сгоришь буквально за несколько месяцев. Для этой профессии требуется хотя бы её не ненавидеть. Плюс это очень хорошо чувствуется на собеседовании, когда человек пришёл чисто "срубить бабла"...
4.1. Идти в IT бесплатно
...Но это не значит, что надо работать бесплатно или за МРОТ. Не стоит идти в первую попавшуюся контору, которая предлагает "бесценный опыт" вместо денег. Опыта обычно там не наберешься, зато "плохих" привычек словишь много. Есть много компаний среднего звена, которые платят чуть ниже рынка, но в них работают профессионалы, у которых можно многому научиться. А научишься - можно и выше метить.
4. Пресловутый пузырь
По тому что я вижу - пузырь ещё не надулся. Да, цифры в духе "500 кандидатов откликнулись на вакансию джуна" могут удручать. На деле оказывается что практически все эти кандидаты оказываются хуже студента 1 курса. Большинство просто шлют свои резюме в надежде "а вдруг проканает", кто-то думает что прочитает статью "хакни собеседование" и его тут же возьмут. Лишь единицы из этих кандидатов демонстрируют какой-то энтузиазм и обучаемость. И эти единицы как раз и устраиваются.
Немного скомканно получилось, но надеюсь кому-то может это и поможет, кто-то что-то подчерпнет, а кто-то задумается.
Немножко нейросетевого "творчества"
Никто не просил, а я взял и попросил GPT-4 представить какими бы были старые классические игры если бы их делали в наше время. «Авторское» видение дизайна при разработке постеров сохранено.
Tetris Evolution": классический "Тетрис" трансформируется в полномасштабную AAA-игру с ролевыми элементами и строительством мира. Игрок начинает с простой задачи укладывать тетромино, но каждая завершённая линия позволяет не только зарабатывать очки, но и собирать ресурсы для строительства и развития своего города. С увеличением уровня сложности появляются новые типы блоков, каждый со своими уникальными свойствами, которые могут помочь или помешать развитию инфраструктуры. В игре вводится сюжетная линия, где каждый "мир" или уровень имеет свои экологические условия, экономические задачи и стратегические цели. Интерактивная среда с динамической погодой и временем суток влияет на игровой процесс, а многопользовательский режим позволяет соревноваться или сотрудничать с другими игроками в построении мегаполисов. Современная графика и оркестровый саундтрек дополняют эпическое ощущение от простой, но глубокой механики "Тетриса".
Pac-Man Unleashed": Культовая игра "Pac-Man" переосмысливается как современный AAA-экшен с элементами стелса и платформера. В этой версии игрока ждёт огромный, трёхмерный лабиринт, полный зловещих призраков, где каждый уровень представляет собой заброшенный городской район, амбициозный промышленный комплекс или затерянный в джунглях древний храм. Pac-Man обладает новыми способностями, такими как невидимость, скоростной бег и специальные атаки, которые необходимо стратегически использовать, чтобы избегать или обезвреживать призраков. В игре добавлена сюжетная линия, где каждое съеденное привидение раскрывает часть истории мира Pac-Man и его места в нём. Современные физика и AI призраков делают каждую погоню уникальной и непредсказуемой, а собирание традиционных фруктов и новых предметов привносит элементы головоломки и исследования. Интерактивное окружение, смена дня и ночи и динамическая музыка создают погружающую атмосферу, а привычная механика "съесть или быть съеденным" получает новое прочтение.
"Breakout: Urban Anarchy": классическая аркада "Breakout" трансформируется в современную AAA-игру, где игрок управляет не просто платформой и мячом, но и отрядом революционеров в дистопическом городе. Каждый уровень - это различные районы и здания, которые нужно "очищать" от врагов и препятствий с помощью стратегически отскакивающих снарядов. Мяч в этом контексте становится разнообразным арсеналом, от граффити-бомб до технологических взрывчатых устройств, каждый со своими уникальными физическими свойствами и воздействием на окружающую среду.
Игроку предстоит применять тактические решения, чтобы максимизировать урон и создавать цепные реакции, разрушая здания и укрепления противника. Постепенно расширяя зоны влияния и завоевывая улицы, игроки взаимодействуют с различными фракциями и гражданским населением, что влияет на развитие сюжета и доступные ресурсы. Современная графика и физический движок придают новую жизнь концепции "Breakout", а элементы стратегии и управления отрядом обогащают игровой процесс, сохраняя при этом его аркадные корни.
Space Invaders: Tactical Defense" - классическая аркада "Space Invaders" перевоплощается в тактическую оборонительную игру с элементами реального времени и стратегии. В этой игре игроки строят и модернизируют оборонительные башни, каждая из которых вдохновлена оригинальными пришельцами, но с уникальными способностями и оружием. Осада ведется в космическом пространстве, на орбите планет и даже на их поверхности, где игроки должны защищать базы от волн врагов с помощью стратегического расположения и управления башнями.
Каждый успешно отбитый нападение раскрывает новые технологии и улучшения для обороны, а также открывает сюжетные ветки, в которых игроки узнают больше о мотивах и происхождении инопланетных захватчиков. Современные графические и звуковые эффекты создают напряженную атмосферу боевых действий, а сложные тактические решения обеспечивают глубокий и увлекательный игровой процесс, который продвигает классическую игру "Space Invaders" на новый уровень.






