Как эффективно учить java
Как научиться программировать на Java: почему стоит и где начать
Определитесь со своими карьерными целями и выберите язык. Это пожалуй самый важный совет для тех, кто не имеет опыта программирования и стремится присоединиться к сообществу разработчиков. Но как сделать выбор, не зная, какой язык больше всего подходит для ваших целей?
Было бы проще, если бы среди всех языков программирования был «лидер рынка»? И тогда у всех новичков всегда будет безопасный выбор — выучите этот язык, и вы наверняка будете востребованы. Но это конечно же невозможно. Языки являются «инструментами» для решения многочисленных задач. Один из языков, к которому стоит присмотреться, является Java.
Java — это хорошо структурированный, объектно-ориентированный язык, который может показаться простым для начинающих. Вы можете справиться с ним довольно быстро, так как много различных процессов запускаются автоматически. В первое время не потребуется углубляться глубоко в «как там все работает». Java является кроссплатформенным языком. Это позволяет программисту создать приложение, которое можно развернуть на любом устройстве. Это предпочтительный язык для IoT(интернет вещей), отличный инструмент для создания enterprise приложений, мобильных приложений и т.д.
Что важно для новичка, у Java есть одно из крупнейших сообществ и очень качественная документация. Если у вас есть проблема, с высокой вероятностью ответ есть уже в документации. Еще два преимущества Java — это обширные библиотеки и фреймворки, которые покрывают большинство проблем, с которыми вам придется столкнуться как младшему разработчику.
Наконец, это язык с респектабельным прошлым и выдающимся будущим. Две последние версии, дополненные новыми функциями, были выпущены в течение шести месяцев друг за другом. Это помогает Java стоять на переднем крае и удерживать самые высокие позиции в профессиональных рейтингах.
Но даже когда мы говорим о языке программирования с низкой кривой обучения, есть много скрытых камней для начинающих. Сколько времени нужно учить? Каким источникам доверять? Какие ошибки следует избегать? Давайте проедемся по учебному плану.
Убедитесь, что вы знакомы с частыми ошибками у новичков
Итак, вы новичок в программировании. Поздравляем: так как вы можете использовать опыт других программистов и избежать распространенных ошибок в самообразовании. Вот несколько частых ошибок.
Обучение без постановки конкретной цели
Чтобы оценить масштаб и желаемый уровень знаний по какому-либо языку программирования, прежде всего, вы должны ответить на простой вопрос: зачем вам программирование?
Если вы серьезно относитесь к кодированию и собираетесь стать Java-разработчиком, вам придется учиться каждый день в течение по крайней мере 4–5 часов. Но если вы просто хотите расширить свои знания, вы можете выбрать более спокойный темп. В любом случае, старайтесь не продлевать свое образование на долгие годы, потому что технологии развиваются. Пока вы изучаете какой-либо фреймворк или инструмент разработки, чтобы получить работу, они устаревают.
Чтение всплывающего «чего-нибудь полезного» — не лучшая стратегия обучения. Можно внести коррективы в общий план. Однако, если вы не будете следовать этому, это неизбежно приведет к демотивации.
Попытка изучить слишком много технологий одновременно
Это следующая ошибка, которая ведет к обучению без конца. Не пытайтесь заполнить свой учебный план слишком большим числом технологий и инструментов, чтобы избежать выгорания. Вам нужно время, чтобы обработать информацию и посмотреть, как все работает на практике.
Слишком много исследований и теории без практики
Программирование — это навык, который вы можете получить только через большое число практики. Вам понадобится серьезный теоретический опыт, но пока вы только читаете (или просматриваете) лекции и курсы, вы не сможете писать код. Думайте об этом. Никто не может научиться плавать, не пытаясь это сделать. Вам нужны объяснения, но, прежде всего, вам нужны действия.
Только много практики научит вас, как справляться с повседневными проблемами программистов. Например, у вас появится привычка регулярно проверять код и не допускать накопления проблем. Вы также начнете с самых простых решений. Затем переходите к более изысканным, постоянно работающим над улучшением вашего кода. И самое главное, вы привыкнете к кодированию ежедневно.
Учиться программировать в изоляции
Начинающие часто колеблются, должны ли они присоединиться к сообществам онлайн-программирования или посещать мероприятия, в основном из-за синдрома самозванца. Но помните: никто не хочет вас сбить. Сообщество программистов сотрудничает. Вот как появляются многочисленные открытые источники данных. Они привыкли работать в команде, и, безусловно, все они были новичками в определенный момент жизни.
Подумайте: есть много форумов и веб-источников по программированию. Разработчики охотно делятся своими знаниями и открыты для сотрудничества. Вы можете начать учиться в режиме онлайн, получить полезные советы от более опытных коллег, а затем найти свой первый проект по программированию.
Быть уверенным, что однажды вы полностью поймете все аспекты программирования
Если кто-нибудь найдет таблеткупроглотив которую сразу же приобретет навыки в любом языке программирования, то он станет самым богатым человеком на планете (извините, Джефф Безос). Но до тех пор, если вы решили стать программистом, у вас не будет конца в образовании. Даже когда у вас есть работа, никогда не прекращайте учиться. В мире программирования все быстро меняется.
С другой стороны, когда вы все еще учитесь программировать, постарайтесь принять некоторые факты такими, какие они есть. Не копайтесь в каждой мелочи, поскольку при текущем бекграунде может быть слишком «тяжело».
Сделайте идеальную тренировочную программу
Легче достичь своей цели шаг за шагом. Теперь, когда вы знаете распространенные ошибки, вы можете их избежать. Вот пять шагов, которые вы можете предпринять, чтобы изучить Java.
1. Поставьте цель и выберите язык
Вы можете делать практически все что угодно с Java. Вы можете создавать сервера приложений, настольные и мобильные приложения, корпоративные приложения и много чего еще. Но, конечно, язык программирования — это не все, что вам нужно знать, чтобы стать профессионалом. Попробуйте подумать о конкретных областях деятельности.
Тенденции сегодняшнего дня — это создание облачных приложений (вам также необходимо изучить основы облачных вычислений и специальные инструменты для облачной разработки), работа с интернетом вещей (IoT), выполнение анализа больших данных, создание игр и т.д.
2. Создайте учебный план
Вы готовы сделать программирование на Java своей профессией? Тогда посвятите как минимум 2–3 (в рабочие дни) и 5 часов (в выходные дни) ежедневному обучению. В этом случае вам, скорее всего, потребуется от 3 до 6 месяцев для подготовки к должности младшего разработчика.
В целом, ваш учебный процесс будет разделен на несколько этапов:
Вы можете легко использовать известный принцип Парето (правило 80/20) для изучения Java. «20» будет означать теорию, а «80» — практику. Это не преувеличение: вам понадобится в четыре раза больше времени на программирование, чем чтение, чтобы запомнить то, что вы узнали и закрепить свои навыки написание кода. К сожалению, если вы не напишите свой код сразу, вы забудете все, что прочитали на следующий день. К счастью, вам не нужно изобретать собственную программу обучения, если у вас есть подходящие источники.
3. Выберите правильные инструменты и присоединяйтесь к сообществам программистов
Давайте будем честными: идеального курса Java не существует. Некоторые дадут вам глубокие теоретические знания, другие дадут вам много практики. Выберите несколько платформ для обучения, общения и практики. Выберите один онлайн-курс, который сочетает в себе простое объяснение теории с реальным написание кода.
Присоединяйтесь к сообществам, где вы можете задать любой вопрос об аспектах программирования на Java, поделиться своими мыслями и найти единомышленников. Лучшие сообщества для разработчиков Java перечислены ниже.
Используйте несколько источников для изучения Java
Вам понадобится много инструментов для достижения ваших целей. Вот один из возможных набор «инструментов» для достижения успеха.
1. Строго практика: CodeAcademy
Вероятно, это одна из самых известных онлайн-платформ для изучения многочисленных языков. Конечно, есть раздел для изучающих Java. Здесь вы начинаете кодирование с первого урока. Есть довольно полезные советы, которые вы можете получить, если определенное задание кажется трудным (что нормально, когда вы новичок). Логика проста: прочитайте задачу, напишите код и запустите его, чтобы увидеть, что произойдет в результате, а затем перейдите к следующему шагу. Задачи постепенно усложняются, пока вы не начнете писать свой код с чистого листа. Раздел часто задаваемых вопросов очень полезен, и у вас есть возможность обсудить каждое задание с другими студентами.
Этот курс может быть отличным дополнительным инструментом в изучении Java. Как уже говорилось ранее, вам нужно писать код для освоения программирования на Java.
2. Play and code from the beginning: CodeGym.cc
Это онлайн-курсы для изучающих Java с одной особенностью — геймификацией. В настоящее время в онлайн-курсах принято использовать игровые элементы, поскольку они обеспечивают мгновенную мотивацию, чувство постоянных достижений и облегчают достижение вашей цели.
В CodeGym вы начинаете с уровня 0 в футуристической вселенной с космическими путешествиями, роботами и другими классными вещами. Ваша цель — пройти четыре образовательных квеста, чтобы повысить уровень персонажа — робота. Каждый квест включает в себя 10 уровней, и каждый уровень имеет до 10–12 уроков, которые преподают члены экипажа галактического корабля. Урок состоит из минимальной теории и набора задач с мгновенной проверкой и советами о том, как улучшить ваш код. Вы начинаете кодировать с самого начала, решая очень простые задачи, пока не будете готовы к гораздо более сложным и масштабным проектам кодирования.
Эта история позволяет вам не застрять на определенном предмете или задании, двигаться вперед и вернуться позже к «твистерам». Всего в курсе более 1200 заданий. Во временном эквиваленте это соответствует как минимум 300–500 часам написание кода.
3. Challenge programmers: Codewars
Это еще одна онлайн-платформа с огромным количеством практики. Хотя это больше подходит для учеников с хотя бы небольшим опытом программирования.
Вы можете написать свой код в браузере и использовать контрольные примеры, чтобы проверить его шаг за шагом. Вы также можете сравнить свое решение с другими, чтобы расширить свои знания и обсудить лучшие практики. Каждый «ката» имеет ранг, и каждый «ката» является проблемой для других программистов. Когда вы решаете более сложные задачи, вы можете получить более сложные задачи, чтобы улучшить навыки программирования. Эта платформа отличается от других тем, что она позволяет учиться и практиковаться в группе.
4. Слушайте лекции «профессионального» уровня: EdX
EdX — образовательная платформа, основанная Гарвардским университетом и MIT. Он охватывает многие области исследований, включая программирование на Java и многие смежные вопросы. Есть много проверенных вводных курсов и программ сертификации, предоставляемых университетами.
Каждый курс имеет свой временной интервал и включает в себя видео лекции с текстовой расшифровкой. Легко вернуться к предыдущим урокам и пересмотреть материал. Есть десятки разных курсов, некоторые из них бесплатны. Но все же, это источник строго для изучения теории Java. Обязательно закрепите эти курсы практикой.
Хотите быть в курсе последних новостей, обзоров и обновлений в мире Java? Это правильно. Java постоянно развивается, обновляется и добавляет новые фичи. Убедитесь, что у вас есть пара ресурсов, которые вы можете читать ежедневно. Одними из крупнейших являются:
Быть программистом — значит постоянно совершенствоваться, получать новые знания и применять их на практике. Если вы с самого начала разовьете навык самообразования, вы обязательно добьетесь успеха. Вы готовы попробовать?
Как учить Java: 10 практических советов для новичков
Java — строго типизированный объектно-ориентированный язык программирования, разработанный и выпущенный в 1995 году компанией Sun Microsystems. В настоящий момент занимает достойное место среди самых популярных языков программирования. Владея Java, вы можете писать как оконные приложения для десктопов (используя Swing или JavaFX), так и бэкенд для веба, а также мобильные приложения для Android.
Разработчики языка вдохновлялись синтаксисом C/C++, однако Java проще в изучении. К тому же он имеет удобную систему управления памятью с автоматическим сборщиком мусора. Умный компилятор способен отловить «глупые ошибки» неопытного разработчика. На Java легко создавать модульные, многопоточные и кросс-платформенные приложения, хотя новичку может быть сложно поначалу оценить все эти преимущества.
В настоящий момент потребность в Java-разработчиках достаточно велика. Чтобы убедиться в этом, достаточно ввести соответствующий поисковый запрос, к примеру, на сайте hh.ru. И если вы решили начать или уже начали двигаться в направлении Junior Java Developer – поздравляю, это хороший выбор. Подготовка может занять от нескольких месяцев до года (в зависимости от ваших текущий знаний и опыта). И вот несколько советов, которые, уверен, помогут вам в этом пути:
Конкретизируйте свою цель. Например, целью можно поставить работу в качестве java-разработчика. Для этого выясните, что должен знать и уметь джуниор, спросив это у Google или, к примеру, в телеграм-чате для java-новичков. Составьте примерный план обучения, наметьте контрольные точки. Не смущайтесь регулярно уточнять и детализировать свой план.
Определитесь, будете ли вы учиться самостоятельно. Или доверитесь специалистам и проверенным учебным программам, записавшись на курсы по Java. Первый вариант сложнее и затратнее по времени, второй — легче и быстрее, однако за курсы придётся платить.
Настройтесь на то, что обучение займёт не один месяц. Поэтому сделайте его частью своей жизни. Занимайтесь, пусть даже понемногу, но каждый день. Регулярные долговременные усилия принесут больше пользы, чем периодические рывки.
Смиритесь с тем, что поначалу у вас не будет 100% понимания изучаемого материала. И периодически придётся принимать на веру, что делать нужно именно так, а не иначе. Однако со временем мозаика знаний сложится в цельную картину. Не стоит застревать на детальной расшифровке каждого непонятного термина.
Найдите хорошую книгу по Java, регулярно читайте и перечитывайте её. Я рекомендую новичкам всего две книги: «Java программирование для начинающих» Майка МакГрата, «Изучаем Java» Берта Бейтса и Кэти Сьерра. Первая короткая, 193 страницы, написана очень просто. Годится для изучения самых основ. Вторая в три раза толще, 720 страниц, охватывает больший объём материала, весело и доступно рассказывает о сложных вещах — например о том же объектно-ориентированном программировании.
Закрепляйте практикой всё, что изучаете теоретически. Программирование — это 20% теории и 80% практики. А может даже 10% теории и 90% практики. А может даже и 99% и 1% – для кого как. Практикуйтесь в написании кода каждый день. Существует множество сайтов, на которых можно упражняться в программировании – найдите себе по вкусу. В книге по Java, которую вы читаете, должны быть задания и упражнения – не пренебрегайте ими.
Повторение поможет достичь лучшего понимания. Перечитывайте снова и снова непонятный вам до конца как текст, так и код. И с каждым разом он будет становиться понятнее и понятнее.
Не стесняйтесь задавать вопросы — только научитесь их грамотно формулировать. Говорят, что правильно заданный вопрос уже содержит 50% ответа. Невозможно ответить на неконкретный вопрос. Можно следовать рекомендациям форума GeekBrains. Обсуждая код, не делайте скриншоты, не размещайте «простыни» в сообщениях — освойте инструменты, позволяющие делиться кодом с помощью ссылки, например codeshare.io или github.com. Но есть вопросы, которые задавать не стоит. Например «как работает этот фрагмент кода?» Или «что будет, если изменить в коде вот это?» У вас есть редактор и компилятор – напишите, измените, скомпилируйте, запустите и всё увидите сами.
Освойте систему контроля версий git, например, с помощью вот этого бесплатного курса. Создайте свой профиль на сайте Github.com и регулярно отражайте (commit) там все свои упражнения с кодом. В таком случае, разбираясь с кодом и задавая вопросы, достаточно будет указать ссылку на проблемный файл в вашем репозитории.
Подружитесь с английским языком. English is the key to the world’s treasures of programming and development. Учитесь читать англоязычный Java doc. Пишите на английском языке комментарии в своём коде. Известный анекдот: чем отличается Java Junior от Java Senior? Junior пишет поисковый запрос в гугл так: “java как конвертировать массив в список”. А Senior так: “java how to convert array to list”.
Если вы решили встать на путь системного образования java-разработчика, приглашаем на факультет Java-разработки GeekBrains. За 12 месяцев обучения вы разработаете сразу несколько вариантов распространённых проектов на Java — сетевой чат, мобильную игру, облачное хранилище, интернет-магазин — а также подготовитесь к собеседованию и получите первые предложения о работе!
Java — строго типизированный объектно-ориентированный язык программирования, разработанный и выпущенный в 1995 году компанией Sun Microsystems. В настоящий момент занимает достойное место среди самых популярных языков программирования. Владея Java, вы можете писать как оконные приложения для десктопов (используя Swing или JavaFX), так и бэкенд для веба, а также мобильные приложения для Android.
Разработчики языка вдохновлялись синтаксисом C/C++, однако Java проще в изучении. К тому же он имеет удобную систему управления памятью с автоматическим сборщиком мусора. Умный компилятор способен отловить «глупые ошибки» неопытного разработчика. На Java легко создавать модульные, многопоточные и кросс-платформенные приложения, хотя новичку может быть сложно поначалу оценить все эти преимущества.
В настоящий момент потребность в Java-разработчиках достаточно велика. Чтобы убедиться в этом, достаточно ввести соответствующий поисковый запрос, к примеру, на сайте hh.ru. И если вы решили начать или уже начали двигаться в направлении Junior Java Developer – поздравляю, это хороший выбор. Подготовка может занять от нескольких месяцев до года (в зависимости от ваших текущий знаний и опыта). И вот несколько советов, которые, уверен, помогут вам в этом пути:
Конкретизируйте свою цель. Например, целью можно поставить работу в качестве java-разработчика. Для этого выясните, что должен знать и уметь джуниор, спросив это у Google или, к примеру, в телеграм-чате для java-новичков. Составьте примерный план обучения, наметьте контрольные точки. Не смущайтесь регулярно уточнять и детализировать свой план.
Определитесь, будете ли вы учиться самостоятельно. Или доверитесь специалистам и проверенным учебным программам, записавшись на курсы по Java. Первый вариант сложнее и затратнее по времени, второй — легче и быстрее, однако за курсы придётся платить.
Настройтесь на то, что обучение займёт не один месяц. Поэтому сделайте его частью своей жизни. Занимайтесь, пусть даже понемногу, но каждый день. Регулярные долговременные усилия принесут больше пользы, чем периодические рывки.
Смиритесь с тем, что поначалу у вас не будет 100% понимания изучаемого материала. И периодически придётся принимать на веру, что делать нужно именно так, а не иначе. Однако со временем мозаика знаний сложится в цельную картину. Не стоит застревать на детальной расшифровке каждого непонятного термина.
Найдите хорошую книгу по Java, регулярно читайте и перечитывайте её. Я рекомендую новичкам всего две книги: «Java программирование для начинающих» Майка МакГрата, «Изучаем Java» Берта Бейтса и Кэти Сьерра. Первая короткая, 193 страницы, написана очень просто. Годится для изучения самых основ. Вторая в три раза толще, 720 страниц, охватывает больший объём материала, весело и доступно рассказывает о сложных вещах — например о том же объектно-ориентированном программировании.
Закрепляйте практикой всё, что изучаете теоретически. Программирование — это 20% теории и 80% практики. А может даже 10% теории и 90% практики. А может даже и 99% и 1% – для кого как. Практикуйтесь в написании кода каждый день. Существует множество сайтов, на которых можно упражняться в программировании – найдите себе по вкусу. В книге по Java, которую вы читаете, должны быть задания и упражнения – не пренебрегайте ими.
Повторение поможет достичь лучшего понимания. Перечитывайте снова и снова непонятный вам до конца как текст, так и код. И с каждым разом он будет становиться понятнее и понятнее.
Не стесняйтесь задавать вопросы — только научитесь их грамотно формулировать. Говорят, что правильно заданный вопрос уже содержит 50% ответа. Невозможно ответить на неконкретный вопрос. Можно следовать рекомендациям форума GeekBrains. Обсуждая код, не делайте скриншоты, не размещайте «простыни» в сообщениях — освойте инструменты, позволяющие делиться кодом с помощью ссылки, например codeshare.io или github.com. Но есть вопросы, которые задавать не стоит. Например «как работает этот фрагмент кода?» Или «что будет, если изменить в коде вот это?» У вас есть редактор и компилятор – напишите, измените, скомпилируйте, запустите и всё увидите сами.
Освойте систему контроля версий git, например, с помощью вот этого бесплатного курса. Создайте свой профиль на сайте Github.com и регулярно отражайте (commit) там все свои упражнения с кодом. В таком случае, разбираясь с кодом и задавая вопросы, достаточно будет указать ссылку на проблемный файл в вашем репозитории.
Подружитесь с английским языком. English is the key to the world’s treasures of programming and development. Учитесь читать англоязычный Java doc. Пишите на английском языке комментарии в своём коде. Известный анекдот: чем отличается Java Junior от Java Senior? Junior пишет поисковый запрос в гугл так: “java как конвертировать массив в список”. А Senior так: “java how to convert array to list”.
Если вы решили встать на путь системного образования java-разработчика, приглашаем на факультет Java-разработки GeekBrains. За 12 месяцев обучения вы разработаете сразу несколько вариантов распространённых проектов на Java — сетевой чат, мобильную игру, облачное хранилище, интернет-магазин — а также подготовитесь к собеседованию и получите первые предложения о работе!
Как стать программистом или Выучить Java за 1 год
Здравствуй, дорогой читатель. Давно хотел написать подобную статью, но либо не хватало времени, либо мешала предательская лень. Но, как бы там ни было, все-таки у меня получилось собраться с мыслями, чтобы написать то, что принесет вам, я надеюсь, какую нибудь пользу. С радостью поделюсь своими знаниями и опытом, в ответ с вас причитается время и внимание. По моему мнению, данная публикация хорошо подойдет для тех, кто готов определиться в своих интересах и хочет связать свою жизнь с IT — тем или иным образом. Итак, поехали!
Выбор языка программирования
Публикация начинает выглядеть как многие подобные материалы. По закону жанра я должен буду написать название пары тройки языков программирования, назвать парочку плюсов и минусов и, в итоге, так и не ответив на вопрос, перейти к следующей части. Отчасти в этом есть доля правды, ведь каждый выбирает для себя тот язык, который ему ближе, исходя из того, разработкой какого вида продуктов он хочет заниматься в будущем. Большинство из вас изучали в школе Turbo Pascal и вряд ли для вас будет новостью, что на этом языке сейчас уже практически ничего не пишут. Так и в данном случае, выбирать язык надо грамотно, хотя много знаний никогда не бывает, но если вы хотите за короткий промежуток времени эффективно влиться в ряды программистов, к выбору языка надо подходить с умом. В самом начале запомните: хороший программист никогда не останется голодным, а в большинстве случаев сможет купить себе много икры (это определение подойдет для любой специальности, но ни одна специальность не даст вам такой свободы выбора места работы, как в плане компаний, так и стран — программист он и в Индии программист).
Логично, что чем популярнее язык и востребованность, тем больше шансов будет найти работу в будущем, при этом язык должен быть несложным в освоении. Потому что хотя на C++ и пишут большое количество игр и получают за это хорошие деньги, новичку, тем более не знакомому с ООП (объектно-ориентированное программирование) лучше отложить на некоторое время этот язык куда подальше. Далее по ссылке предоставлен список самых популярный языков программирования 2014 года, и как видно, на первом месте стоит Java, далее идут C языки, затем Phyton, JavaScript, PHP, Ruby и т.д. Если самим поискать подобные статистики, то вы увидите, что в разных источниках места заняты по разному, но в целом первые 10 мест по содержанию везде будут совпадать.
Если же обратиться к другому источнику, в основе которого анализ выложенных в Twitter вакансий, вы увидите очень похожую ситуацию с первым примером. И да, обе статьи на английском, привыкайте к этому, если хотите стать программистом, запомните, что практически вся документации и источники полезной информации написаны на английском, так что если ваши знания в этом языке слабоваты, добавьте себе в список дел на завтра и на ближайшее будущее изучать и практиковать английский. Думаю, я даже напишу отдельную статью, посвященную изучению иностранного языка.
Исходя из этих двух источников мы уже можем себе представить, какие языки программирования сейчас «в моде». Как видно по названию, автор статьи выбрал для себя Java. Хотя я считаю его лучшим для изучения ООП, найдется много людей, которые не согласятся со мной, и это логично — сколько людей, столько и мнений. Тут мы встаем на небольшое перепутье дорог: выбирать Java, С# (очень похож на Java), Phyton, если мы хотим работать с начинками программ и приложений (back-end) или же PHP, JavaScript, HTML, если хотим заниматься веб-разработкой (front-end). В первом случае я бы свой выбор остановил на Java, а во втором — на PHP, хотя опять же, тут больше по вкусу, надо уже самому искать информацию о различных языках и вообще понимать, чем ты хочешь заниматься. Для размышлений вот подборка языков, которые используются в крупнейших интернет компаниях мира.
Есть 2 основных причины, почему бы я выбрал либо Java, либо PHP. Первая — это очень популярные языки и найти соотвествующую работу не составит труда, а вторая — в том, что ни по каким другом языкам вы не найдете столько обучающего материала как по этим двум, причем как на русском, так и на английском.
Обучение
Итак, мы подошли к стадии, до которой большинство доходят без проблем, но этот период по праву является одним из самых сложных в карьере программиста. Хотя программист учится в течение всей своей жизни, то время, когда он начинает делать свои первые шаги, во многом определяет дальнейшую его судьбу. Вообще обучение проверяет человека на прочность, выдержит ли он, не потеряет ли интерес через месяц (как это у некоторых бывает), сможет ли дойти до конца и освоить базовые знания, на которые потом будут наслаиваться уже целые пласты информации.
В данном случае я буду рассматривать язык Java, так как он мне все таки ближе. Благо в интернете полно людей, которые безвозмездно помогают другим в обучение, поэтому найти подходящий для вас материал не составит труда. Здесь выложены более 1000 часов лекций по Java, которые можно с пером и бумагой просматривать в стенах свою уютной квартиры (пока только на русском языке). Для тех, кто привык вчитываться в проходимый материал, опять же интернет предоставляет большие возможности и это только один из всевозможных сайтов с уроками по Java. Теории хоть отбавляй, но не могу сказать про такой обучающий сайт, как Coursera.org, где вы сможете найти обучающие курсы на различных языках и по различным областям, в том числе и программированию — опять же все абсолютно бесплатно. Таких сайтов не один и не два, стоит всего лишь поискать.
Но как бы не была познавательной теория, в программирование без практики не обойтись. Но даже тут за нас уже сделали пол дела и не надо искать различные задачи, чтобы улучшать свои навыки, такой сервис как JavaRush очень в этом поможет. В целом данный сайт дает как теорию, так и практику, начиная просто с дублирования кода с экрана и заканчивая комплексными задачками, а в перерывах даже предлагает расслабиться и посмотреть небезызвестный мультсериал. По заверениям авторов, достигшие 20 уровня в сервисе будут иметь достаточные знания, чтобы уже устраиваться в IT компанию.
Ну и конечно, кто-то спросит, а как же книга? Разве не надо их читать, а если надо — то что? На это я отвечу, что от чтения книг еще никто глупее не становился. Книг тоже очень много, но я перечислю только небольшую часть из них:
Помощь в практике
Как уже упоминалось, практика — это неотъемлемая часть в любом обучение, особенно в программировании. Тут вам придется кодить и кодить, вплоть до мышечной памяти пальцев. Это, конечно, немного утрировано, но на первых порах придется и вправду много бить по клавишам, чтобы запоминать значения различных конструкций, чтобы в будущем использовать практически на автомате.
У многих начинающих программистов на первых порах возникает большое количество вопросов, особенно когда нужно выполнять самостоятельное задание. Это нормально. Но в таких ситуациях надо понимать, что практически на любой возникший у вас вопрос можно найти ответ в интернете. Вряд ли вы первый, кто с ней сталкивается, поэтому не торопитесь сражу же задавать вопросы на различные форумы программистов (о которых я напишу чуть позже). Посидите минутку, правильно сформулируйте проблему у себя в голове и смело ищите её в поисковике. Наверняка большинство будут искать на русском языке, но не забывайте, что язык программистов — это английский, поэтому, если вы не нашли ответ на великом и могучем, стоит поискать на языке, который в школе вроде бы все учили, но так и не выучили. Но если даже и в этом случае оказалось, что на ваш вопрос нигде нет ответа, в бой вступают лучшие форумы интернета:
Форумы — это, конечно, не единственный способ получить ответы на интересующие вопросы. В своей практике программисты повсеместно работают с официальной документацией языка, на котором они пишут. Там описываются, как работают те или иные классы и интерфейсы, порой документация является единственным источником, который может помочь в разрешение вопросов, ведь это только на начальном этапе у всех схожие вопросы и без проблем можно найти готовые решения, но чем дальше вы забираетесь в дебри, тем сложнее и сложнее находить ответы, поэтому приходиться уповать на свою, я надеюсь, уже умную голову.
Компилируем код
Довольно много я уже написал, конечно, сложно охватить такую большую тему в рамках одной статьи, но, думаю, первые шаги уже сделаны и вызвать у вас соответсвующие мысли они должны. Думаю, это только первая статья из серии «Как стать программистом» и, соответственно «зачем?», если вы стоите на перепутье дорог и пока не знаете, какой выбрать путь. В следующий раз я затрону более интересные в материальном плане вещи, ведь не секрет, что программисты люди не бедные, а уж где и сколько они получают, посмотрим в следующий раз.
Наконец, для тех, кто хочет действительно стать программистом, желаю взять быка за рога, собрать всю волю в кулак и делать то, что вам нравится. До меня уже тысячи раз говорили, но я повторюсь, главное — желание и труд. Тогда все у вас получится. Запомните самое главное: воспринимайте изучение языков программирования и различных технологий не как цель, а как СРЕДСТВО. Только представьте, какие возможности перед вами открываются. Может быть, именно вы станете одним из тех, кто меняет мир в режиме реального времени. Так что удачи и спасибо за внимание!

