Я планирую переехать в Нью-Йорк через 6-12 месяцев, поэтому я вынужден искать новую работу. Когда я планирую начать свою жизнь в другом городе, это также, вероятно, хорошее время, чтобы подумать о смене карьеры.
Я нашел много разных мнений о PHP против .Net против Java, и это не тема здесь. Я не хочу начинать новую борьбу о том, какой язык лучше. Знание языка программирования - не самая важная вещь для разработчика программного обеспечения. Чтобы быть действительно хорошим разработчиком, вам нужно знать ООП, шаблоны проектирования, тестирование ... и язык - это всего лишь инструмент, позволяющий добиться успеха.
Итак, вернемся к моему вопросу. У меня смешанный опыт работы в сфере ИТ - 1 год в качестве специалиста по ИТ-поддержке (администрирование и поддержка Windows), около 2 лет опыта во встроенном программировании (VB.Net 2005) и последние 2 года я работаю с PHP / MySQL. Я работал с интернет-магазином Magento, помогал в некоторых проектах в Symfony, модифицировал несколько сайтов на Drupal.
Мои основные проблемы следующие:
- Продолжаю ли я совершенствовать свои навыки в PHP, например, чтобы начать изучать некоторые основные PHP-фреймворки, такие как Zend, Symfony может получить некоторую сертификацию PHP.
- Или я начинаю изучать .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. Посмотрим, куда меня приведет жизнь.
источник
Ответы:
Мне 51 год, и я использовал по крайней мере 15 языков и / или фреймворков с тех пор, как я получил свой первый платный концерт после выпуска в 1987 году.
Будьте здоровы.
Я никогда не занимался управлением, потому что не хотел, но я знаю, как программировать, и я знаю, как поддерживать команды мотивированными и предоставлять хороший код. Вы должны работать над навыками людей и искать интересную работу, которая вас растягивает. Я никогда не переставал учиться или получать удовольствие, но были времена, когда я был в дороге, я мог бы сделать с остановкой - но не программированием, путешествуя.
Пока вы можете зарабатывать на жизнь и выполнять свои личные обязательства, не ставя под угрозу свои принципы, если вы наслаждаетесь тем, что делаете (роскошь, которой не было поколение моих родителей), просто продолжайте поддерживать.
.Net и Java, как правило, являются корпоративными (потому что они дороги, чтобы делать полезные вещи, но масштабируются очень хорошо), PHP - это, как правило, стартап, я делаю Ruby (обычно стартапы, которые почему-то вышли из дизайнерских студий) для многих как независимый. Если вы придерживаетесь PHP, изучите OO, потому что я думаю, что он, наконец, станет таким, каким люди делают вещи, даже если это будет немного лучше, чем то, что у вас есть с Java, и они могли бы сделать его гораздо более динамичным. Люди, которые занимаются Python и хотят путешествовать, могут в конечном итоге заниматься всевозможными интересными научными и игровыми вещами по всему миру. Perl все еще бегун и имеет аналогичный профиль.
Забудьте о языке, выбирайте и выбирайте интересующую вас отрасль, выбирайте компанию, управляемую людьми, и наслаждайтесь, принося пользу людям, которые ценят это. Вы не пожалеете об этом.
источник
Какое отношение имеет выбор языка программирования к вашей карьере?
Этот вопрос похож на вопрос: «У меня есть два варианта места для работы. Должен ли я работать на том, где у босса норвежский акцент, или на том, где у босса испанский акцент?»
Есть гораздо более важные карьерные соображения.
Этот список может продолжаться часами. Выбор языка программирования примерно так же важен для карьеры программиста, как и выбор того, нужно ли расчесывать волосы влево или вправо. Это все разработка программного обеспечения, независимо от того, на каком диалекте языка программирования вы говорите.
источник
Изучите столько языков, сколько сможете, желательно хотя бы по одному из каждой основной области развития.
Каждый из них научит вас основам разработки программного обеспечения. Конечно, помимо этого вам понадобятся разные подходы к проектированию (ОО, функциональный, управляемый данными), разные методы работы в команде (agile, tdd, по сравнению с более жесткими типами), разные платформы, разные механизмы развертывания (нативные). на основе фреймворка, веб). Список можно продолжить. Свободное владение языком - это только одна крошечная часть целого.
Для всего этого вам нужно сделать хотя бы один реальный продукт, используя его, чтобы быть опытным.
Некоторые люди скажут вам, что вам нужно специализироваться на одной технологии (PHP, .Net, Java) и построить карьеру в значительной степени вокруг этой технологии, чтобы добиться прогресса. Я не согласен с этим вообще. Я возьму разработчика, который несколько раз работал с разными платформами и технологиями, а не один, который потратил 10 лет, делая что-то одно в любой день недели. Причина в том, что технологии меняются каждый год, и разработчик, способный выбрать новую технологию, прочесть API и применить свой опыт в более общих чертах, чем просто знание функций библиотеки наизусть, будет гораздо более продуктивным в долгосрочный Итак, 10-летний ветеран .Net быстрее выйдет из стартовых блоков в .Net, но это раннее преимущество теряется примерно через месяц. Это'
источник
Я бы посоветовал поискать работу PHP, потому что это то, что вы делаете лучше всего.
Я бы также предложил вам начать изучать новые технологии, которые вы хотите изучить, чтобы в конечном итоге вы могли начать искать работу, используя их, но не делайте этого в сжатые сроки, потому что вы обнаружите, что эти вещи огромны и работодатели ожидают Вы должны знать достаточно этих бегемотов, чтобы быть продуктивным. Это требует времени и практики . Не стоит недооценивать количество времени и практики, которые вам придется делать.
Чтобы оценить, на что способен потенциальный сотрудник «Я могу программировать на Java», вы можете взглянуть на Sun Java Tutorial . Я ожидаю, что вы будете знакомы, по крайней мере, с половиной перечисленных концепций, где знакомый означает возможность использовать его в написанной вами программе и правильно его использовать . Я ожидаю, что для достижения этого уровня потребуется больше 6 месяцев свободного времени.
источник
Я ненавижу казаться троллем, но вы должны изучать английский язык. В вашем сообщении есть куча ошибок, и это выглядит просто небрежно. Если бы меня нанимали, и это было ваше резюме, мне было бы все равно, на каких языках программирования вы говорили, что вы знали, я бы предположил, что ваше неряшливое отношение к английскому языку перенесет на вашу работу по программированию.
Не похоже, что вы переходите на английский как второй язык (я, конечно, могу ошибаться), но было достаточно грамматических и орфографических ошибок, чтобы заставить большинство менеджеров по найму сделать паузу. Поскольку сначала они увидят только ваше письменное слово, вам нужно исправить это.
источник
Долгосрочный ответ на этот вопрос - в основном то, что сказали наши уважаемые ведущие (Джоэл Спольски) и Стив Стринг. Основа программирования - это не языки, а использование компьютера для решения проблем, и это ремесло, которое нужно выучить, проработать и обдумать со временем. Знание того, как кодировать, не делает программиста.
Но вы задали прагматичную и чувствительную ко времени тему ... что вы должны делать СЕЙЧАС?
Я предлагаю вам копаться в PHP до переезда. Копаться в этом, тяжело, очень тяжело, 20 часов в неделю вне усердной работы. С PHP это довольно легко ... получить учетную запись хостинга и домен и начать создавать приложения. С целенаправленным усилием 6 месяцев - это вечность. За это время, чтобы стать действительно хорошим в этом. Это поможет вам найти хорошую работу однажды в Нью-Йорке и, скорее всего, сделает вас лучшим программистом для загрузки.
Кстати, если вы еще не знали, в семействе StackExchange есть сайт, посвященный ИТ-занятости .
ПОТОМ, когда жизненный переход немного успокоится, начните следовать пьесе мистера Стринга и узнайте больше о мастерстве программирования, чем о программировании. Используйте некоторое время вне работы, чтобы читать и делать что-то на других платформах и с другими инструментами.
источник
Я думаю, что основной вопрос заключается в том, что в конечном итоге инженер-программист должен достичь состояния, в котором язык в значительной степени несущественен для поставленной задачи, за исключением его ограничений.
Знаете ли вы язык или нет, не должно иметь значения, если у вас есть руководство, только для скорости в первый день или около того, пока вы находите ориентиры.
Сказав это, в проприетарных языках, как правило, меньше документации и примеров, распространяемых по сети, и, следовательно, к ним сложнее привыкнуть и создать проблему, если вы хотите взять свою работу домой с собой.
источник
Мой совет: найди работу, занимаясь тем, что тебе интересно, и получай удовольствие. Если вам нравится PHP, почему бы не продолжить развивать свои навыки PHP. Намного легче учиться и развивать навыки, занимаясь тем, что вас интересует.
Вы когда-нибудь смотрели на .NET или Java раньше? Если нет, то это может указывать на то, что вы не интересуетесь этими языками, но, возможно, вы могли бы потратить неделю или около того, изучая каждый из них, и лично убедитесь, заинтересованы ли вы в них.
источник
В ближайщем будущем; Я не знаю, какова практика найма в США, но, учитывая, что вы переезжаете через 6 ~ 12 месяцев, я бы пока решил придерживаться PHP, поскольку у вас есть два года опыта работы с ним.
Мой опыт здесь (в Нидерландах) заключается в том, что компании, как правило, уделяют очень краткосрочное внимание технологиям и основам. Язык на самом деле не -it-, даже если они спрашивают « 3 года опыта C # », они хотят сказать « 3 года опыта работы с библиотеками фреймворка / классов и инструментами, которые вы будете использовать с C # ».
(Иначе, почему они хотят нанять кого-то, кому нужно 3 года для изучения синтаксиса C # и языковых функций, мне неведомо. Похоже, кого-то, кого я бы не хотел нанимать.)
Изучение новых языков; статичный, динамичный, функциональный, имеет большое значение, когда речь идет о расширении ваших перспектив. Однако изучение соответствующих библиотек классов и способов работы на этом языке потребует опыта.
Я бы рекомендовал прийти к решению выбрать один стек технологий и глубоко изучить его. Используйте другие среды для вдохновения.
Конечно, в игру вступают и личные предпочтения. Например, в то время как есть много рынка для этого, я бы никогда не принял работу PHP: - Я выбираю стек, и я ищу работу, основываясь на этом.
Что касается карьеры в долгосрочной перспективе, я думаю, что вы должны смотреть не только на кодирование (в конце концов, все дело в обучении и умении читать и / или просматривать документацию), а также на технологии дня и больше изучать мягкие навыки и тому подобное. Технологии приходят и уходят довольно быстро. Конечно, когда дело доходит до хороших практик и более общих ноу-хау, можно многому научиться, к сожалению, по моему опыту, их редко ищут на рынке труда.
источник
Я думаю, что часто люди смешивают языки программирования и стеки фреймворков / технологий. Выучить новый язык относительно легко, но гораздо сложнее с большими технологиями. Я согласен с некоторыми ответами о том, что наиболее важным является ваш общий опыт программирования / решения проблем, но я не верю, что кто-либо сможет ПОНИМАТЬ совершенно новую технологию за 1 неделю.
Конечно, большая часть разработчиков никогда не читала ни одной технической книги и не понимала сами строительные блоки технологий, которые они используют. Они просто выходят из проблем и очень «успешны». Я сам начал карьеру в PHP, даже не понимая, как HTTP работает на первых порах. Но некоторые работодатели, которых я уважаю больше всего, ожидают глубокого понимания того, «как все работает», просто потому, что это увеличивает шансы на успех их проектов.
Самое меньшее, что вам нужно сделать, чтобы обрести это понимание - это прочитать пару ХОРОШИХ книг с достаточным количеством времени, чтобы создать прототип решения общих проблем в новой незнакомой среде разработки. Можно ли это сделать через неделю? Я бы хотел работать с людьми, которые способны на это, но я не надеюсь увидеть таких людей в ближайшее время.
Некоторые работодатели на самом деле готовы дать вам достаточно времени, чтобы обрести это понимание, учитывая ваш общий глубокий технический опыт в других технологических стеках (если он у вас есть), но, к сожалению, большинство из них - нет.
Кроме того, когда вы меняете технологии, важнее всего ваша личность - насколько вы смиренны и любопытны, чтобы тратить достаточно времени, чтобы понять, как все работает и как это делается в вашей новой области.
Подводя итог, мой ответ будет следующим. Выберите технологию, которая обладает достаточным потенциалом и которая (что наиболее важно) сделает вас счастливым в вашей работе. Специализируясь на этой технологии, рынок труда оценит это, и несколько лет, необходимых для получения вашей целевой зарплаты, будут стоить того. Но никогда не переусердствуйте, потратьте некоторое время на другие технологии, это сделает вас намного лучше ПРОФЕССИОНАЛОВ в целом.
источник
Я должен согласиться с Джоэлом. Но его ответ выходит за рамки технических навыков и предпочтений.
По моему опыту, обычно ваши требования к работе указывают на конкретную технологию или язык программирования, а не на то, что вы хотели бы использовать; если это не запуск, который еще не определил, что они собираются использовать. И никто не может гарантировать, что вы найдете работу / компанию, использующую именно то, что вы ищете.
Таким образом, реальный вопрос: хорошо ли ты выучить новые вещи? Можете ли вы решить проблему и решить ее своевременно, независимо от языка программирования?
Хороший программист должен хорошо знать концепции построения программного обеспечения и разработки программного обеспечения. Ваш вопрос заставляет меня поверить, что вы не потратили достаточно времени на изучение этих навыков, что, вероятно, делает вас неуверенными в своих навыках и реальных возможностях. И, честно говоря, если вы этого не сделали, самое время сделать это, потому что без них вы, вероятно, далеко не уйдете.
Есть еще одна вещь, на которую большинство из нас, программистов, не обращают никакого внимания, прежде чем мы достигнем 30 лет: навыки программирования - это только половина навыков, которые делают хороший программист. Вы хороший командный игрок? Готовы ли вы передавать знания коллегам так же охотно, как вы (или должны) получать знания от других? Многие из нас недооценивают навыки людей, хотя на самом деле они очень важны.
источник
Я не согласен с большинством комментариев, перечисленных на этом форуме.
Помимо изучения принципов и теории разработки программного обеспечения, язык, который вы выбираете для освоения, является выбором профессии. Вот почему есть 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-разработчики. Но они оба преуспевают в финансовом отношении, потому что являются специалистами в своей области, на своем языке выбора и множестве инструментов, которые идут с ним.
источник
Язык и платформа не так важны. Изучите солидных людей и навыки компа. Многие люди говорили это, но не указали конкретику, поэтому позвольте мне сделать это. Вот несколько вещей, чтобы учиться
источник