Свои проекты это и шанс сорвать «джекпот». Если хорошо чувствуете нишу, для которой разрабатываете программное обеспечение, и при этом решаете ряд проблем пользователей, есть большая вероятность востребованности вашей разработки. И тогда большое количество продаж с не меньшим количеством заказов на индивидуальную доработку вам обеспечено. Однажды пройдя этот успешный путь, вы уже не сможете остановиться и будете снова и снова придумывать и разрабатывать программный «продукт» в расчете, что он «прострелит».
Формула этого пути: учимся, делаем собственный проект, если «выстрелит» – пожинаем плоды (порой долгие годы), если нет, делаем следующий проект. Вероятность того, что проект удастся, просчитать, конечно, невозможно, но, как правило, тот проект, что «выстрелит», окупает затраты на все предыдущие, неудачные, иногда окупая с лихвой.
Однако тучи могут прийти оттуда, откуда не ждали – проект может затянуться (если выгорание настало раньше времени), или функционал получится не совсем тот, который хотели бы видеть пользователи, и, как следствие, продаж и спроса вы не увидите. А вместе с тем и прибыли, так необходимой для существования вашего дела и вас как личности. Уходя в творческий процесс разработки, нужен некий запас «жирка», это надо учитывать.
Аналогичным образом, как на фрилансе, всё, что касается соцпакета, ложится на ваши плечи. Более того, продавая свой «софт» тиражом, неплохо бы оформить как минимум ИП, завести бухгалтерию, разработать с юристом лицензионное соглашения между пользователем и вами (как автором и правообладателем).
Но самое тяжелое – поддержка уже готового, популярного проекта, когда сообщения от пользователей сыплются десятками в день. Это и благодарности, и пожелания об улучшении функционала программы, а порой критика, гнев, обиды и много чего еще. Кому-то не так ответили, кто-то неверно прочитал описание, кто-то рассчитывал на индивидуальный подход – со всем этим разбираться вам! Хотите список найденных ошибок в вашей программе? Пожалуйста! Получите – распишитесь. И не забудьте исправить их к завтрашнему утру, «выкатив» при этом очередное обновление.
По иронии, подобная «движуха», падая тяжелым грузом на ваши плечи, и есть тот самый максимальный «кайф», который можно получить, двигаясь путем собственных проектов. Это и есть то самое «признание»… За которым многие охотятся. И я уверен: если пойдете этой дорогой, у вас все непременно получится!
Ссылки
Для примера, приведу несколько коротких ссылок (сокращенных с помощью моего сервиса сокращений, чтобы вам было проще их набрать в строке браузера, если читаете текст на бумажном носителе), ведущих на мои странички профиля на фриланс-биржах, а также на некоторые мои проекты готовых программных решений.
Профиль на fl.ru, с чего я начинал путь во фрилансе. Хоть я там и не появлялся лет десять, в целом, данная фриланс-биржа классная: https://s.rche.ru/fl (https://s.rche.ru/fl).
Профиль на Kwork. За прошедший год я выполнил на нем больше сотни заказов и даже получил отрицательный отзыв (да, и такое бывает, это нормально): https://s.rche.ru/kw.
Готовое решение для торгового бизнеса. Это CMS/CRM система (два в одном) для сайта «Совместных покупок», дата релиза 2010 год, на его базе построено несколько сотен сайтов, проект актуален по сей день https://sp.rche.ru/ (https://sp.rche.ru/).
Готовое решение для страхового бизнеса. Это также CMS/CRM-система для сайта по страхованию, со встроенными калькуляторами стоимости страховки, личным кабинетом агента и многим другим, проект окупил себя, но не более https://s.rche.ru/icms (https://s.rche.ru/icms).
4. Войти в «айти» после двадцати
Когда мне исполнилось 23 года, у меня уже было больше миллиона долларов, в 24 года – больше 10 миллионов, а в 25 лет – больше 100 миллионов.
И всё это не имеет никакого значения, потому что я никогда ничего не делал просто ради денег.
Стив Джобс
Часто можно услышать рассуждение на тему, что в «айти» нужно входить как можно раньше, чуть ли не с детства, и, мол, после двадцати, когда вы уже окончили обучение в институте по другой специальности, в программисты идти поздно, или же непомерно сложно. Кто-то скажет, что уже и мозг не тот, – к двадцати пяти уже нет былой гибкости, – и прочее. Мое же твердое убеждение: в «айти» можно входить в любом возрасте, и если у вас есть желание, то не только можно, но и нужно! Конечно, в пятнадцать лет подрастающий ум схватывает всё куда быстрее, чем в двадцать пять или сорок лет. Главное правильно выбрать свой темп, скорость и объем обучения, а дальше дело, как говорится, «техники».
Я выделяю три основных способа войти в профессию.
Первый – выучиться на желаемую специальность в институте, потратив на это пять лет, защитить диплом, а затем трудоустроиться. Это вполне реально сделать в любом возрасте. К основным недостаткам данного пути, как вы понимаете, относится длительный срок обучения, а также сложность в освоении пятилетней программы, которая будет включать еще и общеобразовательные дисциплины. Про стоимость обучения в институте тоже забывать не нужно. А после двадцати, когда у многих появляются новые потребности, планы, цели, а вместе с ними и обязательства (кто-то вынужден работать, чтобы заработать «на жизнь», кто-то заводит отношения, а затем и семью), такой вариант как институт – это сравни покорению Эвереста. Не хочу демотивировать тех, кто все же задумывается о данном варианте – сложно не значит невозможно. Но давайте рассмотрим и другие варианты.
Второй вариант – обучающие специализированные курсы. Этот способ несколько проще чем институт, и если повезет – почему бы и нет. Всё, что нужно, – подобрать желаемую программу обучения, приступить к занятиям, и по итогу будете квалифицированным специалистом, после чего вас сразу же расхватают работодатели, наперебой предлагая зарплату по верху рынка… Друзья, это сарказм, конечно, не все так просто. Сразу возникает вопрос: как подобрать желаемую программу обучения, ничего не смысля в «айти»? Кроме как поверить обещаниям организаторов таких курсов, всесторонне доверившись им, получается, и вариантов-то больше нет. Хорошо, если с «курсом» повезет, в противном случае, вы рискуете потерять время, деньги (порой немалые) и, самое страшное, полностью разочароваться в выбранном вами пути «айтишника».
Сейчас много организаторов, предлагающих подобные курсы, обещающих за короткий срок в два или три месяца сделать из любого «профессионала экстра класса» (да именно так, я не преувеличиваю). Однако в большинстве случаев это невозможно, путь в профессионалы не такой быстрый! Стоимость же этих курсов порой варьируется на отметке пяти или десяти средних месячных зарплат по региону.
Поделюсь одной историей про моего приятеля, который в возрасте около сорока лет решил изменить жизнь и пойти в программисты (это однозначно похвально). Ранее он проделал гигантский путь специалиста, попробовал себя и в различных профессиях, и в предпринимательстве. С «компьютерами» тоже дело имел и кое-что смыслил в них. В общем, «парень» достаточно толковый. Он выбрал направление обучения на «Джуниора» (начинающего разработчика): «JavaScript-разработчик с нуля, для новичков», стоимость курса – около четырех тысяч долларов, сроком в два с половиной месяца, с прибытием в город организатора курса (то есть это еще дополнительные расходы). Вместе с курсом было много обещаний, различных бонусов и «фишек», а также гарантия трудоустройства по окончанию, с хорошей зарплатой (конечно же, если сдадите все экзамены «на отлично»).
И как-то раз он мне звонит и говорит, что уже длительное время не может разобраться с «прототипическим наследованием в JavaScript». Из-за этого тормозится обучение, прогресса не видно, и он рискует «сойти с дистанции». Спустя еще какое-то время он действительно приостановил (по факту, бросил) обучение, окончательно застряв на чем-то типа «Инварианты ловушек прокси и Reflect». Что, «б$#»? – скажете вы, и будете совершенно правы! Я хоть и не первый год в профессии, но сходу даже не могу припомнить, когда работал с «Proxy и Reflect». Инструмент однозначно полезный, но зачем он новичку? Если даже не все опытные программисты его используют.
Однако программа курса с лихвой отрабатывает запрошенные за неё деньги. Надо учить, как говорится, «от души», чтобы на выходе получился «достойный специалист». В этом и кроется главный недостаток подобных курсов – слишком быстро (в сжатые сроки) слишком много и слишком дорого. Если вы гений и схватываете все быстро – пробуйте. А я расскажу еще про один вариант.
Третий способ – входим в «айти» малыми шагами, постепенно, двигаясь медленно, без экстремальных нагрузок и «высоких чеков». Потреплем за бороду дедушку Вильфредо, того самого пресловутого Парето, уже оскомину набившего, который придумал правило «восемьдесят на двадцать»: 20% усилий дают 80% результата. Теория широко зарекомендовала себя в экономике, но точно также, практически безотказно, работает и по части программирования. 20% знаний в программировании позволят вам закрыть 80% всех поступающих задач (если вы не разработчик компилятора Malbolge, конечно). И я убежден: новичку этого вполне достаточно, чтобы трудоустроиться на позицию «джуна», выйти на фриланс или «написать» первый коммерческий продукт. Именно так я и начинал свой путь!
Однако это не значит, что можно изучить 20% какой-то технологии и остановиться. Как раз напротив, получив базовые знания в одной технологии, вы двигаетесь дальше, к следующей, затем к следующей. Таким образом развиваетесь не вглубь, а вширь. И при этом затрачиваете минимум усилий, получая максимум результата (в соотношении применимости получаемых знаний, можно сказать – КПД). Такой подход снижает риск, что вы «споткнетесь» на чем-то сложном, что возможно в обозримом будущем вам бы даже и не пригодилось (было бы обидно, да?).
Как известно, чтобы стать хорошим специалистом начинающего уровня в выбранной профессии, нужно владеть 20% знаний и затратить год. Чтобы стать хорошим специалистом среднего уровня, нужно владеть 80% знаний и затратить на это пять лет. Чтобы стать специалистом высокого уровня, постигнув все 100% знаний в выбранной области, может не хватить и целой жизни.
Как учиться? Выберите первую технологию, которую хотели бы освоить, например HTML, затем купите самоучитель (подойдет и бесплатный вариант) – «Основы для начинающих» (можно в электронном виде), сразу же потихоньку практикуйте, постоянно пользуйтесь поиском в интернете. Можно пройти какой-то базовый курс, желательно бесплатный. Все, что вам кажется сложным или непонятным, можете отложить на потом – наверстать всегда успеете. Ищите примеры готовых решений, в «сети» их множество, смотрите, как делали другие, изучайте, вникайте. Придумайте свой первый небольшой (чем меньше, тем лучше) проект и начните его реализовывать (не исключено, что даже он в будущем принесет вам прибыль, даже если будет совсем «простеньким», а идея не уникальной). Далее таким же способом осваивайте следующую технологию… Итеративный подход.
Интервью с веб-разработчиком Алексеем
Мой друг Леха серьезно заинтересовался веб-разработкой после тридцати, решив воплотить в свет свои идеи, которые у него назревали долгое время. Он с удовольствием откликнулся на мою просьбу дать небольшое интервью. Надеюсь вам будет интересно и полезно.
Почему ты решил заняться веб-разработкой?
С юношества с компьютером. С математикой тоже хорошо. Был опыт создания простеньких сайтов – всегда интересовало программирование, но было сложно. И только недавно желания хватило настолько, чтобы действительно начать в этом что-то понимать.
С чего ты начал: с чтения книг или с написания кода?
Полноценных книг по веб- или пхп-разработке я никогда не читал, лишь учебники и статьи. Несколько раз в течение многих лет я пытался изучать php. Но что-то не шло, может, не хватало мотивации или казалось сложным. С недавних пор снова решил попробовать разобраться, нагуглил небольшой учебник. И пошло: установил линукс, апач и после обучающих уроков проверял, как работают простейшие элементы кода (операторы, операции, циклы, условия, функции).
Какой у тебя был «бэкграунд» в сфере «айти» до этого?
Первый сайт я сделал в далёкие лет 14–15 (начало нулевых). Старший брат и его одноклассники тогда увлекались всем этим – сделать свой сайт. Меня же больше тянуло к играми, хотя и зацепило, решил, что тоже хочу сделать сайт. Он был для игрового «клана» в StarCraft. Что-то почитал, скопировал html-коды готовых сайтов и с этих копий делал что-то своё. Самое, наверное, сложное было – разобраться с таблицами. Тогда зачастую «фишкой» проектов являлись изменяющиеся кнопки при наведении курсора. Скопировал такой JS-код с сайта одноклассника брата. В программировании тогда не понимал абсолютно ничего, и потому гостевую книгу попросил сделать соседа. Он уже тогда в программировании буквально «варился» чуть ли не с детства. А чтобы разместить сайт понадобилось пойти в «Ростелеком» (раньше он назывался иначе и был единственным поставщиком интернета) и написать заявление. Через некоторое время выдали поддомен в региональной игровой зоне. Ну и так на протяжении нескольких лет: сайты, где из «программной» части только форма обратной связи (разумеется, скопирована из какой-то нагугленной статьи).
Что было сложнее всего на начальном этапе?
Заинтересованность в линуксе меня подтолкнула к решительному шагу изучения php. Более или менее понять, как с ним взаимодействовать, было непросто. Установить на линукс IDE с сервером было нелегко и разобраться, как это всё работает, плюс настроить. Это, наверное, самый демотивационный момент. Но где-то прочёл, что это входит в условия «быть программистом» и является частью программирования на сколько-то там процентов (10–20%, не помню) – чуть отпустило. К тому же в привычной Windows, вероятно, всё проще.
Сейчас уже и не вспомнить всего. Обычно мой метод – «научного тыка». Скопировал готовый код, изменил, посмотрел, что произошло. Не понимаю, как можно это понять только через теорию. Вероятно, нужно обладать сильным абстрактным мышлением. Мне же надо видеть глазами: как именно влияют те или иные параметры, если я их изменю. Сложно по мере разрастания проекта помнить, где что расположено и что за что отвечает. И если приходило понимание, что где-то код оказался «мудреным» – переделывать его (а это могут быть и цепочки кода). Также было сложно после создания проекта оптимизировать его под поисковые системы.
Тяжело ли было совмещать программирование с основными своими делами (работой)?
Нет, но у меня была подушка и уверенность в завтрашнем дне. А также дела не требовали много времени. Ну и, справедливости ради, нет обременения в виде семьи. Так что я от студента мало чем отличаюсь.
Какой стек-технологий ты охватил в первый месяц?
С html и css я уже был знаком довольно хорошо, с js – частично. Получается php, затем mysql, bash где-то параллельно. И до этого с ним был небольшой опыт.
Какой проект был для тебя самым сложным?
В основном занимаюсь собственными проектами. Часто идеи приходят уже во время создания или даже после. Добавлять в проекты что-то новое бывает довольно сложно. Намного проще, когда есть узкое ТЗ или готовая схема проекта с расписанным необходимым функционалом. Из функций, генерация ЧПУ (и обратное считывание ЧПУ ссылки) совместить с изменением страницы без её перезагрузки – пришлось повозиться.
Были ли разочарования (ожидание и реальность)?
Конечно, когда проекты оказываются не востребованы.
Приходилось ли сталкиваться с прокрастинацией, выгоранием?
Всю жизнь. Связана ли веб-разработка с этим? Скорее, на данный момент больше помогает. Как способ переключиться от одной деятельности к другой.
Где черпал вдохновение?