Где обучиться программированию – «С чего начать изучение программирования с нуля самостоятельно?» – Яндекс.Знатоки

Как и где лучше всего начать изучать программирование? — Хабр Q&A

Всем доброго времени суток.

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

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

Я имею скудный опыт по "правке" чужого кода HTML, CSS и PHP, но понимаю их структуру. Так же отлично знаю несколько популярных CMS, немного понимаю базы данных MySQL. Товарищ же, очень хорошо знает Excel, на котором мы пишем практически все нужные для наших проектов ТЗ для программистов в плане расчётов, учётов и т.д.

Выбор изучаемых языков пал на - PHP, Javascript и Python. Выбрал их, т.к. считаю, что именно эти языки подходят нам для нынешних и последующих проектов (иногда, программирование нужно не только для web разработок, но и для десктопных приложений).

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

Собственно вопрос: Как и где лучше начать изучать данные языки?

Прочитал множество статей по этому поводу, посмотрел множество сайтов с онлайн-курсами, погуглил на тему персонального обучения через скайп, но вопрос так и остался открытым. На данный момент смотрю в сторону персонального обучения с тренером по скайпу или же в сторону подобных сервисов, как www.codecademy.com/ru/. Вариант с изучением по книгам практически отбросил, т.к. не нашел однозначного ответа о том, по каким книгам лучше всего учить, и считаю, что на этот метод уйдет гораздо больше времени.

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

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

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

6 причин учиться программированию, если ты не программист

Полина Коковина

1. Это свобода творчества

Многие думают, что для программирования нужны пятёрки по математике. Это заблуждение. Программирование больше про логику и творчество. Например, ты с друзьями в шутку придумал классную игру для смартфона. Можно, конечно, подождать, пока какая-нибудь компания за океаном выпустит её, а можно сделать это самому. Как эта игра будет работать, какие в ней будут правила, интерфейс и функции — решать тебе. С навыками программирования появляется возможность с нуля создать продукт или реализовать идею — приложение, сайт, программу — так, как это нужно именно тебе.

2. Это окупается

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

Крупные компании быстро развиваются и ищут при этом новые способы оптимизации. Нанять команду разработчиков и платить каждому по 2 000–3 000 долларов в месяц — дорогое удовольствие. Нанять человека, который будет писать статьи, верстать и ещё придумает, как улучшить мобильную версию сайта, — выгодное решение.

У таких специалистов больше шансов попасть в крупную компанию.

Например, в The New York Times уже более половины журналистов умеют программировать. Когда издание изменило стратегию и сделало акцент на развитие веб- и мобильной версии — обучили программированию сотрудников, которые отвечают за цифровой контент.

3. Это сближает

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

4. Это экономит время

Сколько раз ты вздыхал, когда приходилось делать рутинную работу? Например, ты журналист и пишешь для научно-популярного издания. Тебе нужно изучить, в каких странах чаще всего молнии ударяют в землю, и понять, что общего у этих регионов. На это уйдёт не один день. Программирование ускорит этот процесс: ты потратишь 30–40 минут на код, который поможет быстро проанализировать данные и составить отчёт.

5. Это развивает полезные привычки

Программирование — кропотливый процесс. Здесь не получится почитать учебник на досуге, посмотреть видео на YouTube и сходить на пару лекций. Нужно сесть и начать учить язык, копаться в коде и всё время практиковаться. Например, чтобы писать на Python, надо каждый день заниматься по 2–3 часа на протяжении нескольких месяцев.

Это дисциплинирует и помогает мыслить структурно и стратегически.

6. Это полезно для здоровья

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

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

Подтверждают пользу кодинга и другие исследования. В Медицинском колледже Альберта Эйнштейна в Нью-Йорке на протяжении нескольких десятилетий изучали почти 500 добровольцев в возрасте от 75 до 85 лет и доказали, что даже один день программирования в неделю может отсрочить развитие деменции на два месяца при регулярной тренировке мозга.

Читайте также

Вуз или онлайн-курсы: где стоит учиться программированию

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

Время обучения

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

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

Стоимость

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

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

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

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

Подход GeekBrains к формированию штата учителей заслуживает уважения. Здесь собрались действительно лучшие из лучших: и вузовские преподаватели (насчёт их профессионализма не сомневайтесь, эти люди работают в лучших университетах страны), и специалисты крупнейших российских IT-компаний. Если у кого и перенимать опыт, то у них.

Стажировка

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

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

Выпускникам GeekBrains предлагает на выбор три варианта: стажировку непосредственно в стенах компании или в одной из 30 организаций-партнёров, а также работу над собственным проектом в IT-инкубаторе. Вне зависимости от того, какой тип стажировки вы выбрали, в результате у вас будет хорошее портфолио с реальными кейсами.

Качество получаемой информации

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

С GeekBrains вы можете выбрать именно то направление, в котором хотите развиваться: веб-дизайн, оптимизация и продвижение сайтов, системное администрирование, мобильная или веб-разработка, программирование на Java, PHP, Python и C#, создание приложение под Android и iOS.

Если же вы пока только присматриваетесь к новой сфере, определиться поможет базовый курс «Основы программирования».

Набор специальностей

Предположим, вы хотите научиться писать приложения под Android. Цель, казалось бы, вполне чёткая и конкретная. Увы, в вузах такому вас вряд ли научат: в списке федеральных государственных образовательных стандартов ничего подобного не значится.

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

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

Расход времени

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

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

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

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

Стать программистом с GeekBrains

Нужно учить программирование! Ресурсы-помощники - Лайфхакер

Каждый в нашей стране должен научиться программировать, потому что это учит думать. Стив Джобс

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

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

