Pull to refresh
0
0
Send message
Вопрос на полях: кто такая предрассудка?
Рост мощностей железа сыграл злую шутку с программистами: этим словом стали называть всех подряд — вот и развели пустопорожнюю болтовню о возрасте, престижности, способностях и прочей лабуде. Теперь программистами называют даже клепателей фронтендовых свистелок, осиливших заюзать, (в идеале — даже правильно) фреймворк, который написали программисты. И хотя свистелок действительно стало нужно намного больше, чем раньше, у, собственно, программистов ничего не поменялось: профессия по-прежнему элитарная, их мало, они нарасхват, и, что самое пикантное — до хедхантеров с их хайпом про возраст и прочие «критерии», программистам вообще нет дела.

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

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

В-третьих, пресловутая «способность к изучению нового», это откровенная глупость, выдуманная хедхантерами, ничего не знаюшими ни про новое, ни про старое, для собственных нужд. Программисты по определению давно научились изучать новое, т.к. это основной профессиональный навык, без которого они не стали бы программистами. Поскольку нанимать программистов для изучения, а не для создания нового — довольно дорогое удовольствие, говорить об этом, как о критерии, довольно странно. Если кого-то все еще прикалывает изучение еще одного языка или очередного фреймворка, само по себе, ему действительно лучше пока что к хедхантеру, чтоб помог продолжить профессиональное становление за счет нового работодателя. От программиста, обычно, уже ожидается выбор технологии (языка, фреймворка и т.д.), адекватной задаче, а уж чем он этого добивается — какими-то невероятно обостренными способностями к изучению нового, опытом или монетку подбрасывает, всем достаточно до лампочки. Если он облажается, его увольняют не как неспособного или старого, а просто как «пока-еще-не-программиста».

О реальной престижности в профессии: мне сейчас 50, программирую примерно с 15-16, примерно с 40 чаще числюсь погонщиком программистов, архитектором и прочими «руководителями», в результате чего могу позволить себе написание кода только наиболее важных и интересных частей системы, или тех, которые нужно сделать быстро и правильно с первой попытки. Написание кода до сих пор моя самая любимая часть в целом любимой работы, и это вряд ли скоро поменяется, а право самому выбирать, что писать — единственная привилегия, которая отличает меня от остальных программистов в проектах. Твёрдо уверен, что если кто-то идёт в профессию за какой-то другой престижностью, его ждёт горькое разочарование и отмазки про «возраст», про «утрату способности изучения нового»… короче, весь букет вот этой ерунды, которую так любят впаривать хедхантеры.
Вероятно, всё же, проверка компетентности, а не компетенций. Компетенции сотрудников вытекают из их должностных обязанностей.
«Своя история в комментариях» про одно эпическое расставание (действующие лица под псевдонимами из соображений гуманизма) начинается, как водится, с исторической ретроспективы. Средней руки частный транснациональный концерн, штабквартира где-то в центральной Европе. После кончины Ричарда Львиное Сердце, основавшего и развившего концерн, бразды правления сосредоточены в руках Бабули — барышни во всех отношениях изысканной и всячески медийной, но крайне далекой от народа, оружившей себя сворой паразитов, присосавшихся к деньгам, коих у концерна еще на долго хватит. После доткомовского бума складывается ситуация, что если у тебя вдруг еще нет ИТ, R&D и прочего современного хайтека, на фоне которого можно пофоткаться, политики вместе с бюджетами пойдут фоткаться с другими, а тебе могут даже не предложить шампанского. Ситуация особенно пикантна в свете того, что Святой Хайтек все еще официальный бренд концерна, вот только последние построившие его инженеры давно на пенсии, да и сам Хайтек морально устарел лет эдак на пять. Кризисное совещание на тему «где срочно взять новый хайтек» решает основать парочку юнитов и прикупить по дешевке дюжину-другую стартапов, и на сцене появляется Мерлин — давний друг Бабули, эксцентричный визионер и чародей, которому дают горсть мелочи и поручение создать R&D юнит для производства диковенных магических устройств. Пару лет все стартапы дружно продуцируют паверпоинт и макеты из картона, и один только Мерлин не унимается и хочет реально строить всю эту хрень, но на эту его причуду, понятное дело, просто закрывают глаза. Так продолжается до тех пор, пока к банде Мерлина под видом обычного девелопера не прибивается один самурай… тут уже можно доставать попкорн))

Юнит Мерлина на этот момент представляет из себя кучку студентов с горящими глазами, абсолютно не понимающих, что и зачем они делают, но делающих это очень интенсивно и периодически выкрикивающих заклинания, которые Мерлин, будучи далеким от ИТ, потом выгодно использует в частных беседах с Бабулей по вопросам финансирования. Самурай, после первого шока, идет к Мерлину и говорит, что так они никогда нифига не построят, и когда выясняется, что он еще и знает, как нужно правильно, Мерлин офигевает и делает его техдиром, с одним единственным условием — рассказывать ему первому, что и зачем они будут строить. За следующие пять лет юнит развивается, обрастает хорошими девелоперами и строит такие диковинные машинки, каких еще и сегодня нет в прайслистах конкурентов. Бабуле на CeBit-ах снова наливают шампанское и все в шоколаде… по крайней мере, пока Мерлин не заводит разговор о том, что пора бы уже машинки, успешно опробованные в пилотных проектах, начинать продавать массово, от чего паразиты скучнеют, разбегаются, как тараканы, и тема переносится «на следующее совещание».

А потом Бабуля удаляется на покой, приходит Наследник и приводит своих эффективных топ-паразитов взамен старым, которые почти сразу же, ну, буквально через год или два, обнаруживают, что в структуре есть какой-то непонятный юнит с диковинными машинками, которые никто не продает, т.к. даже не понимает, что это такое, и решает всю эту непонятную хрень свернуть, Мерлина изгнать, а классных девелоперов, которых, по слухам, в юните полно, бросить под командованием самурая на спасение Старого Святого Хайтека, на тот момент устаревшего по железу уже лет на десять, и удерживаемого на этом свете только примочками новых шарлатанов. И никакие аргументы о том, что у них нет таких денег, за которые спецы в Яве стали бы ковырять их ветхозаветный костыльный «фреймворк» на позапрошлой версии Шарпа на них не действуют, т.к. «дело вообще не в этом», а спасет всех какая-то странная противозаконная хреновина на FPGA, которую они уже заказали индусам. Короче, дружба с самураем у них не складывается, компромата на него у них нет, и, т.к. у них установка зачищать без пленных-раненных-отступных, они начинают подставлять его, пытаясь заставить подписать липовый отчет о результатах одного из руководимых им (технически) проекта, финансируемого из государственных закромов. За этим идут разные события детективно-приключенческого жанра, заканчивающиеся прокуратурой, возвратом распиленных государственных денег и невероятным количеством дерьма в вентиляторе. Сухой остаток предсказуем: юнит разгромлен (в официальной терминологии «успешно интегрирован»), проекты похерены, созданная за 7 лет команда разбежалась, паразитов с их индусскими FPGA и скелетом умершего хайтека задвинули глубоко в известное место, заменив новыми… Самураю достались опыт, незапятнанная честь самурая и предложение от гораздо более толковой фирмы с почти вдвое большим окладом))
Статья сильно напомнила анекдот, как студент к экзамену по биологии выучил одну единственную тему «бобёр», вытаскивает билет, там «рыба». «Ну, рыба живет в воде. Но у нее, к сожалению, нет длинного плоского хвоста и четырех лап. А если бы были, она была бы как бобёр. А вот бобры...»
Единственное, что в статье осталось непроясненным (а, ведь, жутко любопытно же!): какой длинны должны были быть ноги у HR, чтоб это заставило не встать и уйти сразу же после феншуя, вежливо распрощавшись и пожелав всяческих удачь в будущем, а продолжать этот фарс вплоть до его, фарса, полной литературной переработки? ))
Увы, для подробной статьи я слишком ленив, да и материалов давно нет, но, чтоб снять нервное напряжение в зале: я не реверсил топологию чипа, это не входит в число моих любимых хобби… только поковырял самого зловреда и не нашел ничего сенсационного)) Подробности, которые помню: распознан был поганец по надписи на черном экране «Butting from disk...» (если это был авторский лингвистический юмор, то я его оценил). Дальше — больше: после Ctr-Alt-Del на экране без перезагрузки появлялось подобие меню NTLDR, которого на ноуте с линуксом ну никак не могло быть. Мне стало любопытно, разобрал железяку, ожидая увидеть простенький регулятор на мосфете, но нашел внутри чип в TSSOP-20 корпусе без маркировки, с минимальной обвеской, на который были заведены все жилы с USB разъема. Чип на 20(!) ног для регулировки тока LED в копеечной светилке, серьезно? Я, конечно, тоже сразу подумал про драйвера с блекджеком и куртизанками, или, что оно может заряжать аккумуляторы от USB, но нет — ничего такого даже не заявлялось. Железяка хоть и прикидывалась флешкой на 16GB, в MBR там был обычный бутстрап, который грузил некое подобие бутлодера… в слитом дампе этого чуда техники, которое лишь частично декомпилировала Ида, была тупая проверка версии винды на первом разделе первого жесткого диска, и если это не 7, выдавалось псевдоменю NTLDR, выйти из которого можно было только холодным ресетом, а если 7, должно было загрузиться некое другое нечто, прямо по абсолютным секторам, без затей. Но в них ничего не было, в основном заполнено FF и каким-то мусором, а выше 1ГБ вообще ничего не читалось. Я почесал репу, да и отправил это все в мусорник )) Фейковое меню (тоже без изысков, все строки просто поXORины, чтоб не бросаться в глаза) и странный бутлодер указывали на то, что это какая-то довольно примитивная закладка, тупо заточенная на 7 винду, но ковырять глубже и фантазировать, что бы оно там такое делало, если бы взлетело, у меня не хватило ни любопытства, ни времени. Это, конечно, странное произведение китайской инженерной мысли, но, если честно, мне попадались и страннее.
P.S. Если кому интересно, нашел в инете фотку похожей светилки.
image
Довольно забавно наблюдать, как из тривиальнейшего события возникает такая медийная движуха. Сегодня разве что ленивый, ну, или просто далекий от темы еще может всерьез сомневаться в реальности подобных железных закладок разной степени скрытности, вредоносности и в самых неожиданных местах. Не далее, как на прошлое или позапрошлое Рождество мне лично, среди прочего сувенирного хлама, досталась китайская USB LED-светилка, в которой был обнаружен загрузчик, ломившийся в Виндовс (но обломавшийся, т.к. на ноуте был Линукс). Правда, там чип не прятался, а наоборот, нагло и цинично прикидывался регулятором тока. Я всю эту радость пореверсил из любопытства, а потом отправил в мусорник вместе со всеми вещдоками… Эх, если бы я тогда только догадался позвонить в Блумберг и представиться «анонимным источником»))
Могу подтвердить — оценки, как таковые, никого не интересуют. Только практические навыки, знания и адекватность. Я в оценки, вообще, заглядываю, только если возникли сомнения по Lebenslauf )) К сожалению, для выпускников берлинского ТУ характерен наибольший разрыв между реальными знаниями и запросами-ожиданиями. Это не для того, чтоб демотивировать — наоборот, чтоб предупредить. В Берлине сейчас бескрайний и практически пустой рынок рабочей силы. Тонны разномастных стартапов и разработка автомотив-гигантов вымывают оптом все, на чем написано «ИТ». Соответственно, хедхантеры сулят молочные реки в кисельных берегах, и мотивируют студентов гнаться за оценками вместо знаний и опыта, забывая предупредить, что что будет с ними после того, как хедхантеры снимут провизию за первое их трудоустройство, вообще никого не интересует.
Если не указано что-то иное, все высоты в авиации барометрические. Показания указателя высоты — он же барометр — юстируются по выставленному на нем атмосферному давлению. Ниже высоты перехода летают по QNH (местному давлению порта — запрашивается у диспетчера и есть в автоматической сводке погоды), выше — по «стандартному давлению» (29.92 mmHg). Есть мелкие национальные особенности-различия, что в какой момент выставлять и как понимать при этом показания высотомера, но принцип единый — у всех пилотов, если они не прошляпили вовремя выставить правильное давление, в одной местности на любой высоте будут идентичные показания высоты. А радиовысотомер, показывающий расстояние до земли, действительно есть не у всех, но он и интересен, собственно, только вблизи земли (на посадке или полете над препятствиями).
почему за всю историю программирования не было придумано ничего подобного

Почему же не было… было. Если бы среди знакомых попались достаточно злые пользователи, например, дизассемблера IDA, они бы рассказали, что там используется имено такая визуализация.

image
(см. правую верхнюю часть картинки плюс флеш-анимацию в списке скринов, демонстрирующую использование фичи)

Примечательно в этом то, что речь идет о реверс-инжиниринге, т.е. анализе неизвестной, недокументированной системы на уровне исходного кода, т.е. о достаточно специфической области применения. А для разработки известных систем «больше 250 строк», для которой предназначены распространенные IDE, вроде WebStorm, укоренился несколько иной подход.

Есть такой чувак в проекте, называется архитектором. Вот он как раз и следит за соблюдением принципов SOLID и пр. хороших практик из CleanCode, приводящих к тому, что разработчику для внесения изменений в любую часть системы нет необходимости иметь пред глазами (или держать в голове) более 2-3 небольших кусков кода. А для этого возможностей этих IDE, включая рефакторинг, плюс, возможно, UML, более чем достаточно.

Так что, (мое сугубое IMHO), наличие подобного инструмента в IDE было бы, стратегически, скорее, контрпродуктивно, ибо только поощряло бы увеличение длинны спагетти. Я, конечно, преклонен перед проделанной работой и уверен, что это штука весьма полезная для расковыривания кривых недокументированных систем… просто пытаюсь сформулировать фидбек про актуальность: да, такой подход — последний джокер в рукаве, когда архитектора уже нельзя взять живьем и заставить как следует выполнить его работу.
Ну и, наконец, если проскролить ленту гиктаймса, легко видеть, что сразу за этой, идёт статья под названием «Простой контроллер освещения»… Постулирую гипотезу об индуцированной простоте и немедлено требую приз за открытие самого неочевидного свойства этого непростого простого числа ))
Хаб Разработка — хабу Управление: «Et tu, Brute?» ))
Увы, мои наработки все под NDA, так что почитать не получится. Я занимался этой темой очень интенсивно лет пять и попробовал "на зуб" (т.е. на практике, а не на бумаге) огромное количество баянов, которые на бумаге обещали все то же самое. Если кратко, то все упирается в отраженный сигнал, которого на этих частотах на приемнике чаще больше, чем прямого. Плюс, для методов, основанных на фазе, нужно помнить, что объекты (а также проводники в окружающей среде, от которых отражается сигнал) движутся. С этим, конечно, можно бороться, но основной вопрос — зачем? Если на более низких частотах проблема исчезает сама собой. Из того, что реально работало в помещениях, могу упомянуть определение направления движения пассивного RFID-тега относительно антенны (по фазе, частота 866-920МГц) и позиционирование активного транспондера (по уровню сигнала / трилатерация, частота 433МГц). Ну, а для заявленного сценария "позиционирование смартфонов" по концовке сделали свой RTLS на BTLE… банально по уровню сигнала, с плотным покрытием помещения маяками, которые, кстати, стоят на порядки меньше и работают автономно пару лет от батарейки. Все остальное оказалось совершенно неприемлемо по затратам на внедрение и эксплуатацию. Технически же, добавление в модель данных с гироскопа, магнитного поля и пр. подскоки типа heat map и даже дополнительных ИК-маячков, которыми часто хвалятся поставщики якобы работающих "решений" — полная чушь! Это все очень заморочно, моментально сливает батарейку на смартфоне и главное — увеличивает точность/стабильность на пренебрежимо малую величину.
Если у Вас серьезный практический интерес, могу только порекомендовать очень тщательно тестировать всяческие чудотворные "решения" на 2,4/5ГГц, прежде, чем платить за них деньги!
С чего вы взяли про 4x AP (наверное, на комнату 30~40м**2) и что значит "неплохого"? Если поиграться, грантов накосить или научную публикацию тиснуть, то да, технология вполне себе многообещающая… ничем не уступает всем предыдущие баянам и даже весьма элегантна. Но вот обеспечивать заявленную точность СТАБИЛЬНО (так, чтоб потребитель, который за это заплатит, мог на нее положиться) не будет. По целому ряду причин, основная из которых — непригодность частотного диаппазона для решения именно этой задачи. Основным и единственным оправданием попыток делть это на таких частотах всегда была хотелка, делать это "в дополнение" к инфраструктуре из AP, которая у потребителя (теоретически) "и так есть". Но это, увы, сносно работает только в рекламных буклетах… Ибо физику не надуришь :) Так что, если мне понадобится НАДЕЖНО позиционировать роботов в закрытых помещениях, я возьму 433МГц и получу решение на порядки дешевле в развертывании и эксплуатации.
Интересно, как отнесутся пользователи к тому, что ради позиционирования придется пожертвовать соединением и, заодно, носить ссобой маленькую электростанцию, а также, как отнесутся админы к тому, что помещения придется напичкать AP по пол-дюжины на комнату (см. картинку; а ведь помимо самого количества AP, к каждому нужно будет провести помимо кабеля еще и питание). Вероятно, согласно «плана», ожидается массовый восторг…
Было бы невероятно интересно узнать, почему именно не удалось?
У меня лично весьма положительный опыт в проектах на Яве. Сейчас пытаюсь прикрутить к серьезному проекту на плюсах, но результаты, которыми можно поделиться, появятся позже. SQALE, это штука не столько для команды (особенно, квалифицированной), сколько для начальства, плюс для сертификации (если софт нужно сертифицировать) и отвечает не столько на вопрос "когда уже пора", сколько на вопрос "что именно будет, если этого сейчас не делать". Опытный архитектор это, конечно, и так понимает, но вот аргументировать перед начальством с цифрами в руках иногда намого проще :) Хотя, на плюсах и для команды есть, благодаря Сонару, одна маленькая, но весьма приятная мелочь — удобная работа с MISRA. Но это, разумеется, нужно далеко не в каждом проекте...
На тему метрик технического долга рекомендую пристально посмотреть в сторону SQALE. Возможно, удастся избежать большого количества велосипедостроения. Ибо, вопросы, это конечно, хорошо, но цифры все же несколько лучше.
«Рендер-сервер 100/400. Их «Силикон Графикс» специально для этих целей гонит – хай энд. По американским понятиям в принципе уже старье, но нам хватает. Да и вся Европа на таких пашет. Позволяет просчитывать до ста главных и четырехсот вспомогательных политиков.»
В. Пелевин, Generation П, 1999 г.

Information

Rating
Does not participate
Registered
Activity