Показаны сообщения с ярлыком программисты. Показать все сообщения
Показаны сообщения с ярлыком программисты. Показать все сообщения

вторник, 24 мая 2011 г.

Скрывать или не скрывать, вот в чем вопрос


Недавно в твитере было обсуждения одного из щепетильных вопросов, который возникает в IT компаниях: "скрывать или не скрывать заработную плату сотрудников".

Варианты возможных решений я выделил таким образом:
1. Однозначно скрывать. Запрещая даже разглашение сотрудниками своих ЗП, под угрозой увольнения.

2. Публичное установление заработных плат. Когда на ту или иную должность установлен норматив оплаты, который известен всем. Если есть доплаты, то они тоже устанавливаются открыто.

3. Предприятие скрывает заработные платы, но не налагает никаких запретов на оглашение, все по желанию сотрудников.

Я попытаюсь рассмотреть позитивные и негативные моменты связанные с первым методом установления ЗП.


Рассмотрим ситуацию, когда компания проводит жесткую политику по отношению к неразглашению ЗП. Чаще такой подход практикуется в компаниях с иностранным (западным) капиталом.

Объясняется данный метод вполне логично, так или иначе оценить it-шника тяжело, вот как сторговались, так и сторговались, если всех все устраивает, то все отлично.

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

История:

Однажды, Вова признался Сережи, что у него 2,5 у.е. ЗП, а Сергей, как-то даже постеснялся признаться, что у него всего 2,2 у.е. ЗП.

Почему постеснялся? Да, потому что все знают, что Сергей, "педалит" в два раза больше, и опыта у него на 3 года больше по отрасли, и на пол года раньше он в компанию пришел.

Вот так, или лоханулся, или в тот момент не нужны были такие специалисты? Кто уж вспомнит.

А когда Вова пришел, то как раз новый проект от иностранного заказчика получили, и второпях команду собирали, плюс как раз рынок был раскочегарен, и никто на зарплату в 2.2 у.е. идти не хотел, а спецы нужны были хоть "всрись". Вот у Вовы и "прокатило" у руководства выторговать чуть больше.

Понимали в руководстве, что Сережа лучше Вовы, и что получать он должен больше, но какой экономический смысл ему прям сейчас поднимать? Сережа и так "лупашит будь здоров!", Вове тоже ЗП не уменьшишь, ведь "вонизма" потом не оберешься.

Так и работают!

Но вот Сережа узнал, и.... Да! Начала Сережу кушать толстая жаба, и вот он уже не рвет булки, притих на собраниях, и все ему как-то пох...й, и каждые 2 месяц он по новым собеседованиям ходит, получше место ищет, или оффер покруче, чтобы у родного руководства побольше ЗП выторговать, и не просто побольше, а так чтобы наказать этих пидорасо... обманщиков. Чтоб за все полтора года, пока они его обманывали, недоплачивали, отыграться, чтоб знали...

Стоп... Реальная ситуация?

Вполне. Согласитесь, даже если бы у Сережи ЗП будет на 100у.е. выше, а работает он всего в полтора раза лучше, то скорее всего ему будет не совсем комфортно, ведь он круче, а доплата маленькая.

Давайте разберемся почему так происходит.

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

Плюсы от использования:
1. Гибкость. Выигрывает от этого подхода компания, так как она получает маневренность при найме новых сотрудников, ведь не имеет значения кто и сколько уже зарабатывает, мы можем хоть в два раза переплатить, все равно об этом никто никогда не должен узнать. Можно не реагировать на растущие тенденции в ЗП. Можно дать не заслуженную надбавку сотруднику, если он собирается уходить, только из-за того, что нужно быстрее закончить проект.

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

Минусы. Есть 2 минуса, которые, как мне кажется, больше связаны с нашим менталитетом.

1. Мнимость тайны. Наш человек, более "социален", мы чаще общаемся с коллегами, чаще дружим, отдыхаем, отмечаем праздники. И эта социализация имеет духовную основу, а не партнерскую, как в странах загнивающего капитализма ("Чтоб я так жил"). Поэтому риск того, что мы будем знать кто сколько зарабатывает, несомненно выше.

2. Развитое чувство несправедливости. В наших ценностях не последнее место занимает понятие "правды" (обратите внимания слово правда, в глубоком его понимании, нет в других языках, "правда" - это не только истина, и не только закон, это что-то выше). Так вот рассмотренный случай с Сергеем, это как раз надругательство, над этим положением. У него возникнет чувство несПРАВедливости. Скорее всего этот прекрасный сотрудник будет навсегда потерян для своей компании, если узнает, что ему явно недоплачивали.

Вот такие плюсы и минусы. Конечно при правильном управлении персоналом, можно минимизировать риски минусов (если про них не забывать). Так же с учетом, того что этот метод больше применяется у иноземцев, а ЗП там выше, чем по рынку, то все, как правило, всегда довольны.

В общем, дорогие управленцы, "скрывать или не скрывать" решать вам, но помните, от ваших решений зависит атмосфера в коллективе, а значит и конечный результат.

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

P.S.S. Граждане читающие, а вы как считаете скрывать или не скрывать?


Читать дельше...

суббота, 2 апреля 2011 г.

PHP-разработчики - люди которых я боюсь

Сегодня на Хабре наткнулся на неплохую задачу для своих мозгов.

Нужно было реализовать функцию read_conf принимающую имя файла с содержимым:

id=www
session.timeout=120
session.server.0.host=127.0.0.1
session.server.0.port=1111
session.server.0.id=session1
session.server.1.host=127.0.0.1
session.server.1.port=1111
session.server.1.id=session2
image.width=640
image.height=480
image.watermark.small=wsmall.png
image.watermark.normal=wnormal.png


Которая приводит конфиг к такой переменной:

array(3) {
    ["id"]=>strong(3) "www"
    ["session"]=>array(2) {
        ["timeout"]=>string(3) "120"
        ["server"]=>array(2) {
            [0]=>
            array(3) {
                ["host"]=>
                string(9) "127.0.0.1"
                ["post"]=>
                string(4) "1111"
                ["id"]=>
                string(8) "session1"
            }
            [1]=>
            array(3) {
                ["host"]=>
                string(9) "127.0.0.1"
                ["port"]=>
                string(4) "1111"
                ["id"]=>
                string(8) "session2"
            }
        }
    }
    ["image"]=>
    array(3) {
        ["width"]=>
        string(3) "640"
        ["height"]=>
        string(3) "480"
        ["watermark"]=>
        array(2) {
            ["small"]=>
            string(10) "wsmall.png"
            ["normal"]=>
            string(11) "wnormal.png"
        }
    }
}



На задачу выделялось 10 минут.

Задача не очень сложная, если не ограничиваться временем, честно признаться мне немного не хватило 10 минут,
но я и не претендую на звания "Гуру php", да и не это важно.

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

По мнению большинства читателей топика наилучшее решение (наибольшее число позитивных отзывов за комментарий)
было следующее решение:

<?php

$r = read_conf( "config.txt" );
print var_dump( $r );

function read_conf($filename) {
    foreach (parse_ini_file($filename) as $key=>$value) {
        $key = vsprintf('$result["%s"] = "%s";', array(
            str_replace('.', '"]["', $key),
            $value,
        ));
        eval($key);
    }
    return $result;
}

?>


Гениально! Наименьшее число строк! Никакой рекурсии! Умница!

Вы тоже так подумали? Нет? И ПРАВИЛЬНО!

Ведь дырка! Ну как никто из них об этом не подумал? Теперь в конфиг можно вставить, какой угодно код, который будет выполнен запускаемым скриптом!

Не верите? Попробуйте вот такой конфиг (будет работать в Unix-подобной ОС, но для пользователей Windows можно написать свой пример).

id=www
session.timeout=120
session.server.0.host=127.0.0.1
session.server.0.port=1111
session.server.0.id=session1
session.server.1.host=127.0.0.1
session.server.1.port=1111
session.server.1.id=session2
image.width=640"\";shell_exec('ls -l > hack');\""
image.height=480
image.watermark.small=wsmall.png
image.watermark.normal=wnormal.png



Я его немного изменил, добавил вот такой кусочек "\";shell_exec('ls -l > hack');\"". И теперь имею снимок поточной директории.
Но мы можем с легкостью изменить конфиг добавив вместо 'ls -l > hack', например 'rm -Rf /'. В общем еще очень много гадости можно придумать.

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

Как таким людям можно доверить серьезный проект? В общем я бы побоялся.

А Вы?

С ув. antonfin

P.S. Нет, все таки нашелся человек, который сделал замечания по данному вопросу. Но его комментарий не был поддержан, я бы даже сказал, что он был обвинен в ханжестве.


Читать дельше...