2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Путь программиста – Что? Где? Когда?

Содержание

Инструкция для тех, кто хочет стать программистом с нуля

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

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

С чего начать

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

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.

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

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

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

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

Четвёртый вариант получения опыта — помощь знакомым программистам. Попросите их передать вам маленькие и несложные задания. Если что-то не будет получаться, у вас всегда будет к кому обратиться. И при этом вы будете участвовать в реальном проекте.

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

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

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

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

Политика конфиденциальности

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

Читать еще:  Как сделать полный сброс на iphone 5s?

Мы создали Политику конфиденциальности, чтобы продемонстрировать свою верность принципам конфиденциальности и безопасности. В Политике конфиденциальности описано, как наша компания собирает информацию ото всех конечных пользователей своих Интернет-услуг («Услуг»), включая людей, имеющих доступ к некоторым нашим услугам без регистрационной записи («Гостей»), а также клиентов, которые купили Продукты и/или вносят ежемесячную оплату за услуги, чтобы подписаться на Услугу («Члены»). Политика также включает объяснение о том, что мы делаем с собранной информацией, и какие возможности по сбору и использованию такой информации есть у Гостей и Членов. Мы просим Вас тщательно ознакомиться с Политикой конфиденциальности.

Личная информация, которую собирает наша компания, и пути ее использования

Введение

Членов могут попросить предоставить определенную личную информацию при подписке на наши Продукты или Услуги, в частности, имя, адрес, номер телефона, информацию для выставления счетов (например, номер кредитной карточки) и тип персонального компьютера, который будет использоваться для доступа к Услугам. Личная информация Членов, собранная при регистрации (или в любое другое время) преимущественно используется для подготовки Продуктов или Услуг в соответствии с Вашими потребностями. Ваша информация не будет передана или продана третьим сторонам. Однако мы можем частично раскрывать личную информацию в особых случаях, описанных в нижеприведенном разделе «Разглашение».

Разглашение

Мы оставляем за собой право раскрывать информацию Членов и Гостей следующим третьим сторонам в следующих ситуациях:

  • Компаниям, работающим от нашего лица: Мы сотрудничаем с другими компаниями, выполняющими от нашего лица функции бизнес поддержки, в связи с чем Ваша личная информация может быть частично раскрыта. Мы требуем, чтобы такие компании использовали информацию только в целях предоставления услуг по договору; им запрещается передавать данную информацию другим сторонам в ситуациях, отличных от случаев, когда это вызвано необходимостью предоставления оговоренных услуг. Примеры функций бизнес поддержки: выполнение заказов, реализация заявок, выдача призов и бонусов, проведение опросов среди клиентов и управление информационными системами. Мы также раскрываем обобщенную неперсонифицированную информацию при выборе поставщиков услуг.
  • Дочерним и совместным предприятиям: Под дочерним или совместным предприятием понимается организация, не менее 50% долевого участия которой принадлежит Компании. При передаче Вашей информации партнеру по дочернему или совместному предприятию наша Компания требует не разглашать данную информацию другим сторонам в маркетинговых целях и не использовать Вашу информацию каким-либо путем, противоречащим Вашему выбору. Если Вы указали, что не хотите получать от нашей Компании какие-либо маркетинговые материалы, то мы не будем передавать Вашу информацию своим партнерам по дочерним и совместным предприятиям для маркетинговых целей.
  • На совместно позиционируемых или партнерских страницах: Наша Компания может делиться информацией с компаниями-партнерами, вместе с которыми реализует специальные предложения и мероприятия по продвижению товара на совместно позиционируемых страницах нашего сайта. При запросе анкетных данных на таких страницах Вы получите предупреждение о передаче информации. Партнер использует любую предоставленную Вами информацию согласно собственному уведомлению о конфиденциальности, с которым Вы можете ознакомиться перед предоставлением информации о себе.
  • При передаче контроля над предприятием: Наша Компания оставляет за собой право передавать Ваши анкетные данные в связи с полной или частичной продажей или трансфертом нашего предприятия или его активов. При продаже или трансферте бизнеса наша Компания предоставит Вам возможность отказаться от передачи информации о себе. В некоторых случаях это может означать, что новая организация не сможет далее предоставлять Вам услуги или продукты, ранее предоставляемые нашей Компанией.
  • Правоохранительным органам: Наша Компания может без Вашего на то согласия раскрывать персональную информацию третьим сторонам по любой из следующих причин: во избежание нарушений закона, нормативных правовых актов или постановлений суда; участие в правительственных расследованиях; помощь в предотвращении мошенничества; а также укрепление или защита прав Компании или ее дочерних предприятий.
  • С Вашего согласия: Во всех остальных случаях перед передачей информации о Вас третьим сторонам наша Компания обязуется получить Ваше явное согласие. Например, наша Компания может реализовывать совместное предложение или конкурс с третьей стороной, тогда мы попросим у Вас разрешение на совместное использование Вашей личной информации с третьей стороной.

Интернет-покупки

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

Реклама в интернете

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

Ответы на электронные запросы

Когда Гости или Члены отправляют нашей компании электронные запросы, для ответа на них используется электронный адрес, с которого пришел запрос. Наша компания не использует обратные адреса в каких-либо других целях и не передает их каким-либо третьим сторонам.

Добровольные опросы клиентов

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

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

Автоматический сбор информации

Cookies: Для сбора информации наша Компания может пользоваться маркерами Cookies; это маленькие информационные файлы, которые сохраняются Вашим браузером на жестком диске Вашего компьютера по запросу веб-сайта. Маркеры Cookies нашей Компании не содержат какой-либо персональной информации и преимущественно используются следующим образом:

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

Веб-маяки: Мы также можем размещать на своем веб-сайте, в Интернет-рекламе с участием третьих сторон и своих электронных письмах небольшие «следящие изображения» или «маяки». Такие маяки применяются вместе с маркерами Cookies для сбора неличной информации об использовании нашего сайта, в том числе, включая время и дату посещения, просмотренные страницы, страницу перехода, тип браузера (например, Internet Explorer, NetScape), тип операционной системы (например, Windows, Linux или Mac), а также имя домена провайдера Интернет-услуг посетителя (например,AOL). Мы собираем такую информацию о посещениях сайта тысячами и анализируем в целом. Данная информация важна, в частности, для определения эффективности нашей Интернент-рекламы, например, баннеров и выбора места для будущей рекламы на других веб-ресурсах.

Отключение Cookies и маяков: Если сбор такой информации через маркеры Cookies и маяки Вам неприятен, рекомендуем отключить эти функции в настройках своего браузера, но, пожалуйста, помните, что это ограничит эффективность и функциональность веб-сайта нашей Компании. О том, как отключить поддержку cookie и маяков, как правило, говорится в инструкции к браузеру.

Информационная защита детей

Защита детей от Интернет-информации особенно важна, дети младше 13 лет находятся под защитой федерального закона. По этой причине наша Компания намеренно не позволяет детям до 13 лет становиться зарегистрированными членами наших сайтов или приобретать товары и услуги на наших сайтах без подтвержденного разрешения от родителей. Наша компания намеренно не собирает и не запрашивает личную информацию у детей до 13 лет без явного на то согласия их родителей. Если мы когда-либо включим детей до 13 лет в число целевой аудитории нашего сайта, то эти специальные страницы будут выделены отдельно и будут содержать развернутое уведомление о конфиденциальности, в соответствии с положениями Акта о защите частной жизни ребенка в Интернете (COPPA); мы также обеспечим механизмы получения разрешения родителей, их доступ к информации и дадим родителям возможность требовать удаления личной информации своих детей. Наша Компания приветствует родителей и попечителей, которые проводят время в сети вместе со своими детьми и принимают участие в их интерактивных занятиях и увлечениях.

Общественные форумы

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

Приверженность нашей компании принципам конфиденциальности

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

Читать еще:  ImTranslator: отличный On-line переводчик и словарь

Изменение и удаление личной информации пользователей

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

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

Куда направлять вопросы о нашей Политике конфиденциальности

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

Изменения настоящей Политики

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

Отзыв: Книга «Как эффективно изучать программирование. Путь в программисты» — Константин Шереметьев — Вода, вода, кругом вода.

«Мне было плохо, я нашёл бога, теперь я могу всё. » — мне кажется, что сейчас этот посыл доминирует в Америке над образованием. И у нас всё идет к этому. 🙁

Так случилось, что по некоторым невесёлым обстоятельствам непреодолимой силы, я какое-то время назад очень активно искала работу. Сейчас у нас в городе (да, наверное, и в других городах тоже) очень много вакансий связано с IT. Но у меня нет достаточных знаний и опыта для того, чтобы претендовать на эти вакансии. С другой стороны, что мне мешает заниматься саморазвитием, тем более, что мне эта тема всегда была интересна? Я прекрасно понимаю, что хорошим разработчиком я уже, скорее всего, не стану, но, имея знания в какой-то области IT-технологий, будет легче найти работу.

