Мини-Клондайк начинающего программиста. Часть 1
Здравствуйте, уважаемые пользователи GeekBrains!
Совсем недавно в блоге, я описал свою историю, связанную с программирование
Хочу поделиться с вами тем, что я нашёл в процессе обучения, что мне понравилось и что было полезным. Ведь, как мы все знаем, информации в сети полно, а качественной информации мало. Сразу оговорюсь: я - зеленый новичок в области IT, эта статья не истина в последней инстанции, а моё личное видение тех или иных аспектов программирования
Если вы совсем уж новичок
Итак, вы решили попробовать заняться программирование
Посмотрели? Итак, теперь вы понимаете, что и где примерно применяется (всего в видео не освещается, если по какой-то причине нужной информации там нет, вы можете найти её самостоятельно). Дальше нужно как-то познакомиться с базовыми понятиями и основными принципами программирования
Поэтому записываемся на курс “Основы программирования
Понравилось? Не тошнит? Хорошо, двигаемся дальше!
А дальше нужно закрепить изученное и получить ещё знаний по процедурному программированию
- Р. Лафоре “Объектно-ориенти
рованное программирование в C++”. Эта книга понравилась мне тем, что в ней доходчиво всё объяснено и много схем. Информация, представленная схематически, мне даётся легче. При работе с этой книгой помните, что темы ООП там идут вперемешку с процедурным программирование м. О темах для чуть ниже. - Харви Дейтел и Пол Дейтел «Как программировать на C++» - это тоже очень толковое учебное пособие.
- Прата С. - Язык программирования С. Лекции и упражнения
Ваша задача пройтись по основам программирования и хорошенько разобраться, что же такое переменные, условные конструкции и тернарный оператор, циклы и особенно вложенные циклы, массивы и многомерные массивы, функции, передача данных в функцию по ссылке и значению, структуры, указатели и пр. Прочитав теорию, обязательно практикуйтесь. Берите задачи из книги Дейтлов. В качестве IDE я рекомендую Visual Studio, можно и CodeBlocks.
Что имеем в итоге, вы ознакомились с базовыми операторами и конструкциями программирования
- Вы уже выбрали язык программирования и область, к которой стремитесь;
- Вы ещё не определились.
И по одному и по другому вопросу мы вновь должны поработать. Заходим сюда и проходим нужные нам курсы:
Если вы выбрали язык программирования
Прошли курсы на Sololearn, что теперь? Теперь я очень рекомендую посмотреть данный семинар:
Тут стоит обратить внимание на то, что автор рассказывает о 6 парадигмах ООП. Скажу честно: в двух местах я пытался интервьюерам рассказать, что их 6 и какие они. К сожалению, к этому они отнеслись скептически, потому что в мире все обсуждают в большей степени 4 парадигмы, но обмен сообщениями и повторное использование объектов никто не отменял, поэтому стоит прослушать данный материал.
Дорогой читатель, к этому моменту ты должен уже был определиться с той областью программирования
Итак, пока нас не покинули будущие разработчики C#, "питонисты" и т.д., привожу ссылку на интересные источники информации и материалы:
Тут есть целый список всякого разного. Со многими порталами я познакомился и могу сказать, что подборка очень хорошая, особенно для начинающих программистов. Если у вас плохо с английским, то посмотрите на Интуит, Hexlet и ITVDN, ну и конечно же, на GeekBrains. Если же вы "шпрехен зе инглиш вери гуд энд ё нейм из Борис анд Лондон из зэ кэпитал оф Грейт Бритн", то можете попробовать академию Хана, Udacity, Lynda и т.д.
English
В заключении этой первой части я хочу коснуться ещё одной важной для айтишника темы - английского языка. Я хотел бы рассказать, зачем он нужен, какого именно уровня нужен английский и дам пару рекомендаций относительно того, как прокачать себя.
Итак, зачем же нужен английский программисту?
- Вы неизбежно столкнётесь с нехваткой информации в Рунете по интересующим вас темам. Иностранные программисты постоянно пилят какие-то гайды и прочие ништяки, которые будут очень полезны, но чтобы их понимать, нужно знать английский.
- Работа над проектом построена таким образом, что между программистами распределяются задания. Для координации специалистов используются RedMine, GitLab (кстати, познакомьтесь с редмайном, просто для себя зарегистрируйтес
ь и пощупайте данный сервис) и прочие программы, позволяющие агрегировать информацию по проекту в одном месте. Тут же вам "тимлид" будет давать задания и за вашей командой будет наблюдать клиент, который будет вносить правки по заданиям и писать комментарии. Как думаете, на каком языке он это будет делать? - И наконец, вы сами, вполне возможно, вынуждены будете контактировать с клиентом напрямую. Тут вам тоже пригодится английский.
В IT-компаниях всегда спрашивают про английский, на собеседовании даже предложат пообщаться с HR на английском. В основном это простой диалог, в котором вы расскажете, какой вы молодец.
Подытожим вышесказанное. Какой уровень владения языком нужен? Обычно требуется Intermediate. Но не пугайтесь, во многих компаниях всё не настолько строго, с вас будет достаточно:
- понимать язык и читать документацию, туториалы на английском;
- вести диалог с собеседником более или менее свободно.
Вы можете делать какие-то ошибки, но вы должны говорить и иметь какой-то словарный запас. Или есть другой выход - вы должны быть хорошим специалистом. У нас на работе есть парень, который в предложении делает по 5 ошибок, но он понимает код в документации и работает отлично. Но пока вы, скорее всего, не самый крутой программист, поэтому мы немного подтянем ваш английский. В сети существует море курсов, методик и прочего хлама. Есть даже курсы типа “английский для айтишников”. Большая часть из этого - шлак. Я вам предлагаю следующее:
Найдите этот двухтомник и работайте по нему. Причём работать нужно следующим образом. Там есть теория, есть упражнения (на грамматику, перевод и т.д.) и есть тексты. В конце каждой главы вы должны сделать хотя бы 2-3 упражнения. Желательно найти человека, который их проверит. Я бы нашёл какой-то форум по изучению английского и попросил бы там помощи. Уверен, кто-то знающий откликнется и согласится проверить ваши задания. В каждой главе вы должны пересказать текст, причём использовать новые слова, которые идут после текста. Если вы подойдёте к делу сознательно, то уже после первого тома вы сможете вполне неплохо понимать и использовать английский. Что касается технических терминов, поверьте, их усвоить будет легко. Когда начнёте изучать туториалы на английском, впитаете нужные термины автоматически. Поэтому не бойтесь учить язык и не влезайте в крайности. HR-ы в компаниях будут запугивать и скажут, что нужно быть ну просто англичанином. Это не совсем так, но и знать элементарные вещи необходимо.
В итоге
Ну что же, это была первая часть моего материала с ссылками и советами начинающему программисту. Я очень надеюсь, что мой труд не пропадёт даром, и эта информация кому-то будет полезной. В следующих выпусках я рассмотрю материалы по Java, Android и некоторым вещам, связанным с JavaScript. Ещё раз подчеркну, что цикл этих материалов - моя личная точка зрения, которая не является истиной, и за вами всегда остается право прислушаться к ней, или пройти мимо. Успехов вам в изучении программирования