Года три назад я опубликовал рассказ о приложении Follow для Twitter, которое сделал еще в старшей школе, и о том, как оно собрало 150 000 скачиваний за два года. В той статье я мимоходом упомянул, что мои первые шаги в программировании — это отдельная, еще более пространная история. Теперь эта история перед вами.
На сегодняшний день прошло уже девять лет (ничего себе!) с того момента, как мне впервые предложили работу, связанную с написанием кода. Не то чтобы у меня была какая-то официальная должность, но я писал скрипты на Java. Чтобы дать вам более полную картину: десять лет назад мне было тринадцать, я учился в девятом классе и весь мой опыт программирования составлял три месяца самостоятельных занятий. За следующую пару лет я заработал 200 000 $ чистого дохода. Вот как это было.
Все началось тогда, когда я с головой окунулся в мир компьютерных игр. Большую часть времени я резался в Call of Duty, Gears of War, Runescape и любые другие тайтлы, которые попадали мне мне в руки. Мы с друзьями каждый день устраивали совместные игровые сессии и постепенно стали общаться онлайн, вместо того чтобы весь день проводить на улице.
Самой затягивающей игрой была Runescape. Я очень быстро подсел на эту популярную онлайн РПГ. Если кто не знает, она была написана на Java. Несколько раз понаблюдав за тем, как загружается игра, я стал испытывать интерес к этому языку, что и привело к дальнейшему погружению в программирование.
С каждым новым запросом в Google становилось все яснее: если я научусь писать код, то смогу создавать свои собственные программы. От самой мысли об этом мне сносило крышу. Это было только начало, и в следующие несколько месяцев мой интерес к программированию все возрастал и возрастал.
Вскоре после того, как я познал могущество Java, где-то в Сети мне на глаза попалась книга Teach Yourself Java in 21 days. Я скачал Eclipse и принялся за дело. Эта книга меня затянула и, хотя я оставался заядлым геймером, новое хобби нравилось мне с каждым днем все больше.
Каждый день я возвращался из школы и, как заведенный, делал домашние дела, играл в игры, писал код. Прошло совсем немного времени, и я уже мог применять свои знания по программированию на практике. Я писал скрипты для сканирования документов, создания рандомных интерфейсов и даже сделал программку, которая решала за меня алгебру.
На этом этапе жизни ощущения были такими, словно у меня прорезалась сверхспособность, и никто об этом не знает. Преисполненный энтузиазмом, я рассказал другу, что осваиваю Java, и стал уговаривать его присоединиться. Но он только отмахнулся и вернулся к играм. Тут я понял, что программированию мне предстоит обучаться в одиночестве, и решил продолжать своими силами, никому не рассказывая, даже своей семье.
Прошло несколько месяцев и мне начало действовать на нервы то, как медленно я продвигаюсь в Runescape. Я отправился на охоту за читами. К моему удивлению, в ходе поисков обнаружилась куча макросов, ботов, и скриптов, которые могли безостановочно автоматически играть за игрока. Меня это очень заинтриговало. Я перепробовал все боты, которые мне попадались, но больше часть из них никуда не годилась.
Так все и продолжалось, пока я не наткнулся на сообщество, которое предлагало бесплатный клиент-бот, и даже с кастомными скриптами. Я зарегистрировался на форуме, даже не подозревая, что в ближайшую пару месяцев вся моя жизнь перевернется.
В этом сообществе было все, о чем подросток вроде меня мог только мечтать! За следующий месяц я испытал скриптов двадцать, не меньше. Какие-то из них предназначались для рубки леса, какие-то — для сражений с монстрами, а какие-то — для квестов. Просто поразительно, сколько всего могли переделать эти боты без какого-либо вмешательства со стороны игрока.
Я заметил, что скрипты тоже были написаны на Java, но мысль сделать такой своими руками не приходила мне в голову. Незадолго после того, как я прибегнул к читам, мой аккаунт попал под вечный бан, причем по причинам, никак не связанным с ботами (такой вот я везучий). Меня это просто убило. Помню, как сидел в своей комнате и чуть не плакал из-за того, что аккаунт, на который я потратил столько часов своей жизни, заморозили. Я обращался в Jagex (компанию, которая создала Runescape) с мольбами отменить бан, но они были непреклонны, и мне оставалось только смириться.
Целую неделю я злился, грустил и пребывал в некоторой растерянности. Почему я злился и грустил, догадаться несложно — ведь я потерял то, чем очень дорожил. Но при этом я был также и растерян. Чем мне теперь заниматься? На что тратить свое время? Что я скажу друзьям?
Много вопросов и никаких ответов. Через какое-то время меня озарило, и я решил создать новый аккаунт. Идея была такая: я буду использовать читы, чтобы дойти до своих прежних стат как можно быстрее. Я поставил перед собой цель вернуться на исходный уровень, но возникла небольшая проблема.
На прошлом аккаунте у меня были хорошие статы по сражениям, но на тот момент в сообществе было мало ботов, которые могли сражаться за игрока. Я стал искать в других местах. Мне попался один бот, предназначенный для сражений с цыплятами, и я подумал: а почему только с цыплятами? Почему не со всеми монстрами?
Я просмотрел код и увидел, что понадобится всего несколько модификаций, чтобы создать бот, который сможет одолеть любого монстра из игры. Воспользовавшись своими свежеприобретенными навыками программирования и проявив сверх того немного креативности, я сделал GenericFighter — первый универсальный бот для сражений.
После кое-каких мелких правок и тестов я был уверен, что GenericFighter готов. Какого бы монстра я ни ставил против него, он одерживал блистательную победу. Мне не терпелось не только самому им воспользоваться, но и представить его сообществу.
Через несколько недель мой бот вошел в число самых популярных но форуме, а мои статы в Runescape поднялись до старых значений. Я получил много лестных отзывов, но на этом дело не кончилось. Мне стали приходить просьбы добавить новые возможности и оповещения о багах. Я подсел на программирование, и восторг от того, что людям нравится моя работа, подстегивал меня, заставляя продолжать.
Так продолжалось несколько месяцев. Необходимость поддерживать бот вынуждала меня пркачивать свои навыки, и в конечном итоге я изучил Java на гораздо более глубоком уровне. На тот момент я не задумывался о широком контексте. Я даже не подозревал, что основатели форума планируют вывести мой проект на новый уровень.
Теперь я играл куда меньше и большую часть времени проводил за усовершенствованием своего бота. Мой упорный труд привлек внимание. В один прекрасный день со мной связались основатели сообщества. Они работали над созданием премиум-маркетплейса ботов, где авторы могли бы продавать свои скрипты. Я был настроен скептически, но решил присоединиться. Вскоре я скооперировался с владельцем RSBots.net и вместе мы выпустили премиум-бота AutoFighter Pro.
AutoFighter Pro был выставлен за 12.99 $ — на фоне других скриптов это была низкая цена. Не буду вдаваться в детали того, как заработанные деньги делились между авторами, основателями и продавцами. Скажу только, что с начала июня 2009 года до конца октября 2011 года AutoFighter Pro купили 30 000 раз. Считайте сами.
История списаний
От месяца к месяцу продажи только росли, падений почти не наблюдалось. По мере того, как платформа расширялась, основатели приглашали все больше авторов и продавцов торговать скриптами. То, что когда-то было маленькой, сплоченной группой, стало большим сообществом с высокой конкуренцией.
Не успели мы оглянуться, как авторы стали копировать друг у друга скрипты и пытаться побить конкурентов за счет функционала, юзабилити или ценовой политики. Приходилось уже не только писать код, но и продавать свой продукт и себя. Я быстро усвоил, что в конкурентной борьбе имеет значение каждая деталь.
Сам того не зная, я балансировал в то время между позициями программиста и менеджера продукта. Я изучал фидбек пользователей, планировал новые функции, проявлял активность на форуме и постоянно готовил новые апдейты — для меня это было нормой.
В этой гонке нельзя было останавливаться ни на миг. Пользователи использовали боты не только для личных нужд, на них были завязаны целые бизнесы. Торговля GP и аккаунтами с хорошими статами была тогда распространенным явлением, и чтобы удовлетворять спрос приходилось работать на износ.
Начиная с лета, когда я перешел в старшую школу, до самого начала выпускного класса моя жизнь выглядела так: отучился, переделал домашние дела за час и сел за код на весь вечер. В какой-то мере это даже стало сказываться на моих школьных успехах — до такой степени я сосредоточился на усовершенствовании своего продукта. Программирование стало для меня главным приоритетом, я отдавал AutoFighter Pro все свое время.
На пике своего развития скрипт позволял сражаться с несколькими монстрами одновременно, исцелял игрока, автоматически отсылал ответы персонажам других игроков, и это еще далеко не весь его функционал. Но, как вы уже, наверное, догадались, вечно это продолжаться не могло.
После года или около того торговли скриптами на основателей подали в суд. Они боролись из-за всех сил и протянули еще год, но в конце концов, за несколько дней до моего семнадцатилетняя все-таки проиграли дело. В итоги были закрыты все сайты, на которых продавали премиум-ботов, и форумы основателей.
Скажу честно: когда только начинал, я не планировал никому рассказывать о том, что делаю. Я радовался, что все так хорошо идет, но немного и беспокоился, потому что не знал, как быть дальше.
И кому же я рассказал обо всем в первую очередь? Моей маме. Как она к этому отнеслась? Она была заинтригована, слегка сбита с толку и самую малость встревожена. Она не могла понять, чем именно я занимаюсь, как в это ввязался и почему люди мне платят. Отец отреагировал примерно так же, но они были рады за меня и поддерживали мой выбор при условии, что я буду оставаться под защитой закона. Больше до конца школы я никому ничего не говорил.
Сейчас вы, наверное, думаете: куда пацан вроде меня мог потратить столько денег? Ну, среди прочего я помог семье выплатить долги, съездил с родителями в Disney World и кое-что отложил на себя. Оглядываясь назад, эта возможность пришлась нам как нельзя более кстати. США в то время переживали кризис, и нам, как и миллионам других людей, приходилось нелегко — но я могу с гордостью сказать, что мои усилия смягчили удар.
Статистика Follow в Play Store
С тех пор я занимаюсь программированием, дизайном и ведением продуктов. Вскоре после того, как работа над ботами прекратилась, я употребил освободившиеся время на то, чтобы научиться разработке под Android. В феврале 2012 я запустил Follow, приложение для Twitter, которое отслеживало, кто отписался от пользователя, кто на него подписался и на кого не подписан он сам. Всего за несколько месяцев приложение собрало 20 000 скачиваний. О том, как оно вышло на 150 000 скачиваний, я уже писал, а сейчас общее число установок превысило 200 000.
После третьего семестра я бросил колледж и основал продуктовую компанию Puricode. Мы хотели делать инструменты для малого бизнеса и стартапов, а также продукты для внутренних нужд. Первым нашим продуктом стал Runn — приложение по доставке товаров по требованию для колледжей. Мы провели бета-тестирование в студенческом городке Университета Уэйна, что наделало там много шума и подтолкнуло нас отправить Марку Кубану «холодное» письмо с предложением инвестировать в проект.
Спустя два года мы прекратили работу над Runn и переключили внимание на другие проекты. Вдобавок к собственным исканиям мне довелось поработать в нескольких отличных компаниях — Nexient, Ford и Nima Labs. Сейчас я живу в Санта-Монике и работаю над SafePGP — криптографическим инструментом, который также позволяет заниматься криптотрейдингом. Мне очень повезло, что любимое детское увлечение стало для меня профессией, я не могу себе представить, как занимался бы чем-то другим. Спасибо, что прочитали эту статью!
На сегодняшний день прошло уже девять лет (ничего себе!) с того момента, как мне впервые предложили работу, связанную с написанием кода. Не то чтобы у меня была какая-то официальная должность, но я писал скрипты на Java. Чтобы дать вам более полную картину: десять лет назад мне было тринадцать, я учился в девятом классе и весь мой опыт программирования составлял три месяца самостоятельных занятий. За следующую пару лет я заработал 200 000 $ чистого дохода. Вот как это было.
От геймерства к коду
Все началось тогда, когда я с головой окунулся в мир компьютерных игр. Большую часть времени я резался в Call of Duty, Gears of War, Runescape и любые другие тайтлы, которые попадали мне мне в руки. Мы с друзьями каждый день устраивали совместные игровые сессии и постепенно стали общаться онлайн, вместо того чтобы весь день проводить на улице.
Самой затягивающей игрой была Runescape. Я очень быстро подсел на эту популярную онлайн РПГ. Если кто не знает, она была написана на Java. Несколько раз понаблюдав за тем, как загружается игра, я стал испытывать интерес к этому языку, что и привело к дальнейшему погружению в программирование.
С каждым новым запросом в Google становилось все яснее: если я научусь писать код, то смогу создавать свои собственные программы. От самой мысли об этом мне сносило крышу. Это было только начало, и в следующие несколько месяцев мой интерес к программированию все возрастал и возрастал.
Вскоре после того, как я познал могущество Java, где-то в Сети мне на глаза попалась книга Teach Yourself Java in 21 days. Я скачал Eclipse и принялся за дело. Эта книга меня затянула и, хотя я оставался заядлым геймером, новое хобби нравилось мне с каждым днем все больше.
Каждый день я возвращался из школы и, как заведенный, делал домашние дела, играл в игры, писал код. Прошло совсем немного времени, и я уже мог применять свои знания по программированию на практике. Я писал скрипты для сканирования документов, создания рандомных интерфейсов и даже сделал программку, которая решала за меня алгебру.
На этом этапе жизни ощущения были такими, словно у меня прорезалась сверхспособность, и никто об этом не знает. Преисполненный энтузиазмом, я рассказал другу, что осваиваю Java, и стал уговаривать его присоединиться. Но он только отмахнулся и вернулся к играм. Тут я понял, что программированию мне предстоит обучаться в одиночестве, и решил продолжать своими силами, никому не рассказывая, даже своей семье.
Углубляясь в программирование
Прошло несколько месяцев и мне начало действовать на нервы то, как медленно я продвигаюсь в Runescape. Я отправился на охоту за читами. К моему удивлению, в ходе поисков обнаружилась куча макросов, ботов, и скриптов, которые могли безостановочно автоматически играть за игрока. Меня это очень заинтриговало. Я перепробовал все боты, которые мне попадались, но больше часть из них никуда не годилась.
Так все и продолжалось, пока я не наткнулся на сообщество, которое предлагало бесплатный клиент-бот, и даже с кастомными скриптами. Я зарегистрировался на форуме, даже не подозревая, что в ближайшую пару месяцев вся моя жизнь перевернется.
В этом сообществе было все, о чем подросток вроде меня мог только мечтать! За следующий месяц я испытал скриптов двадцать, не меньше. Какие-то из них предназначались для рубки леса, какие-то — для сражений с монстрами, а какие-то — для квестов. Просто поразительно, сколько всего могли переделать эти боты без какого-либо вмешательства со стороны игрока.
Я заметил, что скрипты тоже были написаны на Java, но мысль сделать такой своими руками не приходила мне в голову. Незадолго после того, как я прибегнул к читам, мой аккаунт попал под вечный бан, причем по причинам, никак не связанным с ботами (такой вот я везучий). Меня это просто убило. Помню, как сидел в своей комнате и чуть не плакал из-за того, что аккаунт, на который я потратил столько часов своей жизни, заморозили. Я обращался в Jagex (компанию, которая создала Runescape) с мольбами отменить бан, но они были непреклонны, и мне оставалось только смириться.
Лимонад из лимонов
Целую неделю я злился, грустил и пребывал в некоторой растерянности. Почему я злился и грустил, догадаться несложно — ведь я потерял то, чем очень дорожил. Но при этом я был также и растерян. Чем мне теперь заниматься? На что тратить свое время? Что я скажу друзьям?
Много вопросов и никаких ответов. Через какое-то время меня озарило, и я решил создать новый аккаунт. Идея была такая: я буду использовать читы, чтобы дойти до своих прежних стат как можно быстрее. Я поставил перед собой цель вернуться на исходный уровень, но возникла небольшая проблема.
На прошлом аккаунте у меня были хорошие статы по сражениям, но на тот момент в сообществе было мало ботов, которые могли сражаться за игрока. Я стал искать в других местах. Мне попался один бот, предназначенный для сражений с цыплятами, и я подумал: а почему только с цыплятами? Почему не со всеми монстрами?
Я просмотрел код и увидел, что понадобится всего несколько модификаций, чтобы создать бот, который сможет одолеть любого монстра из игры. Воспользовавшись своими свежеприобретенными навыками программирования и проявив сверх того немного креативности, я сделал GenericFighter — первый универсальный бот для сражений.
После кое-каких мелких правок и тестов я был уверен, что GenericFighter готов. Какого бы монстра я ни ставил против него, он одерживал блистательную победу. Мне не терпелось не только самому им воспользоваться, но и представить его сообществу.
Через несколько недель мой бот вошел в число самых популярных но форуме, а мои статы в Runescape поднялись до старых значений. Я получил много лестных отзывов, но на этом дело не кончилось. Мне стали приходить просьбы добавить новые возможности и оповещения о багах. Я подсел на программирование, и восторг от того, что людям нравится моя работа, подстегивал меня, заставляя продолжать.
Так продолжалось несколько месяцев. Необходимость поддерживать бот вынуждала меня пркачивать свои навыки, и в конечном итоге я изучил Java на гораздо более глубоком уровне. На тот момент я не задумывался о широком контексте. Я даже не подозревал, что основатели форума планируют вывести мой проект на новый уровень.
Я подсел на код, и люди это заметили
Теперь я играл куда меньше и большую часть времени проводил за усовершенствованием своего бота. Мой упорный труд привлек внимание. В один прекрасный день со мной связались основатели сообщества. Они работали над созданием премиум-маркетплейса ботов, где авторы могли бы продавать свои скрипты. Я был настроен скептически, но решил присоединиться. Вскоре я скооперировался с владельцем RSBots.net и вместе мы выпустили премиум-бота AutoFighter Pro.
AutoFighter Pro был выставлен за 12.99 $ — на фоне других скриптов это была низкая цена. Не буду вдаваться в детали того, как заработанные деньги делились между авторами, основателями и продавцами. Скажу только, что с начала июня 2009 года до конца октября 2011 года AutoFighter Pro купили 30 000 раз. Считайте сами.
История списаний
От месяца к месяцу продажи только росли, падений почти не наблюдалось. По мере того, как платформа расширялась, основатели приглашали все больше авторов и продавцов торговать скриптами. То, что когда-то было маленькой, сплоченной группой, стало большим сообществом с высокой конкуренцией.
Не успели мы оглянуться, как авторы стали копировать друг у друга скрипты и пытаться побить конкурентов за счет функционала, юзабилити или ценовой политики. Приходилось уже не только писать код, но и продавать свой продукт и себя. Я быстро усвоил, что в конкурентной борьбе имеет значение каждая деталь.
Сам того не зная, я балансировал в то время между позициями программиста и менеджера продукта. Я изучал фидбек пользователей, планировал новые функции, проявлял активность на форуме и постоянно готовил новые апдейты — для меня это было нормой.
В этой гонке нельзя было останавливаться ни на миг. Пользователи использовали боты не только для личных нужд, на них были завязаны целые бизнесы. Торговля GP и аккаунтами с хорошими статами была тогда распространенным явлением, и чтобы удовлетворять спрос приходилось работать на износ.
Собираются тучи
Начиная с лета, когда я перешел в старшую школу, до самого начала выпускного класса моя жизнь выглядела так: отучился, переделал домашние дела за час и сел за код на весь вечер. В какой-то мере это даже стало сказываться на моих школьных успехах — до такой степени я сосредоточился на усовершенствовании своего продукта. Программирование стало для меня главным приоритетом, я отдавал AutoFighter Pro все свое время.
На пике своего развития скрипт позволял сражаться с несколькими монстрами одновременно, исцелял игрока, автоматически отсылал ответы персонажам других игроков, и это еще далеко не весь его функционал. Но, как вы уже, наверное, догадались, вечно это продолжаться не могло.
После года или около того торговли скриптами на основателей подали в суд. Они боролись из-за всех сил и протянули еще год, но в конце концов, за несколько дней до моего семнадцатилетняя все-таки проиграли дело. В итоги были закрыты все сайты, на которых продавали премиум-ботов, и форумы основателей.
Скажу честно: когда только начинал, я не планировал никому рассказывать о том, что делаю. Я радовался, что все так хорошо идет, но немного и беспокоился, потому что не знал, как быть дальше.
И кому же я рассказал обо всем в первую очередь? Моей маме. Как она к этому отнеслась? Она была заинтригована, слегка сбита с толку и самую малость встревожена. Она не могла понять, чем именно я занимаюсь, как в это ввязался и почему люди мне платят. Отец отреагировал примерно так же, но они были рады за меня и поддерживали мой выбор при условии, что я буду оставаться под защитой закона. Больше до конца школы я никому ничего не говорил.
Сейчас вы, наверное, думаете: куда пацан вроде меня мог потратить столько денег? Ну, среди прочего я помог семье выплатить долги, съездил с родителями в Disney World и кое-что отложил на себя. Оглядываясь назад, эта возможность пришлась нам как нельзя более кстати. США в то время переживали кризис, и нам, как и миллионам других людей, приходилось нелегко — но я могу с гордостью сказать, что мои усилия смягчили удар.
Игры и программирование изменили мою жизнь
Статистика Follow в Play Store
С тех пор я занимаюсь программированием, дизайном и ведением продуктов. Вскоре после того, как работа над ботами прекратилась, я употребил освободившиеся время на то, чтобы научиться разработке под Android. В феврале 2012 я запустил Follow, приложение для Twitter, которое отслеживало, кто отписался от пользователя, кто на него подписался и на кого не подписан он сам. Всего за несколько месяцев приложение собрало 20 000 скачиваний. О том, как оно вышло на 150 000 скачиваний, я уже писал, а сейчас общее число установок превысило 200 000.
После третьего семестра я бросил колледж и основал продуктовую компанию Puricode. Мы хотели делать инструменты для малого бизнеса и стартапов, а также продукты для внутренних нужд. Первым нашим продуктом стал Runn — приложение по доставке товаров по требованию для колледжей. Мы провели бета-тестирование в студенческом городке Университета Уэйна, что наделало там много шума и подтолкнуло нас отправить Марку Кубану «холодное» письмо с предложением инвестировать в проект.
Спустя два года мы прекратили работу над Runn и переключили внимание на другие проекты. Вдобавок к собственным исканиям мне довелось поработать в нескольких отличных компаниях — Nexient, Ford и Nima Labs. Сейчас я живу в Санта-Монике и работаю над SafePGP — криптографическим инструментом, который также позволяет заниматься криптотрейдингом. Мне очень повезло, что любимое детское увлечение стало для меня профессией, я не могу себе представить, как занимался бы чем-то другим. Спасибо, что прочитали эту статью!