Как стать хорошим программистом: статья от Google

0
77

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

Пройдите курс по направлению «Computer Science»

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

Выучите объектно-ориентированный язык программирования

Объектно-ориентированное программирование сейчас является стандартом в промышленном программировании, поэтому и хорошая зарплата вам гарантирована. Примерами таких языков являются C++, Java, Python.

Осваивайте другие парадигмы и языки

Расширяйте свой программистский кругозор, не стоит ограничиваться одним ООП, осваивайте другие парадигмы, учите другие языки, пробуйте себя в разных сферах. Например, если вы хотите разрабатывать веб-приложения, то однозначно стоит обратить внимание на CSS, HTML, JavaScript, PHP, Ruby. Хотите экзотики? Посвятите немного времени Haskell, Clojure, Prolog. Отдельно советуем обратить внимание на ресурс Codecademy.

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

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

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

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

Знайте алгоритмы и структуры данных

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

Разберитесь, как устроены операционные системы

Любая программа взаимодействует с ОС, поэтому выработайте понимание того, как устроены операционные системы, хотя бы на базовом уровне. Отличный курс по теме на YouTube.

Выучите UX-дизайн

Разберитесь в машинном обучении ???

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

Разберитесь, как работают компиляторы

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

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

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

Участвуйте в open source-проектах

это поможет вам развить навыки работы с чужим кодом, да и в конце концов вы просто будете приносить пользу человечеству. Идеальным местом для open source-деятельности является GitHub.

Работайте над проектами вместе с другими программистами

Это поможет вам научиться работать в команде, что является неотъемлемым навыком в современном мире, а еще вы сможете научиться у них чему-то новому.

Участвуйте в соревнованиях по программированию

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

Найдите себе ученика

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

Источник: tproger.ru

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here