10 вещей, которые не обязательны для программиста

0
1658
views

Перевод статьи «The 10 things you don’t need to have to become a programmer».

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

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

Вступление

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

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

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

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

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

Учеба была трудной, это не фунт изюму. Как и любые другие, навыки программирования требуют времени и практики для выработки. Но для этого не нужны суперспособности.

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

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

Необходимые условия

Это вещи, которые справедливо (или несправедливо) связывают с популярным образом программиста. Вещи из разряда «хорошо бы иметь», потому что они в самом деле могут принести пользу.

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

В общем, вам не обязательно…

Быть гением. Быть математиком.

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

Программирование это навык. Такой же, как игра на гитаре или способность пробежать марафон. Для выработки этого навыка нужно программировать. Уделять этому время и тратить на это силы. Нужно учиться у других. Это навык, напрямую зависящий от того, сколько усилий для его выработки вы приложите.

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

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

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

Быть специалистом по компьютерам

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

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

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

Иметь престижный диплом. Иметь диплом по информатике. Иметь диплом вообще.

Университетское образование — отличная вещь. Там, в универе, вас научат методологии и исследованиям. Там вы выработаете собственный стиль учебы.

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

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

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

Наличие новейшего компьютера и (или) дорогостоящего программного обеспечения

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

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

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

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

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

Хороший уровень английского языка

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

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

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

Стереотипы

Относительно программистов существует много стереотипов. Я не хочу сказать, что все это неправда или что что-либо из указанного здесь является чем-то плохим. Просто знайте, что вам не обязательно:

Быть фанатом компьютеров. Быть геймером

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

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

Быть интровертом

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

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

Разнообразие

Следующие пункты это не стереотипы, а статистика. Глядя на сферу разработки в ее нынешнем состоянии, вы можете не увидеть там людей, похожих на вас. Это может привести вас к мысли, что программирование это вообще «не для таких людей, как вы» — к каким бы людям вы себя ни относили.

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

Итак, вам не обязательно…

Быть молодым

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

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

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

Быть мужчиной

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

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

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

Относиться к привилегированному классу

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

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

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

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

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

Итоги

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

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

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

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here