Если вы разработчик, получивший обучение, просмотрите эти ресурсы.

1656573019 esli vy razrabotchik poluchivshij obuchenie prosmotrite eti resursy

Джимми Чжан

xXWoDchlUtzL8dNjPnZ82bZvz6oIQ5x3-kOy
Фото Янка Ферлича на Unsplash

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

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

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

Там, где это было возможно, я собирал данные о типах рассматриваемых тем и они представлены рядом с каждым ресурсом.

Наслаждайтесь!

Кураторские дайджесты

Первое и главное в этом списке три подготовленных ежедневных дайджеста, которые являются моими любимыми из-за их высокой «частоты обращения» (соотношение сигнал/шум).

DiscoverDev

«Ежедневный дайджест лучших инженерных блогов со всего Интернета», DiscoverDev – один из первых сайтов, которые я посещаю каждый день утром. Это познакомило меня со многими качественными публикациями в блоге, которые иначе я никогда не нашел бы.

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

A698edAqo9JiLa9Ua-UR4VaBIyznUBpWOXcV
Данные с 2017-06-26 по 2018-07-20

Утренняя газета

Еженедельно утром Адриан Кольер суммирует «интересную/влиятельную/важную работу из мира CS» и делает это практически каждый день с октября 2014 года!

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

Блог Кольера – это не только кладезь материалов для чтения, но и кладезь данных. Это показывает нам, что в целом распределенные системы являются самой популярной темой исследования:

Kn4ESwizhaEptrnOijNNbBQu-UpdJK7rpNFP
Данные с 2014-10-10 по 2018-07-20

За последние три года глубокое обучение стало намного популярнее:

XdNfbRtmoc7I1ac3iaafRC44qtYNaEBBGaJL

Утренняя чашка кодирования

Подобные для DiscoverDev, Утренняя чашка кодирования это также ежедневный кураторский бюллетень с техническими статьями по всему Интернету.

Однако Morning Cup of Coding несколько больше ориентируется на язык программирования («выполняйте X с языком программирования Y»). Он также включает в себя раздел «Весело», содержащий забавную статью и эзотерический язык программирования того времени.

Morning Cup of Coding только недавно начал помечать каждую публикацию. Отдельные языки программирования заметны. Глубокое обучение все еще повсеместно.

q4QV7ZdDaTXBcav59zQgaOo1oSQKI3r-7CHP
Данные с 2018-07-09 по 2018-07-20

Форумы

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

Хакерские новости

Пожалуй, лучшее место для обсуждения программирования в Интернете. Я нашел больше интересного содержимого из Hacker News, чем любой другой сайт.

Lobste.rs

Подобно Hacker News, но без уровня трафика. У Lobstre.rs есть несколько преимуществ, а именно система тегов.

Быстрый разбор главной страницы обнаруживает «хакеров» с многочисленными заявлениями по безопасности, Unix и Linux. Заметные упущения: глубокое обучение, машинное обучение.

iFBo35iqU9fkQpVH4jTmXs7fmbjhTHC8yDUT
Данные взяты с Главной страницы Lobste.rs за 2018–07–22

г/программирование

В этом подреддите обсуждаются многие из тех же статей, которые публикуются на Hacker News и Lobste.rs.

Книги

1Z250x2m8oEUCy1SdDrkeE1DcGG4eru0lQN5
aQOTAgmUtSydkexJNLeKBiSETuiFHmqn0YDM
8pOcFSyohTNNoZdPa1qSuUPz96lTrQM0Byp3

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

  1. пропускайте, а не пытайтесь читать книгу от начала до конца.
  2. читайте в составе группы, чтобы не отставать и представлять запутанность.

Существует много достойных технических книг, и эти 6 были выбраны, поскольку все они охватывают различные аспекты разработки программного обеспечения. (Также помогли бесплатные версии первых 3 книг).

Высокопроизводительная сеть браузера Илья Григорик (БЕСПЛАТНО)

Темы: производительность, сеть, веб-разработка

Охватывает основы работы с сетями в Интернете и веб-разработки на очень доступном уровне технических деталей. Я считаю, что раздел TCP был особенно информативным.

Бесплатная ссылка

Архитектура программ с открытым исходным кодом (БЕСПЛАТНО)

Темы: Разные

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

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

Бесплатная ссылка

Искусство программирования Unix автор: Эрик С. Реймонд (БЕСПЛАТНО)

Темы: Unix, Дизайн программного обеспечения, Операционные системы

Unix выдержала испытание временем, и я, как и многие другие, ценю элегантность его основных идей. Эта книга является скорее трактатом о философии, которая управляет этими идеями, и меньше руководством по «инструкциям» (для этого ваш UNIX/Linux является подходящим ресурсом).

Бесплатная ссылка

Разработка приложений с интенсивным использованием данных Мартин Клэппманн

Темы: Базы данных, распределенные системы, масштабируемость

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

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

Наука о данных для бизнеса Фостер Прово и Том Фосетт

Темы: Data Science, Data Mining

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

Внутри машины от Джона Стокса

Темы: Архитектура компьютера, Микропроцессоры

Как разработчикам программного обеспечения, нам редко приходится думать о процессорах и регистрах. Однако при написании критического для производительности кода знание внутренней архитектуры компьютера (например, кэши ЦП) является ключевым.

Я нашел эту книгу из комментария Hacker News об известной статье «Что каждый программист должен знать о памяти». Комментарий рекомендовал Inside the Machine как «нечто более доступное», и я полностью согласен.

Подкасты

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

  • Software Engineering Daily (SE Daily), который больше сосредотачивается на современных тенденциях (блокчейн, машинное обучение, Kubernetes)
  • и Software Engineering Radio (SE Radio), которое больше сосредотачивается на обычных деталях программирования (тестирование, языки, шаблоны проектирования)
mXw50shRmdoT2OpS0W4zXvXlIp2qVyLnvwXs
blaI7UwNzS9dNbDT7nYvqDej2G7tO8JNdRgG
Данные с 2018-03-08 по 2018-07-23

SE Daily является моим фаворитом, потому что они действительно соответствуют своей «ежедневной» фамилии (хотя честно говоря, у SE Radio есть эпизоды еще с 2006 года):

tT406RHrfcFTXKjstFAzbNFD4L34dBk7CfUM
Данные с 2018-03-08 по 2018-07-23

Вывод

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

Спасибо, что прочли!

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

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