Уже больше пары десятков лет без знания компьютера тяжело устроиться на хорошую работу. Я сейчас не говорю о тех, кто, например, работает на заводе. Хотя… На заводах теперь всю основную работу выполняют компьютеризированные станки. А теперь нашу жизнь заполнил Интернет. Телевидение быстро сдает позиции. Информационное пространство уже плотно занял Интернет. Собственно, вы эту статью читаете благодаря Интернету. И для того, чтобы быть активным участником на сайтах и форумах, желательно знать хотя бы html. А там и JavaScript можно выучить.

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

Где учить?

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

Code.org

Помните игру Angry Birds? Вот точно также вы будете играться и на этом сайте. Только одновременно будете изучать программирование. Круто ведь! Развлекающие видео расскажут о значении информатики в мире. А рассказ будут вести самые лучшие программисты мира и просто знаменитые люди. Структура кода, правильное мышление, значение эффективности — все это вы изучите вместе с этим увлекательным ресурсом.

Codecademy

Это один из популярных сайтов для изучения основ программирования. Еще до регистрации вам уже придется использовать JavaScript, чтобы написать свое имя и посчитать простенький пример. Ресурс постоянно обновляется, добавляются новые языки программирования. Сайт очень динамичный и интересный, а главное — он подстраивается под вас.

Udacity

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

А как же дети?

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

Советы для новичков: как быстро учиться программированию

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

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

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

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

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

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

Для абсолютного большинства начинающих программистов, первое приложение − «HelloWorld». Не нужно объяснять, что это лишь первый практический шаг, на котором не стоит останавливаться. Порой может казаться, что программирование крайне скучное занятие, но если не лениться и в течение долгого времени упорно работать над совершенствованием кода, можно незаметно для себя быстро достигнуть результата.

Кстати, если кто-то говорит, что Python − крайне простой язык, на изучение которого уйдет минимум времени, знайте, что это не так. Любой язык требует усидчивости и умения учиться на своих ошибках.

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

У каждого популярного языка программирования есть комьюнити, которое обменивается опытом, встречается на лекциях, конференциях, митапах. Если вам кажется, что вы уже не бросите изучение языка, найдите людей, которые будут объединены общей с вами идеей: это могут быть соцсети, форумы, Телеграм-чаты. Более того, если у вас возникнут вопросы, велика вероятность получения помощи в вычитке кода или совета, который поспособствует прокачке знаний и навыков.

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

Постарайтесь следовать этой методике: когда самые минимальные знания уже получены, лишь 20% времени стоит тратить на изучение новых, а 80% на оттачивание изученных, разрабатывая реальные приложения. Освоить большой объём информации о языках программирования сразу не получится. Даже изучая английский, большинству требуется не менее трёх повторений, чтобы запомнить значение слова. А ведь помимо запоминания, нужно ещё научиться применять в реальных, не смоделированных для обучения ситуациях.

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

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

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

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

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

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

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

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

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

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

Зубрёжка − так себе способ научиться чему-то. Запомнить на время − да. Кстати, большинство людей устроены так, что мозг в продуктивном состоянии находится примерно четыре часа в день, а остальное время идёт борьба с ленью (и это правильно!). Четыре часа осмысленного разбора полезнее, чем час зубрёжки.

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

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

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

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

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

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

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

Самая важная часть наступает в конце: сделайте перерыв и наградите себя (можно перекусить, например). Суть перерывов в том, что в небольшой промежуток отдыха (обычно до пяти минут), информация продолжает усваиваться. После каждого четвёртого помидора увеличивайте время для отдыха до 30 минут.

Источник: Как быстро учиться on Quartz

Что нужно знать каждому программисту по версии Google

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

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

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

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

Рекомендации по образованию

  1. Пройдите вступительный курс компьютерных наук: Udacity, Coursera.
  2. Научитесь программировать хотя бы на одном ООП языке: C++, Java, Python:
    Для новичков: Coursera — обучение программированию, курс MIT по Java, курс Google по Python, курс Coursera по Python.
    Для среднего уровня: Udacity — дизайн компьютерных программ, Coursera — создание качественного кода, Coursera — языки программирования, курс Брауновского университета — вступление в программирование.
  3. Изучите другие языки: JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp, Scheme: туториал по HTML, codeacademy.com.
  4. Научитесь тестировать код: Udacity — методы тестирования, Udacity — отладка программ.
  5. Знание дискретной математики: курс математики для программистов MIT.
  6. Понимание алгоритмов и структуры данных: вступительный курс MIT об алгоритмах, Coursera — вступительный курс об алгоритмах (часть 1 и часть 2), список алгоритмов, виды структур данных, книга об алгоритмах.
  7. Понимание работы операционных систем: курс Беркли.
  8. Изучить искусственный интеллект: вступление в роботостроение, курс Стэнфорда, машинное обучение.
  9. Создание компиляторов: курс Coursera.
  10. Знание криптографии: курс Coursera о криптографии, курс Udacity о криптографии.
  11. Знание параллельного программирования: курс Coursera.

Рекомендации по работе

  1. Создайте сайт, постройте собственный сервер или создайте робота: список проектов Apache, Google Summer of Code, команда разработчиков Google.
  2. Разработайте небольшую часть большой системы, прочитайте и поймите код, изучите программную документацию, отладьте программу. Вспомогательные ресурсы: GitHub, Kiln.
  3. Работайте над проектом в команде. Вы будете учиться у других и научитесь командной работе.
  4. Улучшайте навыки программирования и знание алгоритмов: CodeJam, ACM ICPC.
  5. Учите других.
  6. Станьте интерном: google.com/jobs

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

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

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