Какстать крутым разработчиком!

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

1. Мышление

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

Кроме того, быть хорошим программистом — это гораздо больше, чем иметь талант решать проблемы: это больше похоже на вид искусства, на игру на музыкальном инструменте. Вы изучите различные ноты и приемы, а затем попробуете применить свои знания. Вы научитесь, ТОЛЬКО делая, и самое главное, это означает, что это может сделать каждый! Если вам повезет, у вас все получится с первого раза, но неизбежно большую часть времени вы столкнетесь с неудачей. Навыки программирования требуют времени и развиваются только путем проб и опыта. Так что помните, что не существует какого-то одного идеального метода написания хорошего кода или создания продукта. Часто существуют разные подходы, и умение адаптировать свои знания к конкретной ситуации и хорошо их обосновать — вот что делает хорошего программиста. Вы, как художник, можете выбрать, какой холст, какую технику и какой материал вы будете использовать для создания своего шедевра.

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

Быть хорошим программистом требует самоотверженности, страсти и тяжелой работы, потому что так много нужно знать и учиться. Но это не сложно, когда вы начнете. Если вы продолжаете строить что-то, не сдаетесь и верите в свои способности, вы можете и ДОЛЖНЫ достичь этого, если будете терпеливы. Вот что я имею в виду под «правильным» мышлением. Вы должны всегда сохранять позитивный настрой, когда пытаетесь изучить программирование (это верно для любого нового навыка). Часто ваше душевное состояние отражается на качестве кода, который вы создаете. Итак, когда вы застряли, вместо того, чтобы просто пробовать случайные вещи и молиться, чтобы что-то сработало, старайтесь всегда программировать целенаправленно, потому что так вы научитесь намного быстрее. Вы должны действительно понимать, почему вы что-то делаете, чтобы когда-либо преуспеть в этом. Вы станете лучше только в том случае, если будете сохранять непредвзятость и сосредоточивать внимание на том, что абсолютно необходимо. Так что не откладывайте, просто продолжайте оправдывать то, что вы внедряете, пробуйте разные подходы, и вы будете совершенствоваться по ходу дела.

2. Приверженность качеству кода

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

3. Уверенность

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

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

«Я не потерпел неудачу. Я только что нашел 10 000 способов, которые не работают». — Томас А. Эдисон

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

Спасибо за прочтение, надеюсь статья оказалась полезной.

Следите за запуском NextLevel: сетевого приложения для поиска соучредителей и деловых связей. Мы стремимся связать младших разработчиков, ищущих опыт, с предпринимателями, ищущими разработчиков. Подпишитесь на бета-версию сегодня на: www.nextlvel.com!

Кроме того, я хотел бы услышать вашу историю и посмотреть, смогу ли я чем-либо помочь. Не стесняйтесь обращаться ко мне по адресу: [email protected].