Русский
Русский
English
Статистика
Реклама

Перевод 3 сильно недооценённых жизненных навыка, которыми должен обладать каждый разработчик

Фото https://unsplash.com/@clayton_cardinalliФото https://unsplash.com/@clayton_cardinalli

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

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

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

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

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

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

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


1. Умение упрощать сложные задачи

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

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

Многие начинающие программисты проводят всё свое время в поисках решений Google, Stack Overflow или где-то ещё.К сожалению, это создает кучу хороших гуглеров, которые не умеют решать проблемы.

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

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

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

Но подождите!Как начать прокачивать мускулатуру софт-скиллов?

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

Есть причина, по которой интервьюеры часто используют псевдокод для оценки кандидатов.

Также стоит отметить, что ни один разработчик не может всё запомнить.Даже самый сеньорный разработчик время от времени гуглит.Итак, ответы можно найти на Stack Overflow или в других туториалах.Но понимание того, как всё работает на самом деле, а не просто умение копипастить, имеет решающее значение.

Умение решать сложные проблемы и эффективно их упрощать очень недооценённый навык.Один из надёжных способов развить этот навык работать над собственными проектами.

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

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

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

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


2. Искусство тестирования и отладки кода

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

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

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

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

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

Но ошибки случаются, и тут на помощь приходит отладка.

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

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

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

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

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

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


3. Умение эффективно общаться

Когда вы работаете разработчиком, есть большая вероятность, что вы будете в команде с менеджерами проектов и дизайнерами.Возможно, вы даже будете заниматься парным программированием.Это делает умение общаться очень актуальным и недооценённым навыком для разработчиков.

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

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

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

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

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

Хорошие коммуникативные навыки также помогут, когда вы находитесь на рынке труда.Интервьюеры часто рассматривают неразговорчивого кандидата как красный флаг.

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

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

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

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

Хороший код не всегда самый умный и эффективный.Напротив, хороший код прост, ясен и понятен.

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


Заключение

Когда дело доходит до разработчиков, написание кода это самый важный навык, который следует учитывать даже при приёме на работу.

Однако софт скиллы сильно недооцениваются.Решение проблем, критическое мышление, общение и сотрудничество всё это сегодня играет огромную роль в работе.

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

Что ещё более важно, это открывает дверь к возможностям для дальнейшего развития вашей карьеры.

Источник: habr.com
К списку статей
Опубликовано: 11.05.2021 18:04:27
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Программирование

Карьера в it-индустрии

Карьера программиста

Карьера в it

Софт-скилы

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru