Найти тему
Mobile Developer

Кто способен стать программистом?

Оглавление

Всем привет. Мне часто задают вопросы вроде «Мне 40 лет я хочу стать программистом» или «А что мне нужно сделать, чтобы стать программистом?» и так далее.

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

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

Согласитесь, что человеку с весом в 150 килограмм будет трудно стать балериной, а человеку без ног играть в баскетбол.

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

Все зависит только от твоего мозга.

Теоретически, да. Практически - нет

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

Гибкость ума

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

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

Это приводит к постоянным выгораниям, синдромам самозванца и так далее. Особенно тяжело будет, если вы перфекционист. Запомните: в программировании вы никогда не будете знать достаточно.

Поэтому лучший способ с этим справиться - это выключиться из гонки и не пытаться соревноваться с топами в программировании и принимать себя таким какой ты есть. Способны на это не то чтобы все

Устойчивость к неудачам

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

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

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

-2

Умение находить ответы

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

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

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

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

-3

Логическое мышление

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

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

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

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

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

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

Нужно уметь вертеть в голове сценарии и держать довольно большой объем причинно-следственных связей

-4

Усидчивость

Как говорил мой научный руководитель «Самое главное качество программиста - это железная жопа». Программисты очень много сидят. ОЧЕНЬ МНОГО сидят. А самое важное, что когда ты активно работаешь ты входишь в некое подобие транса, во время которого ты вообще ничего не видишь и не слышишь.

Если тебя не кормить ты можешь не есть 10 часов, а если поставить тарелку на стол ты сметелишь все, что тебе принесут. И то и то плохо для здоровья, кстати.

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

-5

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

И да, общение это постоянная часть работы, а токсичность я айти коллективах это самое страшное проклятье

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

Как ни крути айти это сейчас примерно 25-35 летний возраст сотрудников и вам нужно быть с коллективом на одной, что называется волне.

-6

Английский

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

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

Плюс англицизмы проникли в речь айти российского. Все эти дейли, скрамы, спринты, фреймворки, дедлайны, q1, окр, канвасы и так далее и так далее - это то, что вам придется понять.

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

Например грейды и джун миддл синьор

-7

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

На этом я с вами прощаюсь. Увидимся в новых постах