Как найти работу python без опыта

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

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

На Kwork нет никаких платных подписок и неоплачиваемых тестовых заданий, работайте сразу и без вложений, а платой за сервис будет 20% с каждого заказа. Выше оборот с клиентом – ниже комиссия, если достигнуть цифры в 300000, то комиссия снизится до 7,5%. Здесь вы сможете как предложить услугу, так и откликнуться на предложение заказчика, размещенное на бирже. От скорости и качества выполненной работы будет зависеть ваш рейтинг, а от рейтинга уже зависит степень доверия работодателя и соответственно вероятность получения нового заказа. Из-за популярности Кворка фрилансеры вынужденно занижают стоимость работы, чтобы получить заказ, но это проблема не столько Кворка, сколько всего фриланс рынка.

На Kwork Python-разработчик может брать заказы по направлениям:

Доработка и настройка сайта;

Создание сайтов;

Скрипты и боты;

Мобильные приложения;

Сервера и хостинг.

Еще одна популярная биржа, но без платной подписки не получится брать заказы. PRO аккаунт стоит 2500 рублей. Тут уже каждый для себя решает стоит ли платить за возможность работы, при условии, что заказы никто не гарантирует.

Специалист по Python может выбирать из этих разделов:

Разработка сайтов;

Программирование;

Разработка игр.

Если предыдущие фриланс биржи предоставляли возможность работать фрилансерам разных специальностей, то Хабр Фриланс создали специально для работников сферы информационных технологий. Из минусов: в сутки получится откликнуться только на 5 предложений. За возможность откликаться на большее количество заказов сервис берет плату 99 рублей за один отклик. Возможно купить безлимитное количество за 270₽ в сутки, 490₽ в неделю, 1200₽ в месяц или 7300₽ в год. Также биржа не регулирует платежи менее 3000 рублей, что не подходит новичкам, ведь им доверяют заказы меньше этой суммы.

На Хабр Фриланс намного больше, чем у конкурентов, разделов, посвященных разработке на Python.

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

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

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

С темой фриланса мы разобрались, но что делать тем, кто хочет работать в крупной IT компании? Нужно идти на популярные сайты по поиску вакансий:

Это крупнейшая российская компания интернет-рекрутмента. С hh.ru сотрудничают свыше 350 тысяч компаний. Среди них присутствуют такие IT-гиганты, как Yandex, Ozon, Nvidia.

По запросу “Python разработчик” (Стоит писать без дефиса. Так hh.ru и другие сайты находят больше вакансий) сайт выдает 9751 вакансию.

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

На сайте гибкая система фильтров, где можно подобрать вакансию по разным параметрам. Даже без опыта работы велики шансы найти должность стажера или junior-разработчика. Также hh.ru рассылает письма на электронную почту с подбором подходящих вакансий. Если вам ответил работодатель, то сразу же приходит уведомление на e-mail, что избавляет от необходимости постоянно открывать сайт для проверки.

Авито – известный российский сайт по предложению услуг.

По запросу “Python разработчик” сайт выдает маленькое количество предложений. Видно, что IT компании не заинтересованы в поиске сотрудников через Авито. Фильтры для поиска не гибкие, например, отсутствует возможность выбрать проф. область компании.

Еще один проект Хабра, соответственно Хабр Карьера предназначен исключительно для IT-шников.

По запросу “Python разработчик” сайт выдает почти 3000 вакансий. На площадке присутствуют многие топовые российские IT компании: Яндекс, Лаборатория Касперского, 2GIS, Tinkoff, МТС, Билайн, Сбер. Предложения сортируются даже по профессиональным навыкам, что очень удобно.

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

Теперь стало ясно, на каких сайтах стоит подбирать подходящие вакансии, чтобы трудиться на благо чужой компании. Если же вы хотите основать свою компанию и быть как Стив Джобс, Билл Гейтс или Павел Дуров, то запускайте стартап. Этот путь подразумевает огромные риски. В один момент можно потерять все, и это не преувеличение. Неудавшийся стартап может обречь на вечное выплачивание кредитов. Однако если у вас в голове засела гениальная идея, вы толковый разработчик с предпринимательской жилкой, лидерскими качествами и непреодолимым желанием покорить мир – ищите инвесторов, нанимайте команду и работайте над личным проектом.

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

Telegram-каналы

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

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

Личные связи

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

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

ПрограммированиеКарьера+3

Dmitriy Dimidov

28 января 2022  · 1,3 K

Пофигист с большим жизненным опытом, обремененный образованием и личной жизнью… 😉  · 1 февр 2022

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

1,3 K

Комментировать ответ…Комментировать…

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

1,5 K

Комментировать ответ…Комментировать…

Тыжпрограммист со стажем более 10 лет. Собрал сотню компов, установил и настроил винду…  · 28 янв 2022

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

1,2 K

Вопрос на общую тему (с индивидуальным характером) может быть разъяснен только общими словами, все иное считается… Читать дальше

Комментировать ответ…Комментировать…

Язык программирования Python является одним из наиболее популярных и востребованных. Освоить его относительно просто, плюс на рынке труда вакансий очень много: те же сайты HH или Rabota предлагают сотни вакансий. Если же вспомнить, что Python разработчик получает зарплату в районе 70 000 — 300 000 рублей (особенно высока зарплата в Москве и Санкт-Петербурге), то становится понятно, что игра стоит свеч. Однако в реальности все зависит от опыта, и до такого заработка еще надо «дорасти». Но, как и любой генерал когда-то был простым солдатом, так и любой Senior-программист когда-то был джуниором или стажером. В этой статье мы рассмотрим, что требуют современные работодатели на собеседованиях у начинающих программистов на Python.

Какое должно быть образование?

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

Когда цель соискателя — получить работу разработчика Python в сфере Data Science, пригодятся хорошие знания математики, опыт выступления на конференциях, магистерская степень либо аспирантура, а также наличие авторских научно-технических публикаций.

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

Чтобы получить работу, нужен опыт, чтобы получить опыт, нужна работа

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

Очень часто, когда ищут специалистов без опыта, работодатели все же слегка лукавят. К примеру, они требуют, чтобы вы имели опыт от полугода или, по меньшей мере, чтобы за вашими плечами была стажировка в ИТ-компании (то, что вы должны иметь за плечами пройденные курсы, даже не обсуждается — это уже давно из серии «must have»).   

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

— будьте готовы опубликовать свои проекты на GitHub или на личном сайте-портфолио;

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

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

Какие soft skills особенно важны?

При работе на реальном проекте программисту Python недостаточно иметь необходимые технические навыки и уметь решать поставленные задачи. Не менее важны различные социальные и личностные качества:

— умение коммуницировать с людьми;

— умение работать в команде;

— стремление к профессиональному росту;

— повышенное чувство ответственности;

— умение управлять своим рабочим временем.

Все это — базовые soft skills, необходимые почти на любой должности в сфере IT.

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

— умение быстро осваивать много нового материала, способность учиться;

— умение вникать в суть поставленных задач;

— умение быстро схватывать, что от тебя хотят;

— отсутствие страха перед рутинными задачами.

На собеседовании могут спросить об отношении соискателя к рутинным задачам, и это неспроста, т. к. работа нередко включает в себя монотонные процессы. Задавая этот вопрос, работодатель просто желает убедиться, что на вас стоит тратить время, то есть вы не заскучаете через 2 месяца и не сбежите, т. к. «неинтересно». Идеальный ответ — что-то вроде: «Сейчас такие задачи для меня — это реальная возможность получить опыт и отработать свои навыки. В перспективе этот опыт позволит мне справляться с более сложными задачами».

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

— будущие задачи, проекты, продукты;

— особенности компании, ее корпоративную культуру;

— отзывы сотрудников;

— условия работы и т. п.

Выберите, что для вас действительно важно. Неплохие ответы звучат так:

