juan_gandhi: (VP)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2014-09-15 11:21 am
Entry tags:

план по изобретениям

http://www.bfm.ru/news/272704

"По данным СМИ, в России могут обложить налогом разработчиков ПО, а полученные средства направят на разработку новой операционной системы"

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

(2 тыщи баксов на одного программиста; это как нанять 270 пэтэушниц, и они за день вам родят ребенка)

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

"перед российскими разработчиками поставят задачу создать около 10 видов отечественного конкурентоспособного софта"

Около 10 видов!!!

Некто Максим Болышев, начальник: "Достаточно много проблем по безопасности, потому что код, который на других операционных системах есть, очень часто не раскрывается."

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

[identity profile] norian.livejournal.com 2014-09-15 10:18 pm (UTC)(link)
> Самый лучший често сказал, что вообще не знает что это такое

как-то совсем всё печально .. хотя эта задача из разряда тех, которые "в лоб" решаются только через рекурсию, которая не применяется в реальном софте по причине неконтролируемого размера коллстека

[identity profile] juan-gandhi.livejournal.com 2014-09-15 10:20 pm (UTC)(link)
ever heard of tail recursion optimization?

[identity profile] norian.livejournal.com 2014-09-15 11:01 pm (UTC)(link)
и какие гарантии что там нет какого-то сайд-эффекта или компайлер не сможет оптимизировать по своим религиозным убеждениям (опция в релизный набор не входит) ? в функциях, состоящих больше чем из десяти строк

ну или школьный пример рекурсии

factorial(n)
{
if (n == 0) return 1;
return n * factorial(n - 1);
}

вопрос в том, сможет ли среднестатистический программер дать зуб что его поделки стек не сожрут или безопаснее писать всё без рекурсий

[identity profile] juan-gandhi.livejournal.com 2014-09-15 11:20 pm (UTC)(link)
Я не думаю, что могу квалифицированно рассуждать о "среднестатистическом программисте"; кроме того, этот разговор вообще смешон. Вы если хотите себя выставить "среднестатистическим программистом" так пожалуйста; но не надо так уж сразу за всех.

[identity profile] norian.livejournal.com 2014-09-15 11:47 pm (UTC)(link)
вопрос не в среднестатистичности отдельно взятого персонажа, а в том, все ли разработчики в команде (числом, например, N), могут отличить рекурсию с хвостом от рекурсии без хвоста и знают, что компилятор может оптимизировать только одну из и какую именно

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

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


[identity profile] zyxman.livejournal.com 2014-09-16 01:03 am (UTC)(link)
> все ли разработчики в команде (числом, например, N), могут отличить рекурсию с хвостом от рекурсии без хвоста

Тех кто не знают разницы к соответствующей части системы никто не подпустит.

[identity profile] polenova.livejournal.com 2014-09-16 05:17 am (UTC)(link)
Умные все какие! С хвостом, без хвоста. Я просила хоть как-нибудь. Какие разговоры о хвостах, если у человека примитвного знания нет? Мне никто не ответил что такое статик-переменные. А вы о хвостах. Я сейчас старый wpf код копаю - это страшный суд, а не код! Почему в моем штате нет смертной казни, всех бы расстреляла конфискацией.

[identity profile] norian.livejournal.com 2014-09-16 08:00 am (UTC)(link)
а как вы будете запускать дебажную сборку, на отдельной кастрированной тестовой базе ?

а если баг проявляется только на данных клиента ?

[identity profile] sassa-nf.livejournal.com 2014-09-16 06:47 am (UTC)(link)
это вообще-то странный критерий - пользоваться только технологиями из наименьшего общего знаменателя разработчиков.

[personal profile] alll 2014-09-16 07:02 am (UTC)(link)
А причём здесь "компилятор может оптимизировать"? Соптимизировать можно и в голове, выписав в коде цикл вместо рекурсии.

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

(no subject)

[identity profile] norian.livejournal.com - 2014-09-16 08:05 (UTC) - Expand

(no subject)

[personal profile] alll - 2014-09-16 08:16 (UTC) - Expand

(no subject)

[identity profile] norian.livejournal.com - 2014-09-16 08:28 (UTC) - Expand

(no subject)

[personal profile] alll - 2014-09-16 08:35 (UTC) - Expand

[identity profile] polenova.livejournal.com 2014-09-15 11:00 pm (UTC)(link)
Могу без рекурсии написать, нехитрое дело. Но они не могли никак, а от слова "рекурсия" потели. Надо сказать, по интервью ходят очень странные люди. Ну допустим, линк-листы переворачивать и сортировку пузырьком умеют только мастодонты, которые зажились на этом свете. Да и не нужно это в жизни, в сущности. Но вот у меня в списке стоит "multi-threading". Я сама не очень-то сильна в теме, задаю вопрос на автомате - что такое "thread-safe"? Не написать, просто сказать о чем речь. Смотрит в ужасе и слюну глотает. Я начальника спросила - может у меня акцент, волнуется человек, не понимает. Мы вопросы заранее на бумажке все распечатали, чтобы сомнений не было. Позвали еще раз - ну вдруг правда, занервничал, не понимал. По нулям. Не ответил ни на что. Вопросы по SQL я даже повторять не буду, чтобы не смешить народ. Просьба написать простейший синглтон вызывает ступор и окаменение членов. Это интервью на синьерские позиции, с претензией на дизайн.

[identity profile] norian.livejournal.com 2014-09-15 11:27 pm (UTC)(link)
ну есть же люди, которые годами писали бухгалтерию на коболе и не одну собаку там съели, поэтому считают себя гуру .. ну или какую-нть засекреченную военную ни с чем не совместимую хрень

[identity profile] zyxman.livejournal.com 2014-09-16 12:42 am (UTC)(link)
Ааа, вспомнил, то что у вас происходит, на маркетинговой терминологии называется "выбранный канал коммуникаций привел к тому, что целевая аудитория неправильная и/или мессадж этой целевой аудиторией понят неправильно".
Честно, ваш мессадж совершенно понятен, следовательно нужно искать другой канал коммуникаций.
Под каналом коммуникаций подразумевается - телереклама это один канал (точнее совокупность многих каналов - там в зависимости от номера канала, времени суток, конкретной передачи в которой ставится реклама, считаются разные каналы); бигборды это другой канал, и конечно бигборд на мосту (на автомагистрали) это одно, бигборд в центре города другое, а бигборд в университете это совсем третье; еще там есть много других каналов и у каждого получается своя выборка аудитории, которая его услышит.

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

[identity profile] polenova.livejournal.com 2014-09-16 12:57 am (UTC)(link)
Я не маркетинг, я техлид. Кандидатов выбирать, решения приринимать - не моя прерогатива. Я заранее распечатала вопросы, согласовала с начачальством, мое дело - задать вопросы и отчитаться. Если вовпросы неверные - начальство скажет. Маркетинговые вопросы не я решаю, я, типа, термометер, определяю клиенту температуру, а уж место в палате - дело не мое.

[identity profile] zyxman.livejournal.com 2014-09-16 01:46 am (UTC)(link)
Понимаю. И несколько завидую, что моя жизнь складывается, что не могу себе позволить узкоспециализироваться на инженерных делах :)
- Я начинал с инженерной деятельности, распробовал порядочно, и после компьютеров люди временами очень огорчают.

[identity profile] polenova.livejournal.com 2014-09-16 03:46 am (UTC)(link)
Было время, я 6 лет была мелким менеджером. Спасибо, больше не хочу.

[identity profile] andybil.livejournal.com 2014-09-16 06:30 am (UTC)(link)
У нас тут в Запорожье возникла рабочая гипотеза. Если столько народу уехало в штаты программировать, а их всё не хватает, видимо после завершения заказа из расстреливают и сжигают в печи под Вашингтоном, не?

[identity profile] zyxman.livejournal.com 2014-09-16 02:27 pm (UTC)(link)
Их высылают воевать на Донбасс.

[identity profile] juan-gandhi.livejournal.com 2014-09-16 05:24 pm (UTC)(link)
По идее, отработанные программисты едут к себе обратно в Урюпинск.

(no subject)

[identity profile] andybil.livejournal.com - 2014-09-16 18:28 (UTC) - Expand

[identity profile] blackyblack.livejournal.com 2014-09-16 06:02 pm (UTC)(link)
А вот скажите, научный подход вы не пробовали применить? То есть взять десяток тех, кто участвовал в хороших проектах, но засыпался на собеседовании и сравнить с теми, кто собеседование прошёл и давно работает у вас.
Я просто пару раз ходил на собеседования и все с треском завалил. Ну я, может, и правда идиот, но ведь пишу как-то. Работает всё, что написал.

[identity profile] juan-gandhi.livejournal.com 2014-09-16 09:34 pm (UTC)(link)
Давать интервью - тренировка нужна.

[identity profile] polenova.livejournal.com 2014-09-16 11:52 pm (UTC)(link)
Дело в том, что кандитатов выбираю не я. Я только вопросы задаю. Даже решение принимаю не я.
А насчет работает - вот я сегодня целый день мечтала, дали бы мне licence to kill. Программист этот уволился, мне надо было в его код малюсенькое изменение внести, буквально ерунду. Протрахалась целый день, и еще завтра буду. Потому что код у него такой. Работает, хули. А вот поменять - легче переписать. Потому что товарищ умел только один способ - copy-paste. И размножил код, который был до него написан (плохо написан, грязно), еще в четырех местах. А что есть объектное програмирование - дядя не знал. И даже не объектное, можно функцию вызвать, которая уже написана. Зачем? Объем огромный, строчек кода уйма, все целиком - copy-paste. Три месяца трудился человек. Так что код работает - не критерий. Код должен быть maintainable.
Я не великий программист, но количество говна, которое приходится каждый день ворочать - впечатляет.

[identity profile] blackyblack.livejournal.com 2014-09-17 06:10 am (UTC)(link)
Ну вот ни одно из собеседований не проверяло моё умение писать maintainable код. На одном собеседовании просили sprintf реализацию написать, на другом просили сделать hashmap. Вы вот linked list переворачиваете.
А я как раз в недавнем проекте подчищал код за предыдущим программистом, так чтобы таинственное поведение стало явным и чтоб потокобезопасность. Но интервью ваше завалил бы и мы бы вместе так и не поработали...

[identity profile] polenova.livejournal.com 2014-09-17 02:44 pm (UTC)(link)
Да что там писать в линклисте - три строчки кода! Для хаш-таблицы алгоритм знать надо, а тут вообще ничего не надо. Я еще сортировку пузырьком прошу иногда. Или найти максимальное число в неотсортированном массиве. Ну а что спрашивать-то?

(no subject)

[identity profile] blackyblack.livejournal.com - 2014-09-17 14:55 (UTC) - Expand

(no subject)

[identity profile] polenova.livejournal.com - 2014-09-17 16:40 (UTC) - Expand

(no subject)

[identity profile] blackyblack.livejournal.com - 2014-09-17 16:49 (UTC) - Expand

(no subject)

[identity profile] polenova.livejournal.com - 2014-09-17 18:45 (UTC) - Expand

[identity profile] polenova.livejournal.com 2014-09-17 02:49 pm (UTC)(link)
Я хитровыкрученные интервью сама не люблю. И реализацию sprintf не попрошу. У меня не С++. Но какие-то совсем примитивные вещи человек должен понимать! Я никогда не прошу написать пример длиннее 5-10 строчек