GIRLS DO IT
2.32K subscribers
99 photos
4 videos
1 file
267 links
Канал для девушек, которые любят технологии. Пишем о карьере в IT/digital, приглашаем спикеров из индустрии и проводим эфиры.👩🏼‍💻

📌Закрытое сообщество: @ErgoProxyDi
📌Реклама и сотрудничество: @Daria_linlin
📌База знаний: https://vk.cc/cos7G4
Download Telegram
Инструменты QA-инженера в 2023 году 🛠

Инженеров по тестированию называют QA-инженерами, где QA — это сокращение от quality assurance, что означает «контроль качества». Есть MQA и AQA, ручные тестировщики и специалисты по автоматизированному тестированию. О них мы рассказывали раньше в этой статье. А сегодня поговорим о том, какими технологиями и инструментами должен владеть тестирощик.

Технологии:

JSON — JavaScript Object Notation. Это способ передать структурированные данные от одной программы к другой, используя при этом строку текста. В этой строке зашифрованы объекты, их свойства и значения. Тестировщики смотрят на обмен JSON-сообщениями между программами, чтобы понять, нет ли ошибок в передаче данных.

XML, XSD — это сокращения от eXtensible Markup Language и XML Schema Definition. Смысл этих технологий в том, чтобы выстроить внутри документа логическую структуру — чтобы было видно, что к чему относится и как всё связано между собой, в каком формате представлены данные.

SQL— Structured Query Language, язык структурированных запросов, он нужен для работы с базой данных.

Автоматизация тестирования:

JUnit — фреймворк для автоматизации тестирования для Java. Считается базовым инструментом тестирования, потому что многие другие программы для тестов по логике очень напоминают работу с JUnit.

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

Selenium WebDriver — программа, которая позволяет имитировать действия пользователей в браузере. Нужна, чтобы автоматизировать тестирование графического интерфейса веб-приложений.

Selenide — фреймворк для тестирования веб-приложений на основе Selenium WebDriver. В нём уже есть готовые куски автотестов, из которых, как из конструктора, можно быстро собирать нужные тесты.

Тестирование API и трафика:

REST Assured — Java-библиотека для тестирования REST API, а REST API — это способ общения сайтов и веб-приложений с сервером. REST Assured имитирует запросы приложений и смотрит, что ответит сервер.

apiDoc и Swagger — инструменты документации API. С их помощью тестировщики узнают, какие сообщения, какого содержания и в какие части приложения можно отправлять.

Postman — инструмент для тестирования API. Части приложения обмениваются сообщениями, а Postman позволяет тестировщику самому создавать эти сообщения, отправлять их в разные части приложения и проверять, что всё работает правильно.

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

Рабочие инструменты:

Git — система контроля версий. Помогает работать с кодом в команде и сохранять историю изменений.

IntelliJ IDEA — интегрированная среда разработки, в которой можно писать, компилировать и отлаживать код. Считается довольно сложной, но крутой — для неё есть плагины на все случаи жизни.

Android Studio — программа, которая позволяет имитировать работу мобильного устройства с разными параметрами и функциональностью.

Прикладные инструменты:

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

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

Есть у нас тестировщики 👋 Что активно используете в работе?

#подборка #карьера_в_IT
Как презентовать себя на собеседовании 🤔

— Расскажите о себе?

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

О чем рассказать? Как рассказать? На что повлияет мой рассказ?

Без паники! Обо всем по порядку 👇🏻

1. Про что рассказывать:
— Образование
— Релевантный опыт
— Курсы
— Почему уходили с предыдущих мест работы
— Какую компанию/вакансию ищите сейчас

2. Как рассказывать:
— По порядку
— Честно
— Спокойно
— Уверенно
— Не теряя логику повествования

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

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

⭐️ Нужно записать информацию о себе, выучить ее, затем рассказать так, как вы бы делали это на собеседовании. Снять это действо на камеру, и воочию увидеть и услышать свой монолог.

А как вы готовитесь к самопрезентации?
#лонгрид #карьера_в_IT
​​День с участницей основательницей!

Сегодня у нас необычный выпуск рубрики «День с участницей». Вы узнаете карьерную историю Даши Губановой — основательницы сообщества Girls do IT.

Она расскажет:
✔️ Про свой вход в IT без опыта и с гуманитарным образованием;
✔️ Про пользу стартапов для начала карьеры;
✔️ Про то, с чего началось Girls do IT.

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

🙋‍♀️ «Привет! Я Даша — продакт-менеджер Future Crew (МТС) и соосновательница Girls do IT. На работе занимаюсь секретным проектом про умную приватность. В сообществе популяризирую IT и digital для девушек. В сферу меня привел интерес к технологиям и желание работать в классной компании. А войти в IT помогло знакомство с Китаем и умение вести проекты. Свою историю более подробно я рассказала в комментариях».

Если вы хотите прочитать другие истории, вступайте в наш чат и ищите посты по тегу #день_с_участницей.

