Я консультировал более 100 компаний за последние 3 года, и вот некоторые из моих личных любимых рекомендаций: (Вы будете шокированы тем, сколько разработчиков за пределами онлайн-пузыря нуждаются в помощи.) 1. Некоторые команды не используют никакую систему версионного контроля кода. Я знаю, что в это трудно поверить, но у меня есть свидетели. Честно говоря, это не распространено, но я видел это собственными глазами. 2. Культура тестирования редка. Легкий способ улучшить работу команды — научить их писать автоматизированные юнит- и интеграционные тесты. 3. Электронные таблицы — это самое популярное решение, которое я видел в дикой природе. Например, одна из моих самых распространенных рекомендаций — использовать MLFlow для отслеживания экспериментов и версионирования моделей. 4. Большинство команд всегда хотят реализовать технически правильное решение для проблемы. Я очень хорошо научился определять решения, которые соответствуют многим другим ограничениям (таким как бюджет, сроки, способности команды, восприятие и т. д.). Я называю это "формулированием проблемы", и это огромная помощь для компаний. 5. Я всегда рекомендую контейнеры для разработки тем командам, где каждый человек использует разную операционную систему и сталкивается с проблемами конфигурации и портативности. 6. Попробуйте масштабировать приложение, не тратя время на наблюдаемость и трассировку. Чаще всего это так же просто, как записывать правильную информацию. Иногда вы можете потратить время на настройку правильных инструментов для более серьезной наблюдаемости. 7. В системах машинного обучения (90% проектов, с которыми я работаю) мониторинг всегда является второстепенной задачей. Я довольно хорошо научился помогать командам интегрироваться с Evidently AI. 8. Я трачу много времени на помощь командам в создании сквозных, повторяемых и автоматизируемых рабочих процессов с заполнителями, которые они могут завершить позже. Например, создание обучающего конвейера, который начинается с обработки данных и заканчивается развертыванием модели. Разные практики всегда возникают у разных команд: • Как реализовать CI/CD • Как версионировать наборы данных • Как понять, что "сделано" • Как правильно управлять секретами • Как управлять настройками конфигурации • Как настраивать логи • Как тестировать в производстве (a/b тестирование, теневые развертывания и т. д.) • ... Люди, работающие в крупных технологических компаниях, на годы опережают всех остальных, но рынок для этих знаний за пределами больших технологий огромен.
Santiago
Santiago26 дек., 21:45
Я встретил парня, который зарабатывает семь цифр каждый год, делая это снова и снова: • Присоединяется к команде разработчиков на неделю • Определяет 3 - 5 потенциальных улучшений для их процесса • Пишет короткое, конкретное предложение для каждого улучшения • При желании помогает команде внедрить их • Документирует результаты • Уходит Он довел это до почти научного уровня: это повторяемый процесс с несколькими "основными" рекомендациями, которые почти все могут использовать. C-Suite его обожает. Команды его любят. Вам будет скучно до смерти, если вы услышите о его повседневной жизни, но ему это нравится.
@kelvongx *много
1,91K