Начинающий IT-шник

Здравствуйте всем!

Так сложилось в моей жизни, что в свои 33 года мне пришлось поменять сферу деятельности. Из профессионального музыканта, потом работника международного отеля я переквалифицировался в тестировщики.
Получилось так, что в ноябре 2015 передо мной встал вопрос: чем заниматься в жизни дальше? Плыть по течению без надежды и перспектив мне не хотелось.
Всегда привлекали умные люди и технологии. Но я всегда знал, что не смотря на мои успехи в школьной математике программистом мне не быть. Однако, именно программирование я выбрал в качестве своего дальнейшего развития.
Все началось с каких-то роликов на Ютубе про двоичную систему исчисления, написания в текстовом редакторе знаменитого “Hello world” и купленной книги “Java 8 для чайников”. Своей первой жертвой я решил сделать именно язык Java, потому как в моем дилетантском разуме он был на слуху. Так же записался на курсы с твердой уверенностью стать Java-профессионалом. Однако, прочитав треть книги и пройдя несколько уроков, мой пыл поугас.
Я не понимал зачем нужны циклы и где применяются массивы. Что такое классы и объекты, методы и свойства - это было вообще темным лесом. И тут мне на помощь пришел курс одного умного человека по iOS разработке. Начав изучать Swift, Objective-C и что-то чиркать в Xcode, подкрепив это все визуализацией(кнопочки, окошечки, лейблы), у меня наконец в голове начало проясняться что такое ООП и для чего оно нужно.

За пару недель до просветления, вдохновившись речами Михаила Портнова, я решил найти в своем городе курсы по тестированию ПО. Мне повезло - группа как раз набиралась и старт был 1-го декабря. Длились курсы месяц.
Для себя я решил, что junior-программистом я стану неизвестно когда, а вот младшим тестировщиком, наверное, устроиться будет легче. Посему и принял решение получить заветный сертификат по QA(как ошибочно многие называют тестирование).
Однако, после окончания курсов меня ждало разочарование. По окончании новогодних запойных каникул в России я принялся рассылать резюме, оформив грамотное cover letter. Но все было безуспешно. Тестировщик без опыта, да еще и без профильного образования, да еще и в 33 года был никому не нужен. Заниматься программированием без отдачи и прицелом на будущее становилось все тяжелее с каждым днем. От меня уже за версту начинало веять отчаянием. И тут…

И тут мне предлагают работу в небольшой конторке, небольшом ответвлении московской фирмы, которая занимается автоматизацией контекстной рекламы. Пришел я на собеседование. “Selenium знаешь?” - спрашивают. Немного знаю плагин IDE для Firefox и не более. WebDriver точно нет. “Ну, ничего, разберемся”.
И вот так вод меня сходу занесло в автоматическое тестирование. Пришлось быстро разбираться в Eclipse, поднимать мою первую книгу про Java и изучать Selenium WebDriver. Понимать различие между тест-кейсом и тест-планом, оформлять грамотные баг-репорты.
Работаю пока 3 месяца. Программирование под iOS забросил окончательно. Ко мне пришло осознание, что хочу знать что-то масштабное, применимое в различных отраслях. В данный момент очень заинтересовался C# и всеми технологиями Microsoft. Планирую параллельно оформлять тесты в Visual Studio. В общем, изучать программирование, которое мне нужно в работе ну и еще немного побольше. Может в будущем дойду до ASP.NET

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

Буду благодарен за отклики и спасибо за потраченное время:)

2 лайка

Научите как правильно называть тестирование.

Некислый такой старт, после переквалификации. Пишите, как будут события развиваться.

Вы меня извините, я еще начинающий. Просто, на сколько я понял, QA - это забота о создании УСЛОВИЙ для процесса разработки. То есть комфортных условий для сотрудников, решение возникающих проблем, в том числе технических, и.т.п. Чтобы ничего не отвлекало от работы. А сам процесс тестирования ПО - это вроде как просто Software testing.
Может я что и путаю, конечно

В общем, QA - это более глобальный процесс и деятельности, нежели Software testing

Robotium, Appium,… Тестирование мобайл очень интересное направление. Си шарп хороший язык. Можно и в нём как тестер развиваться. Хотя наверное Python лучше))) Раз подались в автомат.тестирование напирайте на Selenium, пригодится;)

Исключительно моё субъективное оценочное мнение :bayan:

1 лайк

Автор молодец. Мало кто на такое способен в реальности. Я оказался в похожей ситуации, но куда раньше, в 26 лет где-то. Единственное, что я могу посоветовать - это все таки больше концентрироваться на чем-то одном и пробивать это. Я в свое время точь в точь как ТС пошел в сторону java. Было очень тяжело честно. Первые пол года просто учил, вторые пол года работал за 15 тыс в месяц в СПб. Но сейчас, сильная мотивация и четкое понимание того что я хочу и куда иду, дают свои плоды - все те кто безвольно или бездумно пошли в it вуз потому что мама так сказала - они все превратились в средненьких специалистов без мотивации, а мы, голодные и мотивированные энтузиасты обходим их только так. Я не ровняю всех, нет, есть куча очень крутых людей, которые с первых курсов уже подрабатывали кодерами… На них приятно и полезно равняться. Повторюсь еще раз - постарайся не распыляться на направления. Выбрав джава иди по в джава: в ней есть много всего, от веб или андроид до хайлоад и ентерпрайза. Я понимаю, что вокруг очень много всего и статьи на хабре манят кинуться пробовать что-то еще… и пробовать надо =) но делу время, а потехе час. То что Вы нашли первую работу - это по сути главный порог, который перед Вами был - дальше будет легче, если темп сбавлять не будете. Желаю удачи!

2 лайка

Спасибо большое за дельные советы. Сейчас действительно хочу основательно налечь на изучения Selenium. Учу курс по написанию тестов на языке Java и еще C# нашел. Говорят, что эти два языка очень похожи и хорошие специалисты владеют ими двумя.
Но я пока к этому не стремлюсь. Java с самого начала меня немного отпугнула своей бездомностью что ли, если можно так выразиться. Запускается на любой машине, нет единой мощной IDE, как например Xcode или Visual Studio. Может это и хорошо с другой стороны, но мне пока проще учить то, где есть возможность сопоставлять сразу код и графический интерфейс. Spring для Java я пока не стал щупать.
В общем, главное - двигаться:)

Тут можно слегка поспорить =)

  1. Java сильна своей бездомностью. Хотя реально мало кому нужно переносить свой код туда сюда с win на *nix, но все же, как минимум независимость от проприетарной платформы это уже серьезный плюс. Я не раз встречал истории миграции существующего кода на C# на что угодно другое, в т.ч. на Java, из-за нежелания пользоваться Windows server.
  2. Доля Java как в области разработки так и в вакансиях выше, чем C# (The RedMonk Programming Language Rankings: June 2015 – tecosystems)
  3. Для java существует прекрасная и мощная IDE - IntelliJ IDEA, eclipse при умении его готовить тоже, говорят, творит чудеса
  4. Java более открыта, что дает при желании, возможность понять все что творится внутри, как на уровне стандартной библиотеки, так и на уровне рантайма. В дот нет рантайм закрыт насколько мне известно.
  5. Есть ряд интересных и перспективных языков, работающих под JVM (джава рантайм): Scala, Groovy, Kotlin, Clojure.

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

PS: ни в коем случае не навязываю никому свою тчк зрения, это все мое субьективное мнение, основанное на моем опыте, чтении статей в web и общении с коллегами по цеху.

1 лайк

Спасибо большое за Ваш столь развернутый ответ. Очень интересно было почитать.
У меня, наверное, небольшой психологический момент всегда был - быть частью чего-то большого. Например, изучить технологии Microsoft, получить сертификат, купить рубашку с логотипом и всё - теперь я часть команды из Редмонда:lol:
Детский сад, конечно. Но по жизни так всегда у меня: если уж погружаться, то с головой по самые пятки)))

Забыл сказать про очень важную для меня вещь. Возможно, не только для меня. Собственно, почему я взялся за C#? Потому что в интернете я нашел много материалов по этому языку и технологиям MS вообще. Та же Microsoft Virtual Academy воодушевляет. Компания сама хочет, чтобы люди учились и стремились разрабатывать для их платформ. Поэтому мне нравится некая структурированность, находиться на пути, который куда-то ведет. Это вот меня и подкупило.

А по Java я, к сожалению, не нашел каких-то интересных курсов и ресурсов. Возможно, плохо искал)

Не за что!

Да у Oracle туговато с туториалами и обучалками, но в сети материалов масса. Есть к примеру https://stepic.org и https://ru.hexlet.io - отличные русскоязычные ресурсы для новичков и не только. Есть много англоязычных сайтов подобных, но там обычно все вокруг да около веб разработки: php, js, python, ruby. На coursera есть по java курсы. Оно там не везде бесплатное, но мне кажется, что вложения в свои знания - одни из самых оправданных и полезных =)

Мне очень понравилась подача материала у itvdn.ru
И вот эта схема интересна:
http://edu.cbsystematics.com/Images/RoadMap/ru/rm1.png

Если хочешь начать изучать C# и тебе хорошо идут видео-курсы попробуй посмотреть курс который ведет Bob Tabor https://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners

1 лайк

Большое спасибо. Обязательно посмотрю

Не очень поняла, что вы имеете ввиду под “созданием условий”? А тем более - “решение возникающих проблем”.
QA не создает никаких условий и уж тем более никакие проблемы не решает.

Все верно. Microsoft в последнее время сильно двигает вперед свою Visual Studio. Прекрасный инструмент для C#. Так что не останавливайтесь на достигнутом. Раз уж решили податься в IT - дерзайте, изучайте. Но будьте готовы к тому, что процесс обучения будет постоянным. Технологии развиваются и бегут просто семимильными шагами.

Кажется Михаил Портнов в одном из своих видео объяснял: бегают программисты из офиса по три раза в день в соседнее здание за кофе - теряется время рабочее, процесс прерывается. Купили в офис кофемашину, чтобы не тратили время на беготню. Это и есть Quality Assurance. Или если в офис светит солнце всю вторую половину дня и мешает работать - купили жалюзи, к примеру.
В общем, устранение всего, что мешает нормальному рабочему процессу - это и есть QA. Я так понял

1 лайк

Все это делается на уровне секретарши.
Задача QA - ткнуть девелопера носом в пропущенный баг и заставить довести аппликейшен до ума.

Ну, Вам наверное виднее)

Я сейчас буду повторять сказанное специалистом. Майкрософт посмотрел на Java и понял что это хорошо, и сделал C# (он многим похож на Java). На счёт хороших специалистов знающих оба. Спец по Java эйчарам (HR) сказал что тот у кого в резюме эти два языка, то это мутный тип не знающий ни одного из двух, такие не нужны. Ещё где-то слышал что в C# не заботятся особо об обратной совместимости. По мнению одного человека это для притока молодых сделано (в джаве можно начинать учить с пятой версии и в сравнении с восьмой отличий будет не так много, чего не скажешь о C#).

Учу сейчас Java Core с ментором, дальше будет Java EE.

Немного юмора. Девелопер и так знает об этом баге, он его сам вчера добавил =)