В этой статье подводятся итоги моих первых двух лет работы разработчиком программного обеспечения.
В этой статье я подробно расскажу о тех вещах, которые я узнал и считаю ценными для разработчика программного обеспечения. Хотя путь у каждого из нас разный, надеюсь, они помогут вам.
Примите свое невежество
Величайший враг знания не невежество, а иллюзия знания
Ваши первые годы определяют путь, по которому пойдет ваша карьера. Начните изучать различные технологии и фреймворки. Не ограничивайтесь конкретным техническим стеком, он может быть ограничен на рабочем месте, однако полезно изучать другие технологии в свободное время.
Будьте открыты и честны в том, чего вы не знаете. Они не ожидают, что вы начнете поставлять с первого дня. Будьте готовы взяться за все виды задач, которые могут дать вам представление или возможность обучения.
Быстро ознакомьтесь с инструментами разработки, такими как Git, Maven, Gradle и CI/CD, это сэкономит много времени, и вы не будете беспокоить своих старших разработчиков подобными вещами.
Кодирование Гигиена и ремонтопригодность
Никогда не пишите плохой код, если это не конец света.
Всегда подумайте дважды, прежде чем писать код. Речь не идет о создании пул-реквестов и доработке фич. Речь идет о написании кода, который не нуждается в сопровождении. Плохой код будет преследовать вас всегда, это может быть сегодня, завтра или через 5 лет, когда вы понятия не имеете, что написали.
Поэтому всегда думайте о более широкой картине, прежде чем писать строку кода.
Рефакторинг
Никогда не бойтесь рефакторить код. Рефакторинг для оптимизации производительности и удобочитаемости.
Написание хорошего кода — это путешествие, и вы должны оптимизировать его при каждом удобном случае. Модульные тесты играют важную роль в том, чтобы сделать это возможным. После того, как у вас есть модульный тест, рефакторинг кода не должен быть проблемой, поскольку он гарантирует, что функциональность не пострадает.
Продукт
Вы не можете писать расширяемый код, не зная, зачем вы его пишете.
Познакомьтесь с продуктом. Как только вы поймете, что вы создаете и почему вы создаете приложение, вы сможете легко понять проектные решения.
Все программное обеспечение создается для использования кем-то, поэтому все программные продукты должны помнить о пользователях. Сосредоточенность на продукте, а не только на технологии, делает ваш набор навыков более универсальным.