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

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

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

Читать далее...

Фото: Scott Beale, Laughing Squid via Flickr.com

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

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

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

1. Пройдите вступительный курс компьютерных наук: UdacityCoursera.

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: туториал по HTMLcodeacademy.com.

4. Научитесь тестировать код: Udacity — методы тестированияUdacity — отладка программ.

5. Знание дискретной математики: курс математики для программистов MIT.

6. Понимание алгоритмов и структуры данных: вступительный курс MIT об алгоритмах, Coursera — вступительный курс об алгоритмах (часть 1 и часть 2), список алгоритмоввиды структур данныхкнига об алгоритмах.

7. Понимание работы операционных систем: курс Беркли.

8. Изучить искусственный интеллект: вступление в роботостроениекурс Стэнфордамашинное обучение.

9. Создание компиляторов: курс Coursera.

10. Знание криптографии: курс Coursera о криптографиикурс Udacity о криптографии.

11. Знание параллельного программирования: курс Coursera.

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

1. Создайте сайт, постройте собственный сервер или создайте робота: список проектов ApacheGoogle Summer of Codeкоманда разработчиков Google.

2. Разработайте небольшую часть большой системы, прочитайте и поймите код, изучите программную документацию, отладьте программу. Вспомогательные ресурсы: GitHubKiln.

3. Работайте над проектом в команде. Вы будете учиться у других и научитесь командной работе.

4. Улучшайте навыки программирования и знание алгоритмов: CodeJamACM ICPC.

5. Учите других.

6. Станьте интерном: google.com/jobs

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

Хотите сообщить важную новость?

Пишите в наш Телеграм

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

В Android появился аналог AirDrop
В Android появился аналог AirDrop
В Android появился аналог AirDrop
Google презентовала смартфоны Pixel 4a
Google презентовала смартфоны Pixel 4a
Google презентовала смартфоны Pixel 4a
2 комментария
Google выпустила расширение для Chrome, которое «сдаёт» шпионящие сайты
Google выпустила расширение для Chrome, которое «сдаёт» шпионящие сайты
Google выпустила расширение для Chrome, которое «сдаёт» шпионящие сайты
Почему беспилотные стартапы всё никак не взлетят
Почему беспилотные стартапы всё никак не взлетят
Почему беспилотные стартапы всё никак не взлетят
Успехи разработчиков самоуправляемых автомобилей пока не оправдывают многие ожидания и обещания, данные несколько лет назад. Waymo очень старалась, но так и не успела запустить беспилотное такси к концу 2018 года, Cruise (дочка General Motors) передумала запускать аналогичный коммерческий сервис в 2019-м. Tesla снова и снова срывает амбициозные сроки разработки полноценного автопилота, которого расписывает Илон Маск. Издание Ars Technica рассказало о разных подходах к реализации технологий беспилотного вождения.
30 комментариев

Обсуждение

3

https://twitter.com/mxcl/status/608682016205344768 как бы говорит нам «bullshit!»

0

Он сделал хороший продукт, но очевидно не очень знаком с Computer Science. По меркам Google - он плохой программист. Возможно ему стоило подаваться не на Software Engineer.

3

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

george
george Engineer в EIS Group
1

Да, вроде, нет там ссылок на android и gwt. Нормальный список же.

3

нужно уточнить заголовок, что нужно знать чтобы получать больше $150K )

список хороший

0

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

Егор Павловец
Егор Павловец Project and engineering manager в ITS Partner
0

Отличный список. * поехал на радиорынок за запчастями для будущего робота-тестировщика c искусственным интеллектом, написанным на собственном языке: помеси Java, Lisp, Python и Brainfuck, скомпилированным в собственном компиляторе *

1

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

-1

> Всё проходится в универе

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

1

да, например, в Польше на направлении Computer Science есть такой курс обычно на втором семестре - Języky programowania

0

Спасибо! А он именно по содержанию такой, или только название совпадает? А то у нас, например, был курс "Языки программирования и методы трансляции", но он скорее похож на Compilers по содержанию.

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

Егор Павловец
Егор Павловец Project and engineering manager в ITS Partner
0

> А чем список плох?
Ничем, я ж написал - отличный список :)

> "поехал на радиорынок за запчастями.."
Диссертация, на которую никогда нет времени, а вот теперь появилась дополнительная мотивация - выполняя диссертацию становишься нужным гуглу!

-2

Назовите диссертацию "вступление в роботостроение"...

-1

И вывод в конце будет "Под ноги надо смотреть, чтобы не вступить в роботостроение"?

Maxim Petkevich
Maxim Petkevich Developer в LLSOFT
1

"Изучите другие языки программирования: Java Script, CSS, HTML, Ruby ..."
CSS и HTML здесь явно лишние.
Или их можно называть языками программирования? Может я чего то не знаю.

Егор Павловец
Егор Павловец Project and engineering manager в ITS Partner
0

Можно назвать языками, имхо не лишние: низкий барьер входа (достаточно иметь компьютер с браузером), мгновенный эффект на F5 при изменении исходного кода. Знание HTML и CSS однозначно пригодится при описании UI, как минимум в Андроид приложении (паддинги, маржины и тд). Ну и знание HTML/CSS поможет человеку создать свою страничку/блог и более широко смотреть на вещи :)

0

Нужно знать все-все алгоритмы из этого списка: https://en.wikipedia.org/wiki/List_of_algorithms ? :-(((

0

А ничего что статья почти годовой давности?
https://dev.by/news/chto-nuzhno-znat-kazhdomu-programmistu-po-versii-google

1

Я понимаю, что все просто пробежались глазами и в голове поставили галочку "Ок". Но кто-нибудь пытался переходить по ссылкам? :)

Автор, вы вообще проверяли валидность ссылок? Курсы Стэнфорда не доступны.

-1

А чего же нигде не упомянут Go ? :(
Их же детище.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже