Pull to refresh
20
0.5
Петр @zuek

Администратор вспомогательных сервисов

Send message

Как бывший "Директор департамента ИТ" не самой мелкой в РФ группы компаний - подтверждаю - за время "управленчества" (буквально года 3) настолько отстал от отрасли (повторюсь - я - админ по натуре), что догонять пришлось лет пять.

И да, в итоге я вернулся "в поля" - административка это не для технарей.

Прям даже интересно стало - мой древний лапшекод больше на PoC тянет или на MVP? Просто оно в проде пару лет проработало

Скрытый текст
<?php

// подключаем библиотеку tcpdf
require( 'tcpdf/tcpdf.php' );
// подключаем файл с описанием функций получения данных и т.п.
require 'include/init.php';

function FillString($pdf, $c, $laststring=false){ // формирует строку табличной части
    // ширина столбцов
    $w = array(68,7,22,15,21,29,13,11,16,28,15,19,22);
    $align = ($c[0] == "1") ? // если в параметрах номера колонок, используем альтернативное выравнивание
    array("C","C","C","C","C","C","C","C","C","C","C","C","C") :
    array("L","C","C","R","R","R","L","C","R","R","L","L","L");
	// режим "перевода каретки" - все, кроме последнего - вправо
    $lnmode=array(0,0,0,0,0,0,0,0,0,0,0,0,1);
    $lastch = 0;
	// вычисляем высоту строки по самой высокой ячейке
	foreach ($c as $key=>$value) {
        $lastch= ($lastch > $pdf->GetStringHeight($w[$key],$c[$key])) ? $lastch : $pdf->GetStringHeight($w[$key],$c[$key]);
    }
	// если текущая строка не поместится на лист, создаём новый лист и рисуем шапку табличной части
    if (($lastch + $pdf->getY()) > ($pdf->getPageHeight() - $pdf->getBreakMargin())) {
        $pdf->startPage();
		//FillTableHead($pdf); // я не вывожу названия столбцов ТЧ на втором и следующих листах, но можно
        FillString($pdf,array(1,2,'2a',3,4,5,6,7,8,9,10,'10a',11),false);
    }
	// если строка последняя и она не поместится на листе с "подвалом", создаём новый лист...
    if (($laststring) and (($pdf->getY()+$lastch+55) > ($pdf->getPageHeight() - $pdf->getBreakMargin()))) {
        $pdf->startPage();
		//FillTableHead($pdf);
        FillString($pdf,array(1,2,'2a',3,4,5,6,7,8,9,10,'10a',11),false);
    }
    foreach ($c as $key=>$value) {
        $pdf->MultiCell($w[$key], $lastch,
            $value,
            'LRTB', $align[$key], false,  $lnmode[$key],
             $pdf->getX(), $pdf->getY(), true, 0,
             false, true, 0,  'T',
             true);
        $lastch= ($lastch>$pdf->getLastH()) ? $lastch : $pdf->getLastH();
    }
}
function FillTotal($pdf, $c){
    $w = array(68+7+22+15+21,29,13+11,16,28);
    $align = array("L","R","C","R","R");
    foreach ($c as $key=>$value) {
        $pdf->MultiCell($w[$key], 0,
            $value,
            'LRTB', $align[$key], false,  0,
             $pdf->getX(), $pdf->getY(), true, 0,
             false, true, 0,  'T',
             true);
    }
    $pdf->Ln();
}
function FillTableHead($pdf){
    $pdf->MultiCell(68, 18,
         "Наименование товара (описание выполненных работ, оказанных услуг), имущественного права",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextY=$pdf->getY();
    $thisX=$pdf->getX();
    $pdf->MultiCell(29, 7,
         "Единица измерения",
         'LRTB', 'C', false,  2,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextX=$pdf->getX();
    $pdf->MultiCell(7, 11,
         "код",
         'LRTB', 'C', false,  0,
          $thisX, $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(22, 11,
         "условное обозначение (национальное)",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(15, 18,
         "Коли-\nчество (объём)",
         'LRTB', 'C', false,  0,
          $nextX, $nextY, true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(21, 18,
         "Цена (тариф) за единицу измерения",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(29, 18,
         "Стоимость товаров (работ, услуг), имущественных прав, всего без налога",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(13, 18,
         "В том  числе  сумма  акциза",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(11, 18,
         "Нало-\nговая ставка",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(16, 18,
         "Сумма налога",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(28, 18,
         "Стоимость товаров (работ, услуг), имущественных прав, всего с учетом налога",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextY=$pdf->getY();
    $thisX=$pdf->getX();
    $pdf->MultiCell(34, 7,
         "Страна происхождения товара",
         'LRTB', 'C', false,  2,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextX=$pdf->getX();
    $pdf->MultiCell(15, 11,
         "цифро-\nвой код",
         'LRTB', 'C', false,  0,
          $thisX, $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(19, 11,
         "краткое наи-\nменование",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(22, 18,
         "Номер таможенной декларации",
         'LRTB', 'C', false,  1,
          $nextX, $nextY, true, 0,
          false, true, 0,  'M',
          true);
    FillString($pdf,array(1,2,'2a',3,4,5,6,7,8,9,10,'10a',11),false);    
}

//if (filter_has_var(INPUT_GET,'advice')) {
	// получить реквизиты счёта-фактуры из внешней базы
//    $rekv=GetSFParams(filter_input(INPUT_GET,'advice',FILTER_SANITIZE_STRING));
	// разбор массива полученных реквизитов по переменным; не обязательно, но так проще читать/править форму
    $sfn = "493";
    $sfd = "10 января 2016";
    $dealname = "ЗАО \"Напрасный труд\"";
    $dealaddr = "101001, Москва г, Строителей ул, дом № 1";
    $dealinn = "7701000001";
    $dealkpp = "770101001";
    $senderaddr = "---";
    $recieveraddr = "---";
    $advnum = "493";
    $buyername = "ООО \"Вектор\"";
    $buyeraddr = "101001, Москва г, Строителей ул, дом № 2";
    $buyerinn = "7701000002";
    $buyerkpp = "770101001";
    $currency = "Российский рубль, 643";
    $tch = array(array("Уборка помещений","-","-","-","-","22 777,04","Без акциза","18%","4 099,87","26 876,91","--","--","--"));
	// в 14-м элементе массива параметров ожидается массив, содержащий номенклатуру
    $totalprice="22 777,04";
    $totalnds="4 099,87";
    $bigtotalprice="26 876,91";
    $director="И.И. Иванов";
    $glavbuh="П.П. Петров";
    // не используемые у нас реквизиты
    $corrnum = "--";
    $corrdate = "--";
    $pboul=" ";
    $pboulrekv=" ";
// Portrain/Landscape, mm, A4, unicode, UTF-8, diskcache, pdfa
$pdf = new TCPDF('L', 'mm', 'A4', true, 'UTF-8', false, false);
// отключаем вывод стандартных заголовков
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// поля документа (левое, верхнее, правое)
$pdf->SetMargins(6, 10, 10);
// русские шрифты в стандартную поставку не входят - используем сгенерированные самостоятельно
$pdf->SetFont('arial','',8);
$pdf->AddPage();
$pdf->SetAutoPageBreak(true,10);
//начинаем вывод данных
$pdf->MultiCell(50, 15,
 "Приложение №1\n"
."к постановлению Правительства\n"
."Российской Федерации\n"
."от 26.12.2011 № 1137", 0, 'L', 0, 1, $pdf->getPageWidth() - 50);
$pdf->SetFont('arialbd','',14);
$pdf->Write(7,"Счет-фактура № {$sfn} от {$sfd} г.");
$pdf->Ln();
$pdf->Write(7,"Исправление № {$corrnum} от {$corrdate}");
$pdf->SetFont('arial','',8);
$pdf->Ln();
$pdf->Write(3.89,"Продавец: {$dealname}");
$pdf->Ln();
$pdf->Write(3.89,"Адрес: {$dealaddr}");
$pdf->Ln();
$pdf->Write(3.89,"ИНН/КПП продавца: {$dealinn}/{$dealkpp}");
$pdf->Ln();
$pdf->Write(3.89,"Грузоотправитель и его адрес: {$senderaddr}");
$pdf->Ln();
$pdf->Write(3.89,"Грузополучатель и его адрес: {$recieveraddr}");
$pdf->Ln();
$pdf->Write(3.89,"К платежно-расчетному документу № {$advnum}");
$pdf->Ln();
$pdf->Write(3.89,"Покупатель: {$buyername}");
$pdf->Ln();
$pdf->Write(3.89,"Адрес: {$buyeraddr}");
$pdf->Ln();
$pdf->Write(3.89,"ИНН/КПП покупателя: {$buyerinn}/{$buyerkpp}");
$pdf->Ln();
$pdf->Write(3.89,"Валюта (наименование, код): {$currency}");
//$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
FillTableHead($pdf);
$lines=count($tch) - 1;
foreach ($tch as $key=>$cstring) {
    FillString($pdf,$cstring,$lines==$key);
}
FillTotal($pdf, array(
    "Всего к оплате",
    $totalprice,
    "X",
    $totalnds,
    $bigtotalprice),false);
$pdf->Ln();
$pdf->MultiCell(54, 8,
     "Руководитель организации\n"
	 ."или иное уполномоченное лицо",
     /*borders*/'', /*align*/'L', /*fill*/false, /*ln(0-R,1-CRLF,2-D*/ 0,
     /*X*/ $pdf->getX(), /*Y*/ $pdf->getY(), /*resetLastHeight*/true, /*stratch*/0,
     /*isHTML*/ false, /*autopadding*/ true, /*maxh*/0, /*valign*/ 'B',
     /*fitcell*/ true);
$pdf->MultiCell(30, 8,
     " ",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(43, 8,
     "{$director}",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(7, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(54, 8,
     "Главный бухгалтер\n"
	 ."или иное уполномоченное лицо",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(30, 8,
     " ",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(43, 8,
     "{$glavbuh}",
     'B', 'L', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->SetFont('arial','',6);
$pdf->MultiCell(54, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(30, 8,
     "(подпись)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(43, 8,
     "(ф.и.о.)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(7, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(54, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(30, 8,
     "(подпись)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(43, 8,
     "(ф.и.о.)",
     '', 'C', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->SetFont('arial','',8);
$pdf->MultiCell(54, 8,
     "Индивидуальный предприниматель",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(30, 8,
     " ",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(43, 8,
     "{$pboul}",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(15, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(105, 8,
     "{$pboulrekv}",
     'B', 'L', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->SetFont('arial','',6);
$pdf->MultiCell(54, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(30, 8,
     "(подпись)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(43, 8,
     "(ф.и.о.)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(15, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(105, 8,
     "(реквизиты свидетельства о государственной\nрегистрации индивидуального предпринимателя)",
     '', 'C', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->Write(3.89,"Примечание: Первый экземпляр - покупателю, второй экземпляр - продавцу.");
$pagestotal=$pdf->getNumPages();
$headerX=10;
$headerY=6;
$footerX=$pdf->getPageWidth() - 45;
$footerY=$pdf->getPageHeight() - 10;
$pdf->SetFont('arial','',8);
for ($index = 1; $index <= $pagestotal; $index++) {
    $pdf->setPage($index);
    $pdf->SetAutoPageBreak(false);
    if ($index<>1) {$pdf->MultiCell(/*W*/30, /*H*/0,
         "Лист {$index}",
         '', 'L', false,  0,
          $headerX, $headerY, true, 0,
          false, false, 0,  'T',
          true);}
    $pdf->MultiCell(30, 0,
         "Страница {$index} из {$pagestotal}",
         '', 'L', false,  0,
          $footerX, $footerY, true, 0,
          false, false, 0,  'T',
          true);
}
$pdf->Output( "sf.pdf", "I");
?>

Да, не бейте ногами админа за лапшекод - он не разраб от природы =)

Ну и да, процитировал я не продуктовый скрипт, а именно PoC, но от продуктового он отличается только заполнением массивов данных.

Я фиг знает как этот гипноз действует…

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

После пары лет "преддипломной практики" в госсекторе, тоже зарёкся работать "в госухе", а вот в банке - почему нет? Банки же разные бывают (тут шутка про пивные, трёхлитровые и другие банки, но нет).

а канализировать вниз с декомпозицией

О! Канализацию с декомпозицией - надо прям в блокнот! Рядом с "отстойником-деконтатором".

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

Блин! Сколько (лет) работал в закупках (ИТ-отдела), постоянно возникали ситуации, когда с главбухом вместо "Тань!..." и "Петь!.." переходили на "Татьяна Владимировна" и "Пётр Игоревич" =) ну, имена менялись, а принцип сохранялся. Обычно после очередного расхождения ТН и СФ на копейку, ну или после кривой ГТД от поставщика. Благо, уж лет пять этой ерундой не занимаюсь.

Нет. Этот навык приобретается. И обычно "самыми слабыми в стае". Правда, приобретается он обычно ещё в раннем детстве, но я видел пару случаев его овладением уже во вполне зрелом возрасте - не столь гладко (как у "врождённых"), но вполне работало.

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

Про банк и некую Настю мне прям аж мозг резануло - слышал очень похожую историю про МТС-банк. Хотя... если это была Ксюша, то МКБ, если Света - ПСБ... впрочем, наверное, это очень типовая история... ну, или у меня очень много продакт-менеджеров знакомых накопилось.

Жованый крот! Ощутил себя мегадедом! - лет 10 назад на одном мясокомбинате, когда руководство решило вести строгий учёт обедов сотрудников, набросал по-быстрому систему учёта посещения столовой, на php+pgsql+1С+VC+какая-то некромансия+... как и на каком азарте делал - аж сам забыл... и вот пару месяцев назад звонит мне оттуда админ со словами "слушай, у нас тут ставка за обед поменялась...". Блин! Костыли неискоренимы!

Ну, если это "по кайфу" - пуркуа бы и не па? ;)

Нет, я понимаю, что ни в php-программисты, ни во фронтэндеры, ни даже в 1С-разрабы я на нормальные грейды не пройду, но мне реально было прикольно кодить на пыхпыхе pdf-формы (да, вымеряя всё линейкой), интерфейсы и прочие вложенные списки, с использованием jquery... я не говорю, что было продуктивно - было прикольно (драйвово, классно - синонимы можно подставить на свой вкус).

Вот тут не соглашусь - был у меня один увлекательный проект года на 3 - я там и фронт как-то писал (да, у меня напрочь отсутствует "чувство прекрасного", поэтому все дизайн-макеты интерфейсов заказывали на стороне, ну а я впихивал полученные макеты в html-вёрстку), и первую линию бэкэнда (php) и вторую линию бэкэнда (1С, да-да, web-сервисы)), и полученный продукт реально работал (им пользовались, из более-менее крупных компаний, Орифлэйм и Омский бекон), и его хвалили все, кто пользовался. К сожалению, с внедрением "Платона" владелец решил, что бизнес перестал быть привлекательным и ликвидировал компанию... а на подходе уже было почти работающее приложение под Android для наёмных водителей (внедрить в продакт не успели, но все процессы уже были реализованы и концепт протестирован). Вопрос только заинтересованности и вовлечённости. Ну, и производительности, конечно - если бы заказывали у компании с командой разработчиков, наверняка не три года процесс занял, а где-то с полгода (со всеми тестами и доработками), но и обошёлся бы не в 36 зарплат не очень опытного программиста...

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

А, ну так-то, возможно, по современным меркам и отстой. Я в 1С писал не много - больше в баше или php, но IDE практически не пользовал (к стати, есть достойная IDE для баша?). Правда, я не настоящий разработчик (что что 1С, что другие среды разработки) - так, лет 30 назад окончил курсы программиста при Дворце пионеров =)

До 2022 года даже болтовни об импортозамещении в области софта было немного

Ну, в госсекторе с начала нулевых какие-то потуги наблюдались. Не очень активные, но были. Даже от Windows пытались отказаться. В пользу чего, на тот момент, никто не знал - создавали какие-то форки Ubuntu в надежде, что их возьмут для импортозамещения (я даже какой-то форк внедрил в 2009 в конторе, пытавшейся присосаться к госкормушке, но "не взлетело"). Но слишком слабы на тот момент были альтернативы MS SQL, SharePoint и IIS (ладно, у последнего конкуренты есть уже давно, но вот "шаропойнт" на них, вроде, не завести), да и офисные пакеты тогда (да даже и сегодня отчасти) страдали низкой совместимостью (недоступность макросов между платформами, ошибки форматирования сложных документов и прочая, прочая, прочая). Вот и не взлетело.

Ой, как вспомню "foreach ($_SESSION as $ind => $val)", так дурно делается =)

Плюсану. Три года назад в одной компании "читал код" 1С 7.7. Да, портированный на платформу 8.3, но как же больно было моим глазам...

Вот же ж блин! Меня по зрению отсеяли (я пёс его знает, почему на АСУшные специальности не пропускали с цветоаномалией, но вот в двух ВУЗах из двух, куда пытался - был отсеян медкомиссией). В итоге учился по обычной технической специальности (ДВС), но преподы с АСУ были шедевральны - я с ними спорил до плевков на пол (на УПК я получил квалификацию "Оператор-программист ЭВМ 2-го разряда"). Никогда не забуду, как сдавал "экзамен" за первый семестр, просто, набрасывая код на TP (на листочке), пока препод мне диктовал задачу (он ещё очень удивился, что я условие не записывал, а я в то время просто "думал на Паскале"), потом очень смешные (для меня) задачи в SuperCalc 3 и FoxPro 3.6... эх, молодость!.. =)

Беру свои слова назад - то место, куда я фрахтовал 1С-разрабов изрядно подняло ставки. Да, 300 - уже вполне реальный ценник.

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

Я лично нанимал лет 7 назад "сеньёров 1С" - не было тогда даже 250. Ну, может, инфляция подняла планку, но тогда 150 было вершиной мечтаний - ещё и очередь из вполне зрелых спецов выстраивалась.

Information

Rating
1,990-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity