Friday, July 27, 2012

Шаг первый. Поиск работы.

     Привет, меня зовут pol и в этой статье я хочу рассказать немного про свой опыт поиска работы. Собственно под конец третьего курса я серьезно задумался о том, что пора получать знания за пределами университета. 
     Начинающему сложно найти работу не имея опыта, особенно если все чему учат в университете абсолютно бесполезно в реальной жизни (за малым исключением, разумеется).
     Я не гений и не обладаю усидчивостью и трудолюбием китайца. Вместо того, чтобы заниматься я могу пойти в качалку или посмотреть сериал. Но тем не менее какими-то знаниями в программировании я обладаю (недаром писал курсовые) и есть небольшой опыт участия в олимпиадах по программированию (пусть и не самый успешный). Соответственно с таким набором я приступил к поиску работы. 
     Сразу хочу сказать, что все компании актуальны для Санк-Петербурга и все вакансии и стажировки в них были актуальны на момент написания статьи. Первое, что мне попалось это стажировка в T-Systems. Крупная, хорошая компания, которая является подразделением Deutsche Telekom. У них периодически появляются вакансии стажеров Java и стажеров тестировщиков. Обучение проводится в течении 2,5 месяцев по результатам стажировки человека берут в штат. Признаться на тот момент на Java я писал только курсовую по алгоритмам (и то не себе) и была прочитана половина книги Хорстманна и половина книги Эккеля, то есть жабу я знал очень поверхностно. Но несмотря на это я на вакансию откликнулся и через какое-то время мне скинули тестовые задачи. Срок решения - 1 неделя. Задачи оказались несложными ( и позже я постараюсь их выложить сюда с решением, надеюсь что это не тайна) и через четыре дня я скинул их - спустя некоторое время меня пригласили на собеседование. Это был период зимней сессии и я отнесся к этому собеседованию довольно халатно - ничего не повторял и пошел невыспавшийся. Это была ошибка - я мало того что не ответил на многие элементарные вопросы( позже я дам ссылки на то что надо прочитать обязательно), так еще и не решил задачку для шестого класса. Печальная история, но я забил.
     Уже позже весной я нашел такую компанию, как  Studio Mobile. Они предлагали школу разработчиков под iOS и Android. Надо было заполнить анкету с небольшим количеством теоретических вопросов (я ее выложу), по результатам анкеты высылалось тестовое задание. Анкетирование я прошел успешно и мне прислали тестовое задание, которое нужно было сделать на С. Задачи носили олимпиадный характер и одна из них была довольно таки нетривиальна для меня. Но я справился и отправил решения задач на C и Objective-C (как никак пришлось бы столкнуться с программированием под iphone и я познакомился с базовым синтаксисом языка + прослушал первые три лекции стенфордского университета). Решение задач обязательно выложу. Ответили мне лишь спустя 2 недели, сказав, что школа уже набрана - извиняйте, вы в нашей базе. Окай! Где то через месяц я случайно на  head hunter нашел объявление о школе. Ну мне терять нечего - откликнулся. Повторилась та же схема: анкета, но без задач - видно реально база есть, пробили гады. Не сказать, что я не готовился к этому собеседованию, но так как я не имел понятия, что именно меня будут спрашивать, то я лишь освежил свои знания С и Java, повторил пару алгоритмов сортировки и пошел. Признаться так меня никогда не троллили. Техническую часть собеседования проводили рыжебородый мужик и девушка. Странная парочка. В основном меня погоняли по рекурсии - заставили вспомнить все ее виды и возможные ошибки, которые она влечет. Спросили какую-то фигню про связанные списки. И наконец попросили спроектировать такую структуру в которой элементы удаляются через 30 секунд, после добавления. Я предложил несколько идей, которые пришли в голову, но они их сразу отвергли и когда, подумав пару минут, я ответил что немогу сходу предложить решение задачи - они покачав головой и со смешками сказали, что очень плохо и чтобы я подумал со своими друзьями над этим. WTF ? В общем на протяжения всего собеседования они ржали и шутили - очень неприятная обстановка и люди. Думаю, если у вас есть простые приложения под Android или iOS, то смело можете туда идти. 
     После этих собеседований был долгий перерыв на сессию - я сдавал долги, зачеты и экзамены, в общем было весело. В течении этого времени этого я откликался в  Yumasoft и e-Legion, но об этом позже. Еще около месяца я потратил на олимпиаду по программированию в Киеве - мы ничего не заняли, но хорошо отдохнули в этом красивом городе.
     Вернувшись в Санкт-Петербург я заново начал поиск работы, которой мне так не хватало. На hh.ru я откликнулся на порядка 20 вакансий плюс ко всему парсил интернет просторы в поисках компании, проводящей стажировки и набирающей начинающих программистов. Все это происходило в течении двух недель: в первую я откликался на вакансии и делал тестовые задания, во вторую я ходил на собеседования.
     Первое о чем я вспомнил - это Yumasoft. Как я уже говорил я с ними связывался весной. Тогда они мне выслали тестовое задание, которое надо было сделать на Flex и ActionScript. Я сделал(никогда в жизни до этого не видел flex, а с actionscript сталкивался поверхностно) и отправил им. Меня весной позвали на собеседование, но я был сутками в универе - сдавал долги, и не пошел. Летом же картина повторилась и спустя какое то время я пошел на собеседование. Меня спросили про "трех китов" ООП и с как и с помощью чего я бы проверял корректность введенного e-mail'а. Сказали, что придется работать овер много, а зарплата серая (спалил сейчас контору). Обещали сообщить результаты через несколько дней - фугушки. Но я смирился, что это нормальная практика. Только из студио-мобайл мне через 2 недели ответили, что я пока не подхожу.
     В это же время я нашел школу  iOS разработчика в e-Legion.Там надо было заполнить анкету и получить тестовое задание. Задание пришло через день после отправки анкеты. Признаться оно меня удивило - в общем то не проверялась никакая алгоритмическая подготовка или знание языка. Надо был просто узнать работу функций времени/даты в чистом Си и в зависимости от операционной системы(Windows/Mac/Linux) и локали в этой системе  написать консольный календарь. В моем распоряжении только Mac OS и Cent OS, Windows  я не пользуюсь уже пару лет. Ок, я нашел нужные функции (знать я их не мог, потому что Си мы проходили на уровне циклов и функций). Возникли проблемы из-за отсутствия библиотек в MacOS - день недели начинался всегда с воскресенья, что для некоторых локалей неправильно. Но так как стандартный cal работал точно также, а на линухе все было OK, то я отправил свое решение. Ответа я так и не получил, несмотря на обещания хрюши. Решение задачи и полное условие обязательно выложу. Так же хочу сказать о вакансии стажера Perl, которая висит почти год на сайте e-Legion. На нее я откликался весной, мне пришла анкета  с вопросами по Perl и предложением ее заполнить и отправить, чтобы она попала в базу, а сама вакансия станет актуальна только летом. Я не стал заморачиваться, может быть зря. Саму анкету выложу. 
     Одновременно с заданием из легиона мне пришло задание из  фирмы HireRight. Занимается она, как я понял сбором сведений о будущих сотрудниках - на западе хотят все знать. В питере расположен небольшой филиал - программисты. Отлично! Задание заключалось в том, чтобы проверять XML файл на валидность с помощью DTD/XSD стандартными парсерами и подсчитать количество требуемых элементов во входном файле. Программа должна была поддерживать динамическую конфигурацию из другого xml фала и написана, естественно, на Java. Я знал все об xml, но ничего о средствах работы с ним в java. В итоге 2 вечера и мной была написана программа, на мой взгляд довольно сносно. Я отправил код и программу с небольшими пояснениями. Но ответа по ней так и не получил. Это раздражает. С меня полное условие и мое решение. Не могу сказать насколько часто им нужны новички, но я понял что они растут и шанс найти junior'у работу есть. 
     После этого мне поступило приглашение на собеседование в fora-soft. Ну я и пошел. Спрашивали по всему: почтовые протоколы, порт веб сервера, udp/tcp, ООП, алгоритмическая задачка, вопросы про потоки, транзакции и тд и тп. В результате выслали тестовое задание через день, которое я делать не стал, так как пришло приглашение на собеседование в другую компанию. Но само задание я выложу обязательно.
     Меня пригласили на собеседование на должность стажера в КРОК инкорпорейтед. Собеседование провдило три человека и меня в течении получас гоняли по Java: гоняли по типам исключений в java, как бы я спроектировал такой интерфейс сякой интерфейс, коллекции какие есть и чем отличаются, как устроен архив веб приложения, про паттерны спросили немного (в частности про singletone), про тестирование - я знаю только модульное и то на уровне представления.  Через день мне позвонили и сделали предложение пройти стажировку.



     Также хочу дать список компаний, которые предоставляют время от времени возможность работы или стажировки студентам. 
  • Exigen Services  - школы аналогичные школам в t-systems. Но на мой отклик не было никакой реакции. И появляются реже чем в t-systems.
  • Транзас Технологии -  предоставляют стажировки студентам по направлениям Java/C#/C++. Откликался - не уверен что они мне звонили, но вроде жаловались на недостаток опыта C++. Ну что есть то есть.
  • EMC - часто появляются стажировки, уровень довольно высокий. На все мои отклики через месяц ответили, что позиция уже занята - вакантных мест нет. Зачем ее было постоянно обновлять - остается загадкой.
  • Люксофт - вроде когда-то был интерес в студентах. Сейчас только синьоры. Если есть уверенность в знаниях ( а вдруг получится) имеет смысл писать им на e-mail с вопросом о возможностях для студентов.
  • EPAM - хорошая компания. Постоянно проводит обучение, но только не в питере (хотя на главном сайте вроде есть информацию о стажировке в спб - в реале ее найти не получилось). Искать здесь __training.ru
  • Topface - ничего не могу сказать о компании, но вроде есть набор стажеров PHP / JavaScript / C / C++.
  • Лаборатория информационного консалтинга - видал вакнсию младшего программиста Java. Возможно такие вакнсии будут появляться и дальше.
  • Swissmed Mobile - откликался на вакансию Junior Mobile Developer. Попросили скинуть пример моего код - стало стыдно за свой быдлокод, не скинул. А так есть возможность, особенно если хорошо знаете Java и Android.
  • Ланит-Терком - есть информация о стажировках и летних школах. Но она датированна 2011 годом. Новую информацию не выяснял, но кому интересно - попытка не пытка.
  • АРГУС - есть студенческие программы. Не уверен, что чисто программерские, но инженерские точно есть. Гибкий график обещают.
  • VIAcode - компания сотрудничает с Microsoft - соответственно вакансию джуновские мелькают, но только на C#.
  • Тензор - хм, вообще компания в Ярославле, но филиал есть и в Петербурге. Вакансию правда видел только менеджера. Но можно попробовать узнать. Или поехать в Ярославль)))
  • Digital Design - предоставляет IT университет в котором можно выучиться за несколько месяцев на сисадмина, разработчика, системного программиста или Инженера Service Desk. Интересно. Я так понял проходит весной/ летом и осенью/зимой. Нужно следить за новостями.
  • Кристалл Сервис - есть стажировки. Заявку не подавал - было лень заполнять большую анкету. Но возможно неплохой шанс.
  • Ниазида - предлагают стажировку. Что надо знать не написано, но предполагаю php, mysql, javascript подойдет.
  • Bercut - есть возможность пройти практику летом. Думаю на крайний случай, хотя..
  • Etersoft - явных стажировок нет, но студенты приветствуются. 
  • Аркадия - странная компания. Вроде студентов уважают, но явно не приглашают. Можно наглеть и интересоваться по e-mail/телефону.
  • СКБ Контур - стажировки как я понял проходят только в Екатеринбурге, хотя есть филиал в Питере. Но они предоставляют все условия переезда и стажировка летом - отличная возможность посетить Урал.
  • AT Consulting - есть стажировки Java, Oracle. Думаю надо неплохо разбираться в работе с базами данных.
  • First Line Software - стажировок нет. Предлагают работать студентам 32 часа в неделю. 
  • Алее Софтвер - без понятия что за контора, но я их нашел и написал письмо о том что хочу стажироваться. Пригласили на собеседование - я не пошел, т.к. устал в тот день))) Можно попробовать. Думаю там много лэтишников.
  • Agile Fusion - совсем о них забыл. Присылали тестовое задание - надо было написать приложение для Android. Думаю не очень сложно, но я в тот момент был занят. Само задание выложу.
  • levelapp.me - летняя школа мобильных приложений. Присылали задание, но я откликнулся поздно и даже не начал делать.
  • Лаборатория Касперского - присылали задание на C++. Даже не пытался его делать - я не плюсист. Скину сами задачки.
Есть еще довольно много компаний у которых есть позиции для начинающих. Некоторые из них отказывают на hh.ru, некоторые просто просматривают резюме и оставляют без ответа, другие как будто размещают вакансии для галочки - разместили, а следить не обязательно. Но я за 2 недели убедился что молодому программисту найти работу несложно - возможностей для старта много.