IT Insights
661 subscribers
769 photos
4 videos
3 files
1.07K links
Новости разработки, технологий, немножко науки и техники
Download Telegram
Как создать команду роста (будучи инженером)

Томас Оуэрс ничего не знал об инженерии роста, когда создавал первую команду роста в Let's Do This - стартапе Y Combinator с объемом финансирования 80 млн долл.

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

Статья: https://posthog.com/blog/how-to-start-a-growth-team
Крупнейший в истории редизайн Slack призван укротить хаос вашего рабочего дня

В ближайшее время в Slack будет запущен новый дизайн, который изменит как внешний вид, так и структуру приложения, чтобы упростить поиск и управление сообщениями. Появилась новая боковая панель, на которой по-новому отображаются функции Slack: раздел DMs управляет всеми чатами, независимо от того, из какого канала или рабочей области они поступают, а в окне Activity отображаются все сообщения, упоминания и реакции во всех рабочих областях Slack. В правом верхнем углу каждого окна чата появится кнопка для видеочатов Huddles и создания новых полотен. Скриншоты изменения дизайна доступны в статье.

Статья: https://www.theverge.com/2023/8/9/23824562/slack-redesign-app-dms-activity-later
👍3
Как Quora масштабировала MySQL до 100 тысяч запросов в секунду

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

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

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

Статья: https://quoraengineering.quora.com/Optimizing-the-databases-at-Quora
История поиска работы старшим инженером/EM

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

Статья: https://blog.pragmaticengineer.com/a-senior-engineer-em-job-search-story/
Oscilloscope Music

Oscilloscope Music - это аудиовизуальная музыка, в которой визуальные образы рисуются звуком. Для того чтобы добиться максимально возможной корреляции между изображением и звуком, точно такой же сигнал, подаваемый на левую и правую колонки, подключается также к входам X и Y аналогового осциллографа, создавая сложные лиссажные изображения.

Сайт: https://oscilloscopemusic.com/
Крышесносящее видео: https://youtu.be/ywdRQ3zU6Uc
👨‍💻1
Реверс-инжиниринг MultipeerConnectivity Framework от Apple

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

Статья: https://www.evilsocket.net/2022/10/20/Reverse-Engineering-the-Apple-MultiPeer-Connectivity-Framework/
Как программировать быстрее

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

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

1. Ставьте четкие цели перед началом работы, чтобы точно знать, что вы хотите сделать. Разбейте цель на небольшие подзадачи и работайте над ними по очереди.
2. Избегайте многозадачности и переключения контекста. Это часто бывает непродуктивно, и лучше просто оставаться в состоянии глубокой сосредоточенности на одной задаче.
3. Ведите рабочий журнал (в notion, txt-файле, на бумаге, как угодно). Записывайте в него ежедневные задачи, варианты дизайна, интересные проблемы, выводы и т.д.

Статья: https://www.scattered-thoughts.net/writing/moving-faster/

Поставьте 👍, если хотите эту статью на русском.
👍3
Гибкий фреймворк для эффективного парного программирования

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

Статья от Shopify: https://shopify.engineering/a-flexible-framework-for-effective-pair-programming
Из Junior-ов в Senior-ы: план для успешной карьеры

Из этого руководства вы узнаете:

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

Статья: https://github.com/readme/guides/engineering-career-success
Моя история: $0->$100 млн->$0 за 5 лет

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

Статья: https://apptractor.ru/info/articles/moya-istoriya-0-100-mln-0-za-5-let.html
IT Insights
Удивительные вещи происходят, когда вы собираете вместе 25 AI-агентов в ролевой игре Группа исследователей из Стэнфордского университета и Google создала миниатюрный виртуальный мир в RPG-стиле, похожий на The Sims, где 25 персонажей, управляемых ChatGPT…
AI Town: стартовый набор для создания и настройки собственного ИИ-города

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

Этот проект представляет собой развертываемый стартовый набор для легкого создания и настройки собственной версии AI Town. Вдохновлен исследовательской работой "Генеративные агенты: Интерактивные симулякры человеческого поведения”.

Основная цель этого проекта, помимо того, что работа над ним доставляет массу удовольствия, - создать платформу с прочным фундаментом, который можно расширять. Внутренний движок поддерживает общее глобальное состояние, транзакции и журнал всех событий, поэтому он может быть использован для любых целей - от простого проекта для тренировки до масштабируемой многопользовательской игры. Вторичная цель - сделать доступным фреймворк на JS/TS, поскольку большинство симуляторов в этой области (включая оригинальную статью, о которой шла речь выше) написаны на Python.

GitHub: https://github.com/a16z-infra/ai-town
🤯1
В защиту простых архитектур

Автор рассказывает об эффективности простых архитектур при разработке программного обеспечения на примере компании Wave с оценкой в 1.7 млрд. долл. Архитектура Wave представляет собой монолит Python поверх Postgres, что позволяет инженерам сосредоточиться на создании ценности для пользователей. В статье подчеркивается, что простые архитектуры могут быть созданы дешевле и проще, чем сложные, даже для приложений с высоким трафиком. Несмотря на тенденцию к созданию сложных архитектур на основе микросервисов, он доказывает "необоснованную эффективность" монолитов, подробно описывая выбор, ошибки и области неизбежной сложности на примере Wave. Простота архитектуры может привести к успеху, позволяя компаниям распределять сложность там, где это выгодно бизнесу.

Статья: https://danluu.com/simple-architectures/
Масштабирование системы рекомендаций Instagram Explore

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

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

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

Статья: https://engineering.fb.com/2023/08/09/ml-applications/scaling-instagram-explore-recommendations-system/
IT Insights
В защиту простых архитектур Автор рассказывает об эффективности простых архитектур при разработке программного обеспечения на примере компании Wave с оценкой в 1.7 млрд. долл. Архитектура Wave представляет собой монолит Python поверх Postgres, что позволяет…
Мой перевод: https://apptractor.ru/info/articles/v-zaschitu-prostyh-arhitektur.html

Максимально упростив архитектуру приложений, мы можем тратить бюджет на сложность (и численность персонала) там, где сложность выгодна нашему бизнесу. Идея делать все как можно проще, если нет веских причин для усложнения, позволила нам построить довольно крупный бизнес с небольшим количеством инженеров, несмотря на то, что мы занимаемся африканским финансовым бизнесом, который, по общему мнению, является сложным бизнесом.
3
iMac 25 лет: Компьютер, который спас Apple

В 1997 Стив Джобс возвращается в компанию, немедленно уничтожая программу клонов и практически всю линейку Mac, и уже 6 мая 1998 со сцены Flint Center в Купертино он представляет новый компьютер.

Статья: https://www.shortcut.ru/2016/08/11/imac-g3/
👍1
Научный детектив про LK-99, или как сварить сверхпроводник в кастрюле на кухне

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

Статья: https://habr.com/ru/articles/755138/
Как получить работу в Apple без колледжа и LeetCode

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

Статья: https://apptractor.ru/develop/kak-poluchit-rabotu-v-apple-bez-kolledzha-i-leetcode.html
Фазз-тестирование - это лучшее, что случилось с нашими тестами

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

Статья: https://questdb.io/blog/fuzz-testing-questdb/
Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля

В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки?

Статья: https://habr.com/ru/companies/timeweb/articles/754212/
После следующей работы - фреймворк для принятия важных карьерных решений

Эндрю Чен предлагает фреймворк для оценки карьерных шагов путем фокусирования на "следующем следующем месте работы" (next next job). Вместо того чтобы рассматривать только ближайшую должность, этот подход предлагает задуматься о долгосрочных целях и работать в обратном направлении, чтобы определить шаги, необходимые для их достижения. Понимая пробелы в навыках и потенциальные возможности, человек может принимать более стратегические карьерные решения. Главное - соотнести текущие возможности с будущими устремлениями, а не делать выбор, исходя исключительно из сиюминутных потребностей.

Статья: https://andrewchen.com/the-next-next-job/