Статьи

Wizpert — мотивированная помощь

18 октября 2013 года я получил электронное письмо с приглашением на новую платформу Wizpert . Несмотря на то, что служба по ошибке определила меня как владельца блога Google для PHP-GAE, я кратко проверил его и сформировал поспешное мнение .

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

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

Что такое Wizpert?

Wizpert — это платформа, на которой специалисты в определенных областях могут зарегистрироваться как «Wizperts». Затем посетители имеют возможность обсудить их с вопросами, которые у них могут возникнуть по любой теме, доступной в настоящее время — от консультаций по отношениям до программирования.

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

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

По сути, это платная служба поддержки. Представьте себе, что у вас есть один на один на StackOverflow.com и (иногда) за это платят.

Технически, Wizpert очень хорошо сделан. Будучи очень молодыми, у них, конечно, есть некоторые ошибки, которые нужно сгладить, но их интеграция с Google Hangouts и Skype безупречна. Вы подключаете эти сервисы с помощью своей учетной записи Wizpert, и каждый раз, когда кто-то захочет пообщаться с вами, вы получите доступ к любому доступному. Можно утверждать, что этот подход создает слишком много беспорядка в Skype (см. Рис. 1), но это на самом деле не имеет большого значения.

Каков потенциал заработка?

Не хорошо. Когда посетители впервые регистрируются, они получают 100 рекламных монет. Вы можете получить эти монеты различными способами — даже просто посетив сайт в период запуска. Однако рекламные монеты нельзя обменять на деньги. Их можно использовать для увеличения продолжительности чата (каждый чат имеет 3-минутный вводный период, после которого он должен быть продлен либо Wizpert, либо посетителем), чтобы поговорить с другими экспертами и т. Д. Чтобы вознаграждать кого-либо, посетитель должен приобрести монеты — только купленные монеты можно обменять на деньги.

«Так, каковы соотношения?», Вы можете подумать. В моем первоначальном посте я пропустил один коэффициент конверсии и сделал просчет. Если при покупке монет вы переходите на страницу оформления заказа, появляется другая опция — 10 тыс. Монет за 200 долларов. Учитывая, что 30 тыс. Монет можно обменять на 500 долларов, это означает, что маржа платформы составляет 100 долларов (если и Wizpert, и посетители обмениваются только в лучшем соотношении), что, по общему признанию, довольно справедливо. Правильно, но все это все еще означает, что люди должны покупать монеты, чтобы вознаграждать тех, кого они считают особенно полезными, и никто на самом деле этого не делает. Или они?

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

Теперь, конечно, это все еще не сводится к большим деньгам. Даже если вы зарабатываете 1000 монет в день, это 30 тысяч в месяц, что составляет 500 долларов, без учета других сборов. Неплохо, как карманные деньги, особенно если вы проводите день, работая с открытым исходным кодом и помогая людям в любом случае, но не стоит бросать свою работу. Однако, есть кое-что еще, что мы заработаем, и мы немного вернемся к этому.

Как разработчик Wizpert, что именно я там делаю?

Давайте посмотрим на некоторые примеры вопросов (перефразировано):

Q1: «[…] Получить эту ошибку в строке 75 Фатальная ошибка: вызов функции-члена setTimezone() для необъекта»

  <div class="pending Incidents"> <table id="upcoming" width="100%" border="1"> <tr> <th width="20%" >Available Units</th> <th width="10%" >Recommended Station</th> <th width="20%" >Incident Type</th> <th width="40%" >Address/Location</th> <th width="5%" >P/U Time</th> <th width="5%" >Apt Time</th> </tr> <?php while ($fetchselupcoming = mysql_fetch_assoc($resultupcoming)) { ?> <tr> <?php $pickup = $fetchselupcoming['pu']; $apttime = date('H:i', strtotime($fetchselupcoming['at'])); echo "<td>"; echo "<form name=\"dispatch\" method=\"post\" action=\"dispatch.php\">". "<select name=\"unit\">".$option."</select>". "<input type=\"hidden\" name=\"status\" value=\"3\">". "<button type=\"button\">Dispatch</button>". "</form>". "</td>". "<td>".$fetchselupcoming['station']."</td>". "<td>".$fetchselupcoming['name']."</td>". "<td>".$fetchselupcoming['full_address_2']."</td>". "<td>" .$dt= new DateTime($pickup, new DateTimeZone('EST')). $dt->setTimezone(new DateTimeZone('America/Detroit')). $dt->format('H:i'). "</td>". "<td>" . "</td>"; ?> </tr> <?php };?> </table> </div> 

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

Первое, что мы делаем, это, таким образом, вставляем код в высококачественную IDE, такую ​​как PHPStorm . Затем мы запускаем автоформатор для восстановления макета, чтобы мы могли сканировать код более гибким способом. Мы получаем это:

Помимо недопустимых атрибутов ширины и неопределенной переменной, которую клиент должен оставить во включенном файле или за пределами области вставленного кода, мы видим только одну всплывающую часть — раздел DateTime в строках, где происходит ошибка. При наведении указателя мыши на секцию появляется четкая ошибка: Method __toString is not implemented for \DateTime .

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

Очевидно, клиент совершает общую ошибку. Смешивание представлений и логики никогда не является хорошей идеей, и вывод строк HTML почти всегда приводит к плохому коду, особенно в плохих редакторах кода, которые не выделяют проблемы. В этом конкретном случае клиент распечатывает всю строку HTML и просто присоединяет к ней серию связанных методов DateTime.

Решение состоит в том, чтобы просто удалить экземпляр и setTimezone из строки и переместить его выше всего. Это не превращает это в качественный код, но, по крайней мере, код теперь работает, клиент счастлив, и он может вознаградить вас монетами или даже нанять вас для более правильного переписывания, если вы посоветуете ему это сделать (например, mysql_fetch_assoc должен быть отброшен, таблица должна быть напечатана в HTML, а не в PHP, она должна быть стилизована в CSS, а не с попытками ширины заголовков таблицы и т. д.).

Давайте посмотрим на другой.

Q2: система входа

Как видите, мы врезались в стену еще до того, как двинулись. Очевидно, этот человек был новичком — возможно, даже впервые познакомился с PHP. За этим последовало терпеливое 10-минутное объяснение того, какую базу данных использовать, схему базы данных, форму входа / регистрации и основы работы логики системы входа в систему. Я закончил чат с несколькими полезными ссылками и объяснил, как можно снова связаться со мной, если ему понадобится помощь по этой же проблеме в будущем.

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

То, что предлагает Wizpert, стоит больше, чем деньги

Давным-давно я был участником PHP-наставничества . Это программа, объединяющая старшего с младшим стилем ситхов. Наличие ученика, на которого вы можете разгрузить свою тривиальную работу за мелкие деньги, при этом обучая их надлежащим методам кодирования в процессе, является замечательным, хотя и трудоемким, а иногда и нервирующим опытом. Я помню, что это помогло мне лучше общаться с людьми, переводить идеи из моей головы на более общий язык, понятный каждому, и это научило меня (немного) терпению. Но это также отнимало у меня слишком много времени — постоянный ученик сам по себе является почти полной (неоплачиваемой) работой. Один из первых чатов на Wizpert напомнил мне об этом опыте.

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

Несколько чатов, которые у меня были на Визперте, снова открыли мне глаза на это. Я столкнулся с проблемами, которые были на первый взгляд тривиальными для меня. Но когда я и клиент копали глубже, и проблема становилась все более сложной, я почувствовал влечение, голод, любопытство. Я хотел решить это, я хотел больше копаться и узнавать об этом. Моим первоначальным импульсом было: «О, да, это то и это , и ты должен это сделать», за которым последовали немедленные мысли об увольнении, но в конце концов оно превратилось в «Ты пробовал это? Ты пробовал это?». Дерзкая уверенность рассеивалась. Это был не последний чат такого типа — проблемы, которые я бы назвал банальными и банальными в любой другой день, казались интересными почти во всех, потому что они научили меня гораздо большему, чем решение глупой проблемы новичка.

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

Вывод

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