является ли php перспективным сегодня?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Добрый день!

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

Так вот вопрос — такая ситуация только с пыхом? или вообще с программированием на любом языке у нас на Юкрайне?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Перспективным может быть продукт представленный на рынке, на чем он написан — мало кого гребет. Ты же не задумываешься, является ли 4-х тактный подход на двигателях перспективным?(сам не знаю, что сказал, потому что в двигателях не разбираюсь). Ты ездишь на законченном продукте. Так и пользователям, все равно что у тебя под капотом. Главное:
1. Что бы оно работало нормально
2. Что бы это было полезно пользователю

Тогда и люди потянутся. ;)

PHP не является перспективным ...
1) Работы много ибо РНР это тренд, Блеять!
И работодатели не представляют что сайт можно писать на erlang, lisp, haskell, C/C++, fortran, haskell, pascal, assembler да вообще на чём-угодно где есть stdin/stdout
2) РНР уже даж на Java оформили caucho тому пример.
3) Развитая инфраструктура, очень развитая инфраструктура...
sensio labs со своим Symfony2 вообще отжигают
4) РНР очень похож на С++/java и потому 80% будут схожими и изучение легко.
5) Никто не договаривался про API... API? А что такое API?
В стандартной документации, если вы не oldschool-РНРфаг, чорт ногу сломит.

6) РНР приходится оптимизировать всяческими стероидами что-бы более-менее оформить его удобоваримость... РНР не разрабатывался как высоконагруженный по-этому нужны всякие кэши по типу APC, eAccelerator, memcached, redis, xCache, Varnish и Т.туД.а-же

В общем характеристики РНР таковы:

PHP the doom sword
Weapon, Two-hand offensive
+ 1 intelligence
+ 3 power
+10 will
+ 100500 agility

Socketed with two Cache sockets

Нет, пхп не является перспективным сегодня. И вчера не являлся.

«Никакого роста, никаких перспектив» — это зависит только от вас, ребята, нужно расти и делать всякие штуки.

а зачем некропостить ?

Не напоминайте... Даже видел случаи как мидлами становились за 1, 5 года. Ладно бы считали себя кем угодно, но только если бы не их требования ЗП...

В чем проблема?
Если заказчик хочет сеньора, платит как за сеньора, то на кой хер корчить из себя джуна?

Смелей нужно быть...

Даже видел случаи как мидлами становились за 1, 5 года.

Я вот джуниором ни одного дня не был, так как такой позиции как Junior C# Developer в моей конторе просто не существует. Как впрочем и в 90% других украинских контор. Всем нужны минимум мидлы. Вот и меня продали заказчику как мидла, хотя я честно говорил что опыта нет и претендую на позицию джуниора.


а какие фирмы (меня интересует конкретно в Харькове) существуют, где пишут на php и где есть возможность развиваться?
я недавно ходил по собеседованиям и зашел в немаленькую такую компанию, достаточно амициозную, общался с руководителями php отделов. На мой вопрос, используют ли они автоматизированные тесты последовал ответ:
[...]

2kelwor, если не секрет, что за фирма?

проблема не в пхп, а в вас

Можешь смело работать с php, он будет популярным еще очень долго, фактически пока существует Интернет:)

смотри статистику

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

Вы верно теперь все уяснили. Работа программиста, в подавляющем большинстве случаев, это только «за бабло». Со временем это понимают многие, но не сразу.
Хотите расти, учитесь после работы вечером, в выходные, участвуйте в крупных OpenSource проектах для получения опыта. Некоторые меняют каждый год работу, чтобы участвовать в новых проектах с новой командой.
Шанс найти работу с интересными плюшками в плане развития, конечно, есть, но как много программистов работает в том же Google по отношению ко всей остальной мировой массе программистов?:)

От конкрентного языка программирования практически ничего не зависит в этом отношении. Для любого языка, программирование это весьма нудная работа, где надо постоянно самому учиться и за счет личного времени набирать быстроустаревающий опыт, заработав к пенсии близорукость и гемморой.;)

