Код
#статьи

Что почитать о программировании и IT: подборка материалов февраля

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

Иллюстрация: Оля Ежак для Skillbox Media

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

Навыки грядущего десятилетия

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

Цифровая грамотность. Нет, это значит не просто быть «уверенным пользователем ПК», но разбираться в аналитике данных, цифровом маркетинге, ориентироваться в многообразии инструментов и платформ. Ну, или хотя бы уметь составлять грамотные запросы к нейросети :)

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

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

Лидерство и социальное влияние. Умение вдохновлять и мотивировать других, независимо от вашей должности.

Здоровая коммуникация. Это не только навыки красивой устной речи и письма, но и умение активно слушать и сопереживать другим.

Постоянное обучение и саморазвитие. Всё меняется настолько быстро, что почти ничему нельзя научиться раз и навсегда. Любознательность вкупе с образованием (университеты, онлайн-курсы, семинары или самостоятельное обучение) — секрет успеха.

Читать подробнее

Страны с самым быстрорастущим числом программистов

GitHub опубликовал статистику о количестве аккаунтов разработчиков в разных странах. Оказалось, что больше всего кодеров появилось не в сытых Штатах и Европе, а в развивающихся Бангладеш, Нигерии и Пакистане. Если в 2022 году в Бангладеш было 560 000 разработчиков, то в 2023-м — уже почти миллион.

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

Источник: GitHub
Инфографика: Майя Мальгина для Skillbox Media

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

Если верить инвесторам, потенциал у местного IT-сектора огромный: нерешённых проблем — тьма, молодых и талантливых людей — тоже, а что ещё нужно, чтобы построить местные аналоги Google и Microsoft?

Правда, если смотреть на общее число разработчиков, а не на годовой прирост, в лидерах по-прежнему США (20,2 млн разработчиков), далее идут Индия (13,3 млн), Китай (6,9 млн) и Бразилия (5,4 млн).

Читать подробнее

10 принципов хорошего кодинга

Сайт для подготовки к техническим интервью ByteByteGo поделился принципами, которые помогут улучшить ваш код.

Коротко о главном:

  • Следуйте спецификациям. Важно следовать устоявшимся в отрасли нормам — например, для Python это PEP 8, а для «кофейного» языка — Google Java Style.
  • Объясняйте свои решения. В хорошем коде комментарии должны объяснить, почему был выбран определённый подход, а не что именно происходит. Не стоит брезговать и технической документацией — она помогает самому программисту не забыть, как работает код.
  • Повышайте безопасность. Во время работы программы что угодно может пойти не так: закончилась оперативка, обвалилось соединение с сервером, пользователь вынул флешку во время записи… Чем больше таких ситуаций вы сможете поймать и обработать, тем лучше.
  • Следуйте правилам SOLID. Это классика, это знать надо :)
  • Упрощайте тестирование: автоматизируйте, упрощайте отдельные компоненты, используйте тестовые фреймворки — что угодно.
  • Не переборщите с абстракциями. Абстракции помогают убрать «под капот» сложную логику, но в перспективе могут повредить лаконичности кода и усложнить добавление новых фишек.
  • Используйте паттерны проектирования. Но не злоупотребляйте. Иногда паттерны требуют создания большего количества классов и интерфейсов, чем это необходимо для решения задачи.
  • Снижайте число глобальных зависимостей. Глобальная зависимость — это когда программа во время работы обращается к какому-то внешнему модулю. Проблема в том, что, если изменить этот модуль, можно случайно «заруинить» все проекты, которые с ним работают.
  • Помните про рефакторинг. Это помогает уменьшить технический долг, а также поймать и решить проблемы на берегу.
  • Безопасность — в приоритете. Как минимум хороший код должен избегать общеизвестных дефектов безопасности.
Читать подробнее

ИИ vs разработчики: ещё одно мнение

Рубрика, уже ставшая традиционной, — лишит ли программистов работы стремительное развитие ИИ.

Майк Лукидес, вице-президент по техноконтенту O’Reilly Media, считает, что всё-таки нет. Во-первых, потому, что написание кода — это лишь малая часть работы программиста, а остальную ИИ взять на себя пока не может (очевидно, речь про созвоны). А во-вторых, вы вообще видели, как ChatGPT пишет код? Он же ошибается через раз. Не видать ему оффера не то что в FAANG, но даже и во вполне скромную индийскую галеру :)

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

Читать подробнее

«Пиши, сокращай» для верстальщиков

Портал moderncss.dev представил 12 современных правил CSS, использование которых сильно упрощает код.

Возьмём, например, простой CSS-код для центрирования элементов по горизонтали.

margin-left: auto;
margin-right: auto;

А вот каким славным его можно сделать с помощью свойства margin-inline:

margin-inline: auto;
Читать подробнее

Все должны учиться писать код

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

Босс компании Vymo Венкат Маллади объясняет, почему это чушь. По его мнению, уметь кодить должен каждый. Во-первых, потому, что это учит решать проблемы. Написание алгоритмов, поиск закономерностей, отладка кода, деление проблемы на более мелкие части, абстрагирование — всё это бесценные уроки, которые можно использовать в обычной жизни.

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

Читать подробнее

Искусственный интеллект африканцам

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

Поэтому Адебара основала проект Afrocentric Natural Language Processing, который направлен на создание инструментов и программ, доступных для говорящих на африканских языках, включая суахили и зулу.

Проект AfroLID для идентификации 517 африканских языков
Скриншот: AfroLID / Skillbox Media

Загвоздка в том, что для большинства языков нет достаточного количества датасетов для обучения языковых моделей. Адебара пытается решить эту проблему, объединяя многие языки в одну модель. Таким образом, ИИ обучается на нескольких языках, и набор данных становится больше, чем раньше, а производительность немного выше.

Читать подробнее

«Она» продаст ваши данные

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

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

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

Миша Рыков,
исследователь Mozilla

Mozilla изучила 11 «ИИ-крашей», включая такие популярные приложения, как Replika, Chai, Romantic AI, EVA AI Chat Bot & Soulmate и CrushOn AI. Каждое из них получило пометку Privacy Not Included, что ставит эти чат-боты в категорию худших продуктов, которые когда-либо проверяла Mozilla.

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

Ещё одним поразительным открытием стало количество трекеров и «жучков» в этих приложениях — фрагментов кода, отвечающих за сбор и передачу данных. Mozilla выяснила, что эти программы используют в среднем 2663 трекера в минуту, а больше всех отличилась Romantic AI с 24 354 трекерами.

Читать подробнее

Большой спрос на софт-скиллы

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

Платформа онлайн-обучения Springboard for Business опубликовала отчёт о рынке труда. Как оказалось, самым востребованным гибким навыком стало стратегическое мышление. Также важны критическое мышление и умение решать проблемы, навыки устного и письменного общения.

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

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

Читать подробнее

Даёшь 128 КБ!

Немецкий графический дизайнер и любитель креативного кодинга Тим Роденброкер разочаровался в современных социальных сетях, которые охотятся за нашим вниманием, и предложил альтернативу: 128kb challenge.

Platine, автор Лена Вебер
Изображение: 128kb challenge

Это проект, куда любой желающий может прислать свою минималистичную работу или просто посмотреть, что сделали другие. Для участия нужны навыки программирования на Processing, P5.js или GLSL. Главное — чтобы работа соответствовала требованиям: 128×128 пикселей, 128 цветов и 128 килобайт.

Узнать больше о проекте можно здесь, а посмотреть работы — здесь.

Читать подробнее

Галлюцинировал и будет галлюцинировать

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

Читать подробнее

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Проверьте свой английский. Бесплатно ➞
Нескучные задания: small talk, поиск выдуманных слов — и не только. Подробный фидбэк от преподавателя + персональный план по повышению уровня.
Пройти тест
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована