Search
Write a publication
Pull to refresh
12
17.1
Антон Беляев @Avvero

Software Developer

Send message

Найм сломан?

Все говорят, что система найма в ИТ сломана и ориентирована на людей с опытом. Но я скажу больше: она не просто сломана — она дискриминационна. И вот эта правда настолько неудобна, что про неё предпочитают молчать.

Готовы? Система найма в ИТ — это дискриминация по интеллектуальному признаку. 💥

Да-да, вы всё правильно услышали. Умные люди легко получают работу и продвигаются по карьерной лестнице. А всем остальным приходится пахать втрое больше. Разве это честно? Разве человек виноват в том, какой интеллект ему достался при рождении? Нет. И всё же дорога в ИТ открыта в первую очередь умным. Это прямое нарушение принципа равных возможностей!

Чем врождённый высокий интеллект отличается от «голубой крови» аристократа? Ничем. Оба даны при рождении, оба никак не зависят от воли человека. В современном обществе мы уже не преклоняемся перед детьми дворян. Почему же перед «детьми-умниками» мы не просто преклоняемся, а ещё и создаём для них тепличные условия?

А нам остаётся только, как крестьянам при дворе, тяжело трудиться.

Tags:
0
Comments5

Что такое корпоративный ИТ, если не гарем?

Заметьте: компании требуют от вас эксклюзивности - никакой второй работы, никаких сторонних проектов. У вас два работодателя? Ах ты профурсетка! (А если вы сеньор - извините, куртизанка.)

При этом сама компания может иметь хоть тысячу сотрудников, и всё это считается нормальным. А вам в итоге не принадлежит ничего, кроме опыта и пары футболок с логотипом.

Tags:
-1
Comments6

Почему недостаточно Unit тестов и нужны Интеграционные?

Когда мы пишем юнит-тесты, мы словно смотрим на систему в упор. В поле зрения - отдельные строительные блоки, отдельные функции и классы, из которых складывается фича. Это точечная проверка, фокус на корректности изолированных элементов. Мы видим, как компоненты связаны между собой, но только внутри одного участка - не видим всей картины.

Интеграционные тесты - это другой масштаб. Мы поднимаемся выше и наблюдаем работу всей системы в целом: как компоненты взаимодействуют, как фича проходит сквозь слои приложения, как реагирует окружение. Это не тест кода как такового - это тест результата, поведенческий сценарий.

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

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

Tags:
0
Comments0

Вокруг только и разговоров о тех, кто накручивает опыт и использует нечестные способы пройти интервью. Хорошо. Хотим кристальной честности? Тогда давайте посмотрим на другое.

Я не про банальные приёмы вроде зайти к начальнику в чистой рубашке и после обеда, когда он сыт и добр. Я про тёмную сторону - оккультные технологии! Вот если человек подписан на канал об астрологии, то он точно попросит повышение, когда Марс в десятом доме. А если нет, то его партнёр пошлёт сигналы во Вселенную.

Разве это честно? Пока мы зубрили вопросы к экзамену, кто-то звал халяву. Пока мы пахали, кто-то пил шампанское, приправленное пеплом сожжённого желания. И вот теперь еще и это.

Товарищи, это уже не карьерный рост, а магическая допинг-программа. И с ней нужно бороться.

P.S. Интересно, а пользуется ли нанимающая сторона какими-то секретными техниками поиска и найма?

Tags:
-3
Comments0

Зачем нужны сеньоры на самом деле.

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

Для начала давайте вспомним, кто в команде есть:

  • Продукт - его главный продукт это в "Forbes 30 under 30".

  • Тимлид - климатический активист: следит, чтобы в команде всем было комфортно, мягко и без токсичных выбросов. Уже не разработчик, но ещё не менеджер.

  • Мидл - соль земли, тянет всё. Мечтает стать сеньором, чтобы «думать, а не делать». Но перформанс-ревью мешает: «Требуется больше инициативы в области технического... бла-бла-бла».

  • Джун - вымер. Заменён на Copilot'а.

  • Сеньор - подключился последним. Но спасибо, что пришёл.

Иногда, чтобы что-то сдвинулось с мёртвой точки, нужно сделать больно. Сказать неприятное, протолкнуть сложное, выйти один на один с сеньором из чужой команды. Катнуть мимо пайплайнов, поправить на живом рантайме. Кто ещё подойдёт?

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

Сеньор - идеальный инструмент для грязных дел. Там, где нужно больше прогресса и меньше согласований. Смесь смелости, индивидуализма и управляемого хаоса.

Tags:
+2
Comments3

Не говнокод, а плодородная почва для прекрасного кода будущего.

Знакомо ли вам это чувство, когда вы приходите в проект — и вам кажется, что вокруг один говнокод? Нет, не кажется. Я называю это "нарастающим циклом улучшения кода". Каждый новый разработчик уверен: до него было плохо, а теперь всё станет хорошо. И каждый следующий — тоже. Забавно, но никто не догадывается, что предыдущий думал ровно то же самое.

Наивный скажет: это просто борзость и переоценка собственной крутости. Но что, если это правда? Что если каждый новый код действительно лучше предыдущего? Ведь тот самый "говнокод", что вы нашли, вполне возможно, когда-то заменил ещё больший ужас. Просто вы этого уже не видите.

Так что всё хорошо: код проекта действительно улучшается. А твой код — плодородная почва для прекрасного будущего.

Tags:
+1
Comments2

Деплой без релиза опасен для здоровья продукта

Говорят, в некоторых компаниях участились случаи деплоя без релиза. Одна из причин заключается в том, что молодые продактоунеры боятся выпускать в мир новые фичи. Они переживают за них — их может не принять якобы жестокий и несправедливый мир пользователей.

Хочу напомнить: такая практика приводит к застойному накоплению фичей в продакшене и опасна для здоровья продукта!
Мало того, что страдает прод, так ещё и каналы доставки простаивают. Порой инженеры вынуждены делать технический релиз, чтобы просто убедиться, что всё это ещё работает. А оно работает — ещё как! Continuous Integration и Continuous Delivery хоть и переживают кризис, но полны сил и готовы удовлетворить потребности бизнеса.

Поэтому, дорогие коллеги, выпускайте фичи чаще, чтобы бизнес был доволен. Потому что если не вы, то кто-нибудь другой сделает это за вас.

Tags:
0
Comments1

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

Что же мы, простые труженики клавиатуры, можем противопоставить этому нагнетающему инфополю?

Наш ответ — система ГУС: «Готов к увольнению и собеседованиям».

Комплексная система технико-психологической подготовки, которая включает:

  • Подкладывание подушки — накопить 3–6 окладов и не потратить.

  • Спринт по собеседованиям — пройти 5 созвонов за неделю и не сгореть.

  • Удержание оффера — получить оффер с +10% к текущей ЗП на фоне «мы все держимся».

Будь готов! Всегда готов!

Tags:
+2
Comments1

Как бы выглядел оффер с релокацией образца XIX века.

Во второй половине XIX века десятки тысяч китайских рабочих были завлечены в США для строительства железных дорог, особенно Тихоокеанской трансконтинентальной магистрали. Им обещали высокие заработки и «новую жизнь», но по факту ждали ужасные условия труда, дискриминация, долговая кабала и невозможность вернуться домой. Это было де-факто рабство, замаскированное под трудовую миграцию.

А как бы выглядел такой оффер сегодня, если бы его постили в LinkedIn?

----

🚢🔥 Горячая вакансия! Релокация в США! 🔥🚢

Привет! Мы — динамично развивающаяся железнодорожная корпорация с офисами по всему Западу Америки. В связи с масштабным инфраструктурным проектом (🚄 Transcontinental Railroad) открываем набор на позицию Railway Infrastructure Engineer (Junior).

Что предлагаем:

  • 📍 Калифорния, onsite

  • 💼 Офер: вилка обсуждается, если не можешь есть руками

  • ✈️ Полная релокация: парусник за наш счёт

  • 🛏 Корпоративное жильё: земля, палатка, иногда яма

  • 👥 Комьюнити: более 12 000 талантливых специалистов из провинций Гуандун и Фуцзянь

Что будет входить в задачи:

  • Прокладывание рельсов сквозь скалистые горы

Требования:

  • Умение работать 20 часов в сутки, не задавая вопросов

  • Устойчивость к взрывам, змеям, дизентерии и белым начальникам

  • Желание «изменить жизнь к лучшему» (не свою)

  • Английский не нужен, рот открывать не потребуется

Приятные бонусы:

  • 🍚 Питание: рис, иногда тёплый

  • Нет налогов (и прав тоже)

✉️ Не упусти шанс! Присылай свою анкету (имя, возраст, пригодность к физическому труду) ближайшему рекрутеру в порту Гуанчжоу. Количество мест ограничено.

Tags:
Total votes 6: ↑3 and ↓30
Comments3

Почему нам стыдно верить в астрологию, а в программирование — нет?

Вот вам два примера:

  • Это Сергей. Он — архитектор, скорпион с асцендентом в раке и Кету в первом доме. Уверен, что ретроградный Меркурий влияет на то, когда нужно проводить встречи.

  • Это Николай. Он — бэкенд-разработчик, пишет коннекторы к месседж-брокеру в платёжном агрегаторе. Утверждает, что настоящий программист должен знать Таненбаума и делать всё по SOLID.

Современный, считающий себя прогрессивным человек посмеётся над Сергеем и кивнёт Николаю. Потому что держит в руках айфон — и он как-то работает, значит, эти «технологии» не вымысел. Хотя сам вряд ли объяснит, как это происходит.

Из этих двоих чаще оказывается прав именно Сергей — по крайней мере, он точно знает, когда не стоит катить на прод. А Николай… он не может объяснить, почему всё падает после его деплоя.

Но в общем и целом: Николай знает, как работает код — пока он работает. А вот почему он не работает, когда падает — уже нет. Сергей знает, как система должна работать, но не знает, как она работает на самом деле. И все мы делаем вид, что во всём разбираемся и только Меркурий — честно ретрограден.

Tags:
Total votes 7: ↑2 and ↓5-3
Comments2

Я внедрил скрам и не могу закончить ремонт на балконе.

Начинал всё по уму: разбил эпик на задачи, расставил приоритеты. Какие-то оценил сам, по другим — созвал консилиум. Привлек электрика: в команде не было экспертизы, хотя сын уверенно заявил, что справится. Оставим это на его совести — еще вчера он пытался вставить батарейку в игрушку вверх ногами, но делал это с таким выражением лица, что потенциал сеньора виден невооружённым глазом.

Проект, конечно, со спецификой: параллелить задачи сложно. Идею "я утепляю, а жена в это время красит обои, а потом как-нибудь сольем" мы отвергли сразу — архитектура не позволяла.

Поначалу шло бодро: за первый месяц 30% задач закрыто — утепление, 3 из 4 стен покрашены. Но как водится, наступил кризис ресурсов - внезапно вышел Kingdom Come: Deliverance II и съел все капасити ведущего разработчика. Прогресс застопорился.

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

Дополнительные таски множатся: надо помыть окна по всей квартире, разобраться с дверцей шкафа, которая теперь открывается строго по фазе луны. Думаю, пора внедрять SAFe — горизонт проектов растёт.

P.S. Прогресса по основной задаче нет, но радует, что бизнес пока не планирует резать косты.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments3

Вы наконец победили. Потратив большую часть карьеры на охоту за багами, вы достигли невозможного: багов нет. Вообще. Пусто. Доска с багами пуста, QA тихо плачет в углу, а CI-сервер бездельничает, ровно светясь скучно-зелёным цветом. Но вместо того чтобы попасть в рай, вы оказываетесь в лимбе. Если вы играли в игры начала нулевых, это похоже на выход за границы карты: голый ландшафт, странная геометрия и надпись от разработчика: «Ты не должен был оказаться здесь. Но раз уж оказался — молодец, конечно, только смысла в этом нет».

Что происходит дальше? Ничего хорошего. Первый сюрприз — вас никто не похвалит. Бонуса нет, промоушена тоже. Менеджер лениво листает ваш performance-review, хмурится и спрашивает: «А что ты делал весь квартал?» Ты отвечаешь: «Я избавил нас от багов». Он пожимает плечами: «Так они и раньше вроде не были критичными».

Кто-то бросится чинить метрики, и начнётся новый головняк, потому что вы уж слишком постарались. «Багов не может не быть, значит, сломана метрика», — уверены все. Предлагаете метрику «отсутствие багов» — слышите в ответ: «Недоказуемо, выборка мала!»

Вы думали, что победа откроет двери в рай, а распахнули портал в лимб, где невозможно доказать собственную полезность. Пару поколений инженеров мы упорно объясняли бизнесу, что «баги бывают, это нормально». Благодаря нам продакт-оунеры научились бравировать SLA с допуском на косяк. Мы воспели «умеренное количество дефектов» как здоровый холестерин IT-организма — и вдруг вы свели холестерин к нулю.

Парадокс: все процессы настроены на борьбу, а не на мир. Метрике нужен враг, а процессу — вызов. Без них графики плоские, алерты молчат. Добро пожаловать туда, где ваши достижения стоят ровно ничего. Вся организационная религия строилась на борьбе с багами. Уничтожив последний баг, вы «убили бога» процесса. Всё, что давало смысл (defect-метрики, ретро-ритуалы, баг-баунти), обесценивается; наступает инженерный нигилизм. Великая битва окончена, триумфаторов нет, система сломана. Баг умер — и ты его убил!

Совет: в следующий спринт оставьте пару багов — ради здоровья экосистемы.

Tags:
Rating0
Comments0

В обсуждениях тестирования микросервисов часто всплывает статья Мартина Фаулера Testing Strategies in a Microservice Architecture. Опубликованная в 2014 году, она опирается на концепцию тестовой пирамиды, сформулированную ещё в 2009-м. С тех пор ландшафт тестирования заметно изменился — в первую очередь за счёт появления и широкого распространения Docker и Testcontainers, которые существенно повлияли на практики и экономику тестирования.

Эта трансформация хорошо отражена в более современных источниках:

Сам Мартин Фаулер также в более поздней статье On the Diverse And Fantastical Shapes of Testing отмечает, что трактовка "юнит-тестов" далеко не однозначна и зависит от контекста.

В контексте вашего проекта это означает, что использование интеграционных тестов в 2025 году оказывается существенно проще, дешевле и эффективнее, чем это предполагалось в рамках модели 2009 года.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Сениор - это когда он 15 минут на стендапе рассказывает, как неминуемое стечение обстоятельств не позволило ему завершить задачу, но вопреки всему он сохранил способность рационально мыслить и не потерялся в лабиринте сложностей. Лишь его безграничный профессионализм позволил углядеть скрытые проблемы. Он начал их решать до того, как они явили себя и стали бы помехой любому менее профессиональному специалисту. И вот теперь он, уставший, но не сломленный, озарил наши серые будни своим присутствием и осветил нам путь своей мудростью.

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

Пока мы, простые смертные, перекладываем json, он парит на шаг впереди всех и решает все будущие проблемы. Никто не будет выяснять, насколько они вероятны, ибо ущерб от них настолько велик, что все молча внимают. И способность выслушать его - это лишь малая дань его величию. А усомниться - значит расписаться в собственной некомпетентности и неспособности узреть очевидное совершенство.

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

И самое обидное - у него совершенно не хватает времени на задачи, потому что 90% времени он самоотверженно тушит пожары, разгоревшиеся от искры говнокода других.

Tags:
Total votes 7: ↑7 and ↓0+7
Comments15

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

Tags:
Total votes 1: ↑0 and ↓1-1
Comments0

"О, великие принципы SOLID, благословите мой код на чистоту и ясность. Пусть функции мои будут едины в своей ответственности, как воины в строю, и не возьмут на себя бремя чужих забот. Пусть классы мои будут открыты для расширения, но закрыты для изменения, как крепость, стойкая против врага. Да не нарушит новый код работу старого! Пусть заменяются мои подтипы без нарушения порядка, как звенья одной цепи. Пусть интерфейсы будут разделены, как ветви дерева, и зависимости инверсированы, как отражение в зеркале. Пусть будет так, как завещал Мартин, и код мой будет чист, как ряса, как помыслы мои."

Отрывок из "Современные идолы разработки".

Tags:
Total votes 3: ↑2 and ↓1+4
Comments0

Все знают про канареечные релизы (canary deployment). Это когда новую версию сначала выкатывают на небольшую группу пользователей, чтобы проверить, не задохнется ли канарейка. Но что делать, когда нужно релизить много и регулярно? Тут нам на помощь приходят петушиные релизы!

Что такое петушиные релизы?

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

Преимущества подхода:

  • Более высокий когнитивный ресурс у инженера с утра - "утро вечера мудренее"

  • Минимальное влияние на пользователей (они еще спят)

  • Время на "настаивание" релиза перед началом активного использования

  • Возможность быстро откатиться, если что-то пошло не так

  • Предсказуемый график релизов

  • Возможность обновить все сервисы системы одновременно в тихий утренний час (даже если релиз не будет бесшовным, это вряд ли кто-то заметит - все полусонные)

Когда это особенно полезно?

  • Когда бизнесу нужны новые фичи "еще вчера"

  • При работе с микросервисной архитектурой

  • Когда команда распределена по разным часовым поясам

Исторический контекст

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

И помните: лучше регулярные петушиные релизы, чем ждать, пока жареный петух клюнет!

Tags:
Rating0
Comments1

Позвольте представить вам концепцию эллинского подхода в архитектуре.

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

Вот некоторые потенциальные преимущества такого подхода в контексте программной архитектуры:

  • Личное взаимодействие: Устный обмен информацией подразумевает тесное общение, что может способствовать лучшему пониманию и командной работе.

  • Гибкость: Отсутствие строгой документации может сделать процесс более адаптивным и гибким.

  • Быстрое принятие решений: Устное общение обычно быстрее письменного, что может ускорить процесс принятия решений.

  • Фокус на главном: Отсутствие необходимости в документации может позволить команде сосредоточиться непосредственно на разработке.

Представьте, какими чудесными были бы наши рабочие встречи! Никаких утомительных записей - только живой диалог в лучших традициях античной Греции.

Tags:
Rating0
Comments0

Однажды Диоген увидел, как разработчик читает требования и плачет, а слёзы смывают грязь с его лица. Диоген перестал ходить к реке умываться, сказав: «Мальчик превзошёл меня в простоте жизни».

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

Я нагуглил некоторое количество философских школ и спешу предложить вам такую аналогию:

  • Киники — просто и минималистично.

  • Платоники — невыносимо сложно и идеалистично.

  • Стоики — надёжно, но рано или поздно всё упадёт.

  • Софисты — красиво, но непрактично.

  • Прагматики — работает, и ладно.

  • Схоласты — бесконечные обсуждения архитектуры, но ни одной строчки кода.

Теперь давайте остановимся подробнее на каждой школе мысли.

Киники

  • «Зачем нам фреймворк? Есть же bash!»

  • Документация? «Читайте код».

  • CI/CD? git push --force решает все проблемы.

  • Docker? systemd нам в помощь.

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

  • Проводят демонстрации багов прямо на проде.

Платоники

  • Реальный код — это лишь несовершенная тень идеального дизайна.

  • Каждый баг — это лишь тень несовершенства реального кода.

  • Нам нужен ещё один слой абстракции между абстракциями.

  • Простое решение не может быть правильным по определению.

  • В идеальном мире каждый метод — это интерфейс.

  • Настоящая архитектура существует только в UML-диаграммах.

Стоики

  • Падение прода неизбежно, а каждая ошибка может стать последней.

  • Стремление важнее результата — «Ничего не получилось, но мы сильно старались».

  • Никто не ощущает баги — о них только думают.

  • Не облекай свой код в пышные абстракции.

  • Люди пишут код с багами невольно.

  • Являюсь ли я частью проблемы или её решения?

Если вы слышите, как кто-то читает молитву о безмятежности, то перед вами стоик: «Боже, дай мне душевный покой принять тот код, который я не могу изменить, мужество изменить тот, что могу, и мудрость отличить одно от другого».

Софисты

  • Красота кода важнее его практичности.

  • На код-ревью больше обсуждают стиль, чем функциональность.

  • «Да, это медленнее работает, зато посмотрите, какая архитектура!»

  • Могут убедить заказчика, что баг — это фича.

  • На код-ревью побеждает не самый правый, а самый красноречивый.

Прагматики

  • «Работает? Не трогай. Не работает? Почини как можешь».

  • Документация? «Код сам себя документирует».

  • Архитектура — это то, что получилось в итоге.

  • Технический долг? «Будущие проблемы решим в будущем».

  • «Лучшее — враг хорошего, а рефакторинг — враг работающего».

Схоласты

  • Команда может месяцами обсуждать «идеальную архитектуру».

  • Создаются сложные диаграммы и документация.

  • Проводятся бесконечные митинги по дизайну.

  • Каждое решение требует согласования на архитектурном комитете.

  • Но реальный код так и не пишется.

Заключение

Возможно, главный урок, который мы можем извлечь из этой аналогии — это то, как много вокруг людей с неправильными подходами и мировоззрениями. Но не унывайте и помните мудрые слова Марка Аврелия:

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

Tags:
Total votes 4: ↑4 and ↓0+4
Comments0

Чему может научить сениора разработчика философ Диоген?

Древние греки были великими, и их мудрость помогает нам и по сей день. Возьмите к примеру Диогена. Рукоблудствуя на глазах у всех, он приговаривал: «Вот если бы голод можно было унять, потирая живот!».

И вот теперь на вопрос архитектора: «Антон, почему вы думаете, что это сложно сделать за неделю?», я могу ответить как философ: «Вот если бы задачу можно было решить, нарисовав стрелку на диаграмме».

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Information

Rating
5,179-th
Location
Барнаул, Алтайский край, Россия
Works in
Date of birth
Registered
Activity