Как стать автором
Обновить

Комментарии 196

Не могу себе представить действительно хорошего PHP-программиста (профессионала), также профессионально владеющего javascript, MYSQL, CSS (версткой), а также по совместительству - профессионального администратора unix-систем.

Мое личное мнение ИМХО - отличное знание PHP, MySQL (либо другая СУБД, которая используется в организации) и JavaScript (с AJAX).
Об остальном PHP-программист должен иметь лишь некоторое представление.
Ну в нашем случае можно добавить некоторые навыки верстки, регулярно приходится что то по мелочам править. Потому что верстальщики не всегда могут проинтегрировать шаблон с шаблонизатором, чтобы еще что надо выводилось. Верстальщики на XSLT у нас редкость :( Так что нормальное знание HTML и CSS желательно. Но тут как. Если требуется немного работы ее могут не отрываясь от работы выполнить сами программисты, иначе она уже идет человеку который специализируется на этом,если он на месте,а не в отпуске :(
> Верстальщики на XSLT у нас редкость :( Так что нормальное знание HTML и CSS желательно.
Не вижу связи между XSLT и HTML/CSS. Если умею XSLT фигачить, то HTML/CSS надо знать по минимуму?
…то HTML&CSS можно вообще не знать.
Я не хотел сказать что не нужно знать HTML/CSS. Просто верстка XSLT шаблонов отличается от верстки в том же Smarty. И многие не хотят учить даже синтаксис Smarty, вот и приходится самим ^_^
ИМХО, шаблонизаторы вообще проще, чем HTML/CSS подгонять под разные браузеры :) Так что если человек хорошо знает HTML/CSS, то взять его и научить пользоваться шаблонизатором - вообще не проблема, если он сам хочет учиться.
Полностью поддерживаю!
> Мое личное мнение ИМХО - отличное знание PHP, MySQL (либо другая СУБД, которая используется в организации) и JavaScript (с AJAX).
> Об остальном PHP-программист должен иметь лишь некоторое представление.

Проведу параллель: "хороший писатель должен: отлично знать русский язык, уметь печатать на машинке (или писать от руки) и знать пару-тройку классиков русской литературы. Об остальном писатель должен иметь лишь некоторое представление". Ну как?
>>Об остальном PHP-программист должен иметь лишь некоторое представление.
Вот отсюда и получаются толпы говнокодеров, которые толком ничего сделать не могут, а если и что-то делают, то настолько нетривиальными путями, что потом еще и годами баги фиксят!
Не могу согласиться с Вами.
Я лишь хотел сказать что действительно профессиональный программист, хороший верстальщик и к тому же дизайнер - это очень большая редкость. Да и знать несколько языков сразу очень хорошо - достаточно трудно.
Не, совмещать дизайн и программирование нереально, но хороший веб-программист должен уметь верстать и знать яваскрипт, даже если эти функции будет выполнять другой человек. Также хоть немного разбираться в Unix-администрировании, т.к. многие серьезные проекты можно серьезно облегчить тонко настроив веб-сервер. А уже когда проект не будет укладываться в одну машину, то грамотно разделить нагрузку между несколькими серверами без таких знаний нереально.
Согласен, часть javascript-а и администрирования ложиться на плечи php-программиста ИМХО.
Но javascript, как показал опыт, очень немногие знают действительно хорошо, на уровне dom-модели и вообще его ООП-стороны. Поэтому получается, что все знать хорошо нельзя, PHP-программист должен профессионально, во всех тонкостях, владеть PHP, а остальное - знать только по мере использования.
Работал в конторе, которая состояла из 3х человек :)
Начальник он же дизайнер он же менеджер, ещё дизайнер, главный программер и я в качестве его юного падавана.
На нас двоих полностью лежала вся техническая часть: вёрстка из макета, пхп+яваскрипт+аякс (собственная огромная cms с многоуровневой обработкой данных, модули под которую дописываются для каждого нового проекта), заботы по поводу серверов, доменов итд. Сейчас там в принципе всё так же, но только без меня, то есть фактически все сайты держится на одном человеке. Разве что пока он в отпуске, я приглядываю за всем этим хозяйством. Вот так чуваки работают! =)
Работаю в конторе из 3х человек. На мне все держится. Более странных людей чем PHP программисты не видел. Нельзя даже на час оставить без присмотра. PHP видимо плохо влияет на мозг.
Это прямо про меня =)) Только у нас дизайнер один, верстальщик, я + падаван программер =)) Пока справляемся. Я в основном фиксами занимаюсь по части верстки, так что знания нужны.
У нас там по части технологий вообще полный набор: данные хранятся в базе в хмл-формате, всё это дело обрабатывается-преобразуется в соответствующие объекты, перебирается, выстраивается в конечный хмл а затем при помощи xsl парсится уже в html. Плюс яваскрипта вообще до чёрта, аякс везде где можно...
Представляю, насколько "быстро" это все работает :)
Опупеть как быстро. Только кэширование спасает)
А ведь сразу видно хорошую архитектуру :)
Прекрасный комментарий, спасибо. :)
У кого-нибудь еще остались вопросы о квалификации PHP программистов? :)
> -1

А чего обижаться-то? Вы на архитектуру посмотрите, потом прикиньте ее производительность и оцените сколько будет стоить ее поддерживать и развивать.
В наших реалиях, веб-программист должен иметь хорешее представление обо всём цикле разработке, потому как там и верстальщику надо дать ЦУ по поводу некоторых элементов вёрстки (часто им самим приходится править вёрстку), и яваскрипт писать больше некому (я лично считаю, что сейчас любой веб-программист должен неплохо разбираться в яваскрипте, иначе не видать проекту нормального "аякса"), и с админом сервера уметь говорить на понятном ему языке (иметь представления о нагрузке, необходимых ресурсах, модулях и конфигах, дополнительном софте). Естественно, взваливать на программиста вёрстку и администрирование сервера в полном объёме - это неправильно, но представление иметь он должен, и в случае чего мог бы вмешаться в процесс. Резюмировать можно так: веб-программист - это человек, который знает всё о немного и немного обо всём:)
В большой конторе работаю. Но почему-то отсутствует верстальщик. Наверное, сложно найти человека отлично знающего CSS, HTML и то же самое время Smarty. Вся логика представления реализована на уровне шаблонизатора. Вот и приходиться ещё верстать.
У нас тоже самое в паре проектов, только там не Smarty, а XSLT шаблонизатор.
Я в своё время нашёл просто неплохого верстальщика с желанием двигаться вперёд и за пару месяцев он смарти знал у нас лучше всех (всего навсего чтением мануала и практические задания), там сложно нет вообще ничего, так что всё упирается просто в человека с желанием прогрессировать профессионально.
похожая ситуация
изучал php, но без практики как таковой.
потом взяли в студию, но только как верстальщика, ибо опыта работы с серьезными проектами совсем не было. изучил кроссбраузерность и все такое. xhtml+css.
затем ушел оттуда, фрилансил, сам открыл для себя smarty и научился поднимать свою верстку на самописный движок(на базе smarty) + самописную цмс.
теперь вот работаю: и php задач много, и целиком сайты делаю, и просто что-то сверстать/пофиксить верстку..
Я когда-то года 3 назад работал верстальщиком. Потом освоил Smarty, стал натягивать сайты на CMS, дальше стал дописывать код на PHP, потом полностью перешел на "пограммизм", а потом выполз в руководители отдела разработки.

В общем все зависит от человека - так скажу..
Если ты хочешь хорошо программировать (например на PHP) ты обязан отлично знать вёрстку, знать всё на что способен javascript, досканально знать СУБД
Ну а администрированием это побочные знания которые появляются когда необходимо установить тот или иной софт
Весьма спорное заявление. С ним можно согласиться, если предел мечтаний - клепать сайты в маленькой веб-студии. А если есть команда, которая занимается веб-приложениями и в которой каждый профессионал в своей области, то программисту бэкэнда нет необходимости отлично знать верстку и все на что способен JavaScript.
если человек учился в нормальном институте, то он неизбежно будет владеть хорошим технологическим кругозором,
а если не учился, то его можно (как обезьяну в цирке) научить какой нибудь одной операции (одной технологии) и следить, что бы он не сделал лишних движений
учеба в институте не гарантирует ничего
и тот факт, что у программиста нет высшего технического образования тоже не повод относится к нему как к быдлу, способному только "копать от сюда и до обеда"
разумеется из любого правила есть исключения, на то они и правила;
но тех псевдо-программистов после которых мне приходилось переписывать код иначе как обезьянами я назвать не могу.
и у всех небыло высшего образования? а у всех, за кем не приходилось переписывать, были корочки института?
Это как раз вам попадались исключения, %юзернейм%
Так всегда любой программист про код любого другого говорит.

Ну не каждый... Большинство, по крайней мере.
Если я не говорю про плохой код другому программеру лично, то лучше промолчу и разберусь как он работает, починю если нужно, но не буду "срать в карму" человеку, которого, возможно, даже не знаю. Вот так.
нет, нет не всегда, и не о каждом, у меня совсем тяжёлый случай
с включёнными глобальными переменными, отключёнными варнингами и нотисами
и с тупизмами вида echo window.location = "/"
выполняющихся по if-условиям
в институте/университете человек должен научиться учиться. а если повезет - и приобрести определенные знания.
.. но не зависимо от того, как учился студент в университете - он в общем случае, будет развитее того, кто не закончил. как бы не доказывали, не приводили случаи из жизни - факт. те кто не закончили - имеют узкий кругозор и могут стать только исполнителями. даже если они овладели определенными прикладными техногиями.
... был неоднократно свидетелем, когда хорошего исполнителя (без высшего образования) ставили на руководящую должность... плачевно все заканчивалось.
Поддерживаю. В 90% случаев выпускники технического ВУЗа не состоянии нормально программировать по двум причинам: 1) недостаток знаний (сдача зачетов и лаб, пусть даже на "отлично", вовсе не гарантирует, что ты будешь хорошим программистом); 2) нежелание этим заниматься. Например, лишь 3 человека среди моих друзей с потока и бывших одногруппников после выпуска устроились на работу по специальности.

Согласен, что программисты должны разбираться в верстке, js, но никак не в дизайне. Когда работал в одной конторе web-программистом, там приходилось исправлять шаблоны, менять структуру. Это нормальная практика. Но когда стали требовать создавать баннеры в фотошопе и рисовать новый дизайн, то после неудачной попытки объяснить руководству о некорректном смешивании полномочий - просто ушел оттуда, потому что не хочу быть "человеком-оркестром". Подобная ситуация типична для небольших фирм, где пытаются сэкономить на любых ресурсах. Сейчас с огромным удовольствием работаю в компании, в которой, слава богу, понимают разграничение труда и поэтому там каждый занимается своим делом.

Я считаю, что человек не может быть спецом во всех web-областях. А кто утверждает обратное, то я очень сомневаюсь в профессионализме этого человека.
а какие нынче институты нормальные?
по моему личному мнению/наблюдению гос.университеты - нормальные, а к остальным надо относиться с подозрением
ну это даже не смешно, аллё

МАДИ тоже государственный, и чё теперь,
я не в курсе, это что автомобильно-дорожный? а там учат программистов? вы бы ещё медицинский вспомнили
Я понимаю, что от института многое зависит, но еще больше зависит от человека. Я учусь в очень престижном информационном вузе страны. Чему меня там научили? Малому! Все сам!
Всегда удивляло, почему люди в Зажопинске архиваторы пишут на лабораторных работах, еще какие-то интересные вещи, которые дают реальный опыт, а в Питере и Москве - матрицы перемешивают! ...ну не везде конечно. Так что имя вуза - не самое главное! :)
матрицы перемещают везде, это я вам как бывший преподаватель говорю. по сути, университет - конвейер, который должен выпустить определенный процент адекватных людей, которые могут учиться дальше и осваивать профессию. а что касается Запорожья, ну так это частный случай. Вспомните откуда Ломоносов пришел :)
Институт ничего не дает кроме способности думать и учиться и точка. Так что этот коммент полностью бессмыслен и не вводите людей и ньюбов в заблуждение .. это полнейший бред
Я, выбирая себе помощников (программистов), отдаю предпочтение тем,
кто учился в профильном ВУЗе (в моем регионе их четыре и с каждым я более менее знаком) и так как я поступают 99% работодателей.
Так и в чём же бред?
пожалуйста, не утверждайте, то в чем не уверены
я работал в 2 не маленьких студиях, в одной прилично по времени счас в другой, и нигде меня не спрашивали про диплом программиста, тест и просмотр работ был, но не диплом
и также с друзьями которые занимают аналогичные должности в других компаниях
вы счас поставили всех под один шаблон, что даже на 50% не правда
ZCE больше стоит чем диплом не редко купленый, и работодатели это прекрасно понимают
Чуть поясню свой комментарий:
Я не утверждаю, что PHP-программист не должен знать ничего кроме PHP и SQL. Просто не надо требовать великолепных умений в верстке, яваскрипте, флеше и дизайне! Вполне хватит каких-то базовых знаний и навыков (если только в обязанности php-программиста не включены верстка, разработка скриптов и прочее)
абсолютно согласен
И зачем отлично знать верстку, если все равно версткой занимается другой человек?
да потому что PHP - интерпретируемый язык программирования, он встраивается в вёрстку, как же тут без знаний стандартов?
:) я не исключаю что кто работает только в бекэнде :)
и на всё остальное ему плевать, я придерживаюсь других взглядов :)
НЛО прилетело и опубликовало эту надпись здесь
То есть программист, который создаёт бизнес-приложения или даже обычные сайты, например, на Flash/Flex, не может хорошо программировать, пока не выучит HTML/CSS вёрстку и Javascript на отлично, даже если эти технологии никогда ему не будут нужны? Я согласен с тем, что программисту бэкэнда нужно понимать возможности технологий, используемых на фронтэнде, но не с тем, что он должен владеть ими в той же мере, что и PHP. Бэкэнд в данном случае один - PHP, а фронтэндов хватает - HTML, Flash, Silverlight, WML и легче сразу повеситься, чем выучить каждый из них на отличном уровне.
Я сам PHP программист, работаю в одной Латвийской фирме, при этом верстаю, знаю javascript, unix администрирование, delphi и C#.
В работе конечно же восновном надо PHP, MYSQL, XHTML и иногда JS.
Ага, а еще умею готовить яичницу, танцевать танго и раскладывать пасьянс :)
Я бы Ваше резюме даже не рассматривал бы. Уж простите, это не в обиду.
Почему?
Потому, что одинаково хорошо невозможно знать эти все вещи, перечисленные выше. Автор распыляется и значит толку от него мало.
В том-то и дело, что автор не написал на сколько хорошо он знает все это. Акцент сделан на php, как следствие можно преположить, что с остальным он был знаком ранее, а это практика программирования. При том это разносторонняя практика, которая говорит о наличии думалки и умении думалкой пользоваться.
Уверен, что с такими кандидатами необходимо встречаться и собеседоваться.
Хоть раз в жизни видеть видео "Них*я себе, Это печально и Очень плохая музыка" :-) Темы боянистые но у меня в IT-отделе все программеры их видели хотябы по одному разу =)))
у нас от пхп программиста в реальности требуется следующее

mysql, php - идеально
python - для всяких мелкий консольных скриптов
shell - для серверов (сюда же awk чуток)
unix-администрирование - хотя есть 3 админа :)
css, html, XSLT, SOAP, AJAX

поэтому у нас пхп програмеры занимаются чем угодно :) - разнорабочие скажем так :)
Универсальный нож пилит дерево как лопата, копает как топор, и рубит как пила.
дело не в универсальности, основная задача пхп программера - девелопить пхп приложения. просто у нас программер в случае отсутсвия админа, верстальщика может выполнять частично и его функции
Я правильно понимаю, что у вас и зарплата подобного PHP разработчика от 70 000 руб. в месяц?
не знаю сколько это в долларах - зп у таких спецов у нас от 2000 долларов
70 000 руб - это почти 3к баксов
Хорошо, когда есть такие спецы, и зарплата у них должна быть хорошая, минимум 4000$
Хороший программист должен уметь проектировать, анализировать нестандартные и прикладные задачи.
Нормальной верстке, JS можно научиться. Это не сложно, приходит с опытом.
Касается не только PHP, но и других технологий.

В целом требования такие.
Надо:
- Знать основы http-протокола и некоторую его специфику (в частности, связанную с передачей заголовков);
- Понимать основы кэширования;
- Понимать принципы разделения различных видов логики (желательно, на примере паттерна MVC);
- Знать основы работы с СУБД и SQL;
- Понимать, что такое шаблонизаторы и уметь пользоваться ими (XSLT, Smarty, FastTemplate);

Что касается продвинутого уровня:
- Уметь работать с репозиториями контроля версий (Subversion);
- Уметь работать с системами управления задачами;
- Уметь работать с фреймворками, ускоряющими работу (Symfony, PHPCake);
- Понимать, что такое "постоянная интеграция" (Continuous Integration), что неизбежно ведет к следующему пункту, а именно...
- Уметь использовать технику Test-Driven Development (для PHP, к примеру, тот же PHPUnit, или что-то еще из семейства xUnit);


Также, если программист универсален (client-server), нужно знать еще и JavaScript (и какой-либо из фреймворков) и основы DOM, разбираться в HTML и так далее.
Если разработчик чисто "на серверную часть", то обо всем этом очень желательно иметь представление.

Ну и то, что не касается технологий:
- Уметь работать в команде;
- Уметь изъяснять свои мысли письменно и устно;

Отдельный ОЧЕНЬ важный пункт:
- Хорошо знать русский язык.
И что по деньгам за такие знания?
Угу, еще забыл спросить, что делать (какие проекты), поскольку тут почти описание вакансии получилось :)
Ну я здесь, по сути, умения проф. разработчика перечислил, мы сами то PHP не используем, пишется все на C#.NET, но думаю, здесь у нас в провинции где-то от 20 тыщ деревянных такой спец стоит, если на PHP, чуть больше, если .NET.
Тут дело как раз в том, что когда чел профи, уже все равно на чем писать, главное - как это делается и с каким качеством.
А набор знаний, тот, что перечислен выше - это не что-то сверхъестественное. Я думаю, что это то, что действительно должен знать просто хороший разработчик.
Ну в провинции, может с опытом PHP и можно сунуться на .NET, а в Питере - Москве, вряд ли. Только Junior Developer какой-нить с зарплатой меньше, чем имеешь PHP программером.
Да не, я вот сам думаю, почему же народ считает .NET чем-то таким сверхсложным и монструозным.
Разработчик должен уметь, прежде всего, разрабатывать.
А как показывает практика, если человек профи, он очень быстро въезжает в тему (уже готовых кадров по .NET нету, поэтому мы их, по сути выращиваем), однако часто "зеленые", даже с представлением и кое-какими знаниями в .NET так и остаются "зелеными".
Больше всего радуют те, кто разрабатывал на RoR или Django, используя Agile-подходы и Getting Real.
И еще раз - в .NET нет ничего такого эдакого. Наоборот - почти полный набор технологий от производителя и разных third-party-компаний, а также отличные инструменты разработки и тестирования.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
забыли знание паттернов проектирования упомянуть
Да, кстати, а хотел)
что, без них в вебе никак? :(
Сказал бы, что очень желательно. Хотя бы основные: MVC, Абстрактная фабрика, Синглтон, Стретегия.
СтрАтегия, извиняюсь :)
Слов-то каких понабрались... Про ООП опять же втирать начнете, да?
Если бы "понабирались". А то каждый день на практике стыкаюсь..тут не до теории, как бы Вам не хотелось бы, чтобы это было просто глупыми словами из моих уст, прочитанных в интернете.
По поводу умных слов: UML - да/нет - почему?
Третий вариант - не обязательно. Весь UML досконально знать и использовать нет смысла. Да, сделать какие-то наброски при проектирование (диаграмму классов сделать или базу спроектировать) - желательно уметь, а остальное - нафиг не нужно очень часто в реальных веб-проектах..
А программировать уметь надо? Или это необязательное свойство? ;-)
PHP + MySQL
XHTML+CSS и все это запихнуть в Smarty
Javascript тоже необходим как и Ajax
Резать слава богу не приходится,хотя на предыдущей работе (тож небольшая веб-конторка) приходилось и часто.
Основные навыки в управлении хостингом (крон прописать и т.д.) остальное - есть админы
Ну и управление проектами иногда.
Вроде все, это для маленькой веб конторы.
Знание основ верстки, как мне кажется, веб-программисту ну никак не повредит.
Навыки работы с unix система так же программисту только +.

