Полезные на первый взгляд качества иногда могут сыграть злую шутку, помешав добиться цели. Узнайте, что это может быть, и постарайтесь найти баланс.
Хороший программист должен уметь строить логические цепочки, быть усидчивым, обладать терпением, нестандартно мыслить и так далее. Но есть и такие качества, которые мешают разработчику эволюционировать.
Узкая специализация
Тут можно сказать: «А ларчик просто открывался». Многие программисты так сильно углубляются в свою специализацию или язык, что начинают думать, что все задачи сложные. Заразившись таким восприятием, они и к решению проходных задач начинают прикладывать несоразмерные усилия.
Помните: если вы до этого занимались операционными системами, это не значит, что нужно разрабатывать новый браузер, чтобы запустить сайт. А создание плеера — не повод для того, чтобы писать новые драйвера.
Так вы потратите очень много времени на устранение проблем, которые были решены 100 лет назад.
Мультиязычность
Если изучать все языки, хватит ли времени, чтобы разобраться в них достаточно глубоко? Помните, что в программировании, как и в любом другом деле, нужно соблюдать баланс. Иначе вы либо будете знать всё по чуть-чуть, либо будете знать что-то одно так хорошо, что не сможете применить свои хрустально-алмазные познания на практике.
Нет ничего плохого в мультиязычности, если знаешь основы программирования, но все же учить стоит лишь несколько языков, а потом совершенствовать владение ими.
Вам также будет интересно:
• Для чего используют PHP и почему его ненавидят
• На что живут программисты: зарплаты, налоги, регионы и возможности
• Чем хорош Node.js: практика современного веб-программирования
Перфекционизм
Перфекционизм может проявляться как в обучении, когда вы хотите знать все обо всем или чем-то конкретном, так и в работе:
- постоянный срыв дедлайнов, потому что вы не успели сделать всё безупречно;
- попытки решить непосильные задачи, которые часто кончаются неудачей;
- растущая неуверенность в себе из-за того, что идеал все не достигается.
Закончив программу, которая соответствует вашим перфекционистским стандартам, вы вдруг поймёте, что она уже никому не нужна: люди уже пользуются чем-то менее совершенным или вовсе потеряли интерес к подобному софту. Поэтому важно понимать, когда нужно остановиться. Это убережет ваши нервы и время.
Образованность
Чтобы стать профессиональным программистом, нужно усердно учиться. Например, можно пройти суперкурс по Python от Skillbox.
Курс «Python-разработчик с нуля»
Практический 4-месячный курс для тех, кто хочет научиться основам программирования на универсальном, понятном и лаконичном языке, а также создать свою первую программу на Python и получить реальный опыт разработки.
Программа курса
Но одного курса будет недостаточно, поэтому стоит пройти что-нибудь еще, чтобы закрепить знания. Например:
Курс «Профессия Java-разработчик»
Курс для тех, кто хочет научиться основам программирования на Java. Вы будете работать с наставником, писать код для реальных проектов, а после окончания курса получите первые заказы.
Программа курса
Чтобы еще больше погрузиться в тему, третий курс от Skillbox будет только кстати:
Курс «C# с нуля»
Практический 4-месячный курс, на котором вы овладеете языком программирования C#, просматривая лекции и выполняя задания, которые будет проверять индивидуальный наставник. В конце курса вы напишете десктопное приложение и положите его в свое портфолио.
Программа курса
Уловили мысль? В программировании количество дипломов и сертификатов не влияет ни на что — важны ваши практические навыки. Вы должны создавать программы, а не учиться это делать.
Самостоятельность
Другая крайность — это когда вы пренебрегаете системным обучением и только читаете мануалы. В результате вы будете знать много разных функций и даже сможете писать работающие программы, но так и не сумеете вникнуть в саму суть разработки.
Последствия этого — плохой стиль, кривая архитектура кода, нечитаемость, большие требования к оперативке и нескончаемые баги.
Заключение
Все это, конечно, субъективное мнение, потому что есть успешные самоучки и академики, специалисты узкого профиля и универсалы. Даже перфекционист может когда-нибудь закончить свой проект, который по счастливой случайности будет актуален.
Точно так же вы можете не обладать никаким из этих качеств, но все равно быть плохим программистом. C’est la vie.