Путь в ИТ. Елена Правдина
профильного мира и энтузиастов (Лия Веру, Сара Суадан…), причастных к разработке браузеров (Вадим Макеев), создателей языков (Дуглас Крокфорд из мира JS, Страуструп из века С++, легендарный Сэнди Метц и др.).
Изучайте чужой код. GitHub, Bitbucket, примеры в статьях авторитетных авторов, выдержки из документаций. Как маленькие дети, еще не понимая всей глубины отдельного слова и составляющих его букв, слагают из них свою речь, так и вам стоит принять авторитетные фрагменты кода как слова, из которых сформируется код всей программы. Пусть понимание отдельных нюансов придет чуть позже – окружайте себя готовыми классическими решениями и используйте их в своих работах. Старайтесь не копировать, а перенабрать фрагмент – так стандартные решения быстрее отложатся в голове, подкрепившись моторной памятью. И в следующий раз, при написании своего кода с чистого листа, рука сама потянется добавить content: «» для псевдоэлемента или проверить на undefined переменную перед обращением к свойству.
Учите основы. Да, пусть это скучно, но необходимо. Без них вы никогда не станете уважаемым профессионалом. Представьте, к вам подходит подопечный джуниор-разработчик с вопросом: почему «2» + 2 = 22? А вы не можете ответить, потому что не знаете про механизм приведения типов и наличие toString() у прототипа объекта Number. Сложно представить? Правильно, потому что у таких программистов подопечных не бывает. Более того, сейчас всё стремительнее сменяются фреймворки и дополняются возможности языка. Без понимания, что там «под капотом», практически невозможно быстро переключаться над высокоуровневыми реализациями. Угнаться за темпом ИТ не получится, запоминая только методы популярного на текущий момент фреймворка: завтра он сменится другим и ваши познания превратятся в тыкву, а цена на рынке как специалиста уйдет в -1. Все крупнейшие ИТ-компании уже давно просят кандидата на собеседовании написать алгоритмический код часто даже без привязки к языку, а если и спрашивают конкретику, то исключительно на подводные камни, языковые тонкости и их комбинации, требующие глубокого понимания того, «как работает мотор».
Старайтесь понять. Думаю, предыдущего упоминания процессов отбора на работу ИТ-корпорациями достаточно, чтобы отказаться от сладостной мысли выучить/запомнить и попытать свое счастье в отрасли. Часы университетских лабораторных или стоящих курсов призваны заставить попробовать написать самому, наткнуться на проблемы, задуматься, почему так, понять и исправить, при необходимости – повторить. Но, увы, никак не «скопипастить» готовый код, как принято наивно полагать у многих не слишком прилежных студентов. Любой успешный разработчик проводил порой десятки минут, раздумывая над логикой создателей языка, причинными связями, устройством браузера, взаимозависимостями нового материала и уже известных ему фрагментов знаний. Только понимание, как происходит рендеринг страницы, как влияют на него заданные вами