— «В вашей компании я смогу полностью реализовать свои компетенции и получить ценный опыт»;

— «Моя кандидатура прекрасно подходит под ваши требования, так как я владею следующими техническими навыками…»

Какие технические навыки нужны?

Самое главное — это знание языка программирования Python и умение писать на нем код. Порой требуются разработчики (developers), которые имеют базовые навыки программирования и на других языках: C++, Java, Golang и т. п.

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

— уметь работать с базами данных;

— знать фреймворки (хотя бы общее понимание должно присутствовать);

— понимать принципы асинхронного и многопоточного программирования;

— уметь работать в командной строке, иметь начальные навыки системного администрирования (простейшие команды в Linux не должны вас пугать).

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

Иногда разработчика Python ищут под задачи Machine learning. Когда речь идет об отборе Data Science-специалиста, дополнительно проверяются знания алгоритмов машинного обучения. Соискатель должен уметь их применять, идеально, если он участвовал в хакатонах или Kaggle-соревнованиях по Python. Не обойтись и без математики: не должны вызывать затруднений ни теория вероятности, ни линейная алгебра, ни математический анализ.

Что повторить?

Ниже представлен краткий список того, что нужно повторить перед собеседованием:

  1. Алгоритмы и структуры данных. Надо их понимать без привязки к конкретному языку программирования. Тут вам и массивы, и связные списки, и множества, и хэш-таблицы, и бинарные деревья поиска, и графы. Могут спросить основные алгоритмы сортировки, способы обхода графов и т. п.
  2. Структуры данных в Python. Какие бывают, как применяются, чем различаются, какие есть плюсы и минусы. Строки, списки, множества, кортежи, словари, числовые типы данных… Будет преимуществом умение использовать встроенные в язык программирования структуры данных, к примеру, OrderedDict либо defaultdict из модуля collections.
  3. Изменяемые и неизменяемые типы данных. Какая между ними разница, какие неизменяемые и изменяемые типы данных вы знаете. Могут показать задачу и спросить, какую структуру данных вы бы выбрали для решения.
  4. Декораторы в Python: что это, как устроено. Иногда просят написать код декоратора. Полезно знать functools.wraps.
  5. Контекстные менеджеры: что это, для чего надо. Одно из заданий — реализация контекстного менеджера для работы с файлами по аналогии со встроенным open().
  6. Генераторы и итераторы в Python: что это, для чего надо, чем различаются. Можете ли написать генератор четных чисел либо чисел Фибоначчи.
  7. GIL: зачем нужен, как работает. Может ли в Python одновременно выполняться более одного потока? Эти знания не то, чтобы обязательны, но выделить кандидата на фоне других они определенно способны.
  8. Как устроены популярные фреймворки для «Питона» (Django, Flask). Каковы сильные и слабые стороны. Можете ли вы спроектировать БД для приложения и написать парочку запросов посредством ORM либо SQL.
  9. Как функционирует интернет. Требуется понимание моделей OSI/TCP IP, основных протоколов. Знаете ли вы, что происходит, если в поисковой строке вбиваешь, к примеру, otus.ru.
  10. Утилиты командной строки. Достаточно рассказать про 5-10 команд, которые вы наиболее часто используете.
  11. Потоки, процессы, асинхронное программирование. Какова разница между потоком и процессом, каковы способы межпроцессного взаимодействия вам известны.
  12. Логико-математические задачи. Базовые знания математики, комбинаторики и теории вероятности не помешают, как и умение работать с числами в различных системах счисления.

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

Источники:

  • https://tproger.ru/articles/what-junior-python-dev-should-know/;
  • https://checkroi.ru/blog/professiya-python-programmist/.

Примеры вакансий разработчиков на Python можно посмотреть на Jobsora.