Как вступить:
— Написать @ErgoProxyDi «Привет, хочу в чат»
— Ждать ответа =)

#карьера_в_IT #день_с_участницей
Из стажера-программиста на iOS в ведущую разработчицу на Java🪜

Сегодня в рубрике «День с участницей» Фаина Шистерова со своей историей входа в профессию.

Фаина расскажет:
✔️ Как искала первую работу;
✔️ Как совмещала заочную учебу и работу разработчицей;
✔️ Как переходила из IOS-разработки в backend-разработку.

Вот ее представление:
🙋‍♀️ «Привет! Я Фаина – ведущая разработчица в «МТС Диджитал». На работе я пишу бекенд на java, изучаю новые библиотеки и ищу то, что закроет текущие потребности проекта. Поступила на программиста еще до того, как это стало мейнстримом, хотя в тот момент особо не задумывалась, кем хочу быть. Про учебу и работу подробнее рассказала в комментариях, буду ждать ваших вопросов!»

Если вы хотите прочитать другие истории участниц, вступайте в наш чат и ищите посты по тегу #день_с_участницей.

Как вступить:
— Написать @ErgoProxyDi «Привет, хочу в чат»
— Ждать ответа =)

#карьера_в_IT #день_с_участницей
​​5 страхов начинающих разработчиков и что с ними делать 😱

Страх №1: Потратить много времени, сил и денег на обучение, а потом не найти работу

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

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

Страх №2: Быть замененной ИИ

Вы боитесь, что искусственный интеллект в скором будущем сможет сделать вашу работу лучше, быстрее и дешевле, чем вы.

👉 Что делать?
Понять, что ИИ не может заменить вас, а может только дополнить ваш функционал. ИИ – это не враг, а друг, который может помочь вам в вашей работе, упростить вам жизнь, улучшить ваши результаты. ИИ – это не чудо, а инструмент, который требует вашего управления, контроля, анализа, оценки, корректировки, обучения.

Страх №3: Испортить реальный проект на новой работе

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

👉 Что делать?
Успокоиться и вспомнить, что не ошибается только тот, кто ничего не делает. Да и более опытные коллеги вряд ли допустят, чтобы вы создали какую-то серьезную проблему. Если в чем-то сомневаетесь, идите за помощью к команде. Не стесняйтесь задавать неприличное количество вопросов, если вы впервые выполняете ответственную работу.

Страх №4: Быть рассекреченной: на самом деле я еще не разработчица, а работу вообще получила случайно

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

👉 Что делать?
Повторять себе, что на самом деле это не так: про вас никто не думает плохо и не начнёт сразу топить, когда вы предложите не самое лучшее решение. Все понимают, что на новом месте нужно освоиться и разобраться. Если вы прошли отбор, то занимаете место по праву. Рассекречивать вас никто не будет, у ваших коллег полно других задач:)

Страх №5: Понять, что IT — это не ваше

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

👉 Что делать?
Можно посмотреть ролики на ютубе перед стартом обучения, как проходит типичный рабочий день фронтендера/бэкендера или другого разработчика перед началом обучения. Это вас немного отрезвит.

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

Если у вас есть свои страхи или советы, то поделитесь ими в комментариях 👇🏻

#лонгрид #карьера_в_IT
Как выбрать первый язык программирования?

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

1️⃣ Востребованность языка можно оценить с помощью специальных рейтингов:

TIOBE – рейтинг основан на проценте запросов в поисковиках конкретного языка от запросов по всем языкам и ежемесячно составляется на основе данных из Google, Baidu, Wikipedia, Amazon и Ebay (Яндекс не учитывается).

PYPL (Popularity of Programming Language index) — рейтинг GitHub оценивает по Google Trends, к каким языкам чаще всего ищут уроки;

Stack Overflow — сервис вопросов и ответов по теме программирования проводит масштабные исследования рынка и опросы разработчиков;

IEEE — Институт инженеров электротехники и электроники ежегодно публикует на своем сайте рейтинг языков программирования, основанный на 11 параметрах и восьми источниках, включающих соцсети и GitHub.

☝️ Если обобщить данные из всех рейтингов, то самым востребованным языком на январь 2024 года является Python. Также в топе находятся: Java, JavaScript, С, С++ и C#.

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

2️⃣ Теперь давайте разберемся со сложностью. Это довольно субъективный вопрос, но общие рекомендации такие:

> Для изучения с нуля лучше всего подходят Python и JavaScript.
> PHP, Swift и Kotlin — немного сложнее.
> Java и C# — еще сложнее.
> C++ – самый сложный.

3️⃣ И, наконец, самое главное – краткий список наиболее широко используемых языков в тех или иных областях разработки:

