Apr. 13th, 2017

bamalip: (Default)
не могу удержаться, чтобы не процитировать jdevelop:


За стартапы
Apr 6, 2017

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

Итак, предположим на секундочку что вы придумали супер-пупер офигенную идею, которую до вас еще никто не делал, а если и делал - то крайне хуево или неправославно. Вы еще и пиздатый программист (или считаете себя таковым), соответственно у вас в голове есть цельная картинка как это все должно работать. Ко всему прочему, вам получилось найти денег на вот это все, и что уж совсем маловероятно - но возможно - собрать команду в отдел R&Dраспиздяи и долбоебы.

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

Йа богиня дискотеки.
Самая распространенная в данной ситуации - это God-pattern. Создатель и идейный вдохновитель стартапа изначально становится “во главу угла” и выходить оттуда не собирается аж никак. Все решения принимаются с его непосредственным участием, под неустанным личным контролем. Весь код старательно удерживается в голове и вообще “рука на пульсе”.

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

На стадии развития, когда все больше устаканилось и примерно ясно, куда идти-лететь-ползти - такая вот замкнутость процесса начинает причинять вред.

Одна голова ногам покоя не дает.
Поскольку вся коммуникация замкнута на одного человека, случается риск получения жопы. Когда в режиме 1-1 принимается изначально неправильное решение по выбранной архитектуре. Например выбирается .NET там, где достаточно было бы PHP, или какой-нибудь развесистый Haskell там, где можно обойтись Java. Грубо говоря условный Вася подошел к условному Иван Иванычу и предложил всунуть штуку Икс в проект. Иван Иваныч подумал и решил - а почему бы и да - и дал добро. Вася пошел пилить - и выпилил. А затем оказалось, что условный Петя теперь нифига не понимает вообще, что сделал Вася и как это все поддерживать. И теперь в проекте есть два человека с Уникальным Знанием. В перспективе - таких человеков становится все больше и больше. И иногда даже наступает момент, когда все нажитое непосильным трудом на .NET коллегиально решается переписать на PHP. И вот тут надо очень постараться пояснить такое изменение политики партии инвесторам, которым похуй что там где - они ждут свои миллиарды назад.

Крикократия.
В стартапах принято исповедовать модные слова типа меритократия, которые помимо высоты помыслов и сладости смузей - показывают всю стильность и молодежность коллективов, власть достойных и все дела. На практике это чаще всего означает “кто громче орет - тот и прав”. Некоторые считают что это хорошо и правильно - затыкать собеседника на полуслове и констатировать факт непонимания глубины глубин. Дескать, если ты умеешь отстаивать свое мнение - значит ты перекричишь собеседника и настоишь на своем. Особенно это касается так называемых “брейнштормов”, когда все в едином порыве пытаются понять как жеж так выпиливали-выпиливали, и вроде блести и даже конфетка - а только никому и в хуй не впилась. Иными словами, плюрализм мнений подменяется площадным базаром с непредсказуемыми последствиями.

Зов предков.
Есть категория людей, которые очень любят копировать методологии, приборы и материалы. Неважно, будь это разработка нового продукта или просто дизайн чего-то там - существует набор Официально Одобренных Партией приемов, которым следует неукоснительно следовать, потому что деды завещали. Различия в целевой аудитории совершенно неважны - если раньше делали тракторы кувалдой и топором, то сгодится и для спрея для волос. Сложно переоценить вред этих подходов для разработки чего-то нового и доселе неизвестного, хотя в определенном смысле здесь есть рациональное зерно - изобретать управленческие велосипеды вряд ли стоит, а вот рассмотреть продукт в контексте бизнес-процессов и понять его отличие от предыдущего топора - крайне желательно. Но в то же время бесполезно учить старую собаку новым трюкам, особенно если она этого не хочет. Кстати исходя из этого есть определенный неформальный критерий отбора кандидатов для YC - скорее посев дадут двум чувака в возрасте 22 лет, чем 35-летним старперам, в силу гибкости мышления и способности быстро адаптироваться к новому, не таща за собой мертвый груз отживших свое знаний и умений.

Купи слона.
В кругах стартаперов есть поверье, что если сделать Пиздатый Продукт™ - то он начнет продаваться сам по себе и пользователи будут прямо shut up and take my money. Это было правдой в начале нулевых, когда хороших бесплатных вещей было совсем чучуть и народ платил даже за редакторы конфиг-файлов. В конце десятых такая конь цепция как минимум удивительна, но довольно нередка - особенно когда верхушка стартапа - технари. Технари очень погружены в свой идеальный мир типов и морфизмов, и какой-то сиране маркетинг их волнует на порядки меньше чем название переменной или красота интерфейсов для очередного фреймворка. Результатом действий такой команды технарей скорее всего будет нечто красивое внутри, со свистками в свистелках и пердаками в перделках (или наоборот?) - но искушенный пользователь на это будет смотреть именно с точки зрения “а чем это лучше вон той бесплатной корейской херни”. После выяснения что свистелками и перделками уже никого не удивить - принимается мудрейшее решение “а давайте мы въебем в маркетинг и продажников кучу денег и они нам все продадуд”. Порочность этой идеи очевидна любому человеку, бравшему в руки айфон и люмию - если ты шейпишь маркет - то да, но если ты никто и звать тебя никак - то влив лям денег в продажников на выходе скорее всего получится залупа на воротник.

Резюме
Пилить стартапы - это очень хорошее и полезное занятие, в чем-то похожее на Лас-Вегас. Ты или в дамках, или в жопе. За стартапы написано множество книг, есть разные там коучеры и прочие продажи воздуха на семинарах “как заработать миллиард” - но очень мало людей умеют их делать. И большинство тех, кто их умеет делать - увы, не технари. Технари изначально находятся в невыгодной позиции, поскольку привыкли общаться с компьютерами, а не с живыми людьми, которые хотят дать тебе деньги.

The intuitive mind is a sacred gift and the rational mind is a faithful servant. We have created a society that honors the servant and has forgotten the gift.


bamalip: (Default)
Тут в другом месте возникло обсуждение, но поскольку то место проклято супом, лубянкой и пользовательским соглашением, то отвечу здесь.

Основной смысл и польза от существования операционной семантики - адекватное отображение таких аспектов вычисления, как временная и пространственная сложность (complexity theory). Потому что денотационной семантике на них обычно начхать (пардон, другими словами, она от них абстрагируется). А операционной, соответственно, начхать на все остальное, кроме сложности (абстрагируемся по-другому). Поэтому все странности в операционке вызваны различием в целях.

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

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

Profile

bamalip: (Default)
шерстяной ленин

September 2017

S M T W T F S
      1 2
3 4 5 6 7 8 9
1011 12 13 14 1516
1718 19 20212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 05:30 pm
Powered by Dreamwidth Studios