Что должен знать каждый программист

Тема в разделе "Программирование и скрипты", создана пользователем Binary, 1 дек 2014.

  1. Binary

    Binary Новичок

    Регистрация:
    11 ноя 2013
    Сообщения:
    51
    Симпатии:
    3
    Баллы:
    1
    Недавно на сайте Google появилась отдельная страница, где представлены курсы и инструменты для онлайн-образования, которые необходимо знать всем инженерам и программистам.

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

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

    Рекомендации по образованию
    1. Пройдите вступительный курс компьютерных наук: Udacity, Coursera.
    2. Научитесь программировать хотя бы на одном ООП языке: C++, Java, Python:
      Для новичков: Coursera — обучение программированию, курс MIT по Java, курс Google по Python, курс Coursera по Python.
      Для среднего уровня: Udacity — дизайн компьютерных программ, Coursera — создание качественного кода, Coursera — языки программирования, курс Брауновского университета — вступление в программирование.
    3. Изучите другие языки программирования: Java Script, 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.
    Такие рекомендации компания даёт всем программистам и инженерам.

    http://xakep.ru/google-programmers/