Разработчику нужно изучить множество важных тем. Алгоритмы, структуры данных, языки программирования - их слишком много, чтобы сосчитать. Это до того, как мы начнем говорить о языках программирования. Go сейчас в тренде. JavaScript - самый популярный язык 2018 года. На 3 миллиардах устройств работает Java (очевидно, с 90-х годов). Трудно выбрать язык, если вы не знаете, для чего он используется.

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

Git

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

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

Если вы работаете над проектом самостоятельно, использовать Git - отличная идея по многим причинам. Самым очевидным является то, что вы можете хранить свой код в облаке бесплатно. Многие компании предлагают бесплатные публичные репозитории, такие как Github, Gitlab и Bitbucket. Но если вы работаете в команде, скорее всего, вы рано или поздно начнете использовать Git, поэтому лучше изучить его заранее.

Отличный способ выучить git - использовать команду learnngitbranching. Тот факт, что он использует визуальный холст для объяснения поведения команд, невероятно полезен. Вы можете изучить основы менее чем за день, но вы будете изучать новые мощные команды в течение долгого времени.

Коммуникация

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

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

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

Позвольте мне продемонстрировать:

НЕ ДЕЛАЙТЕ ЭТОГО

Привет, $ коллега, служба $ не работает должным образом, когда я запускаю команду $, не могли бы вы мне помочь?

ВМЕСТО, СДЕЛАЙТЕ ЭТО

Привет, коллега, в чем дело? Мне нужен совет. Я сейчас работаю с $ service по $ причине. Предполагается, что он выполняет $ behavior для достижения $ цели, но вместо этого он выполняет $rong_behavior. Я прочитал документацию и не смог найти проблему. Поскольку вы больше знакомы с этой темой, не могли бы вы помочь мне, когда освободитесь? Кофе на мне.

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

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

Пишу

Код писать легко. Если ваш код не работает, машина сообщит вам. Писать для людей - настоящий вызов.

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

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

Если вы разговариваете с коллегой-разработчиком, можно быть более техническим. Когда вы объясняете, как система работает команде маркетинга, такие слова, как обратный вызов и API, могут не иметь никакого смысла . Вы обнаружите это, когда отправка сообщения как вы его говорите часто важнее, чем то, что вы говорите.

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

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

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

Вот отличная статья на эту тему.

Заключение

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

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

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

Спасибо, что прочитали мою статью.

Если вам понравилось, дайте ему несколько хлопков и свяжитесь со мной в моих социальных сетях.

Какими навыками вы хотели бы обладать, когда впервые начали работать?