HolyMonkey

HolyMonkey

Роман Сакутин
Пикабушник
Дата рождения: 27 мая
31К рейтинг 1590 подписчиков 15 подписок 69 постов 6 в горячем
Награды:
лучший пост недели лучший авторский пост недели лучший авторский текстовый пост недели самый сохраняемый пост недели 10 лет на Пикабу самый сохраняемый пост недели более 1000 подписчиков
22698

Я написал свою книгу по программированию3

Меня мало кто помнит но старички надеюсь пустят ностальгическую слезу. 8 лет назад здесь я кинул абсолютно безумный клич: "Буду обучать бесплатно любого желающего программированию". Я думал соберу человек 10 и в качестве хобби помогу людям. :))

Шут там, собралось почти 2000 человек и я провёл месяц без сна так, как проверял всем домашки и постоянно вёл лекции. И самое весёлое что это правда было просто хобби и я не взял ни рубля с людей а также не продавал никаких курсов. Странно это слышать в эру прогревов и теневых продаж, не правда ли?

Через 2 года после этих занятий я сел писать книгу по программированию на языке C# и благодаря участникам тех занятий мы собрали 85 000 рублей на написание на краудфандинге. Спустя 6 лет с того момента я закончил.

Книга научит вас языку программирования C# с самых основ через практику. Мы начнём с вами с переменных и закончим инкапсуляций техник динамического программирования в объектно-ориентированном дизайне (чтобы это не значило).

В книге получилось почти 400 страниц и вы можете забрать бесплатно PDF здесь - https://t.me/sakutin_csharp/2274

Спасибо Пикабу за всё!

Показать полностью

IT киноляпы в фильме "Социальная сеть"

На днях пересматривал фильм про любовь, дружбу, предательство и конечно же про талантливых Гарвардских программистов и решил как программист с 15 летним опытом разобрать IT моменты в фильме.

Записал часовой обзор к себе на YouTube. Но вот вырезка нескольких ярких моментов.

1. Бесконечный цикл на Perl

Ощущение, что код писала ИИ. Очень много лишних переменных и постоянное перекладывание значений между ними без цели и задачи.

Возможно просто добавляли строки чтобы выглядело круче. Что интересно в строках запроса все запросы идут к локальному серверу.

2. Рейтинг Эло

В фильме смысл этой формулы описывали так: "Т.е исходя из этой формулы, победит та девушку рейтинг которой выше?".

Полная бессмыслица. Здесь высчитывается рейтинг, который получит девушка A за победу над девушкой B и наоборот. Чем выше рейтинг противника тем больше рейтинга я получаю.

Для сайта FaceMash подобное использовать вообще вредно так, как любой мисс-клик может резко вырастить рейтинг девушки с непривлекательной внешностью.

3. Домен

После регистрации домена наступает его пропаганда. Это когда мелкие DNS сервера начинают его забирать с более крупных. Сейчас этот процесс занимает обычно пару часов, но для полной доступности по всему миру нужно всё ещё несколько дней.

На 2005 год, в котором разворачивается фильм, нужно было подождать пару дней чтобы друзья могли получить к сайту доступ.

4. Сижу крутой перед консолью

Это я так понимаю лог нагрузки.

Тогда можно понять почему нет обращений к картинкам. Но тогда здесь точно должны были отображаться проценты занимаемой оперативной памяти и нагрузка на CPU.

Иначе толку от этого лога 0.

5. Квадратные матрицы

Для псевдо-кода такая ошибка простительна. Но не совсем понятно почему тогда определили row и col, но не определили input и output.

6. Самострел

В сцене, где Марк сохраняет картинки с кёкрленда он ошибся в запросе wget. Такое могло бы быть.

Мы можем, не обязательно, в wget указать новое имя файла после скачивания. Но для этого нужно указывать дополнительный флаг -O.


Кстати помните сцену с сэндвичем?

Заметили как режиссёр провёл параллель между бутербродом который Цукерберг спрятал в карман, хотя он ему не нужен, и идеей братьев, которую он подписался делать, чтобы спрятать, хотя и она ему была не нужна.

Славный фильм.

Много пишу про IT и разыгрываю технику у себя в ТГ Канале.

Показать полностью 6

Топ-5 переоценённых книг по программированию

У меня в библиотеке более сотни книг по программированию

Если в начале карьеры я очень любил и паттерны проектирования и чистый код, то сейчас мнение сильно поменялось.

Они не плохие, они переоценены.

1. Чистый код. Роберт Мартин

Если соблюдать все его советы, то код почему-то превращается в нечитаемую кашу. Многие критикует такой подход ещё и за убийство производительности. Но давайте будем честны, даже в рамках концепции Мартина не все практики удачно совмещаются.

Да есть хорошие советы, и про DRY и про классику ООП "Код не должен знать о внутренностях объекта, с которыми он работает". Но так ли слепо мы должны доверять всем что там написано?

2. Паттерны проектирования. GOF

Ни одно собеседование не проходит без расспросов про паттерны. Про отличие структурных от порождающих и деталей реализации Синглтона. Хотя раньше паттерны считались моветоном, а классический список от GoF вообще походил на корпоративный булщит.

Проводят ли они очевидный контракт? Да нет. Тот же Синглтон имеет десятки реализаций в десятках разных фреймворках с совершенно разным контрактами. Ну да, мы рассчитываем что он обеспечивает единственный экземпляр класса. Или статическую точку доступа к нему, или один экземпляр на поток... Да вообще-то везде по-разному.

Есть неплохие паттерны из DDD, есть паттерны TDD которые всё же практически полезней.

3. Алгоритмы: построение и анализ. CLRS

Книга мощная. Как и знаменитые томики Кнута. И как же любят отдельные выпускники МФТИ чморить все кто не помнит их по памяти. Или притворяться что помнят и брать опонента на блеф.

99% разработчиков, которых я знаю, заучивают подобные учебники перед собеседованием и через неделю забывают вообще всё. Непонятно в какой момент карьеры с этим всем нужном знакомиться? В начале? Так ничего не понятно. В середине? Так зачем если нужные алгоритмы и так понятны с практики.

4. Совершенный код. Стив Макконнелл

В какой-то момент мы решили что нам нужна наша собественная библия. И зачем-то упёрлись в совершенный код. В общем-то, многие вещи поделу и даже примеры на разных языках. Хорошо ли это? Кусочек кода на Visual Basic, кусочек на Java, кусочек на C++.

А правда чтоли что техники защитного программирования во все них одинаково реализацию и смысл? Или это нужно что бы можно было продать книгу любому программисту и охватить большую ЦА?

800 страниц про абстрактные банальности? 30 страниц на главу про самодокументирование с огромной цитатой пьесы?

5. Рефакторинг. Мартин Фаулер

Помните увлечение "запахами" кода и размышления как двигать неделями переменную по всему репозиторию?

Хорошая идея и про непрерывность рефакторинга и атомарные изменения. Но всё-таки большинство примерно слишком "локальные" и мелкие.

Половина книги про:

-Ооо, в метода можно добавить параметр

-Ооо, из метода его можно удалить

-Ооо, его можно переименовать

Ну да.


Мне книги больше нравятся чем нет. Они дают простые ответы на сложные вопросы и дают понятные рецепты и трюки которые можно просто делать. Но не даёт ли это иллюзию компетенции и понимания?

Пишу больше про IT, разработку игр и создание своего издательства в Steam у себя в телеграмме - https://t.me/+bU8GgJY66DUxNzAy

Показать полностью 5
3

Как вас обманывали 12 лет

Помните историю про Flappy Bird? Игра, сделанная одиночкой и заработавшая за 2 месяца 18 миллионов долларов.

Журналисты оочень любят эту историю. Особенно часть, где автор рассказывает что удалил игру из-за того, что ему стыдно, что он подсадил на игру 90 миллионов людей.

А знаете, что это всё  враньё?

Есть информация, что автор, Вьетнамец, подрядил ботоферму знакомого залить ботов. Игра резко подскачила вверх и журналисты начали раздувать эту историю.

На графиках видно, как автор несколько раз жёстко заливав ботов.

А потом... игру за этих ботов забанили.

Игра конечно же принесла деньги потому, что, во-первых, игра пробилась в топ бесплатных игр, а во-вторых журналисты расфорсили тему.

Это пример серого маркетинга и манипуляций. Я считаю, что в играх главное всё-таки игра, а хороший маркетинг помогает умножить ваш результат.

Ну а если игра ноль, то вы знаете к чему приводит умножение нуля.

Показать полностью 2
8

Когда он подошёл к столику я думал он вскроется

Почему-то все думают, что о разработке игр мечтают 18 летние пацаны и девчонки с розовыми волосами на лобке.

Я же  чащу вижу усталых мужчин 35 лет которые когда-то давно засунули свою мечту поглубже и начали впахивать. А сейчас расплачиваются за это потухшими глазами и вечной усталостью.

Пару дней назад меня попросил о встрече человек который уже 2 года присматривается к обучению. Ходит на все бесплатные мероприятия, но пока не решился. Не смог ему отказать.

Договорились попить кофе в центре. Когда он подошёл к столику я увидел серое пятно, будто реальностью расфокусировалась на нём и ещё чуть-чуть и это пятно сотрут с объектива и его не станет.

Поздоровались и он сразу сказал, что хотел попрощаться лично. Собирается подписывать контракт, достало его уже всё.

Разговорились.

Запомнились его слова: "Понимаешь, мне уже 36, я всю жизнь с одной работы на другую, дети уже не маленькие, я так могу ещё лет 20. Но зачем? Машину через пару лет другую взять? У меня много опыта, идей, дисциплина не как у пацана, а трачу я это всё не херню. Хоть умру героем."

Говорю: "Ну сиди делай игру после работы по чуть-чуть. Маленькое движение вперёд даст смысл и надежду".

Вздыхая отвечает: "Стыдно. Я все видео твои пересмотрел, по памяти каждую кнопку в движке помню. Но стыдно. Хрень же получится. Сразу себя сравниваю со всеми этими молодыми кто и делает что-то классное, и издателей и инвесторов находят. Деньги зарабатывают. А я старый хрен который кубики по сцене двигает."

Попросил его прийти через пару дней на сессию питчинга игр, как раз в городе знакомые проводили.

Там познакомил с разработчиками которые выпустили по 2-3 успешных игры на Steam. Он оживился, оказалось что всё это люди его возраста которые тоже поздно начали и потихоньку реализовали свой потенциал.

После встречи спросил его: "Ну что, когда проводы?"

Его ответ: "Никогда, у меня теперь есть цель и ноль сомнений)"

Показать полностью

Смена профессии: Умный VS Глупого

Если вы собираетесь становиться айтишником, то у вас есть два подхода.

Давайте разберём каждую точку вашего пути  с двух вариантов.

Умный подход - за меньшее время максимум результата.

Глупый подход - за большее время минимум результата.

Обучение

Глупый: Скачает устаревшие книги по советам из интернета. Ни разу их не откроет и забьёт.

Умный: Найдёт ускоренный курс на 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

Показать полностью 1
18

Соревнование по посылу

У меня во дворе колодце живёт пару маргинальных тёток. У них есть фишка - перекрикиваться в окна.

Все остальные становятся невольными чекистами затаившимися в глубине квартир и прослушивающими наверное самый не защищённый канал связи в мире.

Теперь, во дворе новый челендж. Когда в очередной раз, соседка, пропитым голосом открывает канал связи, мы играем кто первый пошлёт её нах*й.

Зато живу в памятнике исторического наследия.

Отличная работа, все прочитано!