@Антон Мартыненко

благодарю за развернутый ответ

2kelwor
Не совсем понятно что за город. Если это не Киев — советую приехать, тут есть нормальные проекты с нормальным менеджментом.
Смена языка в корне проблему не решит, в дотнете с джавой похожая ситуация — мало кто практикует аджайл, пишет тесты и т.д. Как тут уже писали, процентов 80 это унылый саппорт или накидывание фич методом Code& Fix. Такие конторы как Люксофт, ЕПАМ и другие лидеры индустрии отлично понимают что нужен аджайл, тесты и т.п., но это не так просто внедрить из-за кучи ограничений, в первую очередь из-за заказчика и своих сотрудников, значительная часть которых понятия не имеет как писать тесты, как рефакторить, какие от этого плюсы и т.п. Самое обидно что забугром ситуация точно такая же. Говнокод везде.
Если проблема в тестах — есть некоторые подходы, которые помогут решить проблему.
Во-первых — надо продать тесты заказчику (это сложнее всего) — надо как-то убедить его что тесты нужны и полезны. Если заказчик этого не понимает — увольняйтесь.
Во-вторых — надо убедить большую часть команды, что тесты нужны и полезны (тоже очень сложно).
В-третьих — надо начать их писать не взирая ни на что. Как правило, первое время замедляется скорость разработки (первые 1−6 месяцев), но потом разработка ускоряется за счет резкого уменьшения кол-ва багов. Писать тесты в Legacy коде (рус: говнокод) очень и очень сложно. Книга Working effectively with legacy code вам в помощь.
А вообще, советую поискать такую команду. Есть команды, которые набирают людей владеющих TDD, Scrum и прочими нужными вещами именно потому, что у них правильный процесс разработки. Но в такие команды сложнее попасть — надо соответствовать. Еще как вариант — нанятся тимлидом в стартап и самому себе собрать такую команду.

Еще раз: переход на джаву/плюсы/дотнет/whatever принципиально ничего не меняет, т.к. существует точно такая же проблема.

Аналогов может не быть, потому что он попросту никому не нужен. Искренне надеюсь что это не так:)

@kelwor

Выстрелит, имелось в виду продукт станет популярен. Это новый продукт и ему нет аналогов в СНГ и нет прямых в мире.

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

Какой вывод я сделал для себя пока... Нужно вне работы интенсивно себя совершенствовать практически и теоретически. По всей видимости, работа — не то место для повышения квалификации, только как источник доходов. Ранее я считал иначе. Почему я и спросил, может быть дело только в php (вернее не в нем, а в ситуации, которая сложилась вокруг php+outsourcing)

Для получения глубоких знаний и опыта достаточно желания и язык и рутина тут не при чем

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

Когда как, если проект «выстрелит» все десять раз перепишем
Вы немного неправильно поняли назначение тестов. Они предназначены не только для защиты от «выстрелов». Имея актуальные тесты можно с гораздо меньшими затратами и боязнью рефакторить проект. Я вообще плохо представляю себе рефакторинг без тестов... это опасная игра. А рефакторить приходится часто и не только для улучшения качества кода. Для того, чтобы вкинуть новую фичу есть два пути: — хардкодить фичу, подпереть костылями — отрефакторить текущую архитектуру так, чтобы она не сопротивлялась новой фиче и вкинуть ту самую фичу (меньше нервов)

Еще очень хорошо, когда тесты получаются как артефакты после TDD.

Перспективен не сколько язык, а знания и навыки. Квалифицированный и опытный человек относительно легко может сменить язык.
Пых для некоторых задач вполне приличный. Скорее вопрос не на чем, а что писать.
Говносайтики клепать это одно, распознавание образов совсем другое (php + C +...).
Для получения глубоких знаний и опыта достаточно желания и язык и рутина тут не при чем.

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

опять же, недальновидность.

Когда как, если проект «выстрелит» все десять раз перепишем:)


Как раз начальнику это очень нужно. Часто бывают проекты с фиксированной ценой. Совершенствование производственного процесса это вопрос выживания

тут проект не с фиксированной ценой. А даже если и фиксед прайс — надальновидные управленцы подгоняют и заставляют просто тупо лячкать, полагая, что так будет быстрее. «Напишем и исправим»

Я считаю что количество кода покрытого тестами должно зависеть от проекта.

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

особенно когда это разработка продукта то бывает нужно рабочую версию выдать и побыстрей, иногда не до тестов

опять же, недальновидность. Локально — выигрыш по времени, глобально — проигрыш (плюс такие плюшки, как повышенный процент багов после апдейтов).

ну у нас сложилась дурная практика- что любой студент отработавший 2 года уже мнит себя МИНИМУМ сенийор девелопером, а то и тимлидом

Не напоминайте... Даже видел случаи как мидлами становились за 1, 5 года. Ладно бы считали себя кем угодно, но только если бы не их требования ЗП...

Эта болезнь лечится увольнением «псевдомидла» и последующим наймом настоящего мидла (коих сейчас вполне можно найти на 1, 2−1, 6к).Сумма одинаковая, квалификация совсем разная:)

А кто виноват? Правильно — разработчик

Какая разница кто «виноват», отвечать перед клиентом будет как раз не разработчик, он договора не подписывает и ответственности по ним не несет.

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

Как раз начальнику это очень нужно. Часто бывают проекты с фиксированной ценой. Совершенствование производственного процесса это вопрос выживания.
Я считаю что количество кода покрытого тестами должно зависеть от проекта.

Что касается новых проектов, особенно когда это разработка продукта то бывает нужно рабочую версию выдать и побыстрей, иногда не до тестов.

Magento пишут в Украине на PHP, правда у них пока нет в Харькове офиса,
вот интервью с ними

www.developers.org.ua/...ento-interview

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

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

Подобные вопросы всплывают у меня раз в 3−4 месяца, но в итоге прихожу к тому, что на самом деле так и должно быть. Ну сменишь ты шило, на мыло...посадят тебя накидывать фичи в «новом» (что маловероятно, так как новый проектов в Украине единицы), посидишь месяц, покидаешь и задашься этим вопросом снова. И так будет всегда, эта работа программиста — накидывать фичи. А если вам не нравиться, то нужно было выбирать другую специальность.

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

однако разрабочик должен проверить функциональность которую он реализовал, и функциональность, которую затрагивают его изменения

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

Плюс ко всему, даже на моем скромном опыте были случаи, когда кажется, что блин, мои изменения ну никак не связаны с вооон-тем кодом, значит предполагается, что изменения не затрагивают его. Тестировать руцями его не надо. Ан-нет делаешь апдейт и все пропало. К чему это я? функциональность, которую затрагивают его изменения — достаточно размытое понятие

Новых знаний и опыта я не получаю ни разу

Ну это надо значит почаще менять места работы, проекты — так появляется опыт и знания...


Ага, зато если билинг на играх поломается и простоит выходные — потеряют 30к евро. А кто виноват? Правильно — разработчик, после которого упало. А ведь разработчик не обезьяна, чтоб после всех своих правок сидеть и проклацывать весь проект
разрабочик не виноват — ни один программист не смог бы писать 100% код без багов — и любой вменяемый человек это понимает.
однако разрабочик должен проверить функциональность которую он реализовал, и функциональность, которую затрагивают его изменения — если он этого делать не будет (скажем, когда то работал с одним парнем, код херячил что дурной, но не проверял его, и в итоге нихрена не работало, начальник уже со слезами на глазах его просил — ну проверяй код перед тем как коммитишь — на что парень резонно заявил — я программист, а не тестировщик!) — тогда грош цена такому программисту и его вменяемый начальник уволил бы.
если компания за выходные подымает 30к евро — значит проект большой, успешный и давно развивается, и скорей всего есть человек которые подымает сервер если тот упадет на выходных, и всех в компании такая ситуация удовлетворяет.

