Pull to refresh
-1
0
Send message

8 советов начинающим программистам или ретроспектива моей карьеры

Reading time5 min
Views44K


Ровно 15 лет назад, в этот самый день, своими дрожащими коленками я переступил порог офиса небольшого провинциального интернет-провайдера. Моя первая настоящая работа в качестве программиста. Знаний почти нет. Тонкий испуганный голосок откуда-то из желудка советует развернуться и убежать подальше, пока окончательно не опозорился. Глубокий вдох-выдох, и вот генеральный директор уже ведет меня в небольшую комнатку-подвальчик, показывает на полуразобранный компьютер, видавший лучшие времена: «Это твое рабочее место. Устраивайся». Так началась моя карьера.

Но перенесемся в настоящее. Сейчас я пишу эти строки, сидя в удобном офисе престижного БЦ в центре Москвы. За плечами работа с крупными международными брендами и разработка сложных fintech приложений. Сотни книг прочитано и десятки статей написано. Мания величия давно вылечена. Менеджерские позиции опробованы и отвергнуты. Душевное равновесие найдено. Любовь к профессии сохранена. Однако это не статья из серии “Какой я молодец. Делай, как я и тоже будешь молодцом”. Эта статья о том, какие ошибки я совершал и что можно было сделать лучше. Эта статья — ретроспектива моей карьеры.
Читать дальше →
Total votes 73: ↑61 and ↓12+49
Comments47

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn

Reading time16 min
Views16K
Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры принесла студия Guerrilla Games вместе с игрой Horizon Zero Dawn. Конечно, такие облака умели рендерить и раньше, но студия сформировала что-то вроде промышленного стандарта на исходные ресурсы и используемые алгоритмы, и в настоящее время любая реализация объемных облаков так или иначе этому стандарту соответствует.

UPD. Картинка обновлена. Изменения описаны в конце статьи.


Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments18

В разработке — каждый сам за себя. Но иногда это приводит в тупик

Reading time5 min
Views47K


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

У меня была неделя — целая бесконечность, которой мне не хватило. Снова и снова я перебирал в голове варианты использования того, что должен сделать, но картинка идеального модуля не клеилась. Всегда находился кейс, который хорошо показывал: такой дизайн — говно. Я думал, играл на гитаре, пробовал писать, тупил в монитор, гуглил, играл с детьми, снова думал — голова всегда была занята дурацким модулем.

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

В понедельник утром я отправил пулл реквест. Его приняли с восторгом. Но способ, на который я пошел… вот уж никогда не думал, что отважусь на такое.
Читать дальше →
Total votes 170: ↑157 and ↓13+144
Comments99

Рисуем мультяшный взрыв за 180 строчек голого C++

Reading time6 min
Views69K
Неделю назад я опубликовал очередную главу из моего курса лекций по компьютерной графике; сегодня опять возвращаемся к трассировке лучей, но на сей раз пойдём самую чуточку дальше отрисовки тривиальных сфер. Фотореалистичность мне не нужна, для мультяшных целей подобный взрыв, как мне кажется, сойдёт.

Как всегда, в нашем распоряжении только голый компилятор, никаких сторонних библитек использовать нельзя. Я не хочу заморачиваться с оконными менеджерами, обработкой мыши/клавиатуры и тому подобным. Результатом работы нашей программы будет простая картинка, сохранённая на диск. Я совершенно не гонюсь за скоростью/оптимизацией, моя цель — показать основные принципы.

Итого, как в таких условиях нарисовать вот такую картинку за 180 строчек кода?


Читать дальше →
Total votes 204: ↑204 and ↓0+204
Comments58

Клуб анонимных программистов, или почему только псих может стать настоящим программистом

Reading time8 min
Views60K
Конечно, вместо того, чтобы тратить время на написание этого поста, я мог бы изучать программирование. Но здесь ведь собрались не ботаны-зануды, чтоб на ночь глядя заниматься всякой компьютерной чепухой, верно? Намного интереснее разобраться — почему одни люди «рождены» быть программистами, а другие страдают и плачут по ночам, но у них мало что выходит. Сначала давайте разберемся в том, кто же такой программист.

Возьмем средний портрет программиста: невзрачный, щуплый, нелюдимый ботан-очкарик, который дни напролет проводит выжигая кодом глаза. Если бы 100-200 лет назад быть таким — шанс выживания был бы невысок. В те времена (во все времена) интеллект был важен, но и другие качества были не менее важны для выживания: сила, ловкость, общительность, умение наладить контакты, поддерживать отношения, завладеть самкой.

Изгою в обществе жилось несладко. Связей мало, общаться никто не хочет, размножаться тоже. Защитить семью труднее, чем обычному, туповатому, но смекливому бандюгану. Если изгой был успешным ботаном, у него был шанс снискать себе уважение в обществе (как-то пучеглазый Эйнштейн с языком наперевес), и ему за его заслуги прощали его чудаковатость. И тем не менее, аутсайдерам жилось несладко.

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



Читать дальше →
Total votes 108: ↑43 and ↓65-22
Comments138

Information

Rating
Does not participate
Registered
Activity