Как хотел заказчик как сделал программист

Добавил пользователь Евгений Кузнецов
Обновлено: 19.09.2024

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

Дэниел Дайнс придает большое значение пользовательскому интерфейсу, поскольку конечный продукт его компании остается невидимым для человеческого глаза. UiPath создает ботов — специальные программы, которые автоматически выполняют повторяющиеся задачи. Когда речь заходит о ботах, многие сразу думают о вмешательстве России в американские выборы или о чат-ботах, используемых для улучшения обслуживания клиентов. Однако компания Дайнса, которую недавно оценили в $7 млрд, создает совсем других ботов. Они способны извлекать данные из счетов-фактур в формате PDF и переносить их в бухгалтерскую программу клиента, а также обрабатывать страховые заявления. Боты от UiPath занимаются выполнением несложных рутинных задач. Вскоре они, возможно, даже заменят многих людей: несколько поколений назад из-за появления новых технологий такая же судьба постигла кассиров в банке и телефонисток.

Как бизнес экономит и зарабатывает благодаря ботам

Роботизированная автоматизация процессов (RPA) — это инновационный подход с невероятным потенциалом. Японский банк Sumitomo Mitsui пользуется услугами UiPath с апреля 2017 года. Представители банка считают, что снижение уровня загруженности сотрудников и повышение точности позволят им сэкономить около $500 млн к следующему году. Благодаря высокому потенциалу новых технологий разработчику удалось привлечь таких гигантов, как Toyota и Walmart. Ведь настроить виртуальных ботов гораздо быстрее и дешевле, чем нанять программистов для разработки нового приложения для внутреннего пользования. Кроме того, сотрудникам компаний больше не нужно по несколько часов трудиться над созданием макросов в Excel и заполнением электронных таблиц. Боты UiPath выполняют эти задачи непрерывно и ни на что не жалуются. Стоимость одного бота составляет не более $15 000 в год. Некоторые компании одновременно используют несколько тысяч ботов одновременно.

47-летний Дэниел Дайнс не изобрел роботизированную автоматизацию процессов, но зато быстро сделал свою компанию лидером нового рынка. Два года назад UiPath был малоизвестным румынским стартапом, где работали 150 человек и который европейские инвесторы оценили в $110 млн. Доходы компании составляли менее $5 млн. Сегодня штаб-квартира UiPath расположена в сверкающем небоскребе на Парк-авеню на Манхэттене. Численность сотрудников более чем в 30 офисах по всему миру достигает 3200 человек. В прошлом году доходы компании составили $155 млн. Ожидается, что в этом году ее выручка удвоится. Благодаря этому лидер рынка RPA-решений занял третье место в рейтинге 100 лучших облачных компаний 2019 года Forbes Cloud 100. В апреле инвесторы с Уолл-стрит, в частности холдинг Wellington Management, предоставили UiPath финансирование на $568 млн. Оценка стартапа достигла $7 млрд, а Дайнс, которому принадлежит более 20% компании, стал первым в мире миллиардером, разбогатевшим с помощью ботов.

Но он точно не будет последним. Боты не только создают в Twitter фальшивые аккаунты в поддержку Дональда Трампа, но и повышают производительность с помощью искусственного интеллекта, поэтому эта ниша считается действительно перспективной. Это значит, что у UiPath есть немало конкурентов. Компания Blue Prism, бумаги которой торгуются на Лондонской фондовой бирже, недавно привлекла $130 млн в результате допэмиссии акций. Японский холдинг SoftBank инвестировал $300 млн в компанию Automation Anywhere из Сан-Хосе, штат Калифорния. Представители Automation Anywhere утверждают, что они превзошли UiPath в области технологий искусственного интеллекта. Гиганты облачных технологий, в первую очередь Microsoft, также думают о выходе на рынок RPA-решений.


Программист-самоучка

Предпринимателю пришлось проверить, насколько крепко он усвоил эти уроки, когда в 2011 году его аутсорсинговая компания лишилась своего крупнейшего клиента. Вместо того, чтобы закрыть свой бизнес, он решил бросил курить и сделать Тирцу сначала одним из учредителей DeskOver, а затем — техническим директором. Вместе они сосредоточились на другом направлении работы компании: на продаже наборов инструментов для разработки программного обеспечения, с помощью которых можно было бы гораздо быстрее создавать мобильные приложения. Однако это стало лишь временным этапом развития стартапа. Однажды клиенты из Индии показали Дайнсу, как с помощью этих инструментов можно обучить программу самостоятельно выполнять простые задачи, например вводить данные. Это был судьбоносный день.

