Одиночество и радость программирования

Здесь я иду! Это рассказ о новом проекте, но это также история обо мне! Я думал, что никогда не напишу о себе, но считаю, что необходимо разобраться в причинах Проекта PassPill.

2017. Одиночество программирования.

Я разработчик программного обеспечения.

Это действительно здорово, потому что я могу создавать оригинальные материалы, просто используя свой компьютер, а магия Интернета может распространять их по всему миру, чтобы все знали! ★ ❤ ♥ ⋆⋆⋆

Мои друзья говорят так:

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

Конечно, у меня есть свои идеи, и мне всегда нравится воплощать их в жизнь. Мои друзья не знают, что иногда это самая неблагодарная работа в мире.

Я реализовал многие из своих идей, и мне это нравится. В 2017 году я потратил свободное время на создание веб-приложения, которое позволяет осуществлять обмен видео языками в браузере. Разве это не отличная идея? Сейчас он полностью функционален, вы могли бы использовать его, чтобы за секунды найти носителя испанского языка и сразу же начать практиковать испанский… если бы он был опубликован. Его имя было Parlator.

Причина провала этого проекта в том, что он был слишком большим, чтобы его мог выполнить один человек.

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

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

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

Для моих товарищей по команде проект никогда не имел такого же приоритета, как для меня. Каждую неделю они извинялись за то, что не смогли добиться прогресса. Их настоящая работа отнимала у них слишком много времени (я могу сказать то же самое), но им понравился проект, и они собирались посвятить больше часов на следующей неделе.

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

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

Тогда у меня был еще один шанс отказаться от проекта… но я этого не сделал. Я искал новую команду и снова нашел новую группу занятых людей, заинтересованных в проекте :)

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

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

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

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

2018. Радость программирования

Так грустно, не правда ли? Но новый год начался, и это хороший повод для перемен, поэтому моя цель на 2018 год - это… начать еще один программный проект! Даже больше, чем в 2017 году! ★ ❤ ♥ ⋆⋆⋆

Я думал о чем-то другом, не связанном с компьютерами, но ничего не могу поделать: я люблю кодировать, и у меня возникла хорошая идея!

В этом году я хочу наслаждаться программированием. Разве нельзя сохранить все хорошие части программирования и ни одну из плохих? Если это не приносит мне счастья, зачем мне это делать?

Положительные стороны баланса кодирования - это большой вес:

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

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

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

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

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

Я буду писать технические статьи, я люблю Javascript, так что вы можете ожидать хороших сообщений о React во внешнем интерфейсе и Node.js в бэкенде. Но это будет больше, чем подсказки по коду. Я хотел бы написать обо всем, что связано с процессом создания программного проекта, например, об управлении проектами, сборе и анализе данных или развитии бизнеса.

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

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

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

Добро пожаловать на борт! Хлопайте, если вам понравился план, и подписывайтесь на @passpillio в твиттере, чтобы не пропустить статью.