яндексPython — один из самых популярных языков программирования. В рейтинге Stack Overflow 2020 года он занимает третье место. Его легко освоить, а на рынке нет дефицита вакансий. По запросу «Python-разработчик» HeadHunter предлагает 3340 вакансий за месяц. Python используют при создании веб-приложений, в машинном обучении и Data Science. Анастасия Новикова, автор курса «Python-разработчик» в Яндекс.Практикуме, делится опытом прохождения интервью на позицию Python-разработчика и рассказывает, что работодатели обычно ждут от начинающих специалистов.

Анастасия Новикова

Анастасия Новикова


автор курса «Python-разработчик» в Яндекс.Практикуме

Какое нужно образование?

Обычно резюме на Junior Python-разработчика подают выпускники или студенты последних курсов технических и математических специальностей. Профильное дополнительное образование, пройденные курсы на Stepik, Coursera или других платформах станут плюсом к основному образованию. Если вы хотите работать в Data Science, то бонусом будут магистерская степень или аспирантура, наличие публикаций и выступления на конференциях.

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

Как проверяют опыт работы?

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

Завершённые проекты можно опубликовать, например, в личном профиле на GitHub или создать сайт-портфолио. На собеседовании вы сможете рассказать, какая перед вами стояла задача, какие технологии вы выбрали и почему. Дополнительные проекты помогут не только прокачать навыки, но и выделиться среди других кандидатов.

Какие soft skills пригодятся в первую очередь?

Помните сериал «Кремниевая долина» и его главного героя Ричарда Хендрикса, CEO «Пегого Дудочника»? Он был отличным программистом, но ему явно не хватало умения общаться с людьми, работать в команде и руководить сотрудниками. На практике одного умения решать поставленные задачи с помощью технических навыков бывает недостаточно, успешность кандидата зависит также от его социальных качеств.

Ответственность, стремление к профессиональному росту, умение управлять рабочим временем и работать в команде — это базовые soft skills, которые нужны практически на любой должности в ИТ-сфере.

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

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

Изучите перед собеседованием свои будущие задачи, продукты и проекты, с которыми работают в компании, этап развития компании (например, стартап или ИТ-гигант), корпоративную культуру, отзывы сотрудников, местоположение, условия работы. И выберите среди всего то, что вам действительно важно. Это может быть простое «это компания, где я могу полностью реализовать свои компетенции и продолжить карьеру» или «мне кажется, мой опыт отлично подходит под требования» и перечислите ключевые навыки.

Какие технические навыки необходимы?

Основное требование — знание языка программирования Python. Но иногда на позицию Python-разработчика рассматривают специалистов с опытом в других популярных языках (например, C++, Java, Go).

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

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

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

Что повторить перед собеседованием

Алгоритмы и структуры данных (без привязки к языку программирования). Желательно знать, как устроены массивы, связные списки, хеш-таблицы, множества, бинарные деревья поиска, графы. Какая сложность (в O-нотации) основных операций при работе с ними. Могут также задать вопросы по базовым алгоритмам. Например, попросить рассказать про основные алгоритмы сортировки, бинарный поиск или способы обхода графов.

Структуры данных в Python: примеры применения, различия, преимущества и недостатки. Будьте готовы отвечать на вопросы про числовые типы данных, строки, списки, кортежи, множества и словари. Преимуществом будет знание и опыт применения встроенных в язык структур данных, например, OrderedDict или defaultdict из модуля collections.

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

Декораторы: что это такое и как они устроены. Могут, например, попросить написать код декоратора для измерения времени работы функции или декоратора с параметром. Полезным будет знание functools.wraps.

Контекстные менеджеры: что это такое и для чего используют. Могут попросить реализовать контекстный менеджер для работы с файлами, аналогичный встроенному open().

Генераторы и итераторы: что это такое, для чего они используются, какая между ними разница. Могут, например, попросить написать генератор чётных чисел или чисел Фибоначчи.

GIL: зачем он нужен и как работает. Вопрос на собеседовании может быть такой: «Могут ли в Python одновременно выполняться больше одного потока?» От начинающих специалистов обычно не требуют знаний про GIL, но они могут выгодно выделить вас на фоне других кандидатов.

Как устроен один из популярных фреймворков, например Django или Flask. Хорошо, если вы понимаете его сильные и слабые стороны. Могут попросить спроектировать базу данных для приложения, написать несколько запросов с помощью ORM или на чистом SQL.

Как работает интернет: понимание модели/моделей OSI/TCP IP, основных протоколов. Популярный вопрос из этого раздела: «Что происходит, когда в поисковой строке вбиваешь google.com?»

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

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

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

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

«Чистый код: создание, анализ и рефакторинг», Мартин Роберт К. «Грязный» код мешает развитию проекта и компании, потому что требует значительных ресурсов на поддержку. В книге много реальных примеров, которые научат отличать плохой код от хорошего. Она пригодится всем начинающим разработчикам, читается легко. Возможно, не всё получится сразу применить на практике, но когда вы столкнётесь с ситуацией, упомянутой в книге, вам будет легче найти решение.

«Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих», Адитья Бхаргава. Думаете, алгоритмы это сложно? Книга убедит вас в обратном. В ней подробно разбирается каждый алгоритм: будет понятно даже ребёнку. Воспроизвести их на любом языке программирования не составит труда.

«Программируем на Python», Майкл Доусон. Автор книги — опытный разработчик. Он помогает освоить фундаментальные принципы на примере создания простых игр. Так вы получите базовые навыки и сможете пополнить портфолио. Для более продвинутых специалистов книга может показаться скучной, главная аудитория — всё-таки начинающие разработчики.

«Python на практике», Марк Саммерфилд. Знания из книги помогут лучше подготовиться к собеседованиям. Подходит начинающим и опытным программистам. В основе четыре темы: повышение элегантности кода с помощью паттернов проектирования, повышение быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика.

«Изучаем Python», «Программируем на Python», «Python. Карманный справочник», Марк Лутц. Это несколько книг известного инструктора по Python. Их лучше читать в оригинале. Они помогают восполнить пробелы в знаниях и разобраться в сложных вещах. В «Карманном справочнике» вы найдёте основные сведения о типах данных и операторах, специальных методах, встроенных функциях, которые пригодятся при работе с Python.

«Python. Книга Рецептов», Дэвид Бизли, Брайан К. Джонс. Пособие для начинающих и опытных разработчиков, которое поможет создавать легкочитаемый, оптимизированный и поддерживаемый код. 15 глав охватывают основные темы Python, каждая глава содержит конкретные «рецепты» с примерами кода, которые вы сможете использовать в своих проектах.

«Алгоритмы: построение и анализ», Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Это справочник и пособие по алгоритмам, которое пригодится и начинающим разработчикам, и сеньорам, и тимлидам. Описания даются на простом языке, главы независимы друг от друга, можно изучать в любом порядке и объёме.

Python и фриланс насколько это совместимые вещи? Фриланс настолько разнообразен, что там есть место специалистов с абсолютно любым навыком, тем более, если навыком является знание языка программирования.

Фриланс выгоден для всех:

  • для начинающих специалистов – это способ получить первый или дополнительный опыт, а также проекты в свое портфолио;

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

Да, во фрилансе есть риск и для фрилансеров, и для заказчиков:

  • фрилансер может «нарваться» на заказчика, который не оплатит его работу или оплатит, но не полностью, или будет требовать больше, чем входит в заявленную стоимость;

  • заказчик может «нарваться» на фрилансера, который сделает работу некачественно и не правильно или сделает работу не вовремя.

Но где нет риска?

Python и фриланс

Python — это популярный язык широкого назначения, на нем можно разработать много чего. Поэтому на фриланс-биржах очень много работы по этому языку, например:

  • сделать бота для Телеграм;

  • доработать сайт на Django;

  • создать регистратора аккаунтов;

  • создать бота для игры;

  • разработать программу для Linux;

  • написать парсер;

  • доработать нейронную сеть;

  • написать скрипт для рассылки писем или сообщений в соцсетях;

  • написать/исправить скрипты для Raspberry PI;

  • дать консультацию по проекту на Python;

  • доработать серверное приложение на Python;

  • backend на Python и др.

