Я программировал с помощью PHP, Javascript и был дизайнером в течение нескольких лет в компании. Я думаю об уходе. Мне интересно, какие навыки мне нужны, чтобы в настоящее время добиться успеха.
Какие навыки должен иметь программист в настоящее время?
Ответ 1
Вы, кажется, любознательны и заинтересованы в обучении. Эта квалификация №1; вещи быстро меняются в этой области, и выживают только пожизненные ученики.
Следующим шагом будет очистить рабочие доски в вашем регионе (Monster, Craigslist, Joel On Software Jobs Board и т.д.) и отслеживать навыки, которые вы видите придумывая много. Это, вероятно, довольно хорошее представление о том, что "горячо", по крайней мере, рядом с вами.
Затем вы можете проверить здесь переполнение стека по тегам (например, PHP и javascript), и посмотрите, интересуются ли те вопросы, которые задают люди, для вас основной смысл (а не то, что вам нужно знать каждый ответ, но если это звучит как греческий, вы, вероятно, не готовы работать в этом предмете).
Чтобы более точно ответить на ваш вопрос: есть веб-задания для PHP и javascript, хотя тяжелая доза CSS и Ajax, вероятно, не повредит, если вы пойдете в этом направлении. Фон дизайна поможет, если вы хотите получить общее задание типа "веб-мастер", но обратите внимание, что это часто не ориентированные на программирование задания, потому что большинство вещей, которые вы можете делать на среднем веб-сайте, как правило, лучше делать с помощью CMS на полке (вы обычно не нужно изобретать колесо, если только веб-сайт, который вы делаете, в какой-то мере не функционирует). Как говорили другие плакаты, С#/.NET, вероятно, хорош, если вы хотите что-то более корпоративное.
Реальный вопрос: какую работу вы любите делать? Что делает Вас счастливым? Найдите это и сделайте это хорошо, и вы получите работу.:)
Ответ 2
Это действительно зависит от того, что вы намерены делать.
Я считаю, что следующие навыки важны для всех типов "программистов" независимо от их выбранного языка.
- Точная оценка. Предоставление точным оценкам вашего босса облегчает их работу, что значительно упрощает вашу жизнь.
- Связь. Быть способным эффективно общаться со всеми, с кем вы работаете, является обязательным.
- Зная, когда обращаться за помощью. Как вы писали, вы не можете все знать. Я бы предпочел, чтобы разработчик попросил коллегу о помощи, чем попытаться провести дни с решением.
- Шаблоны проектирования. Каждый разработчик должен понимать основные шаблоны проектирования.
- Знайте хороший язык сценариев. Perl, Python, Ruby, Bash, Powershell... возьмите ваш выбор.
Ответ 3
Я думаю, что один из лучших активов, который может иметь разработчик, - это знать, как использовать Google. Оставайтесь со мной здесь.
Я работал с людьми, которые просто не знают, как искать уже существующие решения. Когда я столкнулся с любым программным проектом, я обнаружил, что половина проблемы решена, просто зная, что вводить в Google. Я знаю о существовании множества разных технологий, о том, как они предназначены для использования, и об общей болтовне о них, которую я читал в других блогах людей, но я никогда их не использовал и, возможно, никогда не буду. Но когда проблема, которая соответствует их описанию, приходит мне на ум, я знаю, какие волшебные слова набирать в Google и что начать изучать дальше для этого конкретного проекта.
Другая половина проблемы - решить, что отнять у этих результатов Google. CodeProject - это фантастический сайт для изучения, и иногда вы попадаете в статью, в которой рассматривается проблема. Иногда вы сможете использовать предоставленный код непосредственно в своем проекте (я сделал это с помощью светодиодного элемента управления Windows Forms, который я получил там), но большую часть времени вы просто заберете идеи статьи и использовать его в качестве руководства для применения к вашему проекту. Иногда вы смотрите на статью и решаете, что человек не знает, о чем идет речь. Возможность оценивать качество, использовать, адаптировать или просто вдохновлять на существующие статьи, библиотеки и фрагменты блога - бесценный актив. Вам не нужно все это понимать - вы не можете все знать, вы должны где-то рисовать "магическую линию", но важно, чтобы вы могли сказать, что выглядит хорошо написанным и что выглядит шлепкой -dash и подвержен ошибкам.
Итак, с этой целью, мой лучший совет - просто загружать свой RSS-ридер с помощью каналов от людей, которые работают в тех технологиях, которые вас интересуют. Вам не нужно читать каждое отдельное сообщение, вы будете удивлены, сколько вы можете подобрать, просто масштабируя их всех и каждый день просматривая заголовки.
Для меня такие вещи, как язык программирования, на самом деле не так важны. Я начал с С++, пробовал на Java, два года работал в PHP и жил и дышал С# еще двумя. Вы можете изучать язык программирования через неделю. Однако изучение рамок и идиом, обычно используемых на этом языке, может занять годы, поэтому для любой такой структуры вы можете быть уверены, что с ней будут работать какие-то рабочие места. После долгого отскока вы найдете тот, который вам нравится (мой мир .NET), но вы все равно узнаете свой путь вокруг остальных. Так что заберите свой яд, но продолжайте читать, чтобы быть в курсе того, что там. Хорошо проиндексированный программист может легко стать хорошо округленным, потому что он будет знать, как решать новые проблемы, возникающие вне его зоны комфорта.
Надеюсь, что это имеет смысл.
Ответ 4
Портфолио вашей работы, множество фотографий, очень короткие описания. PHP не так популярен в корпоративном мире, но он существует. Возможно, вы захотите изучить JSP или С# ASP.NET, чтобы ваши варианты открывались.
У разных компаний разные потребности, магазины веб-дизайнеров будут в значительной степени ориентированы на дизайн и насколько быстро вы сможете создать сайт (обычно используя фреймворк). Корпоративные приложения будут заниматься такими вопросами, как исправление ошибок, тестирование, поддержка нескольких языков, использование сторонних элементов управления.
Ответ 5
Все, что вам нужно, это законченное исследование и возможность легко учиться новым вещам. Они не могут ожидать, что вы знаете все, что они вам скажут. Но если вы можете хорошо учиться, все будет хорошо.
Это то, что мне сказали в университете. Я думаю, что это верно.
Ответ 6
Изучите тестирование и модульное тестирование, основанное на тестировании, и обладайте глубокими знаниями нескольких библиотек javascript.
Ответ 7
Если вы уже знаете PHP и Javascript, убедитесь, что ваши навыки CSS и MySQL до нуля. Четверо составляют приятный пакет.
Ответ 8
В веб-разработке, по крайней мере (где я в основном работал), часто происходит разделение между интерфейсом и внешними навыками.
Я говорю о кодировании здесь, поэтому под "front-end" я имею в виду такие вещи, как css и javascript. Часто существует нечеткая линия между дизайном и кодированием, поэтому люди, работающие над интерфейсом, часто имеют немного навыков кодирования, немного умения дизайна.
Back-end имеет тенденцию быть больше java или .net(наиболее распространенный для Интернета, по крайней мере, с помощью объявлений о работе, которые я видел) с небольшим количеством python, ruby, php и других. Вероятно, умения в последнем будут чаще высаживать вас в меньшем месте. Было моим наблюдением, что базовые навыки, вероятно, будут немного лучше. Вам может потребоваться найти где-нибудь, где вы сделаете немного спереди и немного назад, и посмотрите на переход к выполнению большей части работы типа программирования.
Конечно, "успех" - это очень личное дело, поэтому, пожалуйста, не обращайте внимания на все написанное выше и удачи.
Для некоторых реальных жестких данных здесь есть один сайт, который по популярности размещает языки на должностях (есть и другие) http://www.langpop.com/
Ответ 9
В принципе, вам нужно понять, что программирование - это не ленивая профессия, хотя она слишком оседлая. Это требует мысли, и это требует практики, и для этого требуется терпение. Если вы думаете, что можете узнать кучу подходов поваренной книги и вдруг стать программистом, вы, к сожалению, ошибаетесь.
(Хотя, к сожалению, многие менеджеры убеждены, что существуют решения для кулинарных книг и основаны на найме на то, что вы можете читать, но вы спрашивали, какие навыки должен иметь программист, а не то, что ему нужно знать, чтобы нанять.)