Как решать сложные (технические) проблемы

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

image


Мировоззрение


  • Нет сложных проблем. Просто отсутствует информация о том, как работает система
  • Помните, что ошибка возникает по логической причине
  • Будьте необоснованно уверены в своей способности исправить ошибку
  • Чем сложнее будет баг, который вы исправите, тем лучше вы будете
  • Каждая ошибка — это возможность узнать что-то новое


Поиск первопричины


  • Постарайтесь воспроизвести проблему
    • Можете ли вы воспроизвести это из командной строки?
      • Другим людям легче воспроизвести проблему
      • Легче проверить исправление
  • Есть ли файлы журналов? Что за сообщение об ошибке?
    • Прочтите описание ошибки. Каждое его слово. Дважды.
    • Есть ли где-нибудь опечатка (командная строка / конфигурация / код)?
  • Изолируйте проблему
    • Удалите некоторые части системы и попробуйте воспроизвести ошибку
    • Меняйте одно за раз, сохраняя все остальное постоянным



Проблема все еще не устранена? Чек-лист


  • Постарайтесь решать сложные проблемы утром на свежую голову и без отвлечения (решите её перед тем, как вы просмотрите: почту, чат, тикет-систему, мониторинг)
  • У вас несколько проблем? Сначала попробуйте решить основную проблему (например, ssh-соединение, которое разрывается каждую минуту)
  • Это действительно проблема или просто недоразумение (работает как положено?)
    • Есть ли функция/политика безопасности, которая блокирует вашу работу?
  • Найдите стабильную среду отладки
  • Проблема возникает только на одном сервере? То же самое работает где-то еще?
    • Какая разница? Проверьте!
  • Когда впервые возникла проблема? Что изменилось?
  • Можете ли вы увеличить журнал логов?
  • Сделайте некоторые проверки на вменяемость
    • Вы на той виртуальной машине?
    • Можете ли вы пропинговать хост?
    • DNS все еще работает?
    • Проверьте сетевой трафик с помощью ngrep/tcpdump. Вы видите то, что ожидаете?
    • Один из дисков полон?
    • Вы редактируете нужный файл?
      • Напишите мусор и попробуйте скомпилировать и проверить синтаксис
    • Проверить систему мониторинга
      • Есть ли проблемы с другими виртуальными машинами заказчика?
      • Есть ли проблемы у других виртуальных машин, работающих на том же гипервизоре?
      • Не работает весь центр обработки данных?
    • Клиент авторизован в системе? Что он делает (проверьте bash_history и ps -u)


Через некоторое время отладки


  • Заставьте себя выразить проблему легко и понятно, чтобы ее понял случайный плюшевый мишка.
  • Будьте терпеливы и примите тот факт, что все занимает больше времени, чем ожидалось.
  • Попытайтесь понять, что происходит. Не с помощью бесконечных проб и ошибок
    • Есть ли документация, которая поможет вам разобраться в системе?
    • Поговорите с другими людьми, которые знают систему лучше, чем вы
  • Сделайте перерыв (прогуляйтесь, сделайте зарядку, сделайте глубокий вдох, выпейте воды, съешьте фрукты)
  • Вернемся к началу: в чем проблема? В чем причина проблемы? Какую цель вы пытаетесь достичь?
  • У вас нет времени и вы зациклились на каких-то несвязанных деталях?
    • Используйте другой подход для решения вашей актуальной проблемы

Если вы копируете код из Stackoverflow


  • Не копируйте код из Stackoverflow, не понимая реальной проблемы
  • Не копируйте код из Stackoverflow, не понимая предлагаемого решения
    • Если у вас нет на это сейчас времени => запишите это решение (даже когда вы уже разберетесь с проблемой)
    • Если вы не знаете, что делает команда или инструмент, прочтите документацию (https://explainshell.com)
    • Не копируйте команды/код. Пишите самостоятельно


После решения проблемы


  1. Отличная работа! Я рад, что ты не сдался!
  2. Что вы узнали для себя?
  3. Какие предположения были неправильные?
  4. Как вы можете решить подобную проблему в будущем еще быстрее?




  • Первая в России серийная система управления двухтопливным двигателем с функциональным разделением контроллеров
  • В современном автомобиле строк кода больше чем…
  • Бесплатные онлайн-курсы по Automotive, Aerospace, робототехнике и инженерии (50+)
  • McKinsey: переосмысляем софт и архитектуру электроники в automotive

image

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

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

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

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

  • Руководитель группы калибровки
  • Руководитель группы функциональных испытаний
  • Ведущий тестировщик встроенного ПО микроконтроллеров
  • Старший тестировщик ПО



О компании ИТЭЛМА
Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

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

Список полезных публикаций на Хабре
  • Бесплатные онлайн-курсы по Automotive, Aerospace, робототехнике и инженерии (50+)
  • [Прогноз] Транспорт будущего (краткосрочный, среднесрочный, долгосрочный горизонты)
  • Лучшие материалы по взлому автомобилей с DEF CON 2018-2019 года
  • [Прогноз] Motornet — сеть обмена данными для роботизированного транспорта
  • Компании потратили 16 миллиардов долларов на беспилотные автомобили, чтобы захватить рынок в 8 триллионов
  • Камеры или лазеры
  • Автономные автомобили на open source
  • McKinsey: переосмысляем софт и архитектуру электроники в automotive
  • Очередная война операционок уже идет под капотом автомобилей
  • Программный код в автомобиле
  • В современном автомобиле строк кода больше чем…

Источник: https://habr.com/ru/company/itelma/blog/554746/


Интересные статьи

Интересные статьи

Достаточно часто каждый аналитик сталкивается с ситуацией, когда загрузил данные в блок анализа, а в ответ – тишина, хотя в тестовом режиме все работает. Причина обычно в том, что данные ...
Каждый маломальский проект сталкивается с дистрибьюцией продукта. В нашем случае это коробочный вариант и так исторически сложилось, что мы предоставляем нашим заказчикам...
Направление Site Reliability Engineering становится всё более популярным. Хайп не на пустом месте: проблемы и задачи, которые решает SRE, действительно насущны для многих...
Недавно на проекте интегрировал модуль CRM Битрикса c виртуальной АТС Ростелеком. Делал по стандартной инструкции, где пошагово показано, какие поля заполнять. Оказалось, следование ей не гаран...
Недавно вышла статья, мимо которой я сначала решил пройти, но потом решил написать развернутый комментарий в виде очередной статьи. Программист должен решать проблемы бизнеса Программист не д...