Engineering Time — это драгоценный ресурс. Мы часто должны сбалансировать много задач и часто противоречивых приоритетов. В этой статье мы посмотрим на десять мероприятий, для которых выделено больше времени, может быть полезно.
Давайте учиться на ошибках других.
1. Резервные копии и предотвращение случайного удаления
Вы когда-нибудь удалили что-то преждевременно только для выяснения, что нет резервного копирования? Хорошее правило, чтобы проверить три раза перед удалением чего угодно. Это может включать в себя перекрестную проверку, если мы находимся в правильной среде, регионе, схеме базы данных или ведро S3.
Кроме того, существует много способов смягчения воздействия непреднамеренных делеций:
- Вы можете включить версию на ведрах облачных хранилищ (например, AWS S3),
- Вы можете настроить автоматизированные резервные копии,
- Вы можете ограничить доступ, чтобы только несколько человек могли удалить вещи,
- Многие базы данных имеют дополнительные функции восстановления данных, такие как путешествия с временем, что позволяет вам переходить во время «назад во времени» и запускать запросы на момент времени, прежде чем данные были удалены (например, Snowflake , Databricks , Бить ).
2. Название вещей
Большинство облачных поставщиков предлагают службу хранения объектов. Большинство из них (AWS S3 или GCP GCS) хранят данные в Ведра Отказ Microsoft выбрала название «контейнеров», а не «ведра» для их Sture Blob Storage . Почему это запутано? Поскольку контейнеры обычно связаны с запущенными экземплярами Docker Images, а не со хранением объектов BLOB. В этом примере показано, что даже самые крупные технологические компании в мире иногда делают путающие решения именования.
Один из моих коллег часто повторяет эту цитату, которая красиво обобщает его:
«Есть только два тяжелых веща в области компьютерных наук: кэш-ангин-сигнал и название вещей». — Фил Карлтон
3. Код отзывы
Отличные технологии продукты редко создаются в вакууме; Они появляются, когда несколько умных людей поддерживают друг друга в решении сложных проблем. Вот почему отзывы о обратной связи и кодах настолько критичны. Они служат основой для конструктивных дискуссий, которые приводят к улучшению инженерных процессов и лучшего кода.
- Не: Напишите «LGTM!» и утвердить запрос на потяжку в минуту после его получения.
- Делать: Возьмите столько времени, сколько нужно, чтобы понять код и намерения позади него и вопрос, все работает как ожидалось.
Большинство инженеров, создающих запросы на тягу, искренне хотят услышать вашу тщательную обратную связь и учиться на вашем опыте. Они полагаются на вас, чтобы определить ошибки и проблемы, которые они могут не подумать о.
4. Определение проблемы
Вы, вероятно, столкнулись с этим много раз в вашей карьере. Кто-то назначил вам билет, говоря: «Do Xyz», не указав почему за этим. Предполагается, что XYZ является правильным решением проблемы, и вы должны просто сделать это. Но когда вы начинаете погружать глубже в реальную проблему, вы замечаете, что XYZ не может быть оптимальным подходом.
- Не: Создайте билет, который предписывает определенный подход, такой как «Создание скрипта, которое собирает данные о X и разделяет эти данные с клиентом ABC в виде приложений электронной почты Excel File.
- Делать: Создайте билет, который определяет проблему: «Клиент ABC должен принимать данные о X на ежедневной основе. Поговорите с клиентом и выясните лучший интерфейс, чтобы поделиться этими данными надежным и безопасным способом ».
Всегда полезно, что билет или пользовательская история определяет проблему и заинтересованные стороны. Это может предложить потенциальные решения, но не совсем назначать, что нужно сделать, если вы не уверены в этом. Как только проблема определена, инженеры достаточно умны, чтобы выяснить лучшие способы решения его.
5. Архитектура и дизайнерские решения
Решения архитектуры обычно имеют далеко идущие последствия. Как только все будет реализовано, это дорого, чтобы «отменить» их ( Думаю: трудоемкие миграционные проекты ).
Тем не менее, часто мы не занимаем время, чтобы оценить достаточно вариантов и не просить обратной связи. Наиболее популярным инструментом, возможно, не обязательно является лучшим для этой проблемы под рукой.
- Не: Rush Реализация первых проектов дизайна или самых популярных инструментов.
- Делать: Найдите время, чтобы оценить, какие архитектуры или дизайны являются хорошими кандидатами на проблему под рукой. Бежать доказательство концепций. Спросите других инженеров, заинтересованных сторон и внешних консультантов по обратной связи. Проверьте различные варианты на практике, а затем решайте, что лучше всего работает. И если вы строете на серверу, то используйте Mashbird’s Хорошо архитектурный инструмент Insights , Это даст вам отчеты в режиме реального времени в архитектуре вашей инфраструктуры на основе лучших практик отрасли и скажут вам именно то, что, где и как улучшить.
6. Выравнивание с другими командами
Иногда достижение соглашения об общих стандартах составляет половину битвы. Неспособность общаться с другими командами, может привести к трениям и конфликтам.
Например, многие команды данных вкладывались в хранилище облачных данных, платформы приема данных и инструменты преобразования на основе SQL в последние годы. Затем они начали выступать, чтобы все должны, отныне, используйте SQL, чтобы решить все свои аналитические проблемы.
После этого совета можно подумать, что мы больше не нуждаемся в распределенных скоплениях, таких как dask или Spark. Но пытаясь стандартизировать ( исключительно ) на SQL, мы забываем других команд. Как насчет данных ученых и количественных исследователей? SQL недостаточно, чтобы решить свои проблемы. То же самое верно, когда вам нужно подавать данные для потребления API, автоматизации процессов и многими другими интересными случаями использования, которые используют данные для более чем отчетности. Python будет гораздо лучшим выбором для этих случаев использования.
Точно так же Пол Синман предложил в Эта статья Что согласование общих определений данных и интерфейсов между инженерами программного обеспечения и командами данных иногда может исключить необходимость в рабочих местах ETL. Обратите внимание, что это возможно только в нескольких обстоятельствах при строительстве инструментов на основе архитектуры паба.
7. Похвалы, где это заслуживает
Предоставление похвалы или уплаты комплиментов может иногда чувствовать себя неловкому, но мы все жаждали проверки в некоторой степени. Это увлекательно видеть положительное влияние простой «отличной работы!». Смотрите на ложную похвалу, хотя; Люди могут сказать, когда комплименты неискренны.
8. Нанимать
Это сложно найти и управлять инжиниринговыми талантами в эти дни. Тем не менее, нанимают преждевременно, а затем стрельбы люди могут навредить культуру компании и моральному моралу. Многие принимают «Ад да или нет» подход. Какая бы стратегия вы не выберете, целесообразно занимать время и быть преднамеренным о команде, которую вы хотите построить.
9. Журналы чтения
Некоторые проблемы в инженерном стебле не читают журналы правильно.
Настоящая история: в моем первом консультационном проекте мы работали над кластером Hadoop, и у меня были трудности выяснить, почему моя искровая работа потерпела неудачу. Я спросил коллега, и он указал на трассировку стопки Java с сообщением об ошибке, который мне, казалось, упустил из виду в большом каталоге файлов журналов. Я должен был ( позорно ) признать, что он был прав — — ответ был в журналах; Я не принял достаточно времени, чтобы все тщательно прочитать все это.
Если вы хотите избежать подобных смущающих ситуаций, и вы будете использовать серверу, посмотрите на Dashbird. Платформа позволяет вам фильтровать через журналы всех ваших ресурсов AWS без сервеса. Вам не нужно настроить какие-либо пользовательские обработчики журнала в вашем коде. Dashbird автоматически вытащивает журналы непосредственно из API CloudWatch, чтобы вам не нужно ничего устанавливать.
Затем вы можете искать все ваши журналы в режиме реального времени из пользовательского интерфейса, включая рентгеновские следы.
Глобальный поиск журнала в Dashbird.io — — изображение автора
10. Общение
Знаете ли вы, что большинство IT-проектов проваливаются из-за вопросов связи? У нас есть больше инструментов связи, чем мы когда-либо имели в истории, но это все еще сложно найти баланс между недостатком и чрезмерноми.
- Не: Отправьте 50 коротких сообщений каждые 20 минут.
- Делать: Подумайте о том, что нужно сообщать и записывать его в первую очередь. Подумайте, что лучший канал для общения это: электронное письмо ( Если 1—2 дней в отклике в порядке ), вызов ( Если это требует обсуждения или Scree Share ), или мгновенное сообщение ( Если это критично, или что-то, что блокирует вас ).
Заключение
Эта статья обсудила десять сложных аспектов в разработке техники, к которым мы иногда не посвящаем достаточно времени. К ним относятся удаление и название вещей, журналы чтения, дающие обратные связи и похвалы, определение проблем, проектирование архитектур, найма и, наконец, общение в команде и других командах.
Спасибо за чтение!
Дальнейшее чтение:
Почему некоторые инженеры упускают точку без промежутков?
Q & A с CTO Dashbird: ведущий и управление командой Serverless Dev
Дашбард пояснил
Оригинал: «https://dev.to/dashbird/10-things-in-engineering-we-don-t-spend-enough-time-on-5bm2»