• Что нужно знать чтобы стать начинающим системным инженером (devops)?

    Singaporian
    @Singaporian
    Статья, которую должен прочитать каждый.

    DevOps - не профессия. Это название культуры доставки кода от разработчика (dev) через тестировщиков и до сисадмина(ops) и обратная связь по этой цепочке.

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

    Профессии, которые отрисуются в процессе построения этой методологии следующие:
    • Build Engineer - инженер, который управляет зависимостями, сборками, конфликтами кода.
    • Release Engineer - инженер, который управляет репозиторием кода (кто куда и по каким правилам мерджится и откуда бренчуется). Пожалуй, это самая сложная задача в больших проектах. Особенно с нестрогим Agile или в Waterfall.
    • Automation Engineer - инженер, который занимается автоматизацией рутинных задач. Обычно деплоймент, автотесты, etc. Все эти buzz-слова типа Docker - его инструментарий.
    • Site Reliability Engineer - инженер, который поддерживает ops (апгрейды, расширение железа)
    • Configuration Manager - непонятная мне специальность. Жуткое порождение HR-специалистов, давящих на громкое название позиции. Можно было бы пойти дальше и назвать специальность ZooKeeper Vice President

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

    Почти всегда все эти роли совмещают один-два человека. Ну это зависит от качества кода.
    Назовем эту компанию BRAE/CM для краткости.
    Задача BRAE/CM состоит в том, чтобы программный код, который выходит из под пера программистов, оставался на контроле программистов и сисадминов одновременно. Программисты, равно как и сисадмины, благодаря DevOps-подходу, имеют возможность и даже обязаны обслуживать код на протяжении всего жизненного цикла от планирования архитектуры до мусорки.
    То есть сисадмины начинают рулить еще до того, как код попадет к ним - на ранних стадиях, а программисты продолжают рулить своими задачами уже после того, как код от них ушел к сисадминам - на поздних стадиях. И все это прозрачно друг для друга и все проблемы и решения ходят туда сюда и не спотыкаются о бюрократия в стиле "ничего не знаю, мы код уже закоммитили, у меня тут свои проблемы, у них сломалось - пусть сами и чинят".

    Так вот эта работа - завершающая стадия системного администратора и начинающая стадия разработчика. Поэтому не бывает Junior BRAE/CM.
    BRAE/CM бывает всегда только Senior в системном администрировании и всегда Junior в программировании.

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

    Сразу оговорюсь по языкам.
    У каждого языка свое предназначение. Java чаще используется в корпоративном секторе. Там много серверов и сложные бизнес-приложения. Поэтому Java-мир очень чувствителен к таким понятиям, как "технинческий долг" и "управление процессом разработки". И именно поэтому именно там все основные вакансии DevOps и именно там будет самый интересный опыт.
    Кроме Java, традиционно сильная DevOps-культура у Ruby. Практически все остальные языки не имеют столь развитой и популярной инфраструктуры в в данном контексте и потому вам скорее всего будут неинтересны.
    Другими словами, если в среде разработчиков выбор языка - тема для холивара и эмоций с миллионами сравнительных анализов с противоположными результатами, то для специалистов по DevOps выбор очевиден и прозрачен. Java - это одновременно самые интересные задачи, самый богатый toolset, самый большой выбор вакансий и самые высокие зарплаты.

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

    Итак, что делать:
    1) Почитать книги Head First по Java. Пройти курсы Java на EDX.
    2) Освоить SVN. Есть прекрасные тьюториалы. (GIT освоим позже)
    3) Поставить VirtualBox (не VMWare!!!)
    4) Написать простенькое приложение. Код коммитить в SVN. Собирать его при помощи maven.
    5) Поднять на отдельной виртуалке Jenkins. Он должен брать код приложения на SVN и запускать свой локальный maven для сборки.
    6) Написать модульные тесты (unit tests) своего кода. Пусть maven и их прогоняет.
    7) Поднять где-нибудь Nexus. Усложнить задачу maven, чтобы он теперь складывал все в Nexus. Если maven'у потребуются внешние библиотеки, он тоже не сам должен ходить в интернет, а через Nexus (Central repo).
    8) Настроить на своем десктопе vagrant так, чтобы он с нуля создавал виртуалки VirtualBox.
    9) Создать виртуалку DEV через vagrant. При этом ansible должен на ней что-нибудь настроить (например установить JDK)
    10) Научиться деплоить jar/war из Nexus на виртуалку DEV чем-нибудь. Чем - не посоветую, так как сам работаю с очень сложным IBM uDeploy, а это точно не для новичка. Посмотрите в сторону Rundeck или чего-то такого. Может самим Jenkins'ом задеплойте.
    11) Напишите интеграционные АВТОтесты. На чем хотите (как вариант: Selenium).

    Усложняем систему.
    12) Донастраиваем Jenkins: собирает maven-проект; выкладывает на Nexus; дергает vagrant/ansible для создания виртуалки SIT (system integration test); деплоит приложение на SIT; прогоняет автотесты на SIT; удаляет виртуалку после успешного завершения автотестов.
    13) Прикручиваем SonarQube в Jenkins для статического анализа кода. Исправляем косяки своего кода, согласно полученным от SQ рекомендациям.
    14) Прикручиваем мониторинг Sensu.
    15) Пишем нагрузочные тесты на чем-нибудь. В идеале потрогать два инструмента: jMeter и Gatling.
    16) Как и в 12-м шаге прикручиваем в Jenkins автоматизацию создания виртуалки SLT (Stress/Load test) и прогона на ней тестов. Только уже лоад-тестов(обязательно) и стресс-тестов(опционально) соответственно.
    17) Дописываем в свое приложение какой-нибудь функционал, чтобы использовалась база.
    18) Придется познакомиться с LiquiBase. Деплой SQL руками делать запрещено.
    19) Перейти на Docker (то есть теперь приложение выкладывать не напрямую в ОС, а внутрь докера)

    20) Денек на то, чтобы почитать про Agile, Scrum, Waterfall и прочие организационные порядки.

    А теперь немного уходим в управление проектом:
    21) Поставить Atlassian Jira. Разобраться, чем отличаются Epic, Story, Task, Sub-Task. Создать себе подобной этой структуре фронт работ (делать его не придется, просто нафантазируйте).
    22) Поставить Atlassian Stash и связать его с Jira.
    23) Переехать со своего SVN на GIT, предоставленный Stash'ем.
    24) Пройти Git-тьюториал какой-нибудь. Инструмент очень нетривиальный.
    25) Взять любую таску в работу. При этом в начале работы сделать новый Git branch из тикета Jira.
    26) По завершению работы запустить всю построенную ранее цепочку, но уже для своего брэнча.
    Дайте попробую угадать: вам пришлось скопировать все джобы и переписывать в них ветки?
    27) Сделать джобы нормально. Чтобы одни и те же можно было использовать для любых веток - по аналогии с принципом программирования "reuse code". У Вас будет reuse job :)
    28) Сделать pull request, самому сделать code review и самому себя же за-approve'ить. После этого сделать merge своей ветки в master.
    29) Сделать сборку брэнча автоматической по git-hook (или SCM pool)

    30) А теперь высший пилотаж: к чертям Docker, Copistrano и прочую buzz-word-hipsters-галиматью. Теперь вы с этим знакомы и сможете применить, но пришло время выгрызать этот детский сад калёным железом. Теперь вы доставляете код только как .deb-пакеты. Это значит, что вы:
    a) разбиваете control-файл на несколько пакетов, возможно с lib*,
    b) оверрайдите все ~20 dh_ в файле rules так, чтобы все это соответствовало вашим наработкам в предыдущих пунктах.
    c) раскидываете файлы по .install
    d) самое тяжелое: готовите .preinst, .postinst, .prerm, .postrm файлы СОГЛАСНО ИХ ПРИМЕРАМ .ex, сгенерированным dh_make - то есть с разбиемнием на update/configure/broken-install и что там еще есть. Это означает, что при переустановке, при апгрейде, при даунгрейде, при удалении и при пурдже, у вас будут разные сценарии, каждый из которых должен быть проработан досканально. На этом этапе вы также познакомитесь с понятием "регрессионные тесты".

    Ну как бы базовый вариант вот. Но это далеко не весь инструментарий и путь. Это так, для начала.
    Кроме этого неплохо бы познакомиться с Puppet (это не очень подходит для DevOps, скорее для рядовых админов с кучей серверов, но это очень популярный инструмент ввиду того, что никто не понимает, что такое DevOps и вас скорее всего заставят управлять сотней серверов, вместо релиз инжиниринга). А так же нужно познакомиться с операционными системами NixOS (обязательно) и CentOS/Debian (опционально, но я бы палкой бил тех, кто не знает эти OS). Кроме того, надо базово ориентирваться в PostgreSQL.

    Внимание, важный момент, который должен быть вшит на уровень подсознания у DevOps-ориентированного инженера: вы все время пробуете новые инструменты. Вы всегда будете находить что-то очень отличное. Знаете Nexus как свои пять пальцев и он решает почти все проблемы? Отлично! Теперь выкидываете Nexus и ставите Artifactory. Знаете хорошо CentOS? Круто! Теперь пробуете все это проделать на Windows или Debian. Потому что только когда вы сможете сравнивать инструменты, ваша работа будет ювелирной. А DevOps бывает либо ювелирным, либо он не DevOps. Вы должны быть языко-независимым, платформо-независимым и инструменто-независимым.

    Что будет дальше? Дальше вы начнете работать с микросервисами (сотни одинаковых контейнеров в облаке, которые должны как-то работать друг с другом без ручной конфигурации). Тогда познакомитесь со всякими Consul, ZooKepper и кучей инструментов AWS/OpenStack.
    Ответ написан
    13 комментариев
  • Продолжить изучать Python или начать учить PHP?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    У вас подход мечтателя. Вы сначала делаете то что нравится, а потом ждете что это кому то будет полезно. Шанс на успех есть, но крайне мал.
    Есть подход предпринимателя, думать каждый день, каждый час и каждый момент времени о том чем ты можешь быть полезен другим. Как только ты это поймешь, то увидишь что рынок python крайне мал и обладая этими знаниями пользы от тебя очень мало. А когда от тебя мало пользы - то и цена твоя будет низка.
    У php, 1С Битрикс или WordPress рынок на много больше. Обладая этими знаниями ты сможешь быть на много полезней для окружающих. При условии что научишься мыслить таким образом. Это не просто и не всем удается.
    А то какое у тебя образование или национальность - да плевать всем с большой горы. А тем кому как бы не плевать - то они просто лгут и прикрывают иные мотивы. Или просто тебя обидеть не хотят - если у тебя ума с гулькин нос.
    Ответ написан
    4 комментария
  • C чего начать фриланс?

    taxigy
    @taxigy
    Если вы хотите быть фрилансером и при этом не быть занятым на фултайме в качестве наёмного работника, то либо у вас должен быть стартовый капитал, либо вам придётся быть фултайм-работником, иначе вы умрёте от голода. Когда вы работаете фултайм, у вас остаётся четыре-пять честных часов в сутки (после девятичасового рабочего дня, поездки на работу и обратно, завтрака, ужина и т.п.), которые вы можете либо посвятить своему развитию в каком угодно направлении. Фриланс — одно из таких направлений.

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

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

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

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

    Следующий шаг — это, ура, наконец-то искать заказчика. Зарегистрируйтесь на Elance, oDesk, Freelancer.com, Outsource.com (возьмите у вашего друга-фрилансера реферальные ссылки, вам обоим будет от этого плюс). Это не самые лучшие биржи, но на них водятся интересные проекты. Вообще, биржу следует расценивать как стартовую площадку для накопления полезных контактов. Пока вы никому не нужны, и у вас нет друга-министра, который за откат заказал бы вам вёрстку, вам придётся практиковаться в том, чтобы захватить внимание человека, перед которым такими же прекрасными пропоузалами машут пакистанцы и индусы. О том, как пробиться сквозь стену дешёвых претендентов, не сбавив при этом в собственной ценности, и получить первый заказ, я могу рассказать подробно отдельно, может быть, лично. Это долгая история. Например, у меня это заняло пять месяцев очень упорного труда, и я до сих пор не уверен, что то время, которое я вложил, когда-то может окупиться.

    Развивайтесь как фрилансер. Это очевидно, но об этом легко забыть. Вы ежедневно развиваете свои способности общаться или не общаться с людьми, готовить еду и варить кофе, но это не имеет значения. По-настоящему имеет значение ваш профессионализм — и этим нужно заниматься. Ежедневно анализируйте свои действия, ошибки, возможности, сильные и слабые стороны. Отметайте активности, которые забирают ваше время зря. Не бойтесь отказаться от проекта, если он даже на $10 дешевле, чем тот минимум, на который вы рассчитываете (кстати, установите себе этот уровень в самый первый день).

    Познакомьтесь с другими фрилансерами. Зарегистрируйтесь на freelancing.stackexchange.com/, читайте, задавайте вопросы. Вы удивитесь, как много людей проходят через одни и те же грабли. Вы будете смеяться над тем, что, завалив проект, вы на следующий день увидите вопрос на тему «сложного клиента» или «неконтролируемого увеличения скоупа», которые пережили буквально вчера. Смеяться и плакать, а потом вставать и идти дальше. Когда (или если) вы были фултайм-работником, вас страховали коллеги и вся цепочка руководителей над вами, несмотря на то, что вы этого не понимали или, может быть, даже не чувствовали. Теперь вы один на один с очень агрессивной средой, и очередная неудача — это нормально, разница лишь в том, как вы её ощущаете.

    Заведите себе инструментарий для трекинга времени, управления задачами и ежедневными рутинными делами, отберите лучшие и сократите их количество до одного-двух. Развивайте в себе способности администрирования и управления, учитесь вести переговоры, учитесь строить предельно короткие и точные фразы, когда объясняете суть своей работы или своё видение проекта или мельчайшей его части. И не забывайте выходить из дома и общаться с людьми — очень легко застрять в своём кубике, испортить себе режим сна и пищеварение, но вы же не для этого идёте в фриланс, верно?

    Ну и напоследок. Подумайте о том, в каком месте, в какой природе, в каком климате вы хотите жить, что должно быть видно из вашего окна. Посчитайте, какой кэш флоу вам нужен, чтобы этого достичь, — поздравляю, это одна из самых главных отметок на шкале вашего роста. Разделите ожидания на десять — это ваш план на ближайший год. Умножьте 200 рабочих дней на ваши 4–5 часов — это ваш временной бюджет. Разделите первое на второе — это ваша часовая ставка.

    Успехов! Чем больше людей будут успешными фрилансерами, тем лучше для всех. У вас все шансы попячить ваших друзей, которые работают в крупной компании на средней позиции и участвуют в укреплении внутрикорпоративной безответственности.
    Ответ написан
    3 комментария
  • Какие профессии в it на территории СНГ зарабатывают чистыми более $3-4k в месяц?

    @edogs
    В какую сторону лучше двигаться чтобы опыт работы стабильно увеличивал зарплатную планку до 4к и дальше?
    В сторону отказа от идеи расти как "солирующий профессионал на зарплате".
    Если Вы не редкий гений, то у любой, абсолютно любой профессии есть "стеклянный потолок", выше которого Вы не прыгните сколько бы опыта, знаний и умений у Вас не было. Потому что Вы всегда ограничены тем временем, которое у Вас есть.
    "Стеклянного потолка" нет только в профессиях, где Вы делаете бизнес, а не работу.
    Отчасти под это определение подходит менеджер/посредник сидящий на процентах, потому что его заработок зависит от величины сделки которую он заключил, а не от количества работы которое он сделал... но... опять же, он не может заключать неограниченное количество сделок.
    Полностью под это определение подходит только владелец своего бизнеса в том или ином виде, потому что на него работает куча людей и ограничений по количеству работы которую он может сделать - уже нет, т.к. по сути он делает ее чужими руками, а следовательно - уперся в ограничение - нанял еще одного работника, проблема решена.

    Так что если Ваша цель реально высокий доход - стройте свой бизнес. Если Вы фронтэндщик - самое простое - берите заказы и сливайте его другим фронтэндщикам, сами занимайтесь для начала только контролем качества. Потом и на контроль качества можно кого-то посадить, потом фирму открыть и в штат нанять и так далее.
    Ответ написан
    4 комментария
  • Какое соотношение практики к теории должно быть при изучении программирования?

    Adamos
    @Adamos
    Главное - не тратить ни минуты на такую фигню, как раздумывание над этим вопросом.
    Ответ написан
    Комментировать
  • Как мне заставить себя изучать Java EE?

    Понимаете, язык программирования подбирается под характер человека. Но окружение влияет, у вас вокруг Ява и вы думаете вам нужна Ява. Но у людей которые вас окружают просто другой характер и поэтому она им подходит. Я пробовал учить Java... ну лучше чем плюсы, конечно, но не фонтан, громоздко, всё объекты, ну не моё, просто не моё...
    По существу: пробуйте другой язык. И ещё смотря что писать я когда за JavaScript сел то проверку форм и слайдеры мне неинтересно писать, а вот серверный JS уже интереснее, или какие-то более интересные браузерные штуки сразу интерес появляется.
    Ответ написан
    Комментировать
  • Возможен ли план самообучения WEB разработке?

    bmind
    @bmind
    Software Engineer
    Современный путь разработчика - https://github.com/kamranahmedse/developer-roadmap...
    Ответ написан
    Комментировать
  • Возможен ли план самообучения WEB разработке?

    Toisen
    @Toisen
    Backend Developer
    Много чего тут понаписали в ответах про полезность ВУЗа, про "зачем тебе веб" и т.д.т.п.
    Я напишу так, как если бы мне сейчас снова было 14, и я не знал ничего.
    1. Английский - до уровня спокойного чтения документации и технической литературы.
    2. FreeCodeCamp. Что бы ни говорили, я считаю этот портал самым лучшим для обучения вебу с нуля. Курс от javascrupt.ru, когда руки дойдут до JS, тоже довольно неплох.
    3. Алгоритмы и архитектура. Алгоритмы - наше всё. Они очень помогают начать мыслить в нужном направлении. Архитектура - легкое и полезное чтиво, когда у тебя набито достаточное количество шишек (книга Большой Четверки + Мартин Фаулер - это все, что нужно).
    4. Поглядывал бы на https://github.com/kamranahmedse/developer-roadmap просто чтобы знать, какие дорожки протоптаны и на какие фреймворки смотреть.

    Теперь что касается жизненного стиля:
    Я бы уделял часа 2-3 каждый день. Не важно, что конкретно ты пишешь или не пишешь в это время, да хоть просто на github позалипать, достаточно просто заниматься, и прогресс будет. Через месяц войдет в привычку читать техническую литературу в метро (благо книги по архитектуре вполне себе нормально читаются и без компьютера перед лицом).
    Что касается ВУЗа - он НЕ обеспечит тебя работой. Просто прими это как есть. Я понимаю, что людям сложно признать, что они потратили 4-6 лет впустую, и свято верят в то, что без бумажки их бы никуда не взяли, но я со своей колокольни скажу вот что: ни на одном собеседовании за 6 лет меня не спросили, есть ли у меня диплом. За 4 года обучения вся полезная информация, которая мне пригодилась, свелась к алгоритмам, БД и ООАиП. На это можно потратить пол года, но не 4. ИТ в этом плане довольно уникальная сфера: тут работодатели смотрят на то, что ты умеешь, а не на то, сколько у тебя бумажек. Однако, в ВУЗ я все же настоятельно рекомендую поступать и, желательно, в другой город. Во-первых от сиськи мамки оторвет, а во-вторых - это самые запоминающиеся годы, и мне искренне жаль тех людей, которые не узнали, что такое пожить в общаге за пол страны от родителей.
    После первого-второго курса (до этого ты осваиваешь фреймворки и уже имеешь крепкую базу, а заодно поглядываешь вакансии на hh.ru в сторону того, что нужно на позицию Junior-Middle) иди искать работу джуном просто для опыта, там старшие тебя понянькают и через пол года усердного впахивания ты будешь крепким мидлом.
    Много писали про игры, и как они ужасны. У каждого свои увлечения, и я не считаю игры каким-то злом. Если человек не может себя контролировать, то проблема не в играх. Все хорошо в меру.
    Ответ написан
    2 комментария
  • Есть варианты понятных и качественных онлайн курсов по web-dev для новичка?

    yudinikita
    @yudinikita
    Инженер-программист из России
    Смотрим бесплатные видео на ютубе:
    1. Как стать front-end разработчиком
    2. Как стать back-end разработчиком
    3. HTML за час
    4. CSS за час

    Проходим бесплатные курсы на html academy

    Дальше можно записаться на платные курсы от них же, или найти бесплатно в интернете.
    Ответ написан
    Комментировать
  • Переход с постоянки на фриланс, стоит ли игра свеч?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Фриланс. Однозначно ДА. Сейчас объясню почему.

    Стабильность/офисная работа/работа с одним клиентом - прекращает твоё развитие как специалиста и как предпринимателя. Самое главное - ты не развиваешься в первую очередь как личность. За тебя кто-то несёт ответственность за весь проект, кто-то говорит тебе ЧТО делать и кто-то ищет тебе задачи в большом море, называемом "открытый рынок". В итоге все деньги получает твой начальник, а ты только $8.5 в час.

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

    У тебя есть сомнения? Смотри. Как только ты начнёшь фрилансить, можешь поставить себе часовую планку в $15 в час. Это нормальная цена для зарубежного рынка. Ты будешь некоторое время нереально впахивать по 8-10 часов в сутки, семья может быть даже тебя ненадолго потеряет. Но это всё временно. Потому что за это время ты должен научиться писать хорошие пропосаулы (а это и есть продажа себя). После того как накопишь некоторое портфолио, список положительных отзывов и научишься писать предложения - повышай планку. Ищи длинные заказы с часовой стоимостью в $20-30. Такие заказы встречаются реже, так что ты можешь потратить несколько дней в поисках, но это окупится с лихвой, т.к. ты можешь уменьшать количество времени на работу в день и вновь вернуться в нормальную жизнь. Через полгода вновь поднимай планку. $40-50 в час - совсем не предел.

    Такое случилось со мной после прочтения книжки "как работать 4 часа в неделю". Я тогда работал фрилансером на $10-15 в час и принял одно простое решение. После этого начала работать 2-4 часа в сутки и при этом моя прибыль увеличилась в 3 раза.

    Хотя теперь я уже не фрилансер (см. про точку Б выше), но без фриланса туда было бы сложновато прийти.

    Поэтому ещё раз - фриланс и ещё раз фриланс. Прими как лекарство.
    Ответ написан
    13 комментариев
  • Где искать заказы фрилансеру?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Почитав каменты участников данного вопроса, заметил, как схожи уровни ответственности и уровни роста каждого комментатора.

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

    Уровень 2 Средняя ответственность - человек, который понимает, что бизнес (в т.ч. любая самозанятость) - это не только свобода, но и определённый уровень ответственности. Никто ничего не гарантирует и за всё приходится платить. Но он ещё не готов брать на себя риски за поисков заказа, поэтому считает, что этим должна заниматься биржа фриланса, а создать свою компанию и искать клиентов в открытом интернете - это "маразм имхо".

    Уровень 3 Высокая ответственность - человек, который понимает, что сам волен выбирать свой путь, свой род деятельности и готов за это платить любые деньги. Обычно ещё в молодости уходит из офиса и создаёт свой собственный бизнес.
    Ответ написан
    9 комментариев
  • Каков профессиональный путь программиста?

    @frozen_coder
    Java-developer
    А сходите в армию, там за вас всё решат, что вам делать и куда развиваться. А можно в универститет. В 18 лет самое то, в какой-нибудь столичный. А может стоит уже взять отвественность за свою жизнь в свои руки и самому решать? Вам вот всё нравится, а что из этого всего вы делали руками? В каждой области уже по проектику написали учебному? Вот как, скажите, пожалуйста, как люди из интернета могут за вас решить, что вам понравится и что вам делать? Мне вот нравится на java кодить, вы тоже кодьте на java - такой совет вам нужен? Попробуйте всё понемногу, делайте-делайте-делайте, а не просто читайте. Найдите то, что вам действительно нравится и по кайфу и по максимуму вкладывайтесь туда. Если будете бежать только за деньгами, то однажды проснётесь с осознанием того, что ненавидите свою работу и жизнь, и пойдёте строчить статью на eb-e.it о том какое IT гуано. Серьёзно подумайте о переезде либо готовтесь вертеться как уж на сковородке, чтобы получить удалённую работу - работа в провинции, чаще всего, такое себе безальтернативное болото.
    Ответ написан
    2 комментария
  • Старта в IT с 1,5 млн руб, возможно ли?

    Inv_Hunter
    @Inv_Hunter
    Управляющий партнёр в BACG
    Здравствуйте, Игорь,
    Очень приятно, что Вы задали такую сложную задачку. У меня есть несколько наводящих вопросов, после которых я постараюсь кратко изложить свой взгляд.
    занимаюсь продажей железа, заработок хороший, но есть потолок, в который и уперся

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

    в тендере по разработке ПО для банка

    Какова сложность ПО: это автоматизация кредитного конвеера или разработка уникальной АБС только для этого банка? И с чего Вы взяли, что нужно иметь массу "бумажек" чтобы работать на банк? Это вопрос взят не с воздуха, так как я сейчас работаю с проектом, который ведёт разработку для финансовой группы.
    Так что стоит изучить условия тендера и рассчитать свои силы исходя из возможностей.

    Теперь несколько комментариев по Вашим вопросам.
    В сайтостроительстве, разработке ПО, игр, SEO - я не особо спец, точнее вообще не в теме, знаю обо всем сильно поверхностно ...

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

    Для меня куда понятнее SEO агентство, реклама и тд.

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

    Игры - есть пара ребят, разработали чуть ли не на коленке пару игр

    Вы вполне ясно себе представили картину и тут мне добавить нечего

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

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

    Мои контакты, если Вам интересно продолжить поиск решения.
    Ответ написан
    2 комментария
  • Как всё успевать и не быть роботом?

    @Prazeodim
    Задал ваш вопрос двум самоназванным мудрецам, мне интересно как сообщество отреагирует на их советы, я давно с ними общаюсь, много где помогли так-то. Напишу здесь их ответы:

    Первый ответил: "О чем ты, дядя? В любой момент времени ты либо е*ашишь, либо не е*ашишь. И нет такого, что ты просто постоишь пока подумаешь или спросишь совета у коллег - ты либо деградируешь, либо развиваешься. Если думаешь, что деградируешь - значит деградируешь, следовательно е*ашь, дабы вылезти из этого дерьма. Ежели думаешь, что развиваешься - ты уже е*башишь, наслаждайся этим чувством самореализации. Ты если ссать хочешь - а перед тобой стена, не дает пройти в туалет, то ты либо перелезешь через нее, либо сломаешь ее, либо поссышь на стену - в общем найдешь какое-то решение сам всегда. И не будешь спрашивать совета - ищи всегда ответы сам! У тебя ништяковый прибор для решения любых проблем на плечах сидит вроде, не дай ему протухнуть! А для еды и спорта жена есть - тоже прибор грамотный!"

    Второй ответил(в скобках мои комменты): "Молоток лежит на полке и пылится, пока он не понадобится. Когда он понадобится - его возьмут, сотрут с него пыль, починят его, если надо. Молоток - инструмент. Инструменты нужны для достижения каких-либо целей биологических платформ (дополнение: где биол. платформа - люди, животные, любая динамически развивающаяся система на нашей планете, которая с рождения решает какие-то свои задачи, забитые в него еще в генах, от природы, либо в процессе социализации - обществом/окружением. Какие задачи? Выживать, размножаться, развиваться, развивать своих ближних и свой вид в целом, стремиться к счастью, идти к счастью. ).

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

    Так, каждый человек задает для себя свою меру эффективности какого-либо дела. И наличие своего дела, которого ты хочешь достичь(например, из прошлой аналогии состояние "забитый гвоздь в квартире") - есть главный атрибут здесь. Поскольку ежели все вокруг протирают свои молотки от пыли каждый день - это им нечем больше заняться, проблема в них. Для другого такое поведение будет неэффективным, а следовательно будет выкинуто из привычек. Если кто-то эффективен в бизнесе с большим животом - зачем ему от него избавляться? Если он прожил 60 лет и понял, что живот и вес мешает, что двигаться стало гораздо сложнее, ему эффективно будет от него избавиться.

    Подводя итог по твоей ситуации, стоит заметить, что если ты хочешь заниматься музыкой - приведи в порядок все свои инструменты, которые тебе нужны для этого дела. Которых нет - приобрети(то есть навыки тоже приобретать надо, ты либо его приобретаешь, культивируя его в себе, либо пользуешься аналогичным навыком другого человека, чтобы освободить свое время). Все остальные выброси - все равно не хватит места. И подкручивай гайки. Чувствуешь, что еще можешь выкинуть что-то - выкидывай, так у тебя потом появится больше места, для еще одного дела (типа проектное мышление). В общем, думай о себе с позиции твоих проектов, эффективности твоих инструментов для выполнения проектов и проводи черту между частью твоей биологической платформы, которая является инструментом и между той частью, которая желает и мечтает - потому что первая всегда подчиняется второй и ты будешь жить в негативе, если применяешь первую часть для дела, которое не нравится твоей второй части. Живи в гармонии и балансе!
    "

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

    @asd111
    Компьютерные игры и избыточный просмотр телевизора.
    Если посчитать сколько времени я потерял в молодости с 12 до 22 лет на просмотр музыкальных каналов и на компьютерные игры, то получится года 2-3 совершенно полного безделья, которое можно было потратить на изучение программирования.
    Я очень жалею что потерял много времени в молодости, но мне кажется что всё поправимо. Сейчас мне уже за 25 а я только начинаю учить Java, зато мне нравится то что я делаю.

    А раньше я работал на стройке, на автомойке, даже дворником )))) Но я не могу назвать это пустой тратой времени. Как говорят японцы: если у тебя не было в жизни проблем, то тебе нужно их купить.
    Ответ написан
    Комментировать
  • Как быстро прокачивать свои скилы в разработке?

    @Iloveski
    1. Разработчик - это не про почивание на лаврах, чем больше учишься, тем понятнее, что всех знаний не усвоишь.
    План: java core учится по книгам/видео/курсам.
    Практику можно добрать например на решении задач на сайтах, типа hackerrank. Плюс пробовать какие-то технологии из вакансий пробуя с их использованием напилить типа helloworld+. Например чатик на сокетах, сайтик, небольшой rest service, crud к БД. Можно объеденить все в одно. Не зацикливаться в домашних проектах на мелочах, сначала основная функциональность, потом шлифовка и фичи.
    И искать работу, не стесняться ходить на интервью, так как если не ходить, то на работу точно не возьмут. Если устроишься и не забьешь на обучение довольно скоро поймешь, что новое стало учить гораздо легче
    Удачи
    Ответ написан
    1 комментарий
  • Как заблокировать https сайт на роутере Asus?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    vk.com
    87.240.129.133
    87.240.129.71
    87.240.180.136
    87.240.182.224

    userapi.com
    95.213.4.234

    vkadre.ru
    87.240.190.64

    vk.me
    87.240.129.187

    Это нужно указывать в IP-адресе назначения.
    А источник - это IP-адрес в локальной сети (или ничего для всех адресов).
    Ведь запрос идёт от источника к серверу, а не наоборот.
    Ответ написан
    1 комментарий
  • Насколько актуальна идея создание аналога "toster.ru" для конкретного города?

    varenich
    @varenich
    Аналитик
    Проведи customer devlopment.

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

    И внимательно: нужны только реальные ОЧЕНЬ СИЛЬНЫЕ боли.

    Спрашивай примерно так: когда последний раз ты проходил медкомиссию? Как это было? (внимательно выслушай и запиши все по шагам) Что было самое неудобное? Что раздражало больше всего?

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

    Приготовься к сюрпризам, т.к. у людей очень часто болит вовсе не то, что ты думаешь
    Ответ написан
    Комментировать
  • Где искать заказы удалённому тестировщику?

    Captain
    @Captain
    Поддержу предыдущих ораторов. Автоматизированное тестирование для удаленки самое то, так как оно измеряемое и в нем многие заинтересованы. Искал на фрилансе людей, которые мне функционал Selenium-тестами покроют - не нашел. Так что ниша есть.
    Ответ написан
    1 комментарий
  • Где искать заказы удалённому тестировщику?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. переезд в мск/спб/екб
    2. развиваться в сторону:
    a) подготовки плана тестирования и вообще управления эти процессом
    b) автоматизиция - автотесты, селениум, приемочное тестирование итд итп

    за ручное тестирование платят мало везде
    Ответ написан
    Комментировать