Требования к WEB-программистам и условия работы в вашей компании

confguru

ExAdmin
Команда форума
Требования к WEB-программистам и условия работы в вашей компании

Хотелось бы, чтоб вы поделились требованиями к PHP программистам
которых берете на работу, а также условиями работы ;-)

Причем не только фактическими - но и желательными,
т.е. что хотелось бы иметь в идеале
портрет идеальной компании|команды ;-)

P.S. Убедительная просьба не флудить.
 

Alexandre

PHPПенсионер
все зависит от позиции (девелопер или ведущий девелопер)


- основное - умение разбираться в чужом коде.

на собеседовании деется кусоок реального кода, надо чтоб кандидат смог рассказать что код делает.

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

как правило 70% обрубаются на первых двух заданиях

- знание ООП
- базовые знания WEB технологий
- понятие MVC, шаблонизации
- базывые навыки работы с Юниксом

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

всегда рассматриваем исходники написанные кандидатом.

вообще требования зависят от задач
 

slach

Новичок
глядя на Местный рынок =) могу только горестно сказать, НИКТО даже я сам этим требованиям в полной мере не удовлетворяет =))

ну, перво наперво ОПЫТ, чего конкретно делал, когда делал

потом стиль кодирования - покажите кусок вашего кода, покажите небольшое приложение

потом комуникабельность, если человек ТУГО соображает и не может сказать, то пусть напишет, если не может написать, то пусть гуляет лесом

гениальные молчуны, доказывают свою гениальность конкретными приложениями =) но таких я не еще не видел =)


навыки работы с SVN
навыки работы с багтрекерами

навыки работы с несколькими SQL серверами (не надо замыкаться на MySQL ;), причем очень хорошо если человек нормально запоминает ТОНКОСТИ диалекта и настройки (понты типа ANSI SQL, так обычно и остаются понтами), отсутвие боясни

понимание того, что такое BACKUP почему его придумали для трусов и почему им надо все равно пользоваться =)

чтобы не брезговал менять настройки и смотреть где можно потюнить ту или иную компоненту (Apache, nginx, SQL, TCP стек и т.п.)

ВНЯТНОЕ и ЧЕТКОЕ представление о Клиент-серверной архитектуре, четкое понимание где ВЕб-браузер а где Веб-сервер

ХОРОШЕЕ знание HTTP, POP3, SMTP протоколов (минимум)
умение отличать TCP от IP
умение отличать хотя бы 3-4 level'а из OCI модели
отличать транспортные протоколы от протоколов приложений
сокет от порта, адрес от eth-интерфейса, прокси от gateway, NAT от VPN


чтобы не брезговал писать HTML и Javascript код

чтобы не стремился изобретать велосипед а следил за хорошими либами сторонними и не тащил при этом в проект все подряд

тонкий момент, отношение к ошибкам, как к своим так и к чужим, лично для меня как оказалось неприемлимо работать с человеком который на всякую ФАКТИЧЕСКУЮ ошибку каждый раз пытается доказать что это "фича", в общем все баги должны быть в багтрекере и должны быть ПОФИКСЕНЫ

большой плюс хотя бы стремление к TDD (это уже после семинара, привет Пачанге и компании ;)

большой плюс знание и УМЕНИЕ применять паттерны проектирования

еще больший плюс, не зацикленность на ООП парадигме =)

короче идеальных напарников не существует =)
 

confguru

ExAdmin
Команда форума
Кратко опишу свои требования:

К программисту:

1) Хорошее знание OOP(PHP5) и правильное его применение.
2) Хорошее знание SQL, умение получать требуемый результат 2-3 способами и выбирать из них.
3) Понимание Unicode, XML
4) Борьба за каждую ms работы скрипта.
5) Активный игрок в команде, не боящийся взять больше
ответственности и изучать новые технологии.

К компании

1) Современный компьютер (от 3Гц,1Гб Ram, 160Гб HDD)
2) Цивильные офисные условия (не подвал, кондиционер, кухня, зал для совещание с флипчартом|доской)
3) Соц.пакет (медстраховка, компенсация проезда и обедов)
4) Корпоративные мероприятия а не только НГ.
5) Быстрый интернет
6) Возможность карьерного и проф. роста
7) Возможность внедрять новое не только в код, но и в инфраструктуру компании.


Присоединяйтесь ...
 

bgm

 
+

К программисту:

...) Математическое мышление (не путать с образованием);
...) Понимание необходимости документирования кода и проекта;

К компании:
...) Оплата профессионального обучения;
 

chameleon

Новичок
плюсом к admin'у:
К программисту:
1) знание английского на уровне писать/читать документации, лучше даже чтобы мог говорить/слушать
2) понимание принципов работы систем версионного котроля и знание одной из них (CVS,SVN)
3) умение работать с поисковыми системами :)..

К компании:
1) Особенно хорошие кресла.
2) много-много фипчартов.

короче у кого что болит ;)..
 

slach

Новичок
честно говоря =) к компании я вообще затрудняюсь предьявлять требования

основные требования у меня обычно к коллективу и к руководству
я перфекционист, меня еще надо стерпеть =)

а условия работы, ну то что перечислили админ, это де-факто стандарт, там где этого нет, туда уже идти не стоит
 

ys

отодвинутый новичок
+ К коммпании:

1. обед.
2. Оплата интернета дома и сотового.


P.s: А объясните мне почему многие (и даже тут) пытаются на web программиста навесить функции системного администратора?
 

MajestiC

Пых
+ К компании:

Каждый должен заниматься своим делом. Программер не должен админить, дизайнер не обязан верстать, хтмлер не должен писать JS и т.д. (Естественно при наличии всех должностей =)
 

chameleon

Новичок
2ys
А объясните мне почему многие (и даже тут) пытаются на web программиста навесить функции системного администратора?
думаю не все функции а только основные понятия (у админа функций намного больше, чем просто сидеть и конфигурить апач). Имхо очень полезное знание для разработчика.
 

InventOR^ULG

Новичок
+

К программисту:

1) Умение и опыт разработки проектов с большой нагрузкой.
2) Знание и опыт программирования многопоточных приложений и способов общения между ними.

К компании:

1) Раздельные по звукоизоляции рабочие места менеджеров(директоров, бухгалтеров) и программистов.
 

WP

^_^
К программеру, опять же, зависит от позиции, т.е. одно дело ведущий который дает всем задания, кодит сам, и принимает код от других, а другое дело рядовой.

1. Уметь написать код который не страшно цитировать :D Очень важен правильный стиль кода, без извращений.
2. Понимание необходимости использования шаблонизатора, и его использование.
3. error_reporting(E_ALL);
4. Обязательно error_reporting(E_ALL);
5. Понимание что HTTP-запрос можно составить абсолютно любой, с любыми куками, и т.д. И соответственный код. А то умиляюсь часто поставляя в адресную строку script.php?var[]=1 вместо script.php?var=1 и видя Notice: Array to string conversion.
6. Уверенная работа в MySQL, несложные запросы с JOIN'ом. За какими-то важными решениями можно обратиться к ведущему.
7. Хорошее знание регулярных выражений.

К компании:
1. Интересная работа, где максимум надо думать, творить, а кодить тупые HTML-формы меньше. Столкнулся с такой проблемой что 95% времени занимает написание шаблона, оформление, вынос фраз в языковые файлы, хотя PHP-код совсем маленький, обычно 5-10 строк. Было бы здорово работать в паре с человеком который клепает представление, этому человеку при слове PHP разрешается вздрагивать. Думаю проблема относится к большому числу программеров.
2. Нормальное рабочее место, не в подвале, со свежим воздухом (в духоте можно сразу в Юмор -> "Найдено в коде" писать). Еще лучше иметь возможность работать на своем ноутбуке, и носить его домой, не люблю когда файлы разбросаны по несколько тачкам, широкий канал.
3. Достойная зарплата, обеды, инет оплачивать я думаю программер может сам, стрим 25 всего-то.
4. Желательно чтобы работать можно было частично дома, т.к. у меня лично нет никакого желания каждый день переться куда-то, какая разница на каком стуле сидеть) ИМХО, главное чтобы работа была сделана четко.
5. Коллектив тоже играет роль, нужно подбирать перспективных людей :)
 

floyd

Новичок
К программисту:

1) Хорошее знание OOP и правильное его применение.
2) Хорошее знание SQL, умение получать требуемый результат 2-3 способами и выбирать из них.
3) Понимание Unicode, XML
4) знание английского на уровне говорить/слушать.
5) понимание принципов работы систем версионного котроля и знание одной из них (CVS,SVN)

Где то так :)
 

Alexandre

PHPПенсионер
понимание того, что такое BACKUP почему его придумали для трусов и почему им надо все равно пользоваться =)
помню меня на знание умение бэкапить проверяли
а вообще-то у меня бэкапится все автоматически, хотя это уже вотчина админа.
 

wizard

Новичок
К сотрудникам.
1) Желание развиваться в области программирования
2) Самостоятельность
3) Опыт, ессно :), от 1,5 лет на php - если человек до этого писал. Если только на php - от 2 лет.
4) OOP+Refactoring+Patterns, потом TDD в туже кучу, сейчас сам осваиваю.
5) Трудолюбие. Когда вижу, что кто то усердно работает, становится стыдно, и я тоже берусь за работу. :) А то в последний год что-то уже влом всю эту бытовуху писать. :(
Да вроде все.

К компании:
1) Находится недалеко от дома (сейчас 10 мин пешком до работы)
2) Стабильный безлимитный скоростной инет
3) Большой холодильник чисто под пиво и другие прелести. ;)
 

ys

отодвинутый новичок
Автор оригинала: chameleon
2ys

думаю не все функции а только основные понятия (у админа функций намного больше, чем просто сидеть и конфигурить апач). Имхо очень полезное знание для разработчика.
Согласен.
Но было бы интересно увидеть топик: "Ваши требования к системному администратору".
Особенно, со стороны web программистов.
 

fisher

накатила суть
>>Борьба за каждую ms работы скрипта.
да, саш, ты маньяк. я бы переписал : понимаение что, где, как и когда надо оптимизировать в интернет-проектах ;)
 

Vladson

Сильнобухер
Портрет идеальной команды с моей точки прост

Нормальные программеры в команде должны:
1) Понимать что пишут не для себя. (т.е чтоб не лишь бы работало, а работало нормально, и error_reporting(E_ALL) в том числе)
2) Понимать что пишут не в одиночку. (не отклоняться от назначенного плана и делать то что требуется а не то что хочется, при случае подстроиться даже если по началу не привычно)

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