Вот с такими мыслями в голове я начала поиски места, где бы можно было поучиться. Самых ходовых варианта у нас три:
1) Очные курсы – ты жёстко привязан к месту и времени занятий, стоит этот вариант дороже всех прочих (аренда, зарплата сотрудникам, и т. д.). Очень многое зависит от преподавателя.
2) Online курсы – ты привязан только ко времени, а место совершенно неважно. Главное, чтобы был интернет. Но на самом деле можно при необходимости в любое время смотреть видео, которое делается в процессе урока. Плохо то, что задать вопрос при просмотре записи не получится. По стоимости – как повезёт.
3) Бесплатные уроки на YouTube или сайтах «типа-школ/университетов». Почему я так про них? Да потому, что по факту – это, в большинстве случаев, пустая трата времени. Основная задача этих курсов заставить вас заплатить деньги за якобы полный курс, на котором вы изучите ВСЁ. Но мне ни разу не попались более-менее стоящие курсы такого плана. Всё то же самое, что в бесплатной версии, только дольше по времени. Кроме того, у этого вида обучения нет обратной связи. То есть что-то спросить у преподавателя вы не сможете. В лучшем случае, есть чат, в котором «ученики» общаются друг с другом.
Немного другая история с YouTubом. Тут полно всяких обучалок, но вот профессионализм авторов… он того… оставляет желать лучшего.

В процессе изучения всех этих вариантов я натыкалась на огромную гору… нет КУЧУ! литературы, которую сейчас модно называть мотивирующей. Большая её часть написана на американский манер – важно не содержание и глубина мысли, а количество печатных знаков, ибо платят автору именно за них. И они так же, как «бесплатные» уроки вынуждают читателя заплатить за что-то «очень нужное». Я терпеть не могу такие книги и стараюсь к ним не прикасаться. Но.

Вчера, совершенно случайно (пока искала инструкцию к одной программе), я наткнулась в сети на очередной шедевр из этой серии. «Как эффективно изучать программирование. Путь в программисты» Константина Шереметьева. Сейчас я уже не так активно ищу работу, но саморазвитием продолжаю заниматься. Поэтому решила просмотреть эту «чудесную» книгу. Тем более она совсем маленькая, всего 38 страниц.

Я справилась за полтора часа, и знаете, когда я начала читать ЭТО, то у меня в голове просто все полтора часа без перерыва звучал припев к песне Эдуарда Хиля из советских времён — «Вода, вода, кругом вода. Вода, вода, шумит вода».
Да, смысл песни совсем не в этих строчках припева, но в данной ситуации они (строчки) как нельзя полно отражают суть написанного.

Хотите знать, в чём главная мысль книги? Автор настаивает, что не стоит учиться в институтах и университетах, для того, чтобы стать ХОРОШИМ программистом, нужно просто решать реальные задачи. И автор, являясь преподавателем престижного ВУЗа, естественно за отдельную плату, предоставит вам «уникальные» книги собственного сочинения, прочитав которые, вы сможете стать ХОРОШИМ программистом уже через один год. Не знаю, как вам, но мне хочется сразу задать множество вопросов автору.

В общем, что я хочу сказать? Развиваться полезно. Но не стоит искать мотивацию в подобных брошюрах. Полезной информации в них крайне мало. Если тянет почитать что-нибудь, то выберите какое-нибудь хорошее художественное произведение.
Хотя, справедливости ради, практика — она всегда важна. Ну, то есть в таких изданиях берётся одна правильная мысль и от неё отсекается всё нужное и не нужное. И потом немного приправляется (а иногда не так уж и немного) «реальными» историями из жизни. Если попробовать эти истории сравнивать, то получится, что они все, на любую тему, написаны как под копирку.

Но и среди американских книг попадаются полезные. Я имею ввиду именно учебно-справочную литературу. Но умудриться найти их — это удача.

Что нужно сделать, чтобы стать хорошим программистом

Нельзя стать хорошим разработчиком, если не создавать проекты. Но никто не должен решать за вас, какие проекты вам подходят.

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

Инструкция, которая подойдёт каждому

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

Я считаю, что программист никому ничего не должен (разве что заказчику, который уже внёс предоплату). Каждый разработчик, даже новичок, должен сам определить, что он будет делать и какой путь пройдёт.

Давайте я объясню, почему нельзя делать проекты под копирку.

Евгений Кучерявый

Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Это неинтересно

Многим разработчикам действительно комфортно делать такие приложения, потому что это уже протоптанная дорожка и можно найти кучу материалов по этой теме.

Но они сразу их бросят, когда поймут, что выросли достаточно, чтобы начать что-то более серьёзное. Зачем цепляться за проект, который вы начали только потому, что он простой?

Я считаю, что браться за что-то стоит только в том случае, если вы искренне заинтересованы в этом и горите идеей. Тогда у вас будет эмоциональная связь с проектом.

Конечно, ненавидеть своё детище будете в любом случае — с каждым днём будете всё яснее понимать, что делали фигню. Что вообще всё тут надо сжечь и переписать.

Если нет эмоциональной связи, то вы теряете интерес и бросаете проект, чтобы начать что-то другое и на этот раз сделать всё правильно. А потом делаете то же самое с новым проектом. И с ещё одним / двумя / пятью / десятью / пятьюдесятью. Разумеется, вы получите опыт, но вместе с ним — и груз в виде брошенных проектов.

Поэтому смелее делайте то, что вам больше нравится. Пишите игровые движки, создавайте интернет-магазины уровня Amazon, попытайтесь запилить второй VK (или Facebook — я никого не осуждаю). Делайте то, для чего вы на самом деле пришли в программирование.

Это несложно

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

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

Это неэффективно

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

Это поможет стать более ценным специалистом. Потому что вы будете понимать, что нужно бизнесу, и всегда сможете запрограммировать как надо или предложить альтернативу.

Например, заказчику нужно на сайте изменить какую-то надпись. Допустим, поменять сообщение, которое уведомляет об использовании cookies, или заменить на сервере файл политики конфиденциальности.

Обе задачи на 5 минут: 3 минуты, чтобы запустить редактор кода и FTP-клиент, по одной минуте на каждую задачу.

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

Тогда вы сможете тратить своё время на что-то более полезное, а не отвлекаться 10 раз, потому что в надписи, которую вы добавили, была опечатка.

Не создавайте программы — создавайте решения!

Это нереально

Часто подборки проектов для новичков никак не связаны с реальной жизнью. Да, вы получите навыки выполнения каких-то общих вещей. Но не будете знать, как это устроено в определённой сфере.

Можно выполнить 500 абстрактных проектов, но какой в этом толк, если вы так и не узнаете, что от таких проектов требуют заказчики?

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

Вам придётся работать в жёстких условиях, чтобы довести проект до конца, но зато этот опыт будет самым ценным и реальным. Ну и, разумеется, вы научитесь общаться с клиентами.

Напоследок

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

Главное, чтобы путь был интересен вам, а не кому-то из интернета. Беритесь за то, что интересно, даже если это кажется очень сложным или невыполнимым. Главное — довести до конца хотя бы один-два проекта.

Например, если вы хотите создавать игры, записывайтесь на курс по Unreal Engine 4. Это крутой, но сложный движок, а чтобы раскрыть его полный потенциал, нужно изучить C++.

Зато результат ваших усилий будет стоить того. Особенно ясно вы это поймёте, когда к концу курса закончите несколько проектов, которые не стыдно будет показать друзьям.

Как развивать память: простые советы от магистра «Что? Где? Когда?»

Если вы хоть раз теряли мобильный или забывали, что хотите сказать, на середине предложения — вам нужно тренировать память. В этом поможет Максим Поташев, двукратный чемпион мира в игре «Что? Где? Когда?» и обладатель целой стаи хрустальных сов. Недавно он проводил в Skyeng бесплатный вебинар, а мы посмотрели его и записали самое полезное.

Минутка теории: зачем нам столько видов памяти

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

  • Эксплицитная память — то, что мы можем выразить словами. Это наши явные знания. Вы много читали об экономике и можете объяснить кому-то принципы ее работы — это результат работы эксплицитной памяти.
  • Имплицитная память — то, что мы знаем, не осознавая этого. Например, мы не помним, как учились ходить, но ходить все-таки умеем.
  • Кратковременная память — это способность ненадолго удерживать в голове небольшое количество информации — например, код подтверждения какой-то операции. Он понадобится вам только один раз. Поэтому кратковременная память сотрет эту информацию через несколько секунд.
  • Долговременная память — это уже то, что работает часы и десятилетия. Детские воспоминания, умение водить машину, имена друзей — скажем ей за это спасибо.
  • Промежуточная память — это фильтр. Она определяет, какую информацию нужно хранить долго, а какую можно выбросить немедленно.
  • Рабочая память — инструмент, с помощью которого мы совершаем разные мыслительные действия. Например, переводим в уме или вспоминаем, что именно сказал нам в споре противник. Рабочая память нужна, чтобы жонглировать данными и не отвлекаться на посторонние раздражители.
  • Эрудиция — не столько тип памяти, сколько способность эффективно ею пользоваться, запоминать факты и в нужный момент быстро извлекать их из чертогов разума. Если вы когда-нибудь смотрели телепередачу «Своя игра», то видели, как быстро реагируют на вопрос участники состязания. Чуть-чуть промедлишь — и кто-то из соперников нажмет кнопку. Поэтому в этой игре побеждает не тот, кто много знает, а тот, кто быстро соображает.
Читать еще:  Работа с почтовым клиентом Mozilla Thunderbird

Практика: какой тип памяти нужно тренировать

Больше всего вам пригодится рабочая память, потому что ей мы пользуемся постоянно. Вот простой чек-лист: как понять, что у вас с этим нелады.

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

Логико-эвристические игры — то есть те, в которых действительно надо думать, а не только рыться в памяти и извлекать оттуда информацию. Поэтому решение кроссвордов не поможет, этой игре не хватает интеллектуальности. А вот квизы, похожие на «Что? Где? Когда?», хорошо помогают тренироваться. У меня даже есть свой игровой проект Genium Quiz. Если хотите увидеть пример интеллектуальной игры, действительно способной повлиять на память, — это оно.

Физические упражнения. Кто-то считает, что лучше всего на памяти сказываются кардиоупражнения, кто-то стоит за анаэробные тренировки. Так или иначе, в организме все связано, и слаженная работа всех систем предполагает и лучшую работу мозга.

Изучение чего-то нового. Причем это может быть что угодно: квантовая физика, история древнего Египта, правила ухода за суккулентами. Самый распространенный и удобный путь — учить иностранные языки.

Наша память работает по принципу снежного кома. Когда вы катите снежный ком по полю, он с каждой минутой растет все быстрее, потому что увеличивается площадь его соприкосновения со снегом. То же самое и здесь: чем больше мы знаем, тем проще нам запоминать новое. Потому что мы цепляем новые факты за «крючки», уже существующие в нашей памяти.

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

Как правильно учиться — 5 советов от знатока

  1. Забудьте о многозадачности. Люди XXI века тяготеют к ней, у нас мало времени, а интересного в жизни много. Мы вполне успешно можем совмещать несколько простых дел: смотреть сериал, переписываться с кем-то в интернете и готовить обед. Но если мы пытаемся во что-то углубиться, нужно постараться максимально сосредоточиться на этом деле.
  2. Отдыхайте. Очень важно делать регулярные перерывы. Мы не способны сосредотачиваться на чем-то больше полутора часов — потом мозг просто отказывается сотрудничать и впитывать информацию. Я советую не ждать этого момента, а делать перерывы через каждые 30–40 минут.
  3. Повторяйте. Вечером выделите полчаса и повторите все, что вы изучили и освоили за день. Тогда информация лучше отложится в памяти — пока вы спите, мозг разложит ее по полочкам.
  4. Получайте обратную связь. Это нужно, чтобы понять, насколько далеко мы продвинулись. Например, при изучении английского очень полезно периодически говорить с носителем языка, чтобы он определил ваш уровень. Причем делать это регулярно — так мы видим прогресс. Если нет знакомого англичанина, проходите тесты, просите учителя вас оценивать.
  5. Сжимайте информацию. При обучении нужно не просто выстраивать логические связи с тем, что мы уже знаем, а как бы прикреплять ярлыки. Представьте, что наш мозг — это собрание папок в компьютере, в каждой папке лежит набор файлов со своими названиями. Это и есть сжатие: если вы к папке крепите ярлык каждого файла, вы можете за него вытянуть информацию в нужный момент. Именно поэтому, например, тематические подборки слов запоминаются лучше, чем случайный набор.

Есть и еще один верный способ учиться эффективно — посещать бесплатные вебинары Skyeng, которые проводят эксперты из разных областей. Следите за расписанием (оно постоянно обновляется), выбирайте интересную вам встречу, регистрируйтесь и подключайтесь. Кроме профессиональных советов и лайфхаков, каждый участник получает полезные подарки, а после выступления спикера вы можете задать ему вопросы.

Учебный день начинающего программиста

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

1. Пишите код каждый день

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

Программирование — это особый вид деятельности. Здесь нельзя работать «левой ногой». Если вы начинаете программировать, то это подразумевает полное погружение в задачу.
Вы должны жить этим. Причина в том, что компьютер «думает» иначе, чем человек. Для того, чтобы писать программы у человека должно работать так называемое «алгоритмическое мышление». Оно непривычно для человека и быстро забывается. Чтобы развить в себе навыки алгоритмического мышления как раз и нужно ежедневное программирование.

При этом важно, что в зачет идет только чистое кодирование. Не чтение книжек, не разбирательство в чужом коде, не сидение на форумах, а именно написание своего работающего кода.

Еще одно важное замечание. Обстоятельства, где вы пишите программу, не имеют никакого значения. Поэтому можете кодить даже на работе в обеденный перерыв. Потому что как только вы станете программистом, то вам придется кодить в любых условиях. Например, при сдаче программы заказчику ошибка может вылететь в любой момент, поэтому надо будет прямо у заказчика на коленке в коридоре эту ошибку исправить. Именно поэтому я сделал сборки «Си-экспресс» и «PHP-экспресс» автономными. Их можно носить с собой на флэшке (или скачать этого сайта). В любой момент вы продолжаете работу.

2. Выходные — время полного отдыха

Программирование — это трудная для мозга деятельность. Поэтому старайтесь в выходные полностью отдохнуть от компьютера. Занимайтесь чем угодно: бегайте, плавайте, играйте в футбол. Главное, полностью очистить мозг от компьютерной деятельности. Тогда в понедельник вы готовы со свежей головой опять окунуться в программирование.

3. Концентрация на одной задаче

Меня часто спрашивают: «А можно ли одновременно изучать Си, PHP, HTML и т.д.?» Нет, нельзя. В каждый момент времени вы фокусируетесь на одной задаче. То есть, вы выбираете один курс или один учебник. И идете по этому курсу от начала и до конца. По одному уроку в день.

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

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

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

4. Изучение рабочей среды

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

Но для того, чтобы настроить инструмент как следует, его надо знать. Поэтому каждый день уделите время знакомству с одной настройкой. Попробуйте поменять и посмотрите, стало удобнее или нет. В статье «10 настроек CodeBlocks…» я описал основные настройки, но, конечно же, это капля в море.

5. Не пасуйте перед трудностями

В самом начале в тупик ставят даже примитивные вещи. И это нормально. В программировании мелочей не бывает. Любая непонятная мелочь может заблокировать движение вперед.

Если так случилось, то не паникуйте, а задавайте вопросы. Лучше всего это сделать на сайте stackoverflow.com — это сайт, где программисты помогают друг другу. Кстати, если вы задали вопрос, но нашли ответ самостоятельно, то напишите этот ответ. Этим вы поможете другим.

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

6. Смотрите чужой код

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

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

Например, на сайте есть статья «Минимальная программа Cairo«. Я специально ее написал, чтобы новичок как можно быстрее получил готовый результат. Потому что библиотека Cairo хотя в целом и проста, но имеет массу деталей. Можно долго читать документация, но упустить важную деталь и ничего не получится. Но как только есть готовый пример, то все встает на свои места. Поэтому ищите готовые примеры.

7. Заканчивайте урок только после получения готовой программы

Есть важный психологический момент. Когда вы изучаете программирование, то не привязывайтесь ко времени. То есть у вас не должно быть цели: «Сегодня я занимаюсь один час».

Гораздо лучше привязываться к результату. То есть цель должна быть, например, такая: «Сегодня я пройду один урок и выполню домашнее задание». Сколько это займет времени — неважно. Поэтому даже если у вас ничего не получается — сидите, пока не получится. Хоть до часу ночи!

Для этого есть две причины.

Причина первая. Программисты именно так и работают. Если близятся сроки сдачи проекта, то программисты работают днями и ночами. Вы стразу привыкаете к этой стороне программирования.

Причина вторая. Если вы все сделали и у вас все получилось, то у вас появляется радость и желание на следующий день опять двигаться вперед.

Самый же эффективный метод изучения программирования (но он не для всех) описан здесь.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector