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

Рассвет возможностей

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

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

Однако, несмотря на существование непрерывного потока спроса и возможностей, конкуренция никогда не прекращала расти, и ставки, по сути, никогда не были выше, чем сегодня. Если статистика верна, разрушительные 90% новых стартапов терпят неудачу каждый год, и тогда только 40% выживших действительно удается получить прибыль. Кроме того, только 33% стартапов доживают до 10-летней отметки.

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

Возврат приквела

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

Сразу после того, как я ушел, у меня возникла идея, одна из тех параноидальных:

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

Я знаю, это может показаться придиркой. Мол, это работа, она не должна быть интересной все время, просто займись ею! Конечно, все эти аргументы вполне разумны, но позвольте мне объяснить вам одну вещь о разработчиках. Их бывает два типа:

  • Первый - это те, кто видит свою повседневную работу… ну, как настоящую.
  • Второй - это те, кто занимается своей работой программистом как хобби.

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

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

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

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

"Глаз тигра"

Что вы будете делать, если у вас есть четкое видение того, как объединить набор различных, перспективных, передовых технологий в амбициозную задачу с энтузиазмом? Правильно, вам следует запустить стартап!

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

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

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

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

Я также хотел специально использовать Go в качестве основного языка программирования для серверной части, потому что недавно я решил перейти на него после 5 лет опыта разработки .NET. Я по-прежнему признаю, что C # - один из самых удобных языков для использования, особенно для корпоративной разработки. Это в основном из-за точного баланса между функциональностью и синтаксическим сахаром, которые постоянно улучшаются и расширяются с помощью ежегодных обновлений. Тем не менее, в настоящее время я предпочитаю Go.

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

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

Кеды, правда?

Помня все это, я создал репозиторий GitHub, и пять месяцев спустя, после чего-то вроде 950 коммитов, наконец, я рад представить вам Kicksware!

В конечном итоге это становится некоммерческой, ориентированной на кроссовки платформой с открытым исходным кодом, где вы можете просматривать тысячи новейших и архивных моделей кроссовок, чтобы перенаправить их туда, где вы действительно можете купить их (в основном Стадионный товар и КОЗЬ). Кроме того, вы можете рекламировать свои кроссовки как продукт и просматривать обязательства других. Однако продавать их на самом деле нельзя, потому что Kicksware служит только для исследований, обучения и демонстрации. Но если вы действительно хотите, я рекомендую перейти на Grailed или StockX, которые особенно подходят для этого.

И, конечно же, было бы глупо не связывать и мой веб-сайт, поэтому подумайте о том, чтобы посетить kicksware.com, щелкнув или введя вручную URL-адрес, или просто погуглить, так что мои недавние открытия в SEO действительно того стоит.



Последние мысли

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

В этой статье я лишь коснулся поверхности, и мне еще есть что рассказать. Например, о подводных камнях, в которые я попал при развертывании на Kubernetes, или о том, почему я фактически отказался от использования C #, даже о том, как меня учили проблемам безопасности только на собственном горьком опыте.

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

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

В конце концов, попробуйте!
Не бойтесь творить!