Как подступиться к программированию для начинающего. Часть 2. Практика

12 Ноября 2022

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

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

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

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

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

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

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

Поэтому одним из важных качеств является способность быстро осваивать новое. На неизвестном, а тем более первом проекте, всегда что-то будет новым. В этом случае выбор работодателя будет колебаться между претендентом с наличием практики и высоко-обучаемым (если вы сможете это доказать). В идеале приветствуется наличие и практики и умения быстро вникать в новое.

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

Для ответа вы можете авторизоваться


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.