То есть тандем Python и фриланс  существует и он очень разнообразен. Есть большой список различных задач на Python, на которых может заработать «питонист» во фрилансе.

Однако имеется маленькая загвоздка. Выучить Python  не сложно, можно в течение нескольких недель освоить основы языка и начать на нем что-то кодить. Но для работы во фрилансе знаний чистого Python будет недостаточно. Для того, чтобы  зарабатывать, нужно изучать еще и смежные инструменты. То есть, если вы стоите на самом старте и хотите уйти во фриланс со знаниями Python, то нужно сразу определиться, в каком направлении вы будете двигаться:

  • веб-разработка;

  • разработка программ и ботов;

  • работа с нейросетями;

  • работа с базами данных и серверами и т. д.

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

Python и фриланс: сколько можно заработать

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

Если уходить на «западные рынки», то там ситуация во фрилансе поинтереснее. К примеру, на американских биржах фриланса заработки по  Python начинаются от 10-80$ в час. Разброс большой, потому что проекты разные. Но для работы на американских биржах требуется отличное знание английского языка для коммуникации с англоязычными заказчиками и минимальный опыт.

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

Еще ценообразование нужно отделить по опыту:

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

  • Python-фриланс для специалистов с опытом, где работу можно искать на специализированных площадках, наподобие hh.ru или GitHub, здесь требований к специалисту будет больше, но и заработок будет больше.

Как понять, что для вас уже открыт фриланс на  Python

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

Многие ставят себе такую «планку для старта»: когда буду уверен/уверена, что знаю Python на 100%, ну хотя бы на 99%, то сразу пойду во фриланс и начну зарабатывать большие деньги. Такого не будет никогда. В смысле, вы никогда не будете знать Python на 100%. Чем больше вы будете изучать возможности этого языка, тем больше вы будете понимать, что вам еще очень многое нужно выучить. А еще печальнее для вас станет осознание того, что есть люди, которые больше вас знают Python, и поэтому перед ними больше открыто возможностей для заработка. Вы будете изучать то, что знают эти специалисты, считая, что это «потолок», но изучив, вы найдете других специалистов для ориентира, которые знают больше. В общем, эта «гонка» будет продолжаться бесконечно. Хотя бы потому, что сам Python постоянно развивается и обрастает новыми возможностями и инструментами. Пока вы будете изучать одни его возможности, в это время будут появляться другие.

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

На практике это происходит примерно так. Вы только начали изучать Python. Идете на биржу фриланса и видите условный заказ «Написать бота для Телеграм за 1000 р».

– О, первая 1000 р!,- думаете вы, оставляете заявку и получаете этот заказ. 

В этот момент вас просто интересует получение опыта, плюс, возможность заработать небольшие деньги. Сделали вы  таких 10-20 ботов, подучились, набрались опыта и понимаете, что такие боты стоят 3000 р, а не 1000. И за 1000 вы их не согласны делать, потому что вы  стали опытней и берете уже проекты по 5000 р по веб-разработке или работе с базами данных. Потом проходит время, и вы увлеклись программированием на Python для нейросетей, а там и проекты крупнее, и зарплата в них больше, и вас вообще не интересует создание ботов за 3000 р, а тем более за 1000. Вам подавай проекты за 50 000 р, и они будут! И вы будете в них работать. Но в это время кто-то другой только начал изучать Python, зашел на фриланс-биржу, видит условный заказ «Написать бота для Телеграм за 1000 рублей» и с радостью берет подобный заказ. Примерно так и происходит круговорот специалистов в программировании. В любой точке вашего изучения Python будут те, кто знает больше вас и берет проекты сложнее и дороже, но так же будут те, кто знает меньше вас и берет проекты проще и дешевле.

Заключение

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

Добавить комментарий