PS. Работа без тестеров и авто тестов встречается достаточно часто — и не только в аутсорсинговой украине.

Здесь неплохо бы выяснить, что Вы понимаете под ростом и перспективами для рядового программиста. Стать вторым цукенбергом?

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

Отвечая на заданный вопрос пойду от противного — под ростом и перспективами я не подразумеваю рутинную работу, которую наблюдаю на текущем проекте. Новых знаний и опыта я не получаю ни разу

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

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

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

вспомнился боянистый анекдот:
Идет человек по лесу, видит: дровосек пилит огромное бревно. Старательно пилит, весь в поту, в мыле... Но получается что-то хреновенько, медленно и кривенько. Присмотрелся человек — пила-то затупилась. Подходит он к дровосеку и советует: «Пилу заточи, легче пойдет!»

А тот в ответ: «Некогда точить, пилить надо!»

пи эйч пи вполне себе перспективный, а то что у вас в конторе так, ну что сказать, не повезло.

ок, раз дело в конторе, сразу такой вопрос,
а какие фирмы (меня интересует конкретно в Харькове) существуют, где пишут на php и где есть возможность развиваться?
я недавно ходил по собеседованиям и зашел в немаленькую такую компанию, достаточно амициозную, общался с руководителями php отделов. На мой вопрос, используют ли они автоматизированные тесты последовал ответ: — зачем, это пустая трата времени. И QA у нас тоже нет, все проверяет у нас разработчик.

И это с туевой кучей аякса. Ага, зато если билинг на играх поломается и простоит выходные — потеряют 30к евро. А кто виноват? Правильно — разработчик, после которого упало. А ведь разработчик не обезьяна, чтоб после всех своих правок сидеть и проклацывать весь проект, где могли бы помочь те же автоматизированные тесты (не стопроцентно, но существенно).

ну у нас сложилась дурная практика- что любой студент отработавший 2 года уже мнит себя МИНИМУМ сенийор девелопером, а то и тимлидом

облом ребятишки, я вон у скандинавов толпы мидлов и джуниоров от 35 и старше наблюдаю. И ничего, работают себе. Всех начальниками не сделают — увы, это жизнь


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

В данном случае от программиста руководство ожидает чтобы тот «сидел и вкидывал фичи». Раз проект «протяжении достаточно продолжительного времени оплачивается», значит проект свою миссию выполняет, и все должны быть довольны. Если хочется «что-то там выдумывать, писать тесты» — придумывайте идею, разрабатывайте свой продукт, ищите заказчиков — тогда, будучи владельцем бизнеса, будете делать что хотите, в меру своей распущенности. Если же в текущей ситуации вышестоящий тех.руководитель не видит необходимости писать тесты, рефакторить код, внедрять аджайл и ХР и прочие модные тенденции — возможно оно так и надо — ему должно быть видней и он отвечает за работоспособность команды и проекта.

Такой подход наводит печаль — никакого роста абсолютно, никаких перспектив.

Здесь неплохо бы выяснить, что Вы понимаете под ростом и перспективами для рядового программиста. Стать вторым цукенбергом?

бывают и весьма вкусные проекты. Был консультантом (не по php) на проекте где ребята выкатывали новый highload проект на php
Было более чем интересно и с оплатой все было вкусно

в общем ВСЕ зависит от проекта. А плохих как всегда 80% на любом языке увы

пи эйч пи вполне себе перспективный, а то что у вас в конторе так, ну что сказать, не повезло.

Так вот вопрос — такая ситуация только с пыхом? или вообще с программированием на любом языке у нас на Юкрайне?

Вообще с программированием у нас в Украине.

Підписатись на коментарі