Остальное совершенно для программиста не важно.
В моей фирме требуются знания: php, mysql, html, javascript, css, ajax, xml/xslt, regex
=/ Не кажется тупым минусовать пост, в котором описан перечень знаний, необходимых для работы в моей фирме, на моей должности?
Главное уметь правильно мыслить. А инструмент можно освоить.
+ много !
Мне вот интересно, как, человек изучивший PHP, не может знать верстки и CSS ? Он что его без броузера изучал ? А вообще - PHP программист, который знает только PHP - это сферический конь в вакууме. Потому как знание HTML, CSS, SQL, основы сетей и HTTP в честности - это must have, без этого - это не программист, а недоразумение какое то. А неумение поднять Apache + PHP + БД - это вообще нонсенс. Если мы говорим о профессионале - то в большинстве случаев человек который начинал с фриланса и у него не было нянек, которые ему и заверстают все валидно и JS наваяют, либо уходил в программирование со смежной специальности (тестер, верстальщик, сисадмин и т.д.), либо выпускник соответствующей кафедры, где это все преподавать должны по идее. ИМХО, народ все это пишет не для того, чтобы реально загружать человека непрофильными задачами, а просто сразу отсеять людей, которые вообще не в теме. Ибо для любого человека, самостоятельно сделавшего с нуля хотя бы один сайт - ответить на все эти вопросы утвердительно не составит никакого труда.
неверно. люди с 5+ годамы работы на позициях веб-девелоперов могут вообще ничего не помнить из верстки. потому что разделение труда. и очень многих людей отпугивает упоминание хоть какого-нибудь клиент-сайда в объявлении о найме. а подход "все мы ели говно - и ты теперь ешь" неконструктивен.
> и очень многих людей отпугивает упоминание хоть какого-нибудь клиент-сайда
То есть этот человек сделать сам сайт "от и до" не в состоянии просто физически ? А проектирование баз данных и запуск по cron-у скрипта для обработки статистики и базовое владение консолью Unix их тоже отпугивает ?
На мой взгляд - нормальный специалист склонен к развитию и увеличению своего кругозора, то есть он через 5 лет занятия веб-разработками должен не только в совершенстве овладеть PHP но и узнать массу нового в смежных областях. А если он через 5 лет не сможет вспомнить как отправить файл на сервер через форму методом POST - то это деградация. Ну нечего в PHP учить 5 лет, чтобы зацикливаться только на нем.
Если человек пишет, например, soap-сервер, зачем ему знать html и тем более css? У большинства из присутствующих php ассоциируется исключительно с движками вебстраничек, но область применения гораздо шире.
Так с этим то я и не спорю. Но как надо много специалистов, которые в совершенстве знают PHP и не знают ничего другого ? Я просто не могу представить себе человека, который знает ТОЛЬКО PHP. ИМХО, профессионал не может зацикливаться только на одном языке... Как говорил Прутков: "Специалист подобен флюсу: полнота его односторонняя". А человек, который претендует на составление архитектуры сайта или SOAP-сервера, или там standalone приложения на PHP+GTK - он обязан знать всю свою предметную область. И HTML+CSS - если он участвует в разработке сайтов - он обязан знать. Не идеально, но хотя бы достаточно, чтобы представлять, что можно делать, а что нельзя.
В моей команде работают, так называемые технологи, которые ориентируются во всех веб-технологиях. От разработки, до верстки. Я не могу сказать, что все все делают одинаково хорошо, есть конечно предрасположенность к тому или иному виду работы, но в целом я стараюсь поддерживать ровный уровень навыка во всех аспектах.

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

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

у нас в фирме верстальщиков нагружали ява скриптом, хотя в требованиях вакансии были только html+css.

по моему, все, указанное автором, кроме дизайна любой веб программист должен знать хотя бы по минимуму, то есть иметь представление о том, что это такое и, при необходимости уметь применить (с помощью доков разумеется, так как опыта мало)
Как уже правильно замечалось, программист - это не тупой кодер.
Это кодеру надо знать все, что может помочь в его работе перевода алгоритмов в код.
Программист - это творческая личность.
На мой взгляд, программер должен знать то, что поможет ему решить задачу оптимальным образом.
Естесственно, у нас программист является и кодером. Потому он должен знать много. А что не знает - сумеет найти.
Программист - это творческая личность.
Типичное заблуждение новичка.
"Программист - это машина", "Bytecode - все, остальное - ничто"
Типичное заблуждение вобще многих.
Ничто не мешает программисту быть творческой личностью.
Вобще программист - это всего лишь название вакансии. И то, что люди работают одну и туже работу - еще ничего не значит.
Ничего не мешает, да. Как и любому другому человеку.
Но чтобы быть программистом, совсем не обязательно быть творческой личностью. И более того, процесс разработки имеет мало общего с творчеством. Хотя когда-то я думал обратное, да
Где то я уже читал ваши холивары...
дело не в том, творческую или нетворческую работы выполняет программист, или дизайнер, или журналист. тут небольшая путаница возникает, на которую все ведутся. скажем, никто говорит, что если программист не является творческой профессией, то он стоит наравне с обычными ручным трудом. с другой стороны, если сказать, что программист - творческая личность, то придется объяснить, какой именно акт искусства он создает.

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

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

и да, про вакансию вы зря. программист - это профессия (определения из различных словарей), точнее класс профессий, как и у всех ремесленнических профессий у него есть свои подклассы - фронтенд-программист, программист баз данных, узкие специализации на определенных языках программирования.
Хотите сказать программист - это "машинистка"? Не согласен.
Путаница в терминах "разработка" и "программирование" заложена. Изначально, программирование является этапом разработки. И в этом смысле программист похож на "машинистку".
Однако ж, из-за путаницы этой и получается, что формирование требований не соответствует должности.
Давайте аналогию проведу.
Человек, который готовит блюдо по рецепту, где четко описано что брать из продуктов, в каком количестве и в какой последовательности готовить — это кодер.
Человек, который читал несколько кулинарных книг и теперь из имеющихся продуктов может сам сделать 3-4 приличных блюда и написать для других их рецепты — программист.
Но до шеф-повара ему еще далеко
!Да! я "машенистко" я на обдуманную задачу обдумываю алгоритм, при этом записывая его в код программы, того же самого пхп, таже сама MVC требует хорошего алгоритма, а чтобы его написать нужно стать "машенистом" т.к. там писать не мало. Так что вот
Я менеджер по персоналу, ищу в т.ч. и PHP5-программистов.
Могу сказать, что описание вакансии составляется только с руководителем отдела, которому известна специфика вакансии, необходимые требования, и какие-то дополнительные пожелания.

Так же могу добавить, что зачастую руководитель отдела сам может составить объявление о поиске "многорукого Шивы", и уже в процессе согласования вакансии оказывается, что что-то можно перенести из "Требования:" в "Желательно:", или же вообще вычеркнуть. Иначе при поиске сотрудника придется безрезультатно искать человека в течении какого-то времени.

В нашей компании от PHP-программиста требуется знать:
- Знание PHP5 на хорошем уровне (ООП)
- MySQL, навыки оптимизации БД
- HTML /JavaScript
- опыт работы с XML
- навыки работы с Unix, Apache

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

Если же компания маленькая, и веб-программист занимается так же администрированием 1С, и сетку поддерживает в единственном лице - то это совсем другой разговор. Тут в требованиях начальство будет хотеть человека, который "всё умеет, и хочет работать за бесплатно". К сожалению, в регионах такое часто встречается.
Дополнительные пожелания (не являюся требованием, но являются плюсом):
- опыт разработки на Perl / C
- опыт работы с AJAX
- опыт работы с XSLT
- опыт разработки высоконагруженных приложений
- общее понимание сетевых протоколов
Я работал с человеком, который занимался дизайном и вёрсткой (никакого JavaScript) - он прекрасно разбирался в шаблонах с PHP вставками из if, foreach и переменных, знал что такое массив, умел в JavaScript понять где собирается HTML и как его подправить что бы всё не сломать. В более сложных случаях просто просил показать что и как, причём один раз и больше он нас не трогал. Причём он просто изумительный верстальщик и знает особенности IE, FF и Opera как таблицу умножения.
Ну а мы занимаемся исключительно PHP, MySQL и JavaScript - первые два у нас все знают на очень высоком уровне, последний кто-то лучше, кто-то хуже, но проблем с реализацией чего-либо не возникало ни у кого.
Администрированием занимается админ.

Универсальный комбайн никогда не будет профессионалом во всём - только в одной-двух областях, остальное будет хромать всегда.
Чем, по вашему, написание кода на PHP отличается от написания кода на JavaScript или C#?
Тем же, чем отличается эникейщик от администратора сети: первый умеет всё, но по чуть-чуть - второй умеет мало, но идеально.

Различается в технологиях, особенностях каждого конкретного языка. Знание тонких нюансов приходит с опытом и не за год-два, так же как и набор приёмов, выработанных годами на конкретной платформе и велика вероятность, что на другой платформе это работать не будет или будет не эффективно - там есть другое решение.
Мне лично тяжело в голове держать PHP, MySQL, JavaScript и Pascal (delphi) - последнее я уже забыл и нужно садиться за справочник и вспоминать всё, включая синтаксис.
LAMP связка это одно - оно единое целое + JavaScript - считайте 2 области, но приплюсуйте третью и что-то вы обязательно временно забросите и забудете.
Для JavaScript надо знать, как сделать код кроссбраузерным.
А PHP - он един :) Тем более, что все на пятерку уже более менее перешли.
Ну валидная верстка и CSS для меня как спорт. Поэтому часто беру на себя обязанности верстальщика. Далее, не каждый раз удаётся добиться от админа того что мне требуется от хостинга (во первых у него и более срочные задачи бывают, во вторых, как правило достаточно написать .htaccess, либо в самом тяжёлом случае дособрать какой-нибудь модуль для php), по этому какие-то элементарные знания об администрировании нужны однозначно. Да и вообще, когда я слез с денвероподобной связки (тогда самого денвера не было в природе) на чистый LAMP, некоторые моменты стали очевиднее. Например, что пришло время utf-8, что можно беспрепятственно называть файлы любым алфавитом, без геморроя качать и распаковывать обновления для CMS методами самой CMS, что можно написать Web-фронтэнд к sane и расшарить сканер по сети на любые системы с помощью мордочки крутящейся в prism, Скачивать с карт google кусочки карт сшивая их в единую карту города в png/jpg и вообще творить такое, что может и возможно под виндой, но в голову не приходило.

Другими словами, одно другому не мешает, пока PHP программиста не заставляют верстать рекламный блок для газеты.
Я занимаюсь всем. И php пишу, и клиентский программинг и верстаю и дизайню. Не потому, что хотел быть «ширпотребом», а просто мне это нравится. Начинал я с php. Потом меня затянула верстка, порядка года я верстал, изучал. Потом затянул клиентский программинг, так жде было с дизайном итп.
Именно поэтому часто под вакансией PHP программиста понимается много больше. Веб, это куда больше, чем просто серверный язык программирования. И понятие веб-мастер, под которым раньше понималось «администратор сайта», нынче обретает новые горизонты.
Мое мнение.
поддерживаю, а плюсы уже закончились
В "Гугле" непосредственно при приёме на работу никаких специфических знаний относительно HTML, CSS, PHP, Javascript и всего остального не требуется. Считается, что если человек прошёл собеседования, то он сумеет в достаточно короткие сроки познакомиться с любым необходимым языком или технологией.

Кроме того, в Гугле не используют PHP.
Кто же в здравом уме будет использовать пхп... :))
Ну не нравится вам язык, зачем тогда вообще комментировать пост в блоге пхп?
Не вижу связи! :-DD
не, не совсем верно. на phpconf у Marcus`a спросили как они используют php в google. Он ответил, что у них есть страничка, через которую они пиццу заказывают, так вот она написана на php.
Ну, если совсем честно, иногда PHP используют, когда нужно что-нибудь совсем тривиальное сделать с помощью локального веб-сервера, например, в тестовых целях. Но это не официальная практика.
А в основном у них perl/python?
Если человек делает сайты, то он должен знать из чего состоят сайты и как они работают. Это, в принципе, должны знать все кто работают над сайтом, включая дизайнеров и менеджеров.

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

Ну и естественно, если в команде нет админа, то ставить и настраивать серверный софт будете вы.

Что касается вопроса, то вписывание в требования всего остального, кроме пхп означает либо то, что требуется веб-разработчик широкого профиля, либо то что написано в первом предложении этого коммента.
Как минимум должен знать PHP причем уметь программировать как в объектрой модели так и в процедурной (причем во втором случае это должен быть не быдлокод). Должен уметить писать, анализировать и оптимизировать SQL запросы (намеренно не акцентируюсь на MySQL). Должен уметь работать в UNIX консоли (как минимум знать как посмотреь список запущенных процессов, занятую и свободную память и дисковое пространство на разделах, уметь сделать дамп БД и восстановить его, свернуть развернуть архивы, настроить бэкапирование, управлять cron задачами, знать хотя бы базовые настройки httpd.conf, my.cnf, уметь правильно рестартовать ответственных за web демонов). Должен уметь пользоваться системами контроля версий (SVN/CVS) понимать ИДЕОЛОГИЮ - а зачем вообще это нужно, что такое транк, бранч, в каком случае нужно коммитить, как разрешать конфликты. Знать JScript, уметь применять как готовые JS фреймворки так и писать свои функции, работающие с объектной моделью браузера и главное понимать когда надо писать самому а когда проще применить готовые решения. По поводу HTML / CSS - в принципе я считаю что отвлекать программиста (математика) на вёрстку нецелесообразно, но если надо что то поправить (а не сверстать по илюстраторскому макету сайт с нуля) то он должен это уметь это сделать.
PHP-программист обязан:

следить за обновлениями PHP
регулярно задаваться вопросом "А что это за "over ~90 bug fixes" в новой версии интерпретатора по сравнению с той, которую использую я?"
разбираться в огромном php.ini
уметь заставлять работать чужой код для позапрошлой версии интерпретатора
понимать, что такое абстракция от конкретной СУБД
уметь мириться с недоразвитой объектной моделью языка
помнить полсотни чудаковатых названий функций
понимать, что для веб-разработок должен существовать более подходящий инструмент
Увы не могу плюсануть. У меня огромный опыт программинга (не сочтите за хвастовство) на различных языках от ассемблера Z80 и КР1801ВМ1 до ASP.NET, Perl, Delphi и Visual Basic (фууу), но только в PHP я встречаю настолько нелогичную схему именования функций (где то имена формируются как объект_действие, где то действие_объект, где то они разделены подчеркиванием, где то слитно, аналогичная ситуация с параметрами функций - где то сначала передается над чем производим действие потом что делаем, где то наоборот, где то вообще результат возвращается не через заголовок функции а через параметр-ссылку). Короче - полнейший бардак, я на память не жалуюсь и с php уже 4-ый год работаю, но раз два в день приходится залезть в php_manual_en.chm. Про поддержку кода предыдущий версий особенно написанного незнамо кем с использованием register_globals и magic_quotes я вообще молчу, это слишком больная тема.
на счет мануала и бредового именования функций - это я с вами согласен. сам пхп программист но в мануал лажу для того чтобы таки правильно написать редко используемые функции и в верном порядке передать им параметры
Не считаю "лазание" в мануал чем-то плохим. Зачем мне знать 150+ разных функций с параметрами наизусть? Главное представлять как должен реализовываться тот или иной кусок кода.
> уметь заставлять работать чужой код для позапрошлой версии интерпретатора
Это PHP 3 что ли ? Тогда это не программист, а кудесник :)
"понимать, что для веб-разработок должен существовать более подходящий инструмент"

А существует?
Безусловно.
Например: Parser3, Ruby On Rails.
Попробуйте, вам понравится!
Я бы добавил в список старый добрый Perl но боюсь заминусуют. Сам кстати использую его на старых проектах и для серверной автоматизации, во многом гораздо лучше PHP.
эм... а что тогда человек, знающий эти языки и понимающий, что они лучше для веба - делает в PHP-программистах ?
Ёжики кололись, плакали, но продолжали жрать кактус (с) анек
Могу сказать за себя - банальный меркантильный интерес. PHP (пока ещё увы) более востребован на рынке, и в случае возможного охренения работадателя или возниконовения каких либо других обстоятельств можно легко и быстро сменить работу без потери в зарплате.
вот на старых проектах ему и место ) Конечно, есть вещи которые будут быстре работать под Perl. Но для современного веб на PHP в несколько раз быстре и легче решать задачи.
Сколько можно уже повторять что PHP:

  • Такой исторически. И в последнее время ведутся обсуждения и конкретные работы по приведению его к стандартизированному виду - достаточно почитать internal mailing list

  • Это скриптовый язык, заточенный именно под WEB и он изначально был задуман без многих черт, присущих системным скриптовым языкам типа Perl и Python, которые кстати создавались именно как _системные_ скриптовые языки.

  • PHP это белая ворона на фоне остальных языков - он ДРУГОЙ, с другой философией и подходом, и он идеально вписывается в ту область, для которой предназначен и для чего он был создан. Даже домохозяйка на нём может сделать простенький сайтик, а ведь именно для этого он и был создан изначально - почитайте историю языка.

  • PHP развивается, это факт. К примеру релиз 5.3 судя по тому, что я вижу в wiki.php.net и internals листе будет добавлено столько всего, сколько не было добавлено в PHP5, пока доберутся до 6-ки, добавится столько нового, что можно будет изучать его заново. Да, это между прочим называется развитие и это хорошо. Все языки развиваются и рано или поздно используя какую-то новую фишку вы убиваете backwards compability. Даже в том же C - возьмите библиотеку поновее и есть шанс, что у всех, у кого старые её версии просто не смогут пользоваться вашей программой - требуется обновление библиотеки.

  • Огромный php.ini ? Вообще-то там просто много комментариев. Удалите их и получите маленький компактный фаил на 2-3 экрана. Опций реально не так уж много, всего ~10-15 реально что-то значащих, которые мы меняем.

  • Несовершенное ООП - а что есть совершенное ООП? Java модель, где не так уж легко въехать с ходу? Мне нужен скрипт, а не приложение с функционалом шатла и я просто не буду это ООП использовать, потому что не нужно. Того что есть в PHP5 +- хватает, в 5.3 добавят пару новых мощных возможностей и вам их хватит на долго. Особых писков по поводу нехватки ООП в PHP вв интернете я не наблюдаю, в основном пишут те, кто сидел на Java или C++. И что они забыли на PHP, если он им не нравится? А ведь продолжают же писать на нём и писать душераздирающие записи в блогах об убогости PHP. Мыши давились, плакали но жрали кактус (с).


Вообще у PHP есть прекрасный лозунг KISS - Keep It Simple, Stupid. Именно его и нарушают всякие Java, C# и прочие мега-ооп любители, переусложняя и чрезмерно нагружая PHP интерпретатор и потом жалуясь, что тормозит. А что вы хотели от интерпретатора, большой скорости при большой сложности?! Мечтатели...
А то что нужно ещё знать и уметь обращаться с прочими WEB технологиями - это уже специфика профессии и никто не говорит что не нужно знать HTML/CSS и JavaScript. Надо ещё иметь представление о HTTP/HTTPS, о WEB серверах и базах данных. Я вообще считаю что PHP программист обязан иметь професиональное IT образование, потому что это практически самая разносторонняя область, и знать нужно куда больше чем при работе с другими языками, ИМХО.
))) не хочу воевать, но прошу вас на предмет KISS-принципа, нацеленности на web, количества реально значащих настроек, необходимой объектной модели потрогать Parser3 (www.parser.ru)
Я думаю, ваше мнение поменяется. Успехов и профессионального роста!
о уже выпустили 3-ю версию... Маладцы ) Не буду говорить про PHP vs Parser. Только, то, что он так и не приобрел большой распространенности, и хостинг под него то же не найти, и готовых библиотек в сотни раз меньше ... ни как не в сторону изменения мнения )
а можно нам, только начинающим свой путь в программировании для УЕБ(WEB), показать преимущества объектной модели Parser3 над объектной моделью языка сценариев для УЕБ(WEB) страниц PHP5, желательно на реальном примере. Заранее спасибо!

Конечно, можно: любой методж можно вызвать как в контексте объекта так и в контексте класса (как статический метод), что поволяет не заморачиваться раньше времени. Далее отправляю всех на http://www.parser.ru/docs/lang/

какое-то очень странное "преимущество" - "не заморачиваться раньше времени". вы уверены что там есть ООП? ведь есть же всякие умные словечки: private, protected,
public, static, final....

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


Кстати, пройти по ссылке и уделить час своего времени на поиск ответов совсем не сложно.

видимо вы не совсем понимаете что такое ООП и зачем там все-таки эти умные словечки.

ну что же "Успехов и профессионального роста!" :)

Видимо, для некоторых людей состояние конфронтации как воздух.


А я ещё раз пошлю вас на.

я подробно изучил этот линк, но так и не понял чем же объектная
модель Parser3 лучше PHP5.

Пожалуйста, покажите мне (нам) это на живом примере (плачет,ноет)!!!
"-1" это и есть тот самый "живой пример"?
Принцип KISS не зависит от языка. И на C# и на Java можно придерживаться этого метода. Что мы, к примеру, и делаем.
И PHP, как бы там ни было не способствует его использованию. Вот что реально сподвигает на это (и радует тем самым) - это фреймворк RoR с языком Ruby и Django с Python'ом.
И все равно это остается на совести разработчика. Это метод работы программиста, а не языка.
А мне сквозная ООП-шность RoR не нравится. Иногда и функции полезны знаете-ли.
Питон насколько я знаю хорош, но принципы построения приложений там совсем иные. Насколько я знаю, там подымается всё приложение целиком и оно уже само обрабатывает запросы - такое программить сложнее, знаю из опыта системного программирования на паскале и делфи. Вообщем подходы разные.

Ещё PHP очень хорош для написания прототипа и последующего перевода приложения на что-то более сложное и быстрое.
Про прототипы - это опять же способ проектирования и разработки, а не фича языка. Прототип хорошо создается в любом языке при наличии хороших средств разработки. Питон - такой же язык, как и Ruby, и Perl, и многие другие. Впрочем, подходы действительно разные. Хотя у Питона и Руби очень много общего.

А чем именно не угодила "сквозная ООП-шность"? Вот так вот прям, без других аргументов.
Как по мне, так это один сплошной плюс - возможность полного покрытия кода тестами, а также то, что большинство "утилитарных" механизмов находятся "под капотом" и следуют принципу convention over configuration.
когда пишут, что пхп программист должен знать кучу всего перечисленного путают две разные специальности пхп программера и веб программиста, раньше когда сам составлял вакансии так же ошибался. веб-программер должен уметь и программить на пхп (например) и верстать, ну иногда что то по мелочи отрисовать, кнопочку например.
все написанное имхо, и применяемое мною в практике, может не совпадать с другими.
А поподробнее ? Я могу разделить кодера и программиста, а вот PHP-программиста от Web-программиста - что то не получается. Пока на JOB.ru не будет куча вакансий о поиске программистов на PHP+GTK для написания standalone-приложений, я считаю что PHP - в основном для Web и PHP-программист является подмножеством Web-программистов.
ну если думать логически, из названия php программист занимается php, а web всем, что связано с web'ом, т.е. со всем что входит в это подмножество. хотя это получается супермегауниверсальный человек =)
Ну все таки PHP программист - это в первую очередь Web-программист с уклоном в PHP, знание Веб технологий для них никто не отменял... Судя по тому, что пишет народ в этом топике - все перечисляют веб-технологии + технологии, требуемые вообще всем программистам, в независимости от языка (системы контроля версий, БД, элементы проектирования и отладки и т.д.). Можно подумать, что если человек пишет сайты на Питоне,Яве или Perl-е - он не должен все это знать. Вся беда и получается - что все ищут WEB-программиста, а находят PHP-программиста, который не может понять чем клиентская сторона отличается от серверной и пытается из PHP передать переменные в JS. А когда наступят на эти грабли несколько раз - начинают дуть на воду и требуют знания того сего и этого, в надежде, что "PHP-программист" испугается и придет вменяемый Web-программист.
100%. Да и PHP программист это уже скорее всего и есть Web-программист. А вот явщикам, перлистам и питонистам можно быть и без зднаний веб-технологий
> ну если думать логически, из названия php программист занимается php, а web всем, что связано с web'ом

получается php-программист написал код, который сформировал объект/массивчик и на этом забил (передал код web-программисту, чтоб тот вывел его на экран :))?
У нас особо не зверствуют - требуют основную базу( PHP(oop), Mysql, Smarty, SVN )
Бывает работенка по настройке сервера (установка апача и всего, что с ним связано под линух)
Главное, помните: если пишут, что нужен "программер" чтобы "накодить", то это уже свидетельствует об уровне работодателя и уровне задач. Лично я таких людей остерегаюсь ;)
PHP, MySQL или PostgreSQL, Smarty, какой-нибудь из MVC фрэймворков, Javascript в составе какуй-нибудь библиотеки, ajax — всё это требования
html, xhtml, css, xml, основные модули Apache — не требуют, но их знание как бы подразумевается
модели, кейсы, диаграммы, SVN, ClearCase — если не знаешь, то придеться узнать в процессе
>>который бы одновременно был ZCE, знатоком валидной верстки и хорошим дизайнером при этом
а такие в природе есть вообще? Если найдёте - потыкайте в него палочкой.
Раньше указывал в требованиях на PHP программиста следующее:

----
1.Опыт программирования на PHP5;
2.Умение читать и понимать UML;
3.Опыт работы с MySQL;
4.Опыт работы с Frameworks (Zend, CodeIgniter, CakePHP и прочие);
5.Опыт разработки AJAX приложений;
6.Знание о методах работы с хранимыми процедурами и отображениями в MySQL;
7.Знание ООП;
8.Понятие стандартов в HTML верстке, CSS.
Большой плюс:
1.JavaScript;
2.Протоколы обмена информацией (XML, XML-RPC, SOAP и прочие);
3.Различные методологии разработки ПО;
4.Что такое Unit-tests и как с ними работать.
5.Умение оценивать объем работы. Умение укладываться в оценки.
----

Затем быстро пришло разочарование, так как людей, знающих хотя бы половину из вышеперечисленного нет, а если и есть, то они применяют это на практике по принципу "Щаааа наколбасим". При разработке крупной информационной системы такой подход неприемлем, поэтом я заменил требования на более общие - понимание общих принципов ООП, общая эрудиция, интерес к веб-технологиям в целом. Теперь требования такие:

----
Отличное знание языка PHP;
Умение детально продумывать выполнение задания до начала его выполнения;
Умение целенаправленно и упорно доводить дело до конца;
Понимание того, что такое грамотная верстка;
Представление о тенденциях развития сети Интернет.
Отличное знание любого из MVC фреймворков и понимание архитектуры информационных систем — большой плюс.

Теперь приходят люди может и менее опытные в ПХП, зато более разбирающиеся в логике построения программного обеспечения. Особенно нравится подход людей, имевших опыт работы с RoR, или с Python.
Отлично написали требования! Надеюсь, Вы не против, если я воспользуюсь этим списком.
конечно не против, пользуйтесь на здоровье :) вообще я сейчас еще больше склоняюсь к тому, что лучше уж таки брать студентов старших курсов либо выпускников - у них меньше мозг запудрен отечественным "офисным расп..дяйством" :)
НЛО прилетело и опубликовало эту надпись здесь
Если рассматривать PHP как язык, и использовать его именно так, ТО программер должен уметь писать код и работать с БД 0 это обязательно.

Если PHP рассматривать как технологию (в принципе такое возможно), ТО он должен знать какой нить фреймворк.знать как работать с XML, ORM (DB), XSLT... и т.д должен знать обязательно ООП. этот список можно продолжать бесконечно
Очень бурное обсуждение! Сам сейчас занимаюсь поиском программиста веб-интерфейсов. Нужно делать и фронтенд и бекэнд, т.е. знать и PHP и HTML + CSS и JavaScript. Но, поскольку приложение для интрасети компании, супервалидная кроссбраузерная вёрстка нам не нужна, т.е. любой уважающий себя php-программист справится - HTML/CSS/JS код банален.

Итак, что требуется:
---------------------------------------------
Отличное знание языка PHP;
Умение детально продумывать выполнение задания до начала его выполнения;
Умение целенаправленно и упорно доводить дело до конца;
Понимание того, что такое грамотная верстка;
Представление о тенденциях развития сети Интернет.
Знание любого из PHP/JS фреймворков и понимание архитектуры информационных систем — большой плюс, но не обязательно. Хороший программист может освоиться с любым фреймворком.

Зарплата 50к белыми (контора вся белая).
Пишите мне личку, нужен программист!

(список составлен на основе комментария выше)
НЛО прилетело и опубликовало эту надпись здесь
Не знаю как в гугле (хотя там на php не пишут) , но в нашем случае нужно в первую очередь уметь программировать , знать сам язык, работать с БД и уметь ее проектировать, понимать как вообще работают веб-сайты. Желательно разбираться в ХТМЛ, так как это основной инструмент вывода результата. Все прочие навыки плюсуют «карму».
Re: Какие навыки требуются от PHP-программиста в вашей организации?

Требуется не быть "php-программистом". Остальному можно научиться.
Я считаю, любой профессионал (будь то разработчик, дизайнер, менеджер) должен иметь некое представление о смежных отраслях ремесла. Так, веб-программисту нелишне уметь развертывать LAMP и проектировать базы данных, дизайнеру не повредят навыки верстки и так далее.

Фраза «PHP-программист» — как в том анекдоте про клизму: одна медсестра знает, как ставить, другая — куда. Узкие специализации бывают в идеальном мире, %username%.
НЛО прилетело и опубликовало эту надпись здесь
Хаха да и только. Целая куча правильных комментариев, можно в книги сразу пихать по книгам.
Но на самом деле вы говорите об иголке в стоге сена.

Посмотрите на досуге код топовых цмс и широко распространненых скриптов. А также код более чем серьезных ресов по рунету хотя бы (если конечно найдете, где его посмотреть ;) ). Из зарубежных можешь хотя бы на воблу (vbulletin) посмотреть.

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

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

В конце концов - прав тот, у кого это работает. Кто то разглагольствует и пишет по несколько лет "идеальные" системы, а кто то пишет за ночь и зарабатывает на хлеб, масло и латинских цып ;)
Ну и кто прав?

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

Никогда не отказывал в просьбе разъяснить "юнцам" что да как, да примеры для осмысления подкинуть. И вам того советую - в один из дней ваш ученик может заработать миллион, а предложить вам заработать второй совместно =)
НЛО прилетело и опубликовало эту надпись здесь
Вообще любой web-ер должен быть очень разносторонним в плане технологий, но естественно, что php, js и, например, mysql это приоритетные направления. Мы помимо этих трех очень строго относимся к умению человека решать поставленную проблему, приведу пример. На собеседование приходит человек с очень хорошей рекомендацией и большим (~7 лет) опытом работы, сразу получает техническое задание, и просто не справляется с ним. Задание примерно такое:

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

Садится человек за это задание, и за 40 минут у него готовы только таблички в базе и куча нерабочего бесполезного кода, классов и прочей вспомогательной мути которая просто не нужна для решения поставленной задачи. Мораль такая, что помимо знания технологий обязательно надо требовать умение решать поставленные задачи, может и не таким варварским способом :)
НЛО прилетело и опубликовало эту надпись здесь
Написали-то много, а критерий отбора ПХП-программиста один:

"Не быть гавнокодером".

А вот понятие гавнокодерства разные, в зависимости от места работы, куда приходится устраиваться кандидат.
У меня подван(ка) еще кофе варит. завидуйте.
"Не быть гавнокодером"
Я чемто обидел тебя Сереж? в чем то провинился?
нет,я какбе шутю. а что такое "подван(ка)" ?
Саша.
А что есть PHP программисты? Я знаю только инженеров-программистов.
Вообще для инженера не имеет значения на чем писать, хоть на ассемблере.
Насчет верстки - тот же "язык" программирования...
Дизайн другое дело - это дело дизайнеров. А дизайнер в первую очередь - это технолог с очень хорошим чувством вкуса, если он не технолог, а художник, тогда уважаемые инженера ждите проблем...
Для инженера, настоящего темного властелина, конечно-же не имеет значение на чем писать, зачем писать, и как долго :) Сказали писать не на PHP а на Perl'е - потратил месяц на изучение Perl'а, потом еще пол-года на изучение его специфических особенностей, параллельно с отладной написанных на нем нерабочих программ - и вперед, сказали писать на Jav'е - еще пол-года, итого лет за 10 можно заиметь вполне себе многоцелевого программиста, правда PHP он уже к этому времени забудет, потому если вдруг - еще пол-года и... Нанимают-то обычно тех кто готов работать сразу, или подразумевается что инженер-программист при трудоустройстве уже знает все мыслимые и немыслимые языки? Ну тогда уже для конторы не должна иметь значение сумма, которую он запросит за свои услуги :)
Так что имхо профессия-то может и общая, а специализация в ней должна быть своя. Конечно это не отрициет того что теоретически принципы программирования хороший программист должен знать во всем их многообразии, даже если к языку в котором он специализируется они не относятся, но боюсь что страсть к самообразованию не критерий для трудоустройства, потому как ведрами ее мерять проблематично.
А насчет верстки - так уж сложилось что в основном языками программирования называют империтивные языки программирования, а верстка относится к декларативным, где реализация описывается не программистом, а заложена в интерпритатор (в данном случае браузер), и специфика у нее другая, научиться верстать - невелика наука, а знать что при третьем диве слева такой-то браузер дает 8 пикселей справа - на это опять-же нужно время.
Согласен опыт - дело наживное.
Тогда надо писаить не PHP программисты, а инженеры программисты, специализирующиеся на PHP :)
Хотя честно говоря например при переходе с с++ на php я разницы не заметил совсем и опыт с++ спокойно перешел на php :) вот с разнообразием других языков могут быть проблемы, именно с опытом.
Кстати я бы делил специализации не по языкам а НАПРАВЛЕНИЯМ. Например - CRM, DirectX, WEB. Так будет более правильно. Если ты работаешь в какой-то из этих направлений, то тебе тратить полгода не надо уже... потому что в основном, как вы называете, спец.особенности языка, это спец. особенности направления. Я например параллельно и на Visual C и на Delphi писал DirectX приложения - разницы вообще не замечал...такой ощущение как один язык был :)
Полностью поддерживаю! Считаю немаловажным знать ООП и основные алгоритмы. Умение работать с деревьями и пользоваться различными типами данных.
Для разработчика backend-а , по моему сугубо личному мнению, знать верстку не нужно, даже знакомиться с ней скорее вредно, чем полезно. Оставьте место в голове для того, что на самом деле является Вашим призванием, а не гонитесь за всеобъемлющей стороной знаний.
Но реально на рынке ситуация иная: из-за большой конкуренции и давки небольшим студиям, коллективам и фрилансерам-одиночкам приходиться жонглировать четырьмя, а то большими кол-вами языков для сохранения позиций на рынке. Ко мне на собеседование часто приходят люди, которые писали в резюме много технологий и умений... но по факту выясняется, что они конечно знают их, но так поверхностно, что так и хочется сказать им : "Лучше бы Вы, господа, знали меньше, но глубже! Не позорьте себя". Я готовил пару раз яблочный пирог с медово-ореховой начинкой, но я не повар.... Подумайте об этом.
Контора на 18 человек. Из них 6 PHP-программистов. Основные требования: PHP, JavaScript, MySQL - на отлично, HTML, CSS - на приемлемом уровне.
Работаю в небольшой конторе на 10 человек, 3 программистов, требования - PHP5 c ООПъектами там всякими, MySQL, JavaScript. Раньше требовали знание HTML/CSS, но после продолжительного нытья на луну, со стороны PHP-программистов, верстку из обязанностей вычеркнули, верстают теперь левые дяди, хотя скорее всего при трудоустройстве знание принципов верстки, при прочих равных, будет неплохим плюсом.

Если говорить в общем - это скорее всего больше зависит от размера конторы, если в маленькой студии, где из персонала один человек (и чтец, и жнец, и на дуде игрец) - требуется вообще все: верстка, программирование, проектирование БД, а еще дизайн, раскрутка и навыки общения с клиентом, то по мере роста конторы обязанности можно (и нужно) распределить, один человек действительно не может быть специалистом во всем одновременно, да и не нужно это, потому как грамотное распределение труда всегда будет давать ощутимый прирост в скорости разработки по сравнению с бюджетными решениями а-ля Вася-Пупкин-All-Included, так как даже если знаешь две каких-либо области на отлично - чтобы переключиться от одной к другой все равно потребуется время.
Насчет института. Я когда еще в бытность свою пришел на первый курс, я уже тогда понял что меня никто ничему не научит. И в то время, пока остальные мои одногруппники\сокурсники ждали манной небесной я учил то, что мне было нужно. И кстати, два года закончил на все 5. И о чем это говорит? Что я бешенный прогрммер? Отнюдь. Правильно сказано - институт место, где учат учиться. Не более того. Хочешь что-то знать - пойди и выучи это сам (пхп кстати и еже с ними изучал самостоятельно).
А по поводу квалификации. Когда человек больше знает - ему и цена выше. Поэтому я воспринимаю слова "каждый должен знать свое дело" как банальную лень (никого не хотел обидеть, заранее извиняюсь). Если ты знаешь пхп и мускуль - супер. А если ты к этому знаешь еще и хтмл цсс яваскрипт иксмл и прочее прочее, так это вообще круто! Твоя цена на рынке труда автоматически поднимается. Вот и вся мистика)))
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации