Как стать хорошим программистом?

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

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

1. Учиться на практике

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

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

Я слышу и забываю. Я вижу и помню. Я верю и понимаю.
Конфуций

2. Шаг за шагом

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

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

Сосредоточьтесь на том, чтобы сначала заработать 1 доллар. Затем сосредоточьтесь на 10 долларах, затем на 100, 1000, 10 000 долларов и так далее.

Не зацикливайтесь на долгосрочной перспективе, когда краткосрочную перспективу нужно сосредоточить прежде всего.

3. Изучите техники, а не инструменты.

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

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

4. Сотрудничайте с другими разработчиками.

Есть известная поговорка:

Если хочешь ехать быстро, иди один. Если хочешь далеко уйти, то иди вместе.

Африканская пословица

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

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

5. Не копируйте код.

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

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

6. Вы тоже можете ошибаться.

Очевидно одно: «человек слишком ошибается». Неважно, сколько у вас опыта x лет. Важно то, как вы подходите к своему коду. Если вы думаете, что ваш код - лучший код, и никто не может написать его лучше, пришло время проверить реальность. Вместо того, чтобы пытаться доказать, что вы написали выдающийся код, попробуйте написать тест, чтобы доказать, что в этом коде есть недостатки.

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

7. Эксперименты.

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

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

Вывод

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

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

Больше контента на plainenglish.io