Как стать программистом? Руководство от Google

Руководство от компании Google для начинающих

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

Google dev

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

Использование руководства:

  • Используйте руководство по своему усмотрению
  • Есть множество вещей, не перечисленных здесь, которые стоит изучить — вперёд!
  • Даже если вы изучите это руководство вдоль и поперёк, это не гарантирует вам трудоустройство в Google
  • Руководство постоянно пополняется — проверяйте обновления

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

Рекомендации для теоретического изучения

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

Онлайн-ресурсы: Udacity — Введение в Computer ScienceCoursera — Computer Science 101CS50. Основы программирования.

1.Попробуйте программировать хотя бы на одном объектно-ориентированном языке: C++, Java или Python

ООП программирование

Примечание: Объектно-ориентированное программирование дает возможность создавать расширяемые системы (extensible systems). Это одно из самых значительных достоинств ООП и именно оно отличает данный подход от традиционных методов программирования. Расширяемость (extensibility) означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений.

Онлайн-ресурсы для новичков: Coursera — Учимся программировать: ОсновыВведение от МТИ в программирование на JavaУрок по Python от GoogleCoursera — Введение в PythonЭлектронная книга по Python в открытом доступе

Дополнительно: C++JavaPython

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

2.Изучите другие языки программирования и технологии

Языки программирования

Примечание: Добавьте в свой репертуар JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp, Scheme. Каждый новый язык, который Вы выучите даёт новые возможности решения задач.

Онлайн-ресурсы: Руководство по HTML от w3school.comCodeAcademy.com

Дополнительно: каталог книгвидеолекции.

3.Тестируйте свой код

Тестируйте свой код QA

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

Онлайн-ресурсы: Udacity — Методы тестирования ПОUdacity — Дебаггинг ПО.

4.Развивайте логическое мышление и изучите дискретную математику

Логическое мышление

Примечание: Программирование состоит из разного рода задач, которые на 70% состоят из математики.

Онлайн-ресурсы: Математика для Computer Science от МТИCoursera — Введение в логикуCoursera — Линейная и дискретная оптимизацияCoursera — Вероятностные графовые моделиCoursera — Теория игр.

5.Развивайте сильное понимание алгоритмов и структур данных

Алгоритмы

Примечание: Изучите фундаментальные типы данных (массивы, записи, кортежи), сортировочные алгоритмы (быстрая сортировка, сортировка слиянием, пирамидальная сортировка) и структуры данных (бинарные древа поиска, красно-чёрные деревья, таблицы хеширования), большое «О».

Онлайн-ресусры: Введение в алгоритмы от МТИ, Coursera — Введение в алгоритмы: Часть 1 и Часть 2Список алгоритмовСписок структур данных, Книга: Руководство по разработке алгоритмов.

Дополнительно: подборка материалов по алгоритмам, структурам данных и дискретной математике.

6.Развивайте свои знания операционных систем

Операционные системы

Примечание: Знание операционных систем даст возможность писать максимально оптимизированные программы.

Онлайн-ресурсы: Computer Science вместе с университетом Беркли.

7.Изучите онлайн-ресурсы по искусственному интеллекту

Искусственный интелект

Примечание: Отрасль развивается очень быстро. Например, алгоритмы поиска Google используют ИИ.

Стэнфордский университет: Введение в робототехникуМашинное обучение.

8.Научитесь строить компиляторы

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

Онлайн-ресурсы: Coursera — Компиляторы.

9.Изучите криптографию

Криптография

Примечание: Большое количество технологий основано на криптографии. Например, Blockchain.

Онлайн-ресурсы: Coursera — КриптографияUdacity — Прикладная криптография.

10.Изучите параллельное программирование

Онлайн-ресурсы: Coursera — Гетерогенное параллельное программирование.

Рекомендации для практического изучения

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

1.Поработайте над своим проектом

Поработайте над своим проектом

Примечание: создайте и обеспечьте работоспособность сайта, сервера или, например, постройте простого робота.

Онлайн-ресурсы: Список проектов ApacheЛето кода от GoogleСообщество разработчиков Google.

2.Займитесь опенсорсом

opensource

Примечание: Github — отличный способ читать код других людей или внести вклад в существующий проект.

Онлайн-ресурсы: GithubKiln.

3.Поработайте над проектом с другими программистами

comand

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

4.Практикуйте свои знания алгоритмов и программирования

Примечание: Знание алгоритмов отлично тренируется в соревнованиях по программированию.

Онлайн-ресурсы: CodeJamACM ICPC.

5.Научите чему-нибудь других

опыт

Примечание: Помогая учиться другим, вы углубляете свои собственные знания.

6.Станьте участником программы стажировки

Стажировка в IT

Примечание: Старайтесь подавать заявки на программы стажировки заранее. Как правило, заявки начинают приниматься за несколько месяцев до начала программы.

Онлайн-ресурсы: Вакансии Google.

5 thoughts on “Как стать программистом? Руководство от Google

  1. Pear2017 Ответить

    Отличная статья! Отдельное спасибо за подборку ссылок

  2. Василий Кузнецов Ответить

    Да уж… Начну учить программирование по материалам из статьи как только выучу английский 🙂

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

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