Как перейти в IT индустрию (Часть 1)
Всем привет! Решил я написать о своем опыте смены профессии. Может кого-то подтолкну на решение о смене профессии.
Предисловие:
На данный момент я работаю в государственном учреждении, по специальности, но со школьных времен меня интересовало программирование в виде хобби (может кто помнит Python Symbian). Не предав этому внимания, я неудачно поступил вместо программирования на «свою специальность» (пока называть её не вижу резона). В данный момент я пишу на PHP различные недосайты и недоскрипты, но ни один до конца, я так и не дописал. Тяжесть ошибки выбора идет за мной по пятам вот уже 8 лет... И я решил! Стоп! Не хочу прожить жизнь вместе с грузом ошибки выбора и прочим нытьем. Ну и если быть до конца честным, то после 5 месяца работы в госслужбе, я полностью разочаровался в ней. Да и зарплаты отличаются в 3-5 раз. Итак решено! Меняю профиль работы, а если все потеряю, то так тому и быть!
I. Разведка поля боя:
Дано:
1. PHP — начальные знания синтаксиса и немного ООП
2. Python — начальные знания синтаксиса и тоже немного ООП
3. HTML и CSS — на уровне блочной верстки и немного Bootstrap
4. SQL запросы select, insert, drop table =)
5. Прочитал книгу SWIFT для детей (кстати очень понравилась) =)
Не дано:
1. Знание PHP, Python фрэймворков
2. HTML5
3. CSS анимации, препроцессоров LESS и SASS
4. Javascript и фрэймворков (JQUERY и прч)
5. Опыт
Из всех представленных направлений на рынке труда, нам подойдут с минимальными требованиями и отсутствием опыта. Если кто-то думает, что в рамках программирования я отличаюсь от обычного обывателя, Вы сильно ошибаетесь. Все кто хоть раз пробовал писать на Pascal или делал HTML сайты, практически находятся на моем уровне. Самой подходящей специальностью оказалась профессия тестировщика. Я создал резюме на HH.ru и начал кидать отклики на вакансии.
Но стоит понимать, что в отличие от юных специалистов закончивших институт и проходящих в нем учебу, мы не можем себе позволить стажировку за условную плату или бесплатно, ибо опухнем от голода и останемся на холоде!
II. Подготовка к бою
Просмотрев тематические видео на Youtube, я узнал что такое тестирование и чем люди там занимаются. Понял, что это не просто тыкание приложения или программы в поисках ошибок, а целая наука со своей теорией. Прочитал книгу «Тестирование Дот Ком» Р. Савина по диагонали, которую рекомендовала к прочтению одна из блогерш по совместительству QA. Тестирование показалось мне рутинным и скучным занятием, которое в корне отличается от моего характера. Но выбирать не приходится, ибо главное туда попасть.
Вакансий компаний готовых принять меня без опыта на «дармоедство», оказалось чуть больше 3-х. Но я узнал, что некоторым фирмам требуются тестировщики для написания авто-тестов. Тестирование мне не нравится, а вот писать код я люблю! Соответственно позиция тестировщика-программиста мне была по душе.
III. Первый бой
1 вакансия (тестировщик программист Python):
требования — Начальные знания одного из языков программирования (базовые типы и умение работать с ними, циклы, функции)
будет плюсом — Знание Python, Selenium Webdriver, опыт разработки автотестов, понимание принципов разработки и тестирования ПО, знания веб-технологий (html, css, js, http)
процесс — собеседование по скайпу (я больше не смеюсь над видео, где эксперты дают интервью по скайпу, а потом встают в трусах), тестовое задание написать простой тест на Pyhon для тестирования 2 функций поисковика. Переделать тест с использованием фрэймворка (я выбрал unittest) и использовать PageObject патерн (простыми словами это концепция разделения одного скрипта на несколько, в одном адреса элементов HTML страницы, в другом сам код тестирования).
итог — все понравилось но выбрали другого кандидата (я немного расстроился), но! Я узнал что такое Selenium Webdriver и PageObject и получил опыт их использования.
2 вакансия (тестировщик):
требования — аналитическое мышление
Поступил звонок из компании:
HR — вы хотите быть именно тестировщиком или у вас в планах перейти на другую специальность?
Я — начать хотел бы в тестировании и со временем перейти на позицию программиста в вашей фирме.
HR — Жаль, нам нужны люди которые видят себя только в тестировании.
Мой совет, теперь уже на опыте. Никогда не говорите, что у Вас в планах есть переход на другую должность. Говорите, что это Ваша мечта и вы вообще счастливы, что они Вам перезвонили. Высказывайте свои амбиции, только в рамках данной вакансии.
3 вакансия (программист тестировщик Python):
требования — умение написать тестовую документацию, ориентироваться в видах и уровнях тестирования, уметь применять основные методы тест-дизайна
будет плюсом — разрабатывали автотесты на Python, использовали паттерны PageObject + Components, работали с Jenkins или TeamCity.
Данная вакансия в той же компании, что и вакансия №2. Почему-то я сразу её и не заметил. Пока отправил отклик и меня одолевают думки... Не откажут ли они мне, из-за событий 2 вакансии. В этом отклике я уже добавил, небольшой опыт написание авто-тестов на Python + Unittest + Selenium + PageObject. Не соврал же. =)
IV . Послесловие:
Решил посмотреть видео курс по Python-у, повторить виды, методы и уровни тестирования, посмотреть что-такое Jenkins и ждать ответа от 3-ей вакансии. Ничего не бойтесь и идите к своей мечте! Даже если она находится на 25 этаже ;)
p.s.: Буду рад замечаниям по орфографии, пунктуации и в целом по повествованию. Принимаются советы, мудрость и критика. Если кому-то будет интересно, продолжу писать.