> Веб-разработка – JavaScript, Java, HTML5, Ruby, TypeScript;
> Мобильная разработка – Kotlin, Swift, Objective-C, C#, C++, Java, JavaScript;
> Data Science – Python, R, SQL, Scala, Julia, MATLAB;
> Искусственный интеллект и машинное обучение – Python, R, Java, Lisp, Prolog, JavaScript;
> Облачные вычисления – Java, Python, JavaScript, Golang, .Net Core;
> Кибербезопасность – Perl, C++, SQL, Ruby, Rust, Assembly.
> Разработка игр – Java, C++, Python

В будущем мир программирования будет сосредоточен вокруг искусственного интеллекта и машинного обучения. Пока все складывается так: Python (движущая сила ИИ), JavaScript (доминирует в веб-браузерах), Java (широко распространен в корпоративной среде), Kotlin (часто используется в приложениях), C++ (системное программирование и разработка игр) и вместе они будут играть ключевую роль в формировании цифрового мира. Но не за горами появление новых языков программирования, более удобных и универсальных.

А какой язык программирования изучаете вы? Почему выбрали его в качестве первого? Поделитесь своей историей в комментариях)

#лонгрид #карьера_в_IT
Топ-5 технических профессий в области искусственного интеллекта 🤖

Если вы сейчас в поиске новой профессии, советуем вам присмотреться к этим вариантам 👇

🔵 Cпециалист по машинному обучению / Machine Learning Engineer
Искусственный интеллект уже стал частью нашей повседневной жизни. Специалист, который постоянно дорабатывает эту технологию, чтобы она приносила максимальную пользу, называется ML-инженер.
Однако путь в профессию довольно сложный.

Cпециалисту необходимы математические знания (теория вероятностей, статистика, линейная алгебра) и умение моделировать данные. Важно знать Python и R, SQL или NoSQL, фреймворки PyTorch, Apache Spark, TensorFlow. Может потребоваться умение работать с библиотеками Keras, scikit-learn, Pandas, NumPy.

🔵 Специалист по глубокому обучению / Deep Learning Engineer
Глубокое обучение (Deep Learning, или DL) – раздел машинного обучения, занимающийся созданием сложных многослойных нейросетей. Deep Learning Engineer – специалист, который создает и развивает алгоритмы глубокого обучения. Он уделяет внимание архитектуре системы, работает на более высоком уровне, чем инженер по машинному обучению. Также он преобразует прототипы в рабочий код, настраивает облачную инфраструктуру и развертывает производственные модели.

Необходимо знание распространенных архитектур нейросетей: генеративно-состязательные сети (GAN), автокодеры, глубокие сети доверия (DBN), рекуррентные нейросети, сверточные нейронные сети (CNN), сети долгой краткосрочной памяти (LSTM). В остальном требования похожи на те, которые предъявляются к ML-инженерам.

🔵 Специалист по анализу данных / Data Scientist
Это специалист, работающий на стыке программирования, статистики и машинного обучения. Главная его задача – создание прикладных решений для бизнеса. Например, это могут быть умные ленты социальных сетей и стриминговых сервисов, инструменты для комплексного маркетингового анализа и стратегического планирования. Специалист по анализу данных работает с огромным объемом информации и разрабатывает пути ее применения.

Подробнее о профессии в нашем материале – Data Scientist. Кто такой и как им стать?

🔵 Инженер по обработке естественного языка / NLP Engineer
NLP (Natural Language Processing) – обработка естественного языка любого народа земли. Это направление IT – новая ветвь Data Science и машинного обучения. NLP Engineer работает с огромным массивом данных, обучая нейросеть понимать человеческий язык. Он проводит семантический анализ, находит закономерности, занимается тематическим моделированием с целью решить задачи бизнеса. Это очень узкая ниша с дефицитом квалифицированных специалистов.

Для работы необходимы глубокие знания в статистике, математике, теории вероятностей, владение навыками языкового анализа на уровне графем, морфологии, синтаксиса. Из языков программирования понадобятся языки SQL или NoSQL, Python, библиотеки pandas, nltk, numpy, fasttext, scipy, scikit-learn, фреймворки Tensorflow, Keras, PyTorch. Важно иметь опыт в области обучения моделей по типам Visual Question Answering, Sentiment Analysis, Chatbots & Virtual Assistants, Machine Translation. 

🔵 Инженер по компьютерному зрению / Computer Vision Engineer
Cпециалист, который обучает машину извлекать информацию из визуальных данных. Написанные им алгоритмы могут распознавать объекты и явления на изображениях и видеозаписях. Такие технологии используются в системах безопасности и идентификации, в логистике, в беспилотном транспорте и т. д. Это узкая ниша, поэтому на рынке дефицит специалистов по компьютерному зрению.

Инженер должен знать Python, владеть объектно-ориентированным программированием, библиотеками TensorFlow, OpenCV, SciPy, PyTorch, Keras и алгоритммом для компьютерного зрения YOLO. Пригодятся знания линейной алгебры, статистики, теории вероятностей, преобразования Фурье, дифференциального и интегрального исчисления.

Если вы хотите увидеть топ гуманитарных профессий в сфере ИИ, ставьте 🔥

#подборка #карьера_в_IT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM