Ушёл со школы в 8 классе и стал разработчиком игр
2 поста
Меня мало кто помнит но старички надеюсь пустят ностальгическую слезу. 8 лет назад здесь я кинул абсолютно безумный клич: "Буду обучать бесплатно любого желающего программированию". Я думал соберу человек 10 и в качестве хобби помогу людям. :))
Шут там, собралось почти 2000 человек и я провёл месяц без сна так, как проверял всем домашки и постоянно вёл лекции. И самое весёлое что это правда было просто хобби и я не взял ни рубля с людей а также не продавал никаких курсов. Странно это слышать в эру прогревов и теневых продаж, не правда ли?
Через 2 года после этих занятий я сел писать книгу по программированию на языке C# и благодаря участникам тех занятий мы собрали 85 000 рублей на написание на краудфандинге. Спустя 6 лет с того момента я закончил.
Книга научит вас языку программирования C# с самых основ через практику. Мы начнём с вами с переменных и закончим инкапсуляций техник динамического программирования в объектно-ориентированном дизайне (чтобы это не значило).
В книге получилось почти 400 страниц и вы можете забрать бесплатно PDF здесь - https://t.me/sakutin_csharp/2274
Спасибо Пикабу за всё!
На днях пересматривал фильм про любовь, дружбу, предательство и конечно же про талантливых Гарвардских программистов и решил как программист с 15 летним опытом разобрать IT моменты в фильме.
Записал часовой обзор к себе на YouTube. Но вот вырезка нескольких ярких моментов.
Ощущение, что код писала ИИ. Очень много лишних переменных и постоянное перекладывание значений между ними без цели и задачи.
Возможно просто добавляли строки чтобы выглядело круче. Что интересно в строках запроса все запросы идут к локальному серверу.
В фильме смысл этой формулы описывали так: "Т.е исходя из этой формулы, победит та девушку рейтинг которой выше?".
Полная бессмыслица. Здесь высчитывается рейтинг, который получит девушка A за победу над девушкой B и наоборот. Чем выше рейтинг противника тем больше рейтинга я получаю.
Для сайта FaceMash подобное использовать вообще вредно так, как любой мисс-клик может резко вырастить рейтинг девушки с непривлекательной внешностью.
После регистрации домена наступает его пропаганда. Это когда мелкие DNS сервера начинают его забирать с более крупных. Сейчас этот процесс занимает обычно пару часов, но для полной доступности по всему миру нужно всё ещё несколько дней.
На 2005 год, в котором разворачивается фильм, нужно было подождать пару дней чтобы друзья могли получить к сайту доступ.
Это я так понимаю лог нагрузки.
Тогда можно понять почему нет обращений к картинкам. Но тогда здесь точно должны были отображаться проценты занимаемой оперативной памяти и нагрузка на CPU.
Иначе толку от этого лога 0.
Для псевдо-кода такая ошибка простительна. Но не совсем понятно почему тогда определили row и col, но не определили input и output.
В сцене, где Марк сохраняет картинки с кёкрленда он ошибся в запросе wget. Такое могло бы быть.
Мы можем, не обязательно, в wget указать новое имя файла после скачивания. Но для этого нужно указывать дополнительный флаг -O.
Кстати помните сцену с сэндвичем?
Заметили как режиссёр провёл параллель между бутербродом который Цукерберг спрятал в карман, хотя он ему не нужен, и идеей братьев, которую он подписался делать, чтобы спрятать, хотя и она ему была не нужна.
Славный фильм.
Много пишу про IT и разыгрываю технику у себя в ТГ Канале.
У меня в библиотеке более сотни книг по программированию
Если в начале карьеры я очень любил и паттерны проектирования и чистый код, то сейчас мнение сильно поменялось.
Они не плохие, они переоценены.
Если соблюдать все его советы, то код почему-то превращается в нечитаемую кашу. Многие критикует такой подход ещё и за убийство производительности. Но давайте будем честны, даже в рамках концепции Мартина не все практики удачно совмещаются.
Да есть хорошие советы, и про DRY и про классику ООП "Код не должен знать о внутренностях объекта, с которыми он работает". Но так ли слепо мы должны доверять всем что там написано?
Ни одно собеседование не проходит без расспросов про паттерны. Про отличие структурных от порождающих и деталей реализации Синглтона. Хотя раньше паттерны считались моветоном, а классический список от GoF вообще походил на корпоративный булщит.
Проводят ли они очевидный контракт? Да нет. Тот же Синглтон имеет десятки реализаций в десятках разных фреймворках с совершенно разным контрактами. Ну да, мы рассчитываем что он обеспечивает единственный экземпляр класса. Или статическую точку доступа к нему, или один экземпляр на поток... Да вообще-то везде по-разному.
Есть неплохие паттерны из DDD, есть паттерны TDD которые всё же практически полезней.
Книга мощная. Как и знаменитые томики Кнута. И как же любят отдельные выпускники МФТИ чморить все кто не помнит их по памяти. Или притворяться что помнят и брать опонента на блеф.
99% разработчиков, которых я знаю, заучивают подобные учебники перед собеседованием и через неделю забывают вообще всё. Непонятно в какой момент карьеры с этим всем нужном знакомиться? В начале? Так ничего не понятно. В середине? Так зачем если нужные алгоритмы и так понятны с практики.
В какой-то момент мы решили что нам нужна наша собественная библия. И зачем-то упёрлись в совершенный код. В общем-то, многие вещи поделу и даже примеры на разных языках. Хорошо ли это? Кусочек кода на Visual Basic, кусочек на Java, кусочек на C++.
А правда чтоли что техники защитного программирования во все них одинаково реализацию и смысл? Или это нужно что бы можно было продать книгу любому программисту и охватить большую ЦА?
800 страниц про абстрактные банальности? 30 страниц на главу про самодокументирование с огромной цитатой пьесы?
Помните увлечение "запахами" кода и размышления как двигать неделями переменную по всему репозиторию?
Хорошая идея и про непрерывность рефакторинга и атомарные изменения. Но всё-таки большинство примерно слишком "локальные" и мелкие.
Половина книги про:
-Ооо, в метода можно добавить параметр
-Ооо, из метода его можно удалить
-Ооо, его можно переименовать
Ну да.
Мне книги больше нравятся чем нет. Они дают простые ответы на сложные вопросы и дают понятные рецепты и трюки которые можно просто делать. Но не даёт ли это иллюзию компетенции и понимания?
Пишу больше про IT, разработку игр и создание своего издательства в Steam у себя в телеграмме - https://t.me/+bU8GgJY66DUxNzAy
Помните историю про Flappy Bird? Игра, сделанная одиночкой и заработавшая за 2 месяца 18 миллионов долларов.
Журналисты оочень любят эту историю. Особенно часть, где автор рассказывает что удалил игру из-за того, что ему стыдно, что он подсадил на игру 90 миллионов людей.
А знаете, что это всё враньё?
Есть информация, что автор, Вьетнамец, подрядил ботоферму знакомого залить ботов. Игра резко подскачила вверх и журналисты начали раздувать эту историю.
На графиках видно, как автор несколько раз жёстко заливав ботов.
А потом... игру за этих ботов забанили.
Игра конечно же принесла деньги потому, что, во-первых, игра пробилась в топ бесплатных игр, а во-вторых журналисты расфорсили тему.
Это пример серого маркетинга и манипуляций. Я считаю, что в играх главное всё-таки игра, а хороший маркетинг помогает умножить ваш результат.
Ну а если игра ноль, то вы знаете к чему приводит умножение нуля.
Почему-то все думают, что о разработке игр мечтают 18 летние пацаны и девчонки с розовыми волосами на лобке.
Я же чащу вижу усталых мужчин 35 лет которые когда-то давно засунули свою мечту поглубже и начали впахивать. А сейчас расплачиваются за это потухшими глазами и вечной усталостью.
Пару дней назад меня попросил о встрече человек который уже 2 года присматривается к обучению. Ходит на все бесплатные мероприятия, но пока не решился. Не смог ему отказать.
Договорились попить кофе в центре. Когда он подошёл к столику я увидел серое пятно, будто реальностью расфокусировалась на нём и ещё чуть-чуть и это пятно сотрут с объектива и его не станет.
Поздоровались и он сразу сказал, что хотел попрощаться лично. Собирается подписывать контракт, достало его уже всё.
Разговорились.
Запомнились его слова: "Понимаешь, мне уже 36, я всю жизнь с одной работы на другую, дети уже не маленькие, я так могу ещё лет 20. Но зачем? Машину через пару лет другую взять? У меня много опыта, идей, дисциплина не как у пацана, а трачу я это всё не херню. Хоть умру героем."
Говорю: "Ну сиди делай игру после работы по чуть-чуть. Маленькое движение вперёд даст смысл и надежду".
Вздыхая отвечает: "Стыдно. Я все видео твои пересмотрел, по памяти каждую кнопку в движке помню. Но стыдно. Хрень же получится. Сразу себя сравниваю со всеми этими молодыми кто и делает что-то классное, и издателей и инвесторов находят. Деньги зарабатывают. А я старый хрен который кубики по сцене двигает."
Попросил его прийти через пару дней на сессию питчинга игр, как раз в городе знакомые проводили.
Там познакомил с разработчиками которые выпустили по 2-3 успешных игры на Steam. Он оживился, оказалось что всё это люди его возраста которые тоже поздно начали и потихоньку реализовали свой потенциал.
После встречи спросил его: "Ну что, когда проводы?"
Его ответ: "Никогда, у меня теперь есть цель и ноль сомнений)"
Если вы собираетесь становиться айтишником, то у вас есть два подхода.
Давайте разберём каждую точку вашего пути с двух вариантов.
Умный подход - за меньшее время максимум результата.
Глупый подход - за большее время минимум результата.
Обучение
Глупый: Скачает устаревшие книги по советам из интернета. Ни разу их не откроет и забьёт.
Умный: Найдёт ускоренный курс на YouTube где делают актуальный проект. Повторит и получит порцию мотивации и знаний.
Практика
Глупый: Пойдёт решать олимпиадные задачи по программированию и пытаться реализовать сложные алгоритмы.
Умный: Найдёт на фрилансе простые заказы и будет делать их по готовым шаблонам и туториалам. Быстро заработает первые деньги.
Поиск работы
Глупый: Напишет простое резюме и будет с трясущимися руками откликаться на самые простые вакансии чтобы не опозорится.
Умный: Возьмёт консультацию у хорошего HR, сделает крутое резюме и накрутит опыта и добавит практические проекты в портфолио. Будет пробивать сразу Middle и Senior вакансии на 300 000+ рублей в месяц.
Собеседование
Глупый: Будет перечитывать теорию в книжках пока не будет уверен на 100%. В итоге на собеседование спросят то, что в книге небыло и он сгорит со стыда.
Умный: Посмотрит записи собеседований под вакансию и найдёт ментора который, проведёт тестовые собеседования и подготовит его за короткий срок.
Итог
Глупый: Умеет реализовывать алгоритмы, нет проектов в портфолио, надеется устроиться хотя бы на 50 000 рублей в месяц.
Умный: Крутое портфолио, актуальные навыки и работа за 200 000 рублей в месяц после 6 месяцев обучения.
А по какому пути пойдёте вы?
Делать игры я начал в 8 классе. После тяжелого переезда из другой страны я полностью погрузился в IT.
Нашёл себе друга с которыми решили развиваться вместе, выбрали Unity и C# и начали придумывать своего убийцу Crysis. Это дало мне кстати какой-то буст в мотивации, до этого я месяцами не мог осилить 1 страницу книги.
А после того, как начали каждый день общаться о нашей мечте, и появился единомышленник, книга начала читаться самом по себе. В лёгкости.
На него это почему-то не сработало.
Уже тогда он много сомневался: "Крупные компании задушат бюджетом на рекламу", "Движки всё будут делать сами и разработчики игр будут не нужны", "Программисты как юристы будут без работы".
А было это почти 15 лет назад.
Он на всё забил и пошёл доучиваться в школе, а я к концу 8-го класса уже устроился на первую работу джуном за 1000$ в месяц.
Видел его пару лет назад, он перебрался в Москву, работает баристой и выглядит очень помято. Узнал меня и ехидно спросил: "Говорят тебя скоро нейросети заменят, не боишься?".
Я в ответ спросил: "А тебя?".
Мне ничего не давалось легче, чем изучать разработку игр. Каждый раз ты сидишь и охуеваешь: "Блин, я же реально игры делаю!!!". Как говорится, найди любимое дело, и ты ни дня не будешь работать.
Почему-то смерть айтишников от ИИ веселит больше всего тех, кого ИИ уже давно заменили.
Проработав 10+ лет я натворил много кринжа. Вот 3 вещи за которые мне стыдно до сих пор.
1. Крутил время
Я очень ленивый хрен. Бывало что задача интересная и я спокойно проваливался в неё и работал по 10 часов без перерыва.
Но чаще всего была работа на 1 час времени, я оценивал на 3 часа и фактически засчитывал часов 5-6. Всё это время я смотрел подкасты, читал книжки или просто занимался онанизмом обратным македонским хватом.
Каждый час оплачивался, по паре тысяч за каждый.
2. С парой лет опыта залетел на Сеньор (старшая позиция)
Мне долго было не понятно, а как оно, так и почему меня никто не разоблачил? Зарплату платили серьёзное, а я прям чувствовал что не тяну.
Всё оказалось просто.
Компания занималась заказной разработкой, им продавать меня как синьора очень выгодно, да и работу я делал хорошо.
В этой истории всем было выгодно быть обманутыми.
3. Как-то не вернул технику
Мне выдали пару айфонов на тесты и после увольнения они остались у меня. Забрать их хотели, мы даже договорились на одной из конференций пересечься. Но так там это и заглохло, так у меня уже лет 8 они в шкафу валяются.
Когда я стал владельцем своей IT компании я со всем этим столкнулся уже у своих сотрудников и считаю карму я почистил
Ну и до сих пор пытаюсь карму полечить и в это месяце разыгрываю у себя в телеграмме 5 игровых ноутбука на RTX - https://t.me/+4MCjIvXhEhZmOGMy
У меня во дворе колодце живёт пару маргинальных тёток. У них есть фишка - перекрикиваться в окна.
Все остальные становятся невольными чекистами затаившимися в глубине квартир и прослушивающими наверное самый не защищённый канал связи в мире.
Теперь, во дворе новый челендж. Когда в очередной раз, соседка, пропитым голосом открывает канал связи, мы играем кто первый пошлёт её нах*й.
Зато живу в памятнике исторического наследия.