Что нужно знать программисту? План образования

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2019-12-21 09:43

разработка по

Краткий список того, что нужно знать

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

Введение в комбинаторику и оптимизацию. Хотя бы поверхностное знание теории графов, методов оптимизации, дерева поиска и поиска графов. Перечисление и исчисляемость объектов, метод "звёзд и полос". Большая часть из списка поможет в совершенствовании основных (уже выработанных) навыков в программировании.

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

Статистика и вероятность.Теорема Байеса, различные модели вероятности и случаи их применения. Цепь Маркова, её отношения с комбинаторикой и некоторыми методами исчисления. Ковариантность и отношения между переменными. Оценивание, интервалы и критерии значимости тоже будут полезны.

Функции и математическая индукция.Хорошее понимание функций имеет решающее значение, особенно учитывая, что исчисление "большого и малого О" производится с помощью функций. Математическая индукция помогает осознать, что поиск результата неизбежно будет связан с методом решения "в лоб".

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

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

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

Что нужно знать каждому программисту по версии 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

С чего начать

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

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

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

Во-первых, не стоит ждать, пока вы прочитаете все книги по выбранному языку программирования. Начинайте писать свои первые строки кода уже после второй главы книги. Выполняйте все задания из книг, перепечатывайте примеры, разбирайтесь в них. Усложняйте примеры и задания из книг своими идеями. Создавайте свои задачи к пройденному материалу. Решайте эти задачи.

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

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

Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.

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

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

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Javaможет стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

Как программисту писать резюме

Что нужно знать начинающему программисту?

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

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

Понятное дело, у всех людей данные качества и возможности развиты по-разному. Поэтому однозначно ответить на вопрос, сложно ли стать хорошим программистом, довольно затруднительно. Кто-то сможет без проблем освоить программирование самостоятельно не выходя из дома, а кто-то без посторонней помощи вообще не сможет начать процесс обучения даже при наличии всех учебников. В любом случае нужно помнить, что хорошими программистами не рождаются - ими становятся. При этом не нужно думать, что стать лучшим программистом - это значит с отличием окончить соответствующий ВУЗ. Есть довольно много примеров, когда целеустремленные самоучки во многом превосходят дипломированных специалистов. Это связанно с тем, что самоучки с большим желанием изучают интересующую их область и в случае возникновения трудностей не бегут к своим учителям или преподавателям, а пытаются самостоятельно одолеть проблему, упорно рассматривая различные возможности и варианты решения, листая страницы учебника или же бороздя просторы Интернета в поисках ответов на специализированных сайтах и форумах. К слову, по данным исследований страховой компании GoCompare почти четверть из богатейших людей планеты по версии журнала Forbes за последние 20 лет либо совсем не учились в университете, либо покинули его еще до получения диплома. При чем большинство из них, как раз и являются представителями IT-области! Вот лишь несколько примеров имен таких людей: Билл Гейтс - компания Microsoft, Марк Цукерберг - соцсеть Facebook, Стив Джобс - компания Apple, Майкл Делл - компания Dell Computer Corporation, Ларри Элисон - компания Oracle Corporation, Ян Кум - WhatsApp.

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

Однако одного чтения для изучения языка программирования не достаточно. Большую часть времени нужно посвящать именно набору кода и практическому решению различных задач. Нужно разрабатывать как можно больше программ, начиная с самых простых и заканчивая сложнейшими алгоритмами, посвящая этому 85-90% своего учебного времени. И вообще, хорошим программистам всегда мало знаний в той области программирования, в которой они являются специалистами. Поэтому они постоянно ищут что-то новое не только в своей области, но и в смежных областях, тем самым непрерывно совершенствуясь и расширяя свой кругозор. Так что запасайтесь терпением, пробуйте, делайте шаг назад, но не сдавайтесь и делайте два шага вперед, и тогда у вас наверняка все получится!

20 самых рекомендуемых книг для программистов на русском языке

Какие главные ошибки совершаются во время обучения программированию?

Какой язык программирования изучать школьнику 15+ лет

Как заработать начинающему программисту?

Как освоить профессию программиста: основные ошибки при изучении программирования

Что лучше для программиста: Linux или Windows?

Как стать программистом мирового уровня за 3 года?

5 ошибок, которые могут помешать вам стать программистом

Как найти свою первую работу программистом? От резюме до испытательного срока

Научитесь программировать за 10 лет

Детальный план самообразования в Computer Science за 1.5 года

10 способов стать хорошим программистом

Хороший программист — это тот, кто смотрит в обе стороны, переходя дорогу с односторонним движением. (c) Даг Линдер

  1. Учите основы

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

2. Задавайте вопросы (как? почему?), когда пишете код

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

3. Учите других — учитесь сами

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

4. Пишите простой, понятный, но в то же время логичный код

Как и в других областях, формула KISS (Keep it simple and short — делай короче и проще) работает и в программировании. Пишите логичный код и избегайте усложнений. Иногда люди пишут сложный код только для того, чтобы доказать, что они умеют писать такой код. Мой опыт подсказывает, что простой и логичный код всегда работает хорошо, приносит меньше проблем и лучше поддается расширению. Вспоминается отличная фраза:

Хороший код — это лучшая документация. Каждый раз, когда вы захотите добавить комментарий, спросите себя: «Как я могу улучшить этот код, чтобы он не требовал комментирования?» (c) Стив МакКоннелл
Подборка «must read» книг

5. Уделяйте больше времени анализу проблемы, тогда вам понадобится меньше времени для ее устранения

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

Если вы не можете целиком понять общую структуру программы, пока принимаете душ, значит, вы не готовы ее запрограммировать.
(c) Ричард Паттис

6. Будьте первым, кто проанализирует и оценит ваш код

Хотя это трудно, но попробуйте «сломать» ваш код до того, как это сделает кто-то другой. Со временем вы научитесь писать почти безошибочный код. Всегда проводите подробную и беспристрастную оценку своего кода. И никогда не бойтесь спрашивать, что другие думают о вашем коде. Работайте с хорошими программистами и прислушивайтесь к их мнению — это поможет вам стать хорошим программистом.

7. Не пугайтесь быстрой смены технологий

За все время работы в области IT, я встречал множество людей, которых не устраивала их работа, и людей, которые меняли место работы, чтобы работать с новейшими технологиями. В таком стремлении нет ничего плохого, однако ошибка в «новейших технологиях». Каждый день появляются новые инструменты, API и фреймворки, призванные сделать разработку быстрой и простой. И эта тенденция не снизится. Однако следует понять одну вещь: фундаментальные знания и основы меняются значительно медленнее, чем фреймворки, новые инструменты и API. Можно провести аналогию с морем, на поверхности которого находятся быстрые течения, однако на глубине вода спокойна и она составляет большую часть объема. Поэтому держитесь «на глубине», поближе к основам. В мире Java приложений уровня enterprise существует много веб-фреймворков, а новые выходят каждые две недели. Однако основы клиент-серверной архитектуры, шаблона MVS (Model View Separation), фильтров/сервлетов/JSP, упаковки ресурсов, обработки XML и т.д. остаются неизменны. Поэтому лучше потратьте время на изучение этих основ, нежели на изучение вечно меняющихся фреймворков. Поверьте, зная основы, изучить новые API и фрейморки будет куда легче.

8. «Костыли»* долго не работают

Множество программистов используют «костыли»: от недостатка времени, понимания проблемы или опыта. Однако со временем такие решения делают код хуже: он становится менее расширяем и удобен в поддержке. Всегда старайтесь написать такую реализацию, о которой вы знаете все. Я понимаю, что «костыли» в некоторых ситуациях неизбежны, но тогда ситуация напоминает что-то вроде «всегда говори правду, но иногда можешь соврать».

9. Читайте документацию

Хорошие программисты читают много документации. Это могут быть спецификации, JSR, API, документы, туториалы и т.д. Чтение документации позволит вам понимать основы, и вы будете решать задачи наилучшим способом.

10. Чужой код тоже может чему-то научить

Я работал с двумя отличными программистами, которые постоянно в своих IDE держали исходники чужих проектов на Java, и обращались к ним каждый день. Они делали это не только из желания узнать, как работают базовые вещи, но и из желания научиться писать хорошие программы. Чтение исходных кодов известного open source проекта, или кодов, написанных вашим ведущим программистом, может помочь вам писать код лучше.

И последнее: не сравнивайте себя с другими

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

Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
(c) Мартин Фаулер

20 советов : Как стать лучшим программистом
20+ онлайн ресурсов для изучения программирования в 2017
6 проблем современного программирования, которые делают жизнь новичка невыносимой
Как самостоятельно стать web-программистом с нуля
Как гуманитарию стать программистом?
Где учиться программисту: 19 онлайн-курсов.

Где вы еще можете найти много полезных статей, книг, видеоуроков по физике, математике и программированию? В нашей группе : Physics.Math.Code.Books

Telegram-чат, в котором можно спросить помощи у программистов, физиков, математиков: https://t.me/math_code

Больше интересных статей читай по хэштегу #article@physics_math в группе Physics.Math.Code.BooksПомощь с физикой, математикой и программированием, написанием программ и решением задач на заказ, решением экзамена в онлайн-режиме Вы можете получить в группе Физика | Математика | ПрограммированиеЕсли Вы хотите разобраться в физике, математике или программировании, но не понимаете объяснения преподавателей в школе или университете. Однако, у Вас есть желание хорошо закончить учебу и разбираться в точных предметах? Мы сможем помочь Вам в этом. Репетиторов по физике, высшей математике, программированию, информатике, иностранным языкам Вы найдете в
Репетитор | IT mentor


Источник: m.vk.com

Комментарии: