Что нужно для java программирования

Как научиться программировать на Java: почему стоит и где начать

Что нужно для java программирования

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

Было бы проще, если бы среди всех языков программирования был «лидер рынка»? И тогда у всех новичков всегда будет безопасный выбор — выучите этот язык, и вы наверняка будете востребованы. Но это конечно же невозможно. Языки являются «инструментами» для решения многочисленных задач. Один из языков, к которому стоит присмотреться, является Java.

Java — это хорошо структурированный, объектно-ориентированный язык, который может показаться простым для начинающих. Вы можете справиться с ним довольно быстро, так как много различных процессов запускаются автоматически. В первое время не потребуется углубляться глубоко в «как там все работает». Java является кроссплатформенным языком. Это позволяет программисту создать приложение, которое можно развернуть на любом устройстве. Это предпочтительный язык для IoT(интернет вещей), отличный инструмент для создания enterprise приложений, мобильных приложений и т.д.

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

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

Но даже когда мы говорим о языке программирования с низкой кривой обучения, есть много скрытых камней для начинающих. Сколько времени нужно учить? Каким источникам доверять? Какие ошибки следует избегать? Давайте проедемся по учебному плану.

Убедитесь, что вы знакомы с частыми ошибками у новичков

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

Обучение без постановки конкретной цели

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

Если вы серьезно относитесь к кодированию и собираетесь стать Java-разработчиком, вам придется учиться каждый день в течение по крайней мере 4–5 часов. Но если вы просто хотите расширить свои знания, вы можете выбрать более спокойный темп. В любом случае, старайтесь не продлевать свое образование на долгие годы, потому что технологии развиваются. Пока вы изучаете какой-либо фреймворк или инструмент разработки, чтобы получить работу, они устаревают.

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

Попытка изучить слишком много технологий одновременно

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

Слишком много исследований и теории без практики

Что нужно для java программирования
Программирование — это навык, который вы можете получить только через большое число практики. Вам понадобится серьезный теоретический опыт, но пока вы только читаете (или просматриваете) лекции и курсы, вы не сможете писать код. Думайте об этом. Никто не может научиться плавать, не пытаясь это сделать. Вам нужны объяснения, но, прежде всего, вам нужны действия.

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

Учиться программировать в изоляции

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

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

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

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

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

Сделайте идеальную тренировочную программу

Легче достичь своей цели шаг за шагом. Теперь, когда вы знаете распространенные ошибки, вы можете их избежать. Вот пять шагов, которые вы можете предпринять, чтобы изучить 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

Привет. Если Вы читаете данную статью то, скорее всего, у Вас возникал вопрос, как стать программистом. Возможно Вы даже решили изучить язык программирования Java, но не знаете с чего начать изучение. Осмелюсь также допустить, что многие задавали себе вопрос: Возможно ли выучить Java за 1 год? Что если я не учился на программиста в университете? У меня даже специальность не техническая. Смогу ли я? Сколько мне придется тратить времени на это занятие? Что придется учить? С чего начать обучение? Если у Вас возникал хотя бы один из перечисленных вопросов, то вы сейчас в правильном месте.

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

Мотивация

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

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

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

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

Какой язык выбрать?

Предположим что с мотивацией все хорошо и мы можем переходить к следующему вопросу. Прежде чем выбрать какой-либо язык, Вы должны понимать есть ли вакансии на рынке труда, будут ли они на момент когда Вы освоите базовый уровень и приметесь за поиск работы. Так же, играет роль сложность языка программирования. Чем сложнее язык, тем больше времени Вам понадобится на его освоение. С другой стороны – выбирать то, что легче всего тоже не всегда хорошо, ведь конкуренция может быть здесь выше чем в других категориях. Для того чтобы определиться с перспективностью языка, нужно проанализировать где он используется, насколько широка область применения и как часто выходят новые фреймворки на выбранном Вами языке. Тут нам может помочь рейтинг языков программирования.

Думаю, пришло время подкрепить слова цифрами. По разным опросам среди пятерки лидеров находятся Java, JavaScript, C++, C и Python.

Примеры опросов Вы можете найти в изобилии в Интернете. Приведем только несколько из них:

К примеру, по версии сайта tiobe.com, регулярно публикующего рейтинг языков программирования, Java остается лидером уже который год. В пятерке также С++ и Python.

Что нужно для java программирования

Другой авторитетный источник статистики, сайт Stackoverflow, проводивший опросы среди своих пользователей, говорит от том, что на первом месте JavaScript, в то время как Java находится на пятой строчке рейтинга. Но здесь в расчет брали так же языки разметки HTML и CSS.

Что нужно для java программирования

Тут стоит учитывать тот факт, что многие Java-программисты в той или иной степени могут знать JavaScript. Среди JavaScript разработчиков меньше людей которые также знают и Java. Это прибавляет JavaScript несколько очков в предыдущем опросе.

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

По моему скромному мнению, хороший вариант для начала карьеры — Java. Не слишком сложный язык, большая область применения и достаточное количество вакансий. Именно о Java и будет вторая половина нашей статьи. Если бы мне пришлось начинать все сейчас, то неплохой альтернативой мог бы стать Python, так как он сейчас активно набирает популярность.

Обзор Java-экосистемы

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

Что нужно для java программирования

В центре вселенной, как обычно, у нас сам язык Java. Если сказать точнее, то Java Core. На момент написания данной статьи свет увидела Java JDK 10. Компания Oracle поменяла политику работы с версиями Java и сейчас уже нет такой огромной разницы между версиями, как это было при выходе, например, Java 8. Именно эта версия остаётся наиболее популярной и часто используемой в абсолютном большинстве компаний и проектов. Можно смело начинать изучать язык с этой версии, а новые фишки усваивать, накладывая их на знание основ. Изучение этой части, пожалуй, самое сложное задание для новичка. Приходится освоить новый род деятельности и начать думать по другому. На это все накладывается еще и большой объем материала который нужно усвоить. Большинство тех, кто только начинает бросают именно на этом этапе. Тут все зависит только от Вашей мотивации.

Если освоение языка Java проходит нормально, тогда Вам понадобятся еще и дополнительные инструменты, такие как система контроля версий (Version Control System) и система для сборки проектов. В качестве VCS рекомендую использовать Git, который является абсолютным лидером среди себе подобных. Все остальные системы, как например Subversion и Perforce уходят в прошлое. Плюс Вы можете использовать репозитории Github или GitLab, для Вашего кода, бесплатно. С большой долей вероятности в энтерпрайзе вы будете использовать BitBucket от Atlassian. Но это всего лишь оболочка. Если вы научитесь пользоваться Git, то все остальное будет не существенно. Компания Atlassian является так же поставщиком таких продуктов как Jira и Confluence, но для Вас на этапе учебы это роли не играет.

Что касается инструментов для сборки проектов, то тут есть два варианта: Maven и Gradle. По моему субъективному мнению Maven предпочтительнее, но у других разработчиков может быть свое мнение. В принципе оба фреймворка являются равноценными.

После того как Вы познакомились с вышеперечисленными вещами, стоит задуматься в какую сторону двигаться дальше. На рисунке выше Вы видите четыре основных направления движения: Front-End (HTML, CSS, JS), Back-End (Hibernate, Spring, SQL), Android и Big Data. Эти четыре части хоть и разделены на рисунке, но на самом деле довольно плотно связаны. Например, если Вы решили стать Full-Stack Java разработчиком, то Вам придется хорошо изучить Back-End часть и иметь общее понимание основ Front-End части. От Вас не должны ожидать что Вы будете заниматься версткой сайта, но знать HTML стоит. Также должен заметить, что в разделе Back-End под Spring подразумевается в первую очередь Spring Core. Именно с этой части фреймворка нужно начинать. Сейчас он уже разросся до такой степени, что покрывает все аспекты Java разработки. В качестве альтернативы, компания Oracle пытается продвигать Java EE спецификацию, но у них это не слишком хорошо получается.

Что касается BigData, то тут тоже довольно большой стек технологий. В основном все они рассчитаны на распределенное хранение и распределенную обработку данных с помощью подхода Map-Reduce. Самой древней и самой известной технологией здесь является Hadoop.

Думаю, что такое Android, объяснять не стоит. Скажу только, что для того чтобы писать приложения под эту мобильную платформу, придется выучить Java.

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

С чего начать? Что читать?

Очевидно что начинать нужно с основ, т.е. с Java Core. Потом Maven, Git, и дальше уже то направление, которое Вам больше по душе.

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

Вариант первый — книги по Java

Самый древний, традиционный и пока что наиболее проверенный способ. Преимущества: большинство книг от известных издательств написаны профессиональными авторами, у многих из которых за плечами десятки лет опыта разработки и преподавания в престижных западных ВУЗах. Также эти книги проверяются тщательно самими издательствами, так что вероятность ошибок очень мала. Особенно, когда одна и та же книга переиздается снова и снова по мере обновления языка. После прочтения базовых книг, придется переходить к более продвинутым. Мало где можно найти продвинутые темы по программированию рассмотренные с той же глубиной. Недостатки: многие книги написаны сухим академическим языком и походят больше на справочники. Знаменитый автор Кей Хорстманн сам неоднократно признавался, что читает подобные книги не полностью, а только те главы, которые помогают ему решить текущую проблему.

Среди наиболее популярных и лучших книг для новичков следующие (названия приведены на английском, в тех случаях, когда книга не была переведена на русский или перевод не был найден):

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

Вариант второй — видеокурсы по программированию и не только.

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

Альтернативой YouTube урокам могут быть такие площадки:
Safari O’Reilly — огромная коллекция книг, видеоуроков и вебинаров на разные темы. Качество материалов является серьезным преимуществом. Книги и видео тренинги записаны признанными профессионалами в области. Главный недостаток здесь — цена. 400$ в год если платить сразу или 480$ если платить помесячно. Все материалы здесь на английском языке. Если решитесь подписаться, рекомендую материалы подготовленные самим издательством O’Reilly, они обычно качественнее уроков других издательств.

Pluralsight — неплохая площадка для видеоуроков. Выбор материалов по темам большой, но они в основном более поверхностны чем в предыдущем случае. Все материалы здесь тоже на английском. Стоимость подписки 29$ в месяц, или 299 за год. Тут, как и в предыдущем случае, доступ к материалам есть пока платите за подписку. Нельзя просто купить один-два курса навсегда.

Udemy — большая библиотека разного рода курсов. Отличается тем, что курсы здесь не только на английском, но и на русском языках. Ценовая политика здесь совершенно отличается от предыдущих ресурсов. Здесь Вы можете купить курс и он останется у Вас навсегда. Выбирая курс на Udemy обращать внимание нужно на количество часов видеоуроков, качество звука (обычно доступно несколько лекций без регистрации), отзывы других слушателей. Тут я хочу порекомендовать курс «Java. От простого к сложному». По соотношению качества (количества часов) к цене это, пожалуй, самый выгодный курс на Udemy на русском языке. Переходя по ссылке вы получаете фиксированную цену со скидкой 90%. Всего 10 с небольшим долларов за 33 часа отменного видеоконтента. В процессе подготовки курса, автором было проанализировано большое количество курсов, книг и учебных материалов, а также был приложен семилетний опыт разработки приложений энтерпрайз уровня.

Вариант третий — очные курсы
Еще один вариант обучения, который может привести Вас к заветной цели. Тут все неоднозначно. С одной стороны, идя на очные курсы Вы ожидаете, что Вам покажут и расскажут все что нужно. С другой стороны, учиться придется все равно самому. Ни один преподаватель не сможет просто научить Вас, каким бы хорошим он не был. Здесь, как и во всех других местах, всё зависит от личной мотивации и собственной сообразительности. Так что говорю с уверенностью, от книг и видеоуроков никуда не деться. Преимуществом может быть то, что хороший преподаватель поможет Вам понять те вещи с которыми Вы не смогли разобраться самостоятельно и немного ускорить процесс обучения.

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

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

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

Как практиковаться?

Практика это самый важный вопрос. Она предполагает не столько умение писать код, сколько умение делать это правильно. Многие говорят, что нужно контрибьютить в опенсорс проект или писать свой. Тут я должен Вас огорчить. Если Вы знаете не намного больше чем как написать Hello World программу, никто коммитить в опенсорс проект Вам не позволит. В этих проектах подход очень похож на подход к работе в компаниях. Там есть задания, выполнение каждого из них предполагает код ревю. Задача людей отвечающих за проект — фиксить баги, а не плодить новые.

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

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

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

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

На таком уровне Вы уже скорее всего сможете контрибьютить в опенсорс. Если пока нет работы, практикуйтесь там. Вам опыт, обществу польза.

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *