Наш чатик

Телеграм чат начинающих программистов. Общаемся и помогаем друг другу

Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush или пойти другими путем

Портфолио, резюме, собеседования

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

План урока

  1. Итоги курса
  2. Как оформить профиль на github и опубликовать свое портфолио
  3. Несколько советов о резюме
  4. Несколько советов о собеседованиях

Полученные на курсе знания

Давайте перечислим все темы, которые мы изучали в течение всего курса:

  • Установка Ruby,
  • Редактор Sublime
  • Работа с консолью
  • Объекты, переменные, массивы
  • Ветвление (if, case)
  • Консольный ввод-вывод gets, puts
  • Циклы (fot, while)
  • Аргументы командной строки
  • Методы
  • Классы
  • Чтение/запись файлов
  • Использование библиотек
  • Работа с ошибками и исключениями
  • Среда разработки Rubymine
  • Системы контроля версий: git, github
  • Объекты и память
  • Ассоциативные массивы, символы
  • Наследование классов, абстрактные методы
  • Статические методы
  • Форматы XML, JSON
  • Базы данных (SQlite)
  • Работа с сетью, протоколы
  • Отладка программ с помощью дебагера
  • Тестирование (RSpec)

Ваш багаж

Помимо этого, вы написали большое количество простых и не очень простых программ.

Некоторые из них достойны того, чтобы их кому-нибудь показать (если вы конечно поработали над ними, выполняя все домашние задания):

  • Блокнот с различными типами заметок
  • Прогноз погоды
  • Программа для учёта личных финансов
  • Курсы валют
  • Игра «Виселица»

Подробный список с нашими комментариями приложен в материалах урока.

Что делать теперь?

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

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

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

Во-вторых, надо сделать аккуратное резюме.

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

Github

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

Пример неплохо заполненного профиля на github

Укажите ваше полное имя (юзернейм можно оставить), загрузите фотографию и напишите, что вы начинающий программист.

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

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

Плохо оформленный репозиторий

Структурируйте ваши программы, делите их на классы и выносить сложные методы в отдельные файлы.

В каждом репозитории должен быть файл README.txt или README.md (о формате markdown) с описанием программы, зачем она нужна и как ей пользоваться. В коде обязательно пишите комментарии, пишите тесты.

Нормально оформленный репозиторий

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

StackOverflow

Если вы хорошо владеете английским (на уровне читать-писать), заведите себе аккаунт на сайте stackoverflow.com, если не очень — на сайте ru.stackoverflow.com. Ищите там ответы на вопросы, которые у вас возникнут в ходе решения программистских задач. Если не нашли интересующий вас вопрос — задайте свой.

Сайт ru.stackoverflow.com для задавания вопросов

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

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

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

Сайт toster.ru для задавания вопросов

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

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

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

Резюме

Перед тем, как писать резюме, вспомните и аккуратно запишите куда-нибудь все формальности — образование, опыт работы (если она хотя бы мало-мальски была связана с IT), навыки и знания в программировании (какие книги читали, курсы проходили).

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

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

После того, как вы составите своё резюме (пускай просто в текстовом файле), можно приступать его публикации на сайтах по поиску работы.

Сайты по поиску работы

Основных в области IT в рунете два: hh.ru и moirkug.ru. Тщательно и аккуратно заполните ваши профили. Можно добавить немного креатива, чтобы выделиться, но не переборщите. Все-таки не в камедиклаб устраиваетесь :)

Сайт hh.ru для поиска работы

Сайт moikrug.ru для поиска работы

Лучший способ найти подходящую вакансию — напрямую писать/звонить в понравившуюся компанию, показать серьезность своих намерений. Главное понять, почему вы хотите работать именно в этой компании, чем она вам понравилась и чем она вам близка.

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

Читерский способ поиска работы

Как проходить собеседования

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

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

Акцентируйте ваши сильные стороны. Вот какие сильные стороны обычно ценят работодатели:

  1. Учиться, учиться и еще раз учиться: искать решения поставленных задач — постоянная забота программиста. Чаще всего первые дни, недели вашей работы вы будете большую часть времени проводить в Google в поисках знаний и ответов на вопросы. Покажите, что готовы учиться и развиваться.

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

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

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

Как себя подавать и продавать

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

  1. Вы умеете учиться и саморазвиваться в программировании (ну если вы дошли до этого урока, вы же не сразу к концу проскочили, верно? ;)
  2. Вы понимаете, что такое культура разработки (вся эта наша философия про постановку задачи, проектирование, рефакторинг, комментарии и т. п. была с очень большим смыслом)
  3. Вы знаете, что такое тестирование и почему оно важно

Сообщите об этом при случае на собеседовании.

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

Поработайте над своим языком: всегда проще взять на работу человека, который адекватно рассуждает. Попробуйте отследить два-три слова-паразита (если они у вас есть).

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

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

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

И напоследок, пара почти очевидных советов, что не надо делать.

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

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

Итак, еще раз — главное, что мы постарались вложить в вас за весь этот курс — не знание руби, а навыки правильной работы и правильного мышления.

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

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