Как стать лучшим программистом? Этот вопрос часто задают многие программисты и разработчики. Универсального ответа нет, но есть несколько хороших советов, которым вы можете следовать. В этой статье вы узнаете эти советы. Используйте эти советы, чтобы улучшить свои навыки и стать лучшим программистом.
Изучите и освоите основы программирования
Каждое мастерство начинается с основ. Или, как говорится: «Каждый мастер когда-то был новичком». Ну, программирование ничем не отличается. На самом деле, основы особенно важны, если кто-то хочет стать лучшим программистом. Это также простой способ отличить начинающего программиста от старшего.
Обычно верно, что чем больше человек знает основы, тем лучше он или она программист. Каковы эти основы, с точки зрения программирования? Вы знаете, все эти «простые» вещи, как куча, стек, указатели, адреса, мелкие и глубокие копии, распределение памяти, сборка мусора и так далее.
Не полагайтесь на онлайн-курсы и буткемпы
Никогда не слышал об этих понятиях? Ты не одинок. Можно с уверенностью сказать, что большинство веб-разработчиков, а также многие программисты-самоучки никогда не слышали о них. Эти понятия, какими бы фундаментальными и важными они ни были, обычно полностью игнорируются при изучении веб-разработки.
Это также одна из проблем онлайновых академий, курсов и буткемпингов. Представьте, что вы изучаете основные математические операции, не изучая, что такое числа и как они работают. Звучит глупо или даже глупо? Ну, вот как много онлайн академий, курсов и буткемпов подходят к обучению навыкам программирования.
Они очень хорошо обучают вас языку, независимо от того, какой это язык программирования. Они научат вас синтаксису и семантике и тому, как использовать этот язык программирования. Они могут включать некоторые алгоритмы и более сложные вещи, но это все. Они никогда не пойдут глубже, к низкоуровневому программированию или даже к машинному коду.
Как насчет пути программиста-самоучки? Ну, это в основном то же самое. Программисты-самоучки обычно выбирают учебный план, опубликованный каким-либо учебным лагерем, или следуют дорожной карте, созданной для специального курса. Это то, что дает им либо похожий, либо одинаковый результат. Урок? Не полагайтесь на курсы и буткемпы.
Изучать информатику
Итак, если онлайн-курсы и буткемпы не будут сокращать это, что будет? Какой другой источник может помочь вам стать лучшим программистом? Ответ - информатика. Звучит слишком сложно? Вероятно, поэтому так мало программистов и разработчиков-самоучек изучают информатику. И это также то, почему это будет таким преимуществом, если вы изучите это.
Это интересно. С одной стороны, подавляющее большинство университетов преподают программирование только как часть учебной программы по компьютерным наукам. Никогда как отдельная степень. С другой стороны, подавляющее большинство онлайн-курсов и буткемпов преподают программирование как отдельную «степень», а не как часть учебной программы по компьютерным наукам.
Попробуйте сравнить вероятность получить лучшую работу, построить бизнес или просто стать лучшим программистом в этих двух случаях. Кого вы выберете в качестве своего любимого, кого-то со степенью в области компьютерных наук или кто-то с дипломом из онлайн-курса или bootcamp?
Моим выбором будет кто-то со степенью в области компьютерных наук. Большинство работодателей сделали бы такой же выбор. Вы хотите стать лучшим программистом, потому что хотите писать лучшие программы? Вы хотите стать лучшим программистом, потому что вы действительно хотите найти новую и лучшую работу? Независимо от ответа, изучайте информатику.
Вопрос в том, с чего начать? Поскольку большинство онлайн-курсов обычно ориентированы на обучение конкретному языку программирования, они не являются решением. Bootcamps в основном одинаковы. Что еще хуже, оба оплачиваются, и, поскольку мы говорим о программе информатики, цена может быть очень высокой. Университет тоже наверное не вариант. Так?
Читать и смотреть, жадно
В колледже или университете можно многому научиться, и это поможет вам стать лучшим программистом. Тем не менее, есть вещи, более ориентированные на практику, которые вы обычно изучаете на работе, эти места вас не научат. К счастью, вам не нужно ждать работу, чтобы научиться этим вещам.
Вместо этого вы можете читать книги, написанные старшими разработчиками, программистами и другими экспертами по этой теме. Эти книги могут дать вам много практической информации, которая в противном случае потребовала бы многолетнего практического опыта. Благодаря этим книгам вы можете получить весь этот многолетний опыт в течение нескольких недель или месяцев.
Читайте, чтобы научиться думать как программист, а не просто научиться программировать
Когда дело доходит до книг, помните одну вещь. Вы не читаете книгу, чтобы выучить конкретный язык или рамки. Вы читаете книгу, потому что хотите научиться думать лучше. Это то, что отличает новичка от старшего программиста. Не навык, а качество мышления.
Когда вы берете новичка и старшего программиста и решаете одну и ту же задачу, чтобы решить, что, по вашему мнению, произойдет? Новичок, вероятно, начнет писать некоторый код и посмотреть, работает ли он. Если нет, он попробует что-то еще. Тогда снова. Старший не будет. Вместо этого он уделит время, чтобы тщательно обдумать проблему.
Старший программист рассмотрит все стороны проблемы, возможные решения и их последствия. Только тогда он начнет писать код. Это главное отличие только когда старший программист. Это как разница между новичком с пулеметом и снайпером.
Новичок возьмет пулемет, возможно, прицелится и начнет стрелять, надеясь, что хотя бы одна пуля поразит цель. Снайпер примет это медленно. Он проанализирует цель, погодные условия, вероятности, результаты. Далее он потратит время на прицеливание. Затем он примет выстрел. Только один. Задача решена.
Может показаться, что старший программист медленнее и менее эффективен. Противоположность верна. Начинающий может быть быстрее в начале, сразу приступив к написанию кода. Однако ему потребуется больше времени, чтобы найти решение с помощью метода проб и ошибок. И ему также понадобится время для очистки кода, когда он будет готов, потому что это, вероятно, будет беспорядок.
Старшему программисту, с другой стороны, потребуется меньше испытаний, прежде чем он найдет решение. Ему также понадобится гораздо меньше времени, чтобы привести в порядок свой код, потому что он подойдет к задаче более организованно. В результате его код, вероятно, будет намного чище с самого начала.
Так что перестаньте читать книги ради изучения языка программирования. Вместо этого читайте книги, чтобы научиться думать как программист. Это поможет вам гораздо лучше стать программистом, чем куча книг на любом конкретном языке программирования.
Читать для самосовершенствования
Помимо обучения мыслить как программист используйте книги также для самосовершенствования и улучшения своей профессии. Навыки программирования - это только часть того, что делает великих программистов. Другая часть - это мягкие навыки, такие как управление временем, самоуправление, обучение, эмоциональный интеллект, командная работа, терпение и т. д.
Если вы хотите стать лучшим программистом, выделите время, чтобы улучшить себя в этих областях. Программист или нет, вам все равно придется время от времени иметь дело с людьми. Чем лучше вы справитесь с этим, тем легче это будет и тем больше у вас будет времени на то, что вам нравится, на написание кода.
Читайте чужой код
Изучение книг о том, как думать, как программист, является одним из способов стать лучшим программистом. Другой, иногда даже лучше, читает код других людей и пытается понять его без посторонней помощи. И большой плюс в том, что вы также можете написать документацию для этого кода. Если вы можете задокументировать это, вы, вероятно, действительно это понимаете.
Какой смысл читать чужой код? Написать код легко. Буквально любой может это сделать. Конечно, будут большие различия в результатах, но все же каждый может это сделать. Что труднее, это прочитать чужой код, а затем выяснить, что он делает. Это еще одно качество, которое отличает начинающего программиста от старшего.
Когда вы показываете кусок кода старшему программисту, он, скорее всего, сделает несколько вещей. Сначала выясните, что он делает. Во-вторых, понять, как это работает. В-третьих, угадайте проблему, которую решает код. В-четвертых, возможно, найдите способы сделать код лучше, чище или быстрее, или все это. Попробуйте показать тот же кусок кода новичку и посмотрите, что произойдет.
Чтение чужого кода полезно просто для проверки того, насколько хорошо вы читаете код. Это также очень хороший способ улучшить свои навыки программирования и отточить свой стиль. Оба помогут вам стать лучшим программистом. Когда вы читаете код других людей, вы можете увидеть, как они работают, думают, подходят к проблемам и как они их решают.
Это может помочь вам найти другие, возможно, лучшие способы написания кода, а также мышления. И иногда чтение чужого кода также может быть одним из лучших способов научиться не делать чего-либо, находя какие-то очень плохие примеры или некоторые очень хорошие. Я рекомендую найти хорошие. Вопрос в том, с чего лучше начать?
Выберите некоторых известных и уважаемых программистов и разработчиков. Это могут быть программисты в целом, или в определенной области, или работающие с определенным языком или структурой, или на них. Если у вас есть более опытный коллега, это также может быть хорошим вариантом. Кто бы вы ни выбрали, просто убедитесь, что он или она на высшем уровне.
Попробуйте парное программирование
Я думаю, что парное программирование - один из лучших способов стать лучшим программистом. Это также отличный способ изучить программирование в целом. Зачем? Это поможет вам увидеть вещи в действии. Когда вы читаете книги и статьи, вы не видите, как работает код и как каждое утверждение влияет на программу.
Это не такая проблема, если вы смотрите видеоуроки. Однако даже видеоуроки уступают парному программированию. Зачем? Когда вы что-то не понимаете, когда смотрите учебник, вы не можете попросить объяснения. Вы можете отправить сообщение автору, но это может занять некоторое время, прежде чем вы получите ответ, если вы вообще его получите.
Это не проблема в случае парного программирования. Когда вы чего-то не понимаете, вы можете спросить своего коллегу, друга или того, кем является человек рядом с вами. Если вы все еще не понимаете этого, после получения ответа вы можете спрашивать снова, снова и снова. Вы можете спросить, пока вы все понимаете, или пока этот человек не потеряет терпение.
Это то, что делает парное программирование очень хорошим инструментом для обучения начинающих или начинающих программистов. Когда у вас есть младший и старший разработчик, сидящий рядом, младший может учиться намного быстрее. Он может задавать вопросы по конкретным темам. Это поможет старшему программисту избежать потери времени, рассказывая о том, что младший уже знает.
Помимо этого, парное программирование также лучше, чем учебные пособия, потому что оно предлагает практический опыт. В конце концов, это то, что такое парное программирование. И старший, и младший встанут перед клавиатурой и напишут код, а не только старший. Это все еще не самый лучший.
Самое приятное, что парное программирование всегда беспроигрышно. Одна победа в том, что младший научится многому за гораздо меньшее время. Вторая победа в том, что даже старший может извлечь из этого пользу. Преподавание может помочь старшему отточить свои навыки, стереть то, что может почти забыть, возможно, найти пути, где он может улучшить свои навыки.
Наконец, парное программирование также является хорошим инструментом для построения команды и создания отношений. Это также более интересно и интересно, особенно для более интровертных программистов. Спорт, игры и другие мероприятия могут быть полезны для некоторых людей. Однако это может не сработать для других. Для этих людей парное программирование может быть решением.
Следует помнить одну вещь, если вы хотите попробовать парное программирование, чтобы стать лучшим программистом. Следите за тем, чтобы каждый человек, находящийся на связи, регулярно находился перед клавиатурой. Помните, парное программирование - это не «я говорю, вы слушаете». Это должно быть что-то вроде «Я говорю, вы слушаете, каждый может спросить, и каждый пишет какой-то код».
Оригинал статьи - http://rapprogtrain.com/article/36