Карьерный совет: остаться с PHP или начать новую карьеру в другом месте (.Net?) [Закрыто]

34

Я планирую переехать в Нью-Йорк через 6-12 месяцев, поэтому я вынужден искать новую работу. Когда я планирую начать свою жизнь в другом городе, это также, вероятно, хорошее время, чтобы подумать о смене карьеры.

Я нашел много разных мнений о PHP против .Net против Java, и это не тема здесь. Я не хочу начинать новую борьбу о том, какой язык лучше. Знание языка программирования - не самая важная вещь для разработчика программного обеспечения. Чтобы быть действительно хорошим разработчиком, вам нужно знать ООП, шаблоны проектирования, тестирование ... и язык - это всего лишь инструмент, позволяющий добиться успеха.

Итак, вернемся к моему вопросу. У меня смешанный опыт работы в сфере ИТ - 1 год в качестве специалиста по ИТ-поддержке (администрирование и поддержка Windows), около 2 лет опыта во встроенном программировании (VB.Net 2005) и последние 2 года я работаю с PHP / MySQL. Я работал с интернет-магазином Magento, помогал в некоторых проектах в Symfony, модифицировал несколько сайтов на Drupal.

Мои основные проблемы следующие:

  1. Продолжаю ли я совершенствовать свои навыки в PHP, например, чтобы начать изучать некоторые основные PHP-фреймворки, такие как Zend, Symfony может получить некоторую сертификацию PHP.
  2. Или я начинаю изучать .NET или Java. Я более знаком с .NET, поэтому я, вероятно, выберу его, если выбор упадет между .NET и Java (или вы можете убедить меня выбрать Java :).

В карьере, я не знаю, какой выбор лучший. Изучение нового фреймворка и языка занимает больше времени, чем улучшение моих существующих навыков в PHP. Но с .NET у вас есть много возможностей (разработка Windows 7 Phone, Silverlight, WPF) и, возможно, больше шансов найти лучшую работу.

Работы на PHP оплачиваются хуже, чем .NET, по крайней мере, согласно моим исследованиям (поправьте меня, если я ошибаюсь). Но если я начну сейчас с .NET, я только начинающий, и моя зарплата будет низкой. Мне нужно как минимум 2+ года опыта работы с некоторыми языками, чтобы даже попытаться найти работу, которая в Нью-Йорке платит больше, чем 50-60 тысяч долларов. Моя главная цель в ближайшие 2-3 года - попытаться найти работу в категории 60-80 тысяч долларов. Не поймите меня неправильно, я не просто гонюсь за деньгами, но деньги являются важным фактором, когда вы пытаетесь создать семью.

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

Обновить

Спасибо всем, что потратили время, чтобы помочь мне с моей проблемой. Все ответы и комментарии были очень полезны. Я решил придерживаться PHP, а также изучать C # и Silverlight 4. Посмотрим, куда меня приведет жизнь.

Кристиан П
источник
Выучи оба. Начните проект в каждом. это не займет много времени.
системович
Попробуй Code Igniter. Это супер легко учиться и хорошо задокументировано.
B Семь
2
Там нет вреда, чтобы выучить 2-3 языка.
Руди
Так как это было сделано кем-то, я должен спросить: встроенный VB.NET? ..
Саймон Уайтхед
@SimonWhitehead, он не совсем встроен, но я не мог найти лучшего слова для объяснения этого. Это было приложение, написанное в VB.NET для промышленного оборудования (созданное мной и моими коллегами), которое обменивалось данными с двумя ЦАПами (картами сбора данных).
Кристиан П

Ответы:

64

Мне 51 год, и я использовал по крайней мере 15 языков и / или фреймворков с тех пор, как я получил свой первый платный концерт после выпуска в 1987 году.

Будьте здоровы.

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

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

.Net и Java, как правило, являются корпоративными (потому что они дороги, чтобы делать полезные вещи, но масштабируются очень хорошо), PHP - это, как правило, стартап, я делаю Ruby (обычно стартапы, которые почему-то вышли из дизайнерских студий) для многих как независимый. Если вы придерживаетесь PHP, изучите OO, потому что я думаю, что он, наконец, станет таким, каким люди делают вещи, даже если это будет немного лучше, чем то, что у вас есть с Java, и они могли бы сделать его гораздо более динамичным. Люди, которые занимаются Python и хотят путешествовать, могут в конечном итоге заниматься всевозможными интересными научными и игровыми вещами по всему миру. Perl все еще бегун и имеет аналогичный профиль.

Забудьте о языке, выбирайте и выбирайте интересующую вас отрасль, выбирайте компанию, управляемую людьми, и наслаждайтесь, принося пользу людям, которые ценят это. Вы не пожалеете об этом.

Фрэнсис Фиш
источник
9
PHP очень слаб в ОО. Это началось как язык шаблонов, и это показывает.
Кейо
5
@Keyou, не означает, что вы не должны продвигать использование функций php OO, поскольку это поднимает язык на другой уровень :)
Джонатан
@Keyo Кто сказал, что PHP слаб по OO для вашей информации PHP OO сейчас очень близок к Java См. PHP5.5 и он продолжает улучшаться
Хммм
120

Какое отношение имеет выбор языка программирования к вашей карьере?

Этот вопрос похож на вопрос: «У меня есть два варианта места для работы. Должен ли я работать на том, где у босса норвежский акцент, или на том, где у босса испанский акцент?»

Есть гораздо более важные карьерные соображения.

  1. Стартап или созданная компания?
  2. Продуктовая компания или компания, в которой ИТ является функцией поддержки?
  3. Будете ли вы изучать новые вещи или перефразировать старые?
  4. С 9 до 5 или "работаешь 80 часов, сколько хочешь?"
  5. Хорошие сотрудники или подлые сотрудники?
  6. Умные сотрудники или глупые сотрудники?
  7. Костюм и галстук или футболка?

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

Джоэл Спольски
источник
19
У вас есть пункт. Но тип языка программирования в большинстве случаев тесно связан с профилем компании. В моем понимании PHP в основном используется в начинающих компаниях, а крупные компании используют .NET для своей разработки.
Кристиан П
29
реальный ответ: потратьте несколько месяцев, чтобы заработать пятизначную репутацию переполнения стека, и вы будете получать предложения о работе в диапазоне от $ 100K + без собеседования.
Джоэл Спольски
37
@Joel: как бы мне не нравился StackOverflow (и я нахожусь в нескольких неделях от достижения пятизначной репутации просто для удовольствия), если я когда-нибудь получу предложение о работе в 100 тысяч, я куплю тебе пиво :-)
Диего Миджельсон
25
Для некоторых людей, язык имеет все , чтобы сделать с вашей карьерой. Я бы хотел работать во многих крупных компаниях, но не за счет написания языка, который разочаровал бы меня / снизил производительность. Я не говорю, что я счастлив писать только на одном языке, но есть определённые языки, которые я не хотел бы писать на постоянной основе, и было бы глупо, если бы я согласился на работу, например, с гибким написанием Objective- C за 9-5 рабочих мест написания C #. Вы не можете разделить это мнение, это нормально. Но не думайте, что программисты - это идиоты. Ваш список важных соображений принадлежит вам .
Дэнни Таппени
39
@Joel. Могу ли я иметь работу 100K? У меня есть 5-значный представитель, и в настоящее время я безработный.
aaronasterling
23

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

  • Скриптовые языки программирования (у вас уже есть PHP, попробуйте Ruby, Python или что-то еще)
  • Скомпилировано для языков виртуальных машин с богатыми фреймворками: .Net, Mono, Java
  • Скомпилировано в голый металл: C / C ++
  • Функциональные языки: Lisp, F #, Haskell

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

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

Некоторые люди скажут вам, что вам нужно специализироваться на одной технологии (PHP, .Net, Java) и построить карьеру в значительной степени вокруг этой технологии, чтобы добиться прогресса. Я не согласен с этим вообще. Я возьму разработчика, который несколько раз работал с разными платформами и технологиями, а не один, который потратил 10 лет, делая что-то одно в любой день недели. Причина в том, что технологии меняются каждый год, и разработчик, способный выбрать новую технологию, прочесть API и применить свой опыт в более общих чертах, чем просто знание функций библиотеки наизусть, будет гораздо более продуктивным в долгосрочный Итак, 10-летний ветеран .Net быстрее выйдет из стартовых блоков в .Net, но это раннее преимущество теряется примерно через месяц. Это'

Стив Стринг
источник
3
Я также добавил бы к вашему списку логические языки (Prolog), математические языки (которые, как правило, являются подмножеством функциональных) (Mathematica, R), языки префикса / постфикса (PS, Forth), ассемблер и аппаратные (для ПЛИС и тому подобное).
Orbling
8
Я согласен ... это интересно изучать новые языки. Но когда вы пытаетесь улучшить свои общие знания по разработке программного обеспечения, изучая новую среду PHP и дополнительный язык (C #), который вы хотите использовать в будущем, изучение новых языков для удовольствия не вариант или, по крайней мере, не вариант без основные жертвы в других частях вашей жизни.
Кристиан П
4
Я согласен, Кристиан, этот ответ немного экстремальный. Но, возможно, ответ на этот вопрос не должен звучать так: «Изучай новые языки прямо сейчас или ты можешь просто поцеловать свою мечту на прощание». Скорее следует сказать: «Да, вы должны попытаться устроиться на работу на языке, с которым вы не знакомы, потому что в долгосрочной перспективе это лучшее вложение в карьеру». Кроме того, это лучший способ действительно овладеть языком.
Нил Трафт
1
@ Orbling: вы правы, список не был полным, я просто выбрал основные «карьерные», чтобы список не стал слишком пугающим;)
Steve Streeting
3
Что касается экстрима - я не предлагал вам изучать все эти языки в течение года :) Поскольку вопрос касался карьеры, я не думаю, что это вообще нереально. Мы все должны взять на себя ответственность за собственное профессиональное развитие, и даже если вы сделаете один хобби-проект в год, используя технологию, которой вы раньше не пользовались, это вам очень поможет. Открытый исходный код также является отличным способом сделать это, потому что это означает, что вы можете участвовать в реальном проекте, не начиная с нуля, и получать помощь от коллег по сообществу.
Стив Стринг
7

Я бы посоветовал поискать работу PHP, потому что это то, что вы делаете лучше всего.

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

Чтобы оценить, на что способен потенциальный сотрудник «Я могу программировать на Java», вы можете взглянуть на Sun Java Tutorial . Я ожидаю, что вы будете знакомы, по крайней мере, с половиной перечисленных концепций, где знакомый означает возможность использовать его в написанной вами программе и правильно его использовать . Я ожидаю, что для достижения этого уровня потребуется больше 6 месяцев свободного времени.


источник
7
6 месяцев? действительно? Те программисты, которых я нанимаю, изучают язык и платформу на своей первой неделе работы, поэтому НИКОГДА меня не волнует, на каком языке кто-то знает, когда они претендуют на работу в Stack Overflow или Fog Creek.
Джоэл Спольски
4
@ Джоэл, пожалуйста, обратите внимание, я говорю о том, чтобы собирать вещи в свободное время . Один, без наставника вокруг. Возможно, это не такой эффективный способ изучения новых вещей, как физическое присутствие в ваших офисах вместе с вами и вашими сотрудниками ... Возможно, вы захотите нанять christian.p, чтобы доказать, что я не прав?
3
@Joel Когда ваше приложение написано на вашем собственном языке, у вас нет особого выбора, а! ;-)
Даррел Миллер
3
@Orbling. Разве это не немного легко для них? Почему бы не сказать что-то вроде: «пожалуйста, найдите и исправьте ошибку в этом производственном коде BrainF * ck! Я и мои 5 коллег будем наблюдать за вами и сколько времени вы займете»?
5
@Joel - Я подозреваю, что когда Кристиан ищет новую работу в новом городе, он обнаружит, что не все работодатели так же не зависят от языка, как вы в Stack Overflow / Fog Creek. На самом деле, я бы рискнул предположить, что далеко не заботясь о том, какие языки он знает, 95% + сразу же выбросят свое резюме в корзину, если оно не соответствует нужным ключевым словам языка.
Carson63000
6

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

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

Дуг Джонсон-Куклоз
источник
6
Это не по теме, но спасибо за внимание. Английский на самом деле мой второй язык. Хотите верьте, хотите нет (или, может быть, это очевидно для вас), но я научился говорить / говорить по-английски самостоятельно (без языковых курсов).
Кристиан П
3
Так как это ваш второй язык, то у вас все хорошо. Очевидно, кто-то проверит ваше резюме, чтобы быть уверенным, но я знаю, что если бы мне пришлось делать свои комментарии на французском, скажем, это не было бы столь же ясным и хорошо сформулированным, как ваше на английском. Не был язвительным, просто пытался быть полезным. Есть много американцев, которые не беспокоятся об их правописании и грамматике, и это причиняет им боль на рынке.
Дуг Джонсон-Куклос
1
Я знаю, что мой английский нуждается в улучшении, и я делаю все возможное, чтобы улучшить его. Но я благодарен за ваши комментарии, потому что я знаю, что когда я подаю заявление на работу, это общее впечатление, которое имеет значение. Так что, если мое письмо неаккуратное, это повредит моим шансам устроиться на работу.
Кристиан П
1
Когда-то, если вы подали заявку на работу через рекрутера, они бы потратили время, чтобы отшлифовать ваше резюме и убедиться, что орфография, грамматика и общий стиль были правильными. Но я недавно брал интервью у некоторых кандидатов, и похоже, что рекрутеры больше не беспокоятся, они просто наклеивают свой логотип в верхнем правом углу и отправляют резюме. Поэтому я бы порекомендовал найти друга, которому вы доверяете, чтобы просмотреть ваше резюме и письма / электронные письма.
Carson63000
1
@ Carson63000 Мой опыт найма через рекрутеров заключается в том, что, когда они пытаются «помочь», они часто наполняют резюме кандидатов. В результате я должен был дать кандидатам с небрежным резюме преимущество сомнения. Если бы у меня был выбор, я бы полностью исключил идиотских вербовщиков из этого уравнения.
Даниэль Кэссиди
5

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

Но вы задали прагматичную и чувствительную ко времени тему ... что вы должны делать СЕЙЧАС?

Я предлагаю вам копаться в PHP до переезда. Копаться в этом, тяжело, очень тяжело, 20 часов в неделю вне усердной работы. С PHP это довольно легко ... получить учетную запись хостинга и домен и начать создавать приложения. С целенаправленным усилием 6 месяцев - это вечность. За это время, чтобы стать действительно хорошим в этом. Это поможет вам найти хорошую работу однажды в Нью-Йорке и, скорее всего, сделает вас лучшим программистом для загрузки.

Кстати, если вы еще не знали, в семействе StackExchange есть сайт, посвященный ИТ-занятости .

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

tomjedrz
источник
1

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

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

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

Orbling
источник
3
Язык редко бывает сложным. Изучение экосистемы и лучшие практики могут занять довольно много времени ...
@ Thorbjørn Совершенно верно, может потребоваться некоторое время, чтобы овладеть передовой практикой в ​​рамках языка. Хотя это очень сильно зависит от того, как вы его изучаете, на некоторых языках найти информацию гораздо сложнее, чем на других.
Orbling
1

Мой совет: найди работу, занимаясь тем, что тебе интересно, и получай удовольствие. Если вам нравится PHP, почему бы не продолжить развивать свои навыки PHP. Намного легче учиться и развивать навыки, занимаясь тем, что вас интересует.

Вы когда-нибудь смотрели на .NET или Java раньше? Если нет, то это может указывать на то, что вы не интересуетесь этими языками, но, возможно, вы могли бы потратить неделю или около того, изучая каждый из них, и лично убедитесь, заинтересованы ли вы в них.

cspolton
источник
Я знаком с Silverlight 4 и C # (также у меня есть 2 года в VB.NET 2005), поэтому я думаю о переключении.
Кристиан П
1

В ближайщем будущем; Я не знаю, какова практика найма в США, но, учитывая, что вы переезжаете через 6 ~ 12 месяцев, я бы пока решил придерживаться PHP, поскольку у вас есть два года опыта работы с ним.

Мой опыт здесь (в Нидерландах) заключается в том, что компании, как правило, уделяют очень краткосрочное внимание технологиям и основам. Язык на самом деле не -it-, даже если они спрашивают « 3 года опыта C # », они хотят сказать « 3 года опыта работы с библиотеками фреймворка / классов и инструментами, которые вы будете использовать с C # ».

(Иначе, почему они хотят нанять кого-то, кому нужно 3 года для изучения синтаксиса C # и языковых функций, мне неведомо. Похоже, кого-то, кого я бы не хотел нанимать.)

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

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

Конечно, в игру вступают и личные предпочтения. Например, в то время как есть много рынка для этого, я бы никогда не принял работу PHP: - Я выбираю стек, и я ищу работу, основываясь на этом.

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

Joppe
источник
1

Я думаю, что часто люди смешивают языки программирования и стеки фреймворков / технологий. Выучить новый язык относительно легко, но гораздо сложнее с большими технологиями. Я согласен с некоторыми ответами о том, что наиболее важным является ваш общий опыт программирования / решения проблем, но я не верю, что кто-либо сможет ПОНИМАТЬ совершенно новую технологию за 1 неделю.

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

Самое меньшее, что вам нужно сделать, чтобы обрести это понимание - это прочитать пару ХОРОШИХ книг с достаточным количеством времени, чтобы создать прототип решения общих проблем в новой незнакомой среде разработки. Можно ли это сделать через неделю? Я бы хотел работать с людьми, которые способны на это, но я не надеюсь увидеть таких людей в ближайшее время.

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

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

Подводя итог, мой ответ будет следующим. Выберите технологию, которая обладает достаточным потенциалом и которая (что наиболее важно) сделает вас счастливым в вашей работе. Специализируясь на этой технологии, рынок труда оценит это, и несколько лет, необходимых для получения вашей целевой зарплаты, будут стоить того. Но никогда не переусердствуйте, потратьте некоторое время на другие технологии, это сделает вас намного лучше ПРОФЕССИОНАЛОВ в целом.

Константин
источник
1

Я должен согласиться с Джоэлом. Но его ответ выходит за рамки технических навыков и предпочтений.

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

Таким образом, реальный вопрос: хорошо ли ты выучить новые вещи? Можете ли вы решить проблему и решить ее своевременно, независимо от языка программирования?

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

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

mspir
источник
1

Я не согласен с большинством комментариев, перечисленных на этом форуме.

Помимо изучения принципов и теории разработки программного обеспечения, язык, который вы выбираете для освоения, является выбором профессии. Вот почему есть Java-программисты и PHP-программисты. Программисты PHP, вероятно, не будут работать на НАСА, а программисты на Java, вероятно, не будут работать в интернет-магазине.

Если вы хотите работать в корпоративной Америке, вам лучше перейти на Java / .Net. Хороший доход вы можете получить, но будьте готовы пожертвовать им свою жизнь (по времени).

Если вы хотите быть независимым фрилансером и жить в быстром темпе с веб-технологиями, вам лучше с PHP. Здесь много работы, но зарплата сильно варьируется, и независимость - это работа с каждым Томом, Диком и Гарри с идеей попытаться нанять вас за копейки.

Есть некоторые совпадения с PHP и Java, но они встречаются только в корпоративных заданиях (Java REST Services с PHP-интерфейсом), однако вы не найдете интернет-магазинов или независимых фрилансеров где-нибудь рядом с Java.

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

Чтобы быть компетентным и востребованным PHP-разработчиком, вам нужна сумка с полным набором навыков. Скорее всего, вы должны знать CSS, HTML4 / 5 и, определенно, Javascript DOM / Ajax / Jquery плюс хотя бы жизнеспособную среду, такую ​​как Zend (выбор дегустатора из корпоративной Америки), Codeignitor, cakePHP и т. Д., А затем вы Вам нужно будет знать "большую тройку" CMS: Drupal, Wordpress и Magento. Получите эти навыки под свой пояс, и вы станете специалистом по PHP и сможете выполнять работу где угодно. Как вы можете сказать, принятие всего этого - это преданность языку и его инструментам, потому что изучение Perl не поможет вам стать опытным разработчиком Drupal или Zend.

То же самое относится и к Java: OOP, J2EE, REST / SOAP, Spring / Struts и т. Д., А также к множеству других инструментов, мастерам которых требуются годы.

Кто-нибудь здесь пробовал программировать Java в течение года, а затем вернулся к PHP (или любому скриптовому языку). Это трудно. Это чувствует себя неловко.

Я работаю в компании из списка Fortune 500, и Java-разработчики не смогут делать то, что делают PHP-разработчики, а PHP-разработчики не смогут делать то же, что и Java-разработчики. Но они оба преуспевают в финансовом отношении, потому что являются специалистами в своей области, на своем языке выбора и множестве инструментов, которые идут с ним.

coder3
источник
0

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

  • алгоритмы и структуры данных.
  • совпадение
  • машинное обучение
  • системное программирование
  • информационно-поисковые и поисковые системы
jshen
источник