?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

А бывают ли психи типа меня?
metaclass
Вопрос: где взять еще одного психа вроде меня? Тащемта задача: разделить мои рабочие обязанности на двух человек. Основная обязанность - помнить 100500 технологий, 100500 проектов и в случае необходимости доставать/искать подходяшие знания и формулировать их в пригодной для использования форме, либо реализовывать самому. А так же поддерживать порядок в процессах, чтобы умные ничего лишнего не наделали.

Т.е. там конкретные кложурь/F#/Haskell/Python/C/Linux/Windows/IP/Networking/C#/.NET/NAnt/MSBuild/FPGA/DSP/ад/заборы/коровники/пауки-розеточники/ежихи-из-дурдома знать в подробностях не обязательно, что-то одно из этого и смежную математику и физику - крайне желательно, уметь самостоятельно разобраться в произвольной смежной научно-технической области и не выебать мне мозги вопросами, которые описаны в гугле и батрекере - обязательно.

Я так понимаю, подобный обобщенно-универсально-поверхностный стиль работы давно не принят и не котируется, поэтому смысла искать нет, а есть смысл брать любого, кто умеет читать и может объяснить что такое a=1; b=a+1 на любом подходящем языке и далее ему вправлять мозги?

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

Есть, впрочем, альтернатива - отдать детей в рабство бабушке и заставить этим заниматься 24 часа в сутки жену, т.к. у нее как раз профильное образование (ФПМ+бухгалтерия), а выедание мозгов дома не считается. Но с точки зрения рисков это печально, так как тогда в машине или самолете можно убиться двум ключевым сотрудникам сразу, а не по одному.

Тут задают вопрос "откуда ад заборов и коровников"
metaclass
А давайте я вам расскажу, откуда берутся ебанутые требования к разработчикам и вообще черви и жабы в ИТ. На примере одного простейшего use-case.
Есть, значит, проект на дотнете. Как положено, его исходники лежат под контролем версий (меркуриал). И я, всего лишь, желаю следующего:
1) Проект собирается на машине, где стоит только вижуал студия (а в идеале - только .NET фреймворк)
2) При сборке получающиеся либы имеют версию вида major.minor.номер-релиза.vcsrevision. Т.е. проставить версии исходя из номера ревизии в меркуриале.
Вполне себе нормальное желание - пришел к клиенту, глянул на свойства файла и видишь что за версия, итд.

Так вот, реализация этого дела с уверенностью заводит в один из следующих тупиков:
1) cmd-файлы, вызывающие комманд-лайн меркуриал и генерирующие файлы AssemblyInfo.cs. При дальнейшем развитии получается фреймворк для билда из cmd-файлов, безальтернативно. Ад кромешнейший.
2) вижуал студия с доставленными 100500 расширениями выполняющими именно это, но каждое из которых не умеет чего-нибудь.
3) NAnt с 100500 вручную написанными скриптами сборки, которые нужно синхронизировать с csproj
4) NAnt, который вызывает MSBuild для сборки, т.к. csproj - это на самом деле скрипты MSBuild
5) то, что я пытался сейчас сделать: только MSBuild. Из соображений "не разводить зоопарк". Ага, да.

Значит последовательность действий с MSBuild:
1) Ищем интеграцию MSBuild с меркуриалом, в гугле. Находим: http://msbuildhg.codeplex.com/
2) Качаем. MSBuild.Mercurial-1.1.2.msi. Хер знает что и куда это ставит, поэтому ставим в виртуальной машине. Смотрим, что реально это два файлика MSBuild.Mercurial.dll, MSBuild.Mercurial.tasks и примеры с документацией.
3) Начинаем разбираться в примере, как установить версию. 125 строк, 4 кб xml-файл HgVersion.targets.
4) Файл зависит от MSBuild Community Tasks. Оттуда используется _ОДНО_ описание таска - AssemblyInfo, которое используется для генерации файла AssemblyInfo
5) Ищем MSBuild Community Tasks в гугле: http://msbuildtasks.tigris.org/. Оказывается, проект переехал на гитхаб: https://github.com/loresoft/msbuildtasks
6) Идем туда. Оказывается, чтобы поставить - нужен Package Manager Console. Являющийся частью NuGet. Скачать просто dll и tasks - нельзя.
7) Думаю - попытаюсь собрать самостоятельно. Качаю исходники, распаковываю, запускаю:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe Master.proj
Хрен там. Для сборки ТОЖЕ нужен NuGet: loresoft-msbuildtasks-37dae23\Source\.nuget\nuget.targets(51,9): error : Unable to locate ', ".nuget"))\nuget.exe'

На этом я заябываюсь и иду писать пост в ЖЖ. При этом самодельная реализация того же на бат-файлах - 3 строки бат файла и 10 строк утилитка на дотнете(которую можно заменить awk из GNUWin32, по идее).

Короче, я не знаю, какие сделать из этого выводы. Наверно, проще в корне сборочных скриптов положить файл readme.txt и написать, в какой последовательности что исправлять и что должно стоять на машине, чтобы собрать проекты, потому что попытка сделать "как положено" (системы сборки, общепринятые инструменты) уводит в дебри с первого же шага.

Откуда эта уверенность?
metaclass
Все мои комментаторы, как один, утверждают, что работать в конторе, ориентированной на рынок РБ, не следует. И что, если я сменю работу, мне тут же дадут личного шофера, секретаршу, 100500 денег зарплаты и домик в Ратомке.
Внимание, вопрос: откуда люди так в этом уверены?
Открываем dev.by: http://dev.by/salaries/e~3/c~131/
Смотрим .NET (как наиболее мейнстримное, из того, что я хорошо умею): Средняя зарплата 2000, максимальная 3250. По-моему, это как-то совсем немного.
Если рассматривать вариант одеска - это, если работать в белую, тупой напряг с бюрократией, но даже без этого - это нужно сначала год там себе нарабатывать проекты и прочее, то бишь опять же "две работы" - сначала днем ебошить тут, чтобы прокормить семью, потом вечером на одеске общаться с клиентами и потом ночью работать.