Будущий миллиардер занялся созданием виртуальных ботов. Он сосредоточился на разработке автономного программного обеспечения, для которого не нужно было бы писать новый код. К 2014 году выручка компании выросла до $500 000. Это было много по румынским меркам. Дайнс вдохновился статьями, которые он прочитал на сайте Hacker News, и решил привлечь более крупных клиентов, например, из Кремниевой долины. Его компания перешла на бизнес-модель SaaS (с англ. — software as a service), при которой подписчикам предоставляется готовое программное обеспечение, полностью обслуживаемое провайдером. Затем программист привлек $1,6 млн от европейских венчурных фондов Earlybird, Credo Ventures и Seedcamp. Вскоре он также переименовал компанию и назвал ее UiPath в честь технического термина из кода, разработанного его командой.

Вместо того чтобы конкурировать с крупными аудиторскими и консалтинговыми компаниями, Дайнс решил стать их партнером. Компании вроде Cognizant и Ernst & Young на тот момент уже заключили сделки с международными корпорациями, которые должны были помочь им повысить эффективность закупок и других процессов. Будучи клиентами UiPath, консалтинговые компании могли сэкономить с помощью автоматизации некоторых процессов. Более того, Дэниел Дайнс попросил консультантов рассказать о UiPath своим клиентам и в обмен на это позволил им снизить на 80% их расходы на ботов. Таким образом, крупнейшие мировые консалтинговые компании вдруг стали своего рода торговыми агентами UiPath. Дайнс встретил одного из своих клиентов лицом к лицу лишь спустя два года, когда представители перестраховочной компании Swiss Re настояли на том, чтобы он сам прилетел в Цюрих и подписал контракт на $100 000.

После получения финансирования амбиции предпринимателя возросли. Два года назад Дайнс перенес штаб-квартиру UiPath в Нью-Йорк и переехал туда вместе со своей семьей. Около трети времени он до сих пор проводит в офисе в Бухаресте, который сейчас выполняет роль научно-исследовательского центра компании. К концу 2017 года выручка UiPath составляла чуть более $30 млн. Компания Дайнса отличается от стартапов Кремниевой долины, которые часто пользуются услугами друг друга. По словам представителей UiPath, клиентами компании можно назвать 60% крупнейших компаний Америки. Долгосрочная цель UiPath — завоевание мирового рынка. Об этом свидетельствуют и данные о продажах компании: одна треть приходится на Северную Америку, другая — на Европу, а третья — на весь остальной мир.

Борьба за лидерство

Главный вопрос борьбы за лидерство на рынке автоматизации — это развитие технологий искусственного интеллекта. Нужно делать ботов умнее и надежнее. Они должны справляться со сложнейшими рабочими задачами. В июне Blue Prism сообщила о приобретении технологии искусственного интеллекта стоимостью $100 млн. Представители Automation Anywherе заявили, что за последние пять лет их компания представила несколько ИИ-инструментов. Среди них стоит отметить инструмент, который может за пять минут утвердить ипотечный кредит или отказать в нем.

Крупнейшие технологические компании пока что не вступили в открытую борьбу за рынок RPA-решений. Но все не так просто. Google — клиент и косвенный инвестор UiPath через венчурный фонд CapitalG. Программы UiPath в основном разработаны на базе программного обеспечения Microsoft и облачных хостинговых инструментов. Microsoft — ведущий инвестор второго крупного инвестфонда от SoftBank. Считается, что Microsoft планирует более тесно сотрудничать с компаниями из портфеля SoftBank, в числе которых — главный конкурент UiPath. В то же время Microsoft продолжает инвестировать в свою собственную платформу автоматизации Microsoft Flow, которую некоторые эксперты считают альтернативой RPA-решениям других компаний.

Что ждет программиста на удаленной работе?

Как мы уже все заметили период пандемии во многом изменил наш образ жизни. Эти изменения также коснулись и рынка трудоустройства. Ну а если быть точнее то сегодня работать удалённо уже стало обыденным делом И в том числе многие программисты в основном ищут удаленную работу.

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

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

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

Поиск работы

Поиск работы

Теперь же давайте поговорим о самих вакансиях.

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

Примером такой вакансии выглядит так: требуется веб-разработчик, в такую-то быстрорастущую компанию. И внизу в требованиях пишут знания одного из фреймворков (Vue/React), опыт работы на WordPress/1C-Bitrix, знания sql, навыки работы в cpanel а в частности умение установки ssl, создание бекапа и преимущественно опыт работы с ос linux и языками python, java, node js и так-далее.

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

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

График в удаленной работе в большинстве случаев бывает гибким и восьми или девяти часовым в зависимости от вакансии. То есть вам на выбор дается время для начала работы, это в основном с 8 9 или 10 и конечно 1 час на обед.

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

Зарплата

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

Зарплата

Конечно данный фактор не относится к тем, кто сначала работал в офисе, а потом перевели на удаленку, так-как оклад уже обговаривался.

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

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

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

Собеседование

Собеседование для вакансии с удаленной работой является относительно своеобразным.

Собеседование

Весь процесс происходит удаленно и в основном состоит из 3 этапов.

  • Тестовое задание
  • Собеседование со старшим программистом
  • Собеседование с техническим директором

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

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

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

После того как вы архивом отправите решение тестового задания и через некоторого времени получите ответ об успешном ее решении, вас пригласят на онлайн собеседование, в основном через skype.

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

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

Какие программы используются на удаленке

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

Какие программы используются на удаленке

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

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

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

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

Первый месяц работы

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

Первый месяц работы

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

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

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

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

Отношение с коллегами

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

Отношение с коллегами

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

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

Последующие месяцы

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

Итоги

Решение о выборе удалённой работы или нет опять же во многом зависит от ваших предпочтений.

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

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

Денис, Java-разработчик

Про Штаты и квартиры

После года работы в Саратове у меня появилась возможность переехать в Штаты. Вообще, работа в международной компании для программиста — самый простой способ уехать. Они востребованы по всему миру и часто переезжают из одной точки в другую.

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

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

Каждая рабочая поездка в Штаты в среднем длится три месяца. Каждый день тебе платят $110, снимают квартиру и арендуют машину. Также на карточку падает рублёвая зарплата.

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

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

Прикрепленные файлы

Что делать тестировщику если программист считает что это не баг а фича

180px-Bug-feature.jpg

Чем баг отличается от
фичи: фича есть баг,
одетый во фрак!

во-первых, если возникает спорный вопрос, это означает, что что-то не было проговорено до начала имлементации.

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

2 если работаете с документацией, а в документации не описано, что так система должна вести себя, то программист прав - это фича, хотя.

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

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

во-первых, если возникает спорный вопрос, это означает, что что-то не было проговорено до начала имлементации.

В вашей фирме тестировщик участвует в бизнес-анализе и постановке ТЗ? Каким образом тестировщик попадёт в этап до начала разработки? Работает по совместительству аналитиком? Вы ему за это платите?

можно положить этот вопрос на заказчика, проджект менеджера, бизнес аналитика или продакт овнера

ваше дело задокументировать инцидент

Тестировщик участвует в составлении документации? Каким образом происходит "документация" "инцидента"? Кто у вас занимается решением "инцидентов" тестировщика?

найдите подход как объяснить программисту, что он не прав

А оно ему надо? Подходы искать, убеждать, что-то кому-то доказывать?

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

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

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

В современных же конторах пишут автотесты: сценарные тесты, функциональные, интеграционные. Процесс разработки _основан_ на tdd, ci/cd полностью автоматизирован, ведётся codereview и testreview тимлидами. Для TestMonkey здесь вообще нет места.

Как программист скажу вот что.

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

- Кто тебе дом строил? Здорово получилось.

- Нанял рабочих залить фундамент. Выкопали, залили, ушли. Нанял каменщиков, те пришли спрашивают: Какие пидорасы фундамент заливали? Стены выложили, ушли. Нанял штукатуров, те тоже - что за пидорасы кладку делали? Ну, и так далее. Вот и получается, что дом строили одни пидорасы.

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

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

3. что касается статусов - есть статус qa failed или qa query. когда мне не понятночто, то что я вижу именно то, чего ожидает заказчик или конечный пользователь значит надо уточнить иначе есть риск что то где то пошло не так

4. "документация" "инцидента" - это баг репортинг, просто то, что все называют багом в ISO стандартах называется инцидентом, баг используется как синоним, но это не совсем корректное понятие. тестер определяет severity а представитель от бизнеса должен определить приоритет

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

вы написали об одном из типов проектов, которые существуют у нас на рынке. но таких не большой процент, и manual trainee там не нужен. поэтому сомневаюсь если человеку зададут этот вопрос а он ответит - если у вас нет tdd, atdd, bdd, unit testing, integration testing и бизнес аналитика - это фигня, я не хочу сдесь работать. вопрос "Что делать тестировщику если программист считает что это не баг а фича" - не зададут на собеседовние та такой проект о котором вы пишете

Читайте также: