Учимся добиваться успеха через 96 неудач
Я понятия не имею, сколько разных программных проектов для любителей я начал и бросил за свою жизнь. Давайте просто предположим, что я работал над 3 сторонними проектами каждый год с 1987 года, когда я начал программировать для удовольствия.
Получится число 96, что звучит гораздо точнее, чем 100, так что давайте так.
Я начинал эти проекты с интересом, целями, азартом, и мне они нравились, потом… по какой-то причине нет. Конечно, иногда я завершал проекты, но чаще всего я отказывался от них ради чего-то нового. Иногда я терял интерес, иногда жизнь прерывала меня и сбивала с пути мой импульс, иногда у меня заканчивались новые вещи, которые нужно было узнать, или я действительно хотел попробовать что-то новое. Иногда я разочаровывался в коде, который соткал, и гораздо чаще я понимал, что откусываю гораздо больше, чем могу проглотить.
Вот и я, спустя более 30 лет после начала этого пути, я могу с абсолютной уверенностью сказать вам, что каждый из этих проектов стоил того, чтобы продолжаться — и от него стоило отказаться в надлежащее время.
Почему? Потому что каждый проект учил меня, как добиться успеха и как не потерпеть неудачу.
Каждый проект научил меня тому, как архитектурный выбор, который я делал на раннем этапе, приводил к разочарованию или повышению производительности.
Каждый проект позволял мне попробовать новую библиотеку, методику или решить новую проблему и извлечь из нее уроки, а каждый следующий проект давал мне возможность продолжать использовать то, что работало, и отказываться от того, что не работало.
Каждый проект приносил мне свои уникальные проблемы и ограничения, которые я должен был обдумать и обойти, и каждый следующий проект учил меня, как планировать с учетом этих факторов.
Каждый проект показывал мне новые и неожиданные ошибки, помогая мне понять, как — и почему — код дает сбой, а каждый следующий проект учил меня, как сделать подобные дефекты невозможными.
Короче говоря, каждый побочный проект был страховочной сеткой, которая позволяла мне попробовать что-то новое и преуспеть или потерпеть неудачу — без остановки производственного сервера, не заставляя пользователя получить фатальную ошибку или столкнуться с поврежденными данными.
Попытки сделать что-то наедине дали мне навыки, инструменты и опыт, необходимые для успеха на публике. Это дало мне мудрость, необходимую мне, чтобы избегать вещей, которые не работают с производственным кодом. Это дало мне терпение, необходимое для ежедневной работы с одним и тем же типом производственного кода без внесения ненужных изменений. Это дало мне широкий набор инструментов для внесения радикальных и правильных изменений, когда это было необходимо.
Вероятно, самое главное, это дало мне знания о том, как создавать приложения с нуля. Большинство людей не получают такого опыта на регулярной основе на работе, так как же вы можете добиться в этом успеха, кроме как пытаться снова и снова?
Продолжайте пробовать и не бойтесь потерпеть неудачу 96 и более раз.
Первоначально опубликовано на https://dev.to 26 сентября 2019 г.