Обзор – Профессия PHP-программист
#1
Отправлено 06 ноября 2008 - 02:15
Собственно, интересуют следующие вопрос:
- Минимальные требования для работы, что надо уметь?
- Какие критерии оценки специалистов?
- Кто – где работал – работает – в чем суть вашей работы, как PHP-программиста?
#2
Отправлено 06 ноября 2008 - 09:09
По любопытству иль со скуки все это кто-нибудь взорвет.
#3
Отправлено 06 ноября 2008 - 10:17
1. Опытных ПХП девелоперов. Тут смотрят чисто на опыт работы конкретно в ПХП и не важно знаешь ли ты например JS круто или нет. Остальные технологии только в плюс.
2. Веб-девелоперов, где нужно знать js, ajax, умении работать в *nix среде и т.п
Естественно, чем больше и шире ты владеешь другими веб-технологиями, тем больше у тебя шансов найти достойную работу.
#4
Отправлено 06 ноября 2008 - 11:45
Минимум надо уметь писать и понимать PHP код (не разбираться в чужом коде, а понимать что делает кусок кода). Можешь сделать синтатический тест на спец. сайтах, там получишь оценку своих знаний языка.- Минимальные требования для работы, что надо уметь?
Первым делом смотрят твоё CV (где работал, что умеешь). Далее смотрят что ты делал, твои исходники + собеседование. Могут дать тестовое задание, но по-моему это фуфел, только время зря тратить.- Какие критерии оценки специалистов?
Всё зависит от компании. Где-то ты будешь писать кусок какого-то функционала, причём, тупо кусок сайта, назначение которого ты даже и не поймёшь. Где-то будешь работать с CMS, клепать сайты, править модули, натягивать вёрстку (диз).- Кто – где работал – работает – в чем суть вашей работы, как PHP-программиста?
P.S. уровень ЗП зависит только от твоих умений. Но если ты создал эту тему, то на много денег не рассчитывай.
#6
Отправлено 06 ноября 2008 - 16:42
Setor, отдельное спасибо за полный ответ.Минимум надо уметь писать и понимать PHP код (не разбираться в чужом коде, а понимать что делает кусок кода). Можешь сделать синтатический тест на спец. сайтах, там получишь оценку своих знаний языка.
Но есть вопрос по поводу спец.сайтов с тестами? Если есть возможность, поделись ссылкой? Я подобных не нашел, может не так искал.
Slam, наверно из за ограниченных знаниях о технологиях. Но я рад что с чего-то начал и уже могу написать свой блог.А почему именно ПХП ? J2EE и .NET куда перспективнее ..
Да и как сказали DTprog и Xtops чем больше технологий знаешь - тем лучше. Никогда не поздно научится чему-то новому.
А чем переспективнее? Где используются?
Сообщение изменено: Veron (06 ноября 2008 - 16:54 )
#7
Отправлено 06 ноября 2008 - 17:20
Смотря зачем, фирмы разные бывают. Одни смотрят опыт командной работы (дают кучу дерьмового кода и говорят "допиши модуль") другие сухую эффективность (говорят "напиши так чтоб работало и уложись в 15 минут, на качество плевать") на первых работать это удача, на вторых это горе (никакого креатива, сухое кодерство)- Минимальные требования для работы, что надо уметь?
Разные, опять-же зависит от того зачем (в командной разработке чаще даже не на знания смотрят а на то какой ты человек, если плохо программируешь но быстро учишься и не являешься занудой то это лучше чем спец космического уровня но задница как человек)- Какие критерии оценки специалистов?
Блог это всё равно что гостевушка на 2кб кода (т.е это только начало)уже могу написать свой блог
Одно дело написать код который работает, другое дело что знание основ РНР это только верхушка айзберга, ещё желательно иметь опыт работы как минимум с фреймворками (Zend, CakePHP или Symfony) и как уже написано выше быть готовым к обучению (новые "писки моды" появляются не редко, а инвесторы люди не редко далёкие от программирования, скажут "хачу Веб сто ноль" и надо делать, а если не умеешь надо очень быстро разобраться.)
Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih
Не вазелин, а бизнес-гель ©Avagraen
#8
Отправлено 06 ноября 2008 - 18:48
#9
Отправлено 07 ноября 2008 - 09:25
P.S. Часто тесты на знание PHP охватывают веб-программирование в целом.
#10
Отправлено 07 ноября 2008 - 09:38
Мы сейчас проводим конкурс на место PHP-кодера, CV много приходит, но среди них очень много зажравшихся - не знаю чем они руководствуются, когда придумывают себе зарплаты...
Кстати, вопросик насчт тимворка: стиль кодирования у всех должен быть один? Но у меня например, немного нестандартный стиль (если считать стандартом к примеру PEAR/ZF). У меня самое важное правило - высокая читабельность кода и меня откровенно парит код, где первая фигурная скобка остаётся в строке с выражением, и когда в качестве табуляции используется пробел (против последнего говорят, что есть спец. опция в среде разработки, но ZS у меня не получилось так настроить).
#11
Отправлено 07 ноября 2008 - 10:38
Дело привычки и личного пристрастия. Чем парит-то?меня откровенно парит код, где первая фигурная скобка остаётся в строке с выражением
По поводу "Иногда компании выгодно взять начинающего программиста" - это точно. Легче научить с нуля, чем переучить зазнавшегося "супер-профи".
Сообщение изменено: DTprog (07 ноября 2008 - 10:41 )
По любопытству иль со скуки все это кто-нибудь взорвет.
#12
Отправлено 07 ноября 2008 - 12:04
Парит тем, что нет логики.Дело привычки и личного пристрастия. Чем парит-то?
По поводу "Иногда компании выгодно взять начинающего программиста" - это точно. Легче научить с нуля, чем переучить зазнавшегося "супер-профи".
Да, экономится место на одной скобке, но я хочу поставить на неё курсор и быстро увидеть код всего блока, а проще всего он воспринимается, когда скобки блока на одном уровне.
Пробелы вместо табуляции - очень неудобно по ним "ходить" стрелками. Опять-таки нарушается логика цельного блока (имхо). Обычно против табов высказывают: у кого-то там редактор делает слишком большие отступы - это их проблема Особенно раздражает отсутствие чёткой логики в HTML коде - тратится очень много времени на выявление блоков кода.
Есть одна замечательная программка, не помню названия - она идеально форматирует исходники под любые нужды, остальные, что я пробывал делают эту работу частично. Если бы была нужда работать постоянно с чужим кодом, я бы непременно её приобрёл
Обучать с нуля - явщика обучить с нуля на PHP - согласен, а вообще полного нуля - ой не знаю, не знаю... Лишние проблемы, коду такого человека опасно доверять. Обычно их пускают через путь "тестера".
#13
Отправлено 07 ноября 2008 - 12:34
Кстати в Java по соглашению она там и должна быть
http://java.sun.com/...s.doc6.html#454
#14
Отправлено 07 ноября 2008 - 14:09
+1000Пробелы вместо табуляции - очень неудобно по ним "ходить" стрелками
Сколько пробелов в одном табе (а так-же пробелы ставить или табы) настранивается практически во всех IDE и в большинстве даже простых блокнотов (виновой стандартный не считаем, лажа конкретная)
ИМХО подход неверный, тестер не имеющий в запасе хотя бы основных знаний (или даже вовсе найденных серьёзных багов и дыр не найдёт багов пока его носом не ткнёшь раз 200 и не объяснишь "вот это баг")Обычно их пускают через путь "тестера".
Сообщение изменено: Vladson (07 ноября 2008 - 14:07 )
Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih
Не вазелин, а бизнес-гель ©Avagraen
#15
Отправлено 07 ноября 2008 - 14:12
ммм, тогда я думаю, питон и руби вам не понравятсяПробелы вместо табуляции - очень неудобно по ним "ходить" стрелками
В нетбинзе альт + шифт + контрол + f, в эклипсе тоже как-то можно былоЕсть одна замечательная программка, не помню названия - она идеально форматирует исходники под любые нужды, остальные, что я пробывал делают эту работу частично. Если бы была нужда работать постоянно с чужим кодом, я бы непременно её приобрёл
кури спеки по camel case'у, вводи единый стандарт на фирме и сношай тех, кто его не придерживается.Кстати, вопросик насчт тимворка: стиль кодирования у всех должен быть один? Но у меня например, немного нестандартный стиль (если считать стандартом к примеру PEAR/ZF). У меня самое важное правило - высокая читабельность кода и меня откровенно парит код, где первая фигурная скобка остаётся в строке с выражением, и когда в качестве табуляции используется пробел (против последнего говорят, что есть спец. опция в среде разработки, но ZS у меня не получилось так настроить).
З.Ы. насчет фигурной скобки, имхо, выделять целую строчку только под фигурную скобку - транжирство, а когда блоки высокие - реально парит скроллить, прям хоть моник вертикально ставь.
Сообщение изменено: zedirtybastard (07 ноября 2008 - 14:18 )
#16
Отправлено 07 ноября 2008 - 14:12
Top Five (Wrong) Reasons You Don't Have Testers или по русски Пять (неуважительных) причин не иметь тестеров
Сообщение изменено: Vladson (07 ноября 2008 - 14:14 )
Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih
Не вазелин, а бизнес-гель ©Avagraen
#17
Отправлено 07 ноября 2008 - 14:19
Оно всё равно не может отформатировать так, как я пишуВ нетбинзе альт + шифт + контрол + f, в эклипсе тоже как-то можно было
Мне очень нравится формат yaml, и там как на зло воспринимаются только пробелыммм, тогда я думаю, питон и руби вам не понравятся
Это всё мелочи, можно привыкнуть. У меня например дома и на работе одна и та же клава (MS natural 4000). Только дома американская, а на работе шведская раскладки - некоторые клавишы расположены не там, ничего, привык и даже не замечаю. Главное, чтобы производительность не падала!
#18
Отправлено 07 ноября 2008 - 15:39
имхо стоит призадуматься значит о форматировании своего кода или насколько я помню, в эклипсе все настраивается..Оно всё равно не может отформатировать так, как я пишу
Ыщщо один моньяк на MS Natural. На такие клавы подсаживаешся и хрен потом слезешь, а больше их не выпускают. Ну нафиг, я лучше обычную потопчу, чем на эту заразу подсесть и страдать потом.Это всё мелочи, можно привыкнуть. У меня например дома и на работе одна и та же клава (MS natural 4000). Только дома американская, а на работе шведская раскладки - некоторые клавишы расположены не там, ничего, привык и даже не замечаю. Главное, чтобы производительность не падала!
#19
Отправлено 07 ноября 2008 - 15:51
public function getVkFields( $formFields, $decode = false, $encoding = 'UTF-8' ) { // Обязательное поле if ( ! isset( $formFields['VK_SERVICE'] ) ) { // Не указан номер услуги throw new PangalinkException( 'Не указан номер услуги!' ); } $vkService = $formFields['VK_SERVICE']; if ( ! isset( $this->vkServices[ $vkService ] ) ) { // Указанный запрос не поддерживается throw new PangalinkException( sprintf( 'Указанный запрос %s не поддерживается!', $vkService ) ); } $vkFields = array(); foreach ( array_keys( $this->vkServices[ $vkService ] ) as $field_name ) { if ( isset( $formFields[ $field_name ] ) ) { $vkFields[ $field_name ] = ( $decode ? $this->decodeString( $formFields[ $field_name ], $encoding ) : $formFields[ $field_name ] ); } } return $vkFields; }обычные преобразователи не ставят в некоторых необходимых мне местах пробелы.
По поводу MS Natural - удобно, мягко, руки не устают. Большие пальцы друг друга не задевают... К хорошему быстро привыкаешь Например, мышка - только лазерная, только Logitech с кнопкой "назад" сбоку. Дома и на работе одинаковые MX400. Ведь согласитесь, работа должна быть в радость, а если оптическая мышка дёргается и мешает работать - лишние нервы.
Кстати, программистам разрешают ставить свои клавы и мышки
#20
Отправлено 07 ноября 2008 - 16:12
А вот с фигурной скобкой, реально, по высоте охват очень маленький.
Я, если честно, не увидел там каких то сложных мест, не понимаю, почему преобразователь тебе там корявит форматирование. По идее норм должно все быть.
public function getVkFields( $formFields, $decode = false, $encoding = 'UTF-8' ) { if ( ! isset( $formFields['VK_SERVICE'] ) ) { // Обязательное поле throw new PangalinkException( 'Не указан номер услуги!' ); // Не указан номер услуги } $vkService = $formFields['VK_SERVICE']; if ( ! isset( $this->vkServices[ $vkService ] ) ) { throw new PangalinkException( sprintf( 'Указанный запрос %s не поддерживается!', $vkService ) ); // Указанный запрос не поддерживается } $vkFields = array(); foreach ( array_keys( $this->vkServices[ $vkService ] ) as $field_name ){ if ( isset( $formFields[ $field_name ] ) ) { $vkFields[ $field_name ] = ( $decode ? $this->decodeString( $formFields[ $field_name ], $encoding ) : $formFields[ $field_name ] ); } } return $vkFields; }сравни на руби
def getVkFields (formFields, decode, encoding = 'UTF-8') throw new PangalinkException( 'Не указан номер услуги!' ) unless params[:VK_SERVICE].nil? throw new PangalinkException('Указанный запрос #{params[:VK_SERVICE]} не поддерживается!') unless self.vkServices[params[:VK_SERVICE]].nil? vk_fields = [] self.vkServices[params[:VK_SERVICE]].each_key { |k| vk_fields[k] = decode ? self.decodeString(params[k], encoding) : params[k] unless params[k].nil? } end
мы проще делаем, обозначаем лимит по цене на клаву\мышку и направляем на ох.ее, пускай сами выбирают.обычные преобразователи не ставят в некоторых необходимых мне местах пробелы.
По поводу MS Natural - удобно, мягко, руки не устают. Большие пальцы друг друга не задевают... К хорошему быстро привыкаешь Например, мышка - только лазерная, только Logitech с кнопкой "назад" сбоку. Дома и на работе одинаковые MX400. Ведь согласитесь, работа должна быть в радость, а если оптическая мышка дёргается и мешает работать - лишние нервы.
Кстати, программистам разрешают ставить свои клавы и мышки
И это, я не знаю как ты, но я мышкой очень мало пользуюсь в работе, все шорткатами. Ну даже если и без кнопки бэк, так можно гестчуры настроить, имхо ищщо удобнее
Сообщение изменено: zedirtybastard (07 ноября 2008 - 16:16 )
#21
Отправлено 07 ноября 2008 - 16:21
От "ковра" много зависит, у меня оптическая и не дёргается...а если оптическая мышка дёргается и мешает работать
И потом на плохом очень и очень неудобно...К хорошему быстро привыкаешь
Работа должна приносить деньги работодателю, и тебе процент соответственно. С радостью или без неё чаще всего работодателя не волнует абсолютноработа должна быть в радость
Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih
Не вазелин, а бизнес-гель ©Avagraen
#22
Отправлено 07 ноября 2008 - 16:22
Мышка нужна для сёрфинга. Всётаки WEB-приложения пишем.
P.S. привет из ОХа
#23
Отправлено 07 ноября 2008 - 16:34
ну я как бы не "пропагандирую" РНР очень много мусора подразумевает в коде, без которого можно обойтись. Чтение кода, кстати гораздо легче именно от того, что строки представляют из себя какое-то морфологическое значение, это из питона пришло, более того, использование методов с символом ? в конце - это вообще гениальный ход. Тебе как понятнее было бы: is_empty($var) или var.empty?. unless перекочевал из перла, он намного удобнее в использовании чем if not. ну в моем примере хорошо видно, насколько сокращается кол-во кода. более того есть оператор || которых в РНР нет, и без него очень хреновоzedirtybastard, смотрел я недавно софтинку написаную на руби - очень компактно, пишется быстро, отсутствует "мусор" в коде - зачёт. Синтаксис чем-то похож на перл. Мне довелось немножко поработать на перле, замысловатые "короткие" конструкции кода - это клёво, но такой код сложнее читать. Хотя, наверное, дело привычки. Почему я выбрал PHP - простой язык, очень лаконичный, без всяких подковырок. Работает как танк - написал код, получил результат. На перле 1 кусок кода можно написать наверное 5ю различными способами... Массивы, хеши, самописные объекты-массивы и т.д. - не по мне.
Мышка нужна для сёрфинга. Всётаки WEB-приложения пишем.
P.S. привет из ОХа
Вообще, по нашим подсчетам, из-за несовершенства синтаксиса РНР на нем, при равной функциональной нагрузке, приходится писать в 1.5-2 раза больше кода.
btw, вот это твое предложение о сёрфинге, лично мне говорит, что тесты вы тоже не пишете для приложения, или я неправ? потому как у нас работа сводится к написанию и тестированию жопы, а для морды да, приходится мышкой поелозить, но все равно не так много.
З.Ы. Привет вам от jaralex'a тожа!
Сообщение изменено: zedirtybastard (07 ноября 2008 - 16:34 )
#24
Отправлено 07 ноября 2008 - 16:51
Я начал его учить по той-же причине, и по ней-же он мне начинает немного ...Почему я выбрал PHP - простой язык, очень лаконичный, без всяких подковырок. Работает как танк - написал код, получил результат.
В моём понимании хороший язык должен быть простым как РНР, но без вот этих вот ламерских хитростей (никакой толковой типизации, всякие волшебные кавычки для ламеров, слава богу хоть глабалсы в прошлое вроде понемного ушли)
Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih
Не вазелин, а бизнес-гель ©Avagraen
#27
Отправлено 07 ноября 2008 - 20:35
Не в Эстониигде существуют такие чудо-фирмы где обучают с нуля ещё и деньги платят?
Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih
Не вазелин, а бизнес-гель ©Avagraen
#28
Отправлено 07 ноября 2008 - 23:32
Во времена бурного роста и развития на работу берут всех подряд. Было бы у человека желание... А там научат. Из реальных примеров - Webmedia брала людей и специально обучала (в Нарве). Правда, надо было сделать несколько тестовых заданий, на что давался месяц времени. Но насколько мне известно - платили людям мало, т.к. обучение стоит больших денег. Когда ты более менее встанешь на ноги - сразу уйдёшь в другую фирму с более высокой ЗП, по-этому в случаях с обучением могут подписываться контракты, что ты обязан отработать на одном месте к примеру, 1 год (правда, есть подводный камень - если из тебя выйдет плохой кодер, то держать тебя им будет себе дороже )Кстати кто подскажет где существуют такие чудо-фирмы где обучают с нуля ещё и деньги платят?
#29
Отправлено 07 ноября 2008 - 23:43
а если не готовые фреймворки и библиотеки, то кода было бы в сотни раз больше Всё зависит от комьюнити. Во "взрослых" языках я например очень очень боюсь глобальных переменных, даже когда свойство класса выглядит в методе как обычная переменная - очень напрягает.Вообще, по нашим подсчетам, из-за несовершенства синтаксиса РНР на нем, при равной функциональной нагрузке, приходится писать в 1.5-2 раза больше кода.
btw, вот это твое предложение о сёрфинге, лично мне говорит, что тесты вы тоже не пишете для приложения, или я неправ? потому как у нас работа сводится к написанию и тестированию жопы, а для морды да, приходится мышкой поелозить, но все равно не так много.
Мы пишем очень много интерфейсов - это сжирает приблизительно 85% времени. Без мышки далеко не уйти... Надо на это отдельного человека сажать
#30
Отправлено 18 ноября 2008 - 20:59
при объявлении функции намного лучше, чтоб первая была на одной строке, а последняя нет
<?php function test($a, $b){ return $a.$b; } ?>
в случае, к примеру, с проверкой сессии лучше так:
<?php if(!isset($_SESSION['loggedin'])){ die('Not logged in'); } echo "You are authorized, here is your secret information:)"; func1(); func2(); ?>Мое личное имхо))
Сообщение изменено: windburn (19 ноября 2008 - 13:33 )