27/01/2021
Эта статья для тех, кто только начинает или планирует начать карьеру программиста. Вещи, описанные ниже, покажутся кому-то очевидными, тем не менее, новичкам эта информация будет полезна.
1️⃣Технический английский на базовом уровне
Почти вся техническая документация пишется на английском языке. Исходный код, в большинстве отраслей, пишут на английском. Самые актуальные события в сфере IT освещаются, в первую очередь, на англоязычных ресурсах. Если вы хотите стать хорошим специалистом, востребованном на рынке труда, то английский язык нужно знать хотя бы на уровне «прочитать документацию» и «написать баг-репорт».
2️⃣Системы контроля версий
Каждый программист обязан понимать принцип и уметь работать хотя бы с одной системой контроля версий. Неплохой вводный материал — первые три главы книги Pro Git.
3️⃣Слепой метод набора текста
Когда сидишь 8 часов на рабочем месте, мотать головой от клавиатуры к монитору — довольно утомительное занятие. Умение набирать вслепую помогает лучше сосредоточиться на решаемой задаче. Руки пишут код «на автомате» и мозг не тратит лишнего времени на переключение контекста между набором текста и обдумыванием алгоритма. Существуют хорошие клавиатурные тренажеры, которые помогут вам научиться печатать вслепую. Например, соло на клавиатуре или vse10.ru.
4️⃣Математика
Этот пункт не обязателен для многих отраслей. Но в некоторых направлениях без математики не обойтись. Например, разработка игровых движков требует хорошего знание геометрии (работа с векторами, пересечение фигур), математического анализа (поиск интегралов и производных), физики. При построении систем оптимизации, расчёта оптимальных маршрутов, без знаний дискретной математики далеко не уедешь. В машинном обучении и финансовом секторе это также необходимое требование для того, чтобы стать полноценным специалистом в области.
5️⃣Умение отделять главное от второстепенного
Представьте, что вы создаете сайт для продажи авиабилетов. В процессе разработки продукта, возникает желание добавить какие-то новые функции. Будь то 10 дополнительных систем оплаты, навороченный личный кабинет или уведомления о новых билетах. Чем дальше продвигаешься в создании чего-либо, тем больше возникает