Главная страница

Книга. Книга о GeekBrains — Путь в IT — v.2_compressed (1). Путь в it


Скачать 6.94 Mb.
НазваниеПуть в it
АнкорКнига
Дата29.03.2023
Размер6.94 Mb.
Формат файлаpdf
Имя файлаКнига о GeekBrains — Путь в IT — v.2_compressed (1).pdf
ТипКнига
#1024667
страница3 из 6
1   2   3   4   5   6
ПУТЬ В IT
Кто такой программист
Программист занимается разработкой программного обеспечения с помощью написания кода
32
. Его главная задача — реализовать продукт с технической стороны. Обязанности программистов зависят от различных аспектов: используемых технологий, знаний, навыков. Кто-то работает над созданием и поддержанием программ, приложений для мобильных телефонов, сайтов, игр, программирует роботов и другую технику. Вот, например, лишь небольшая часть вакансий, где требуются навыки программирования:
Зерокодер
Инженер-программист
Системный администратор
Агроинформатик
Программист Kotlin
Биоинформатика
IT-Директор (CIO)
Программист Ruby
Разработчик баз данных
Программист C#
Backend-разработчик
GO-Разработчик
Корпоративный архитектор
Программист PHP
Разработчик на PHP
Разработчик нейроинтерфейсов
Fullstack-разработчик
Специалист по кибербезопасности
Программист Swift
Специалист по информационной безопасности
Гейм-девелопер
ERP-программист
Devops-инженер
Системный программист
iOS-разработчик
BI-архитектор
BI-разработчик
Мобильный разработчик
Архитектор информационных систем
Frontend-разработчик
Веб-дизайнер
QA Automation Engineer
Game-дизайнер
Программист Python
Intelligent Systems Developer
Агрокибернетик
Программист 1C
Архитектор баз данных
Сетевой администратор
Разработчик на Unity
Веб-программист
Компьютерный лингвист
Архитектор VR
HTML-верстальщик
Embedded-программист
Программист Java
Android-разработчик
Программист Javascript
Программист C++
Администратор сайта
32 Исходный код — текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочитан человеком.

Раздел 53
ПУТЬ В IT
Для написания кода специалисты используют множество языков программирования: Java
33
, Python и другие. Для понимания их количества, взгляните на этот список:
Помимо использования кода программист может обратиться к зерокодингу
34
. Это когда программы создаются с помощью графических пользовательских инструментов вместо ручной кодировки. Как пример — конструктор сайтов Tilda
35
. Готовые шаблоны и простой интерфейс дают возможность любому пользователю сделать свой сайт, онлайн-визитку или портфолио.
Какие задачи решают программисты? Они создают информационные системы, которыми пользуются компании, организации, учреждения.
33 Java — язык программирования общего назначения.
34 Зерокодинг — подход, в котором задачи по запуску
IT-продуктов решают без программирования или с минимальным количеством кода.
35 Tilda Publishing — блочный конструктор сайтов, не требующий навыков программирования.
Только часть языков программирования,
с которыми работают программисты

Pascal

C

Fortran

Assembly language

AspectJ

BASIC

C#

C++

Chef

Dart

Delphi

Elixir

ErlangGo

Groovy

Haskell

Java

JavaScript

Julia

Kotlin

Lisp

Matlab

Mercury

Objective-C

Perl

Genie

PHP

PureBasic

Python

R

Ruby

Rust

Scala

SQL

Swift

TypeScript

Vala

Visual Basic .NET
(VB.NET)

и еще бесконечно много

Раздел 54
ПУТЬ В IT
В качестве примера расскажем о CRM-системе. Она есть практически в каждой компании. CRM-система — программа, предназначенная для управления взаимоотношениями с клиентами. В ней учитываются все этапы сделки: от заявки до продажи.
Программисты также принимают участие в создании искусственного интеллекта. И если еще 20 лет назад специалисты писали код в простом блокноте, который был установлен на каждом компьютере, то сегодня у них есть выбор среди множества инструментов. Вот некоторые из них:
Примеры задач программистов
Разработка
XRM-систем
Редакторы
кода
Разработка
игр
Создание
сайтов
Системы
управления
базами данных
Разработка
искусственного
интеллекта
Разработка
мобильных
приложений
Система
контроля
версий
Программи-
рование
оборудования

Раздел 55
ПУТЬ В IT
Например, для создания сайта под Android
36
используют
Webflow
37
и CMS
38
. С помощью сервиса Webflow верстают макеты, а система CMS помогает управлять контентом сайта.
Чтобы управлять той или иной версией приложения или программы, используют GitHub
39
Виды и типы программистов
Программист во время обучения определяется с тем, разработчиком какой части приложения или сайта он хочет стать. Любая система состоит из двух частей: бэкенда и фронтенда. Поэтому принято разделять специалистов на следующие виды.
Бэкенд-разработчик отвечает за ту часть системы, которая не видна пользователям: авторизацию, хранение и обработку данных, email-рассылки. Фронтенд-программист работает над внешней стороной сайта, с которой взаимодействует пользователь: динамическими интерфейсами, меню. Если сравнить приложение или сайт с коробкой конфет, то первый отвечает за начинку, а второй — за коробку.
Бэкенд-разработчик может работать с самыми разными языками программирования: от классических Java, Python и Ruby
40
до Node.js
41
, PHP
42
и ASP.NET
43
. У фронтенд-разработчиков язык программирования один — JavaScript
44
. Но это не значит, что все будет легко. У этого языка постоянно обновляются версии фреймворков
45
, выходят новые библиотеки, и нужно уметь быстро и грамотно их осваивать. Подробнее о них мы расскажем дальше.
Frontend
Backend
Fullstack
36 Android — операционная система для смартфонов, планшетов и других устройств.
37 Webflow — онлайн- сервис для визуальной верстки макетов.
38 CMS (Content
Management System) — система управления контентом сайта.
39 GitHub — онлайн- сервис хранения и синхронизации компьютерного кода.
40 Ruby — высокоуровневый язык программирования.
41 Node.js или Node — программная платформа, превращающая
JavaScript в язык общего назначения.
42 PHP — язык программирования общего назначения.
43 ASP.NET — язык программирования, служащий для создания сайтов и приложений.
44 JavaScript — язык программирования для написания веб-страниц и приложений.
45 Фреймворк — это программная платформа, определяющая структуру программной системы.

Раздел 56
ПУТЬ В IT
Есть и третье направление — фулстек-специалист. Оно заточено на разработку двух частей приложения. Специалистов этого уровня можно назвать универсальными солдатами. Многие компании все же выделяют только два направления и ищут отдельных работников на каждое из них. Но с фулстека можно начать, чтобы потом понять, с чем программисту комфортнее и интереснее работать.
Классификация по типам разделяет специалистов, которые разрабатывают программы для конкретных операционных систем:
Десктоп-специалисты —
работают над системами для стационарных компьютеров и ноутбуков.
Веб-программисты — разрабатывают веб- приложения.
Специалисты
по оборудованию —
создают программы для телевизоров, промышленных станков, умных устройств и другого оборудования.
Mobile-специалисты —
работают над программным обеспечением для смартфонов и планшетов.
IT-специалисты,
которые работают с умными устройствами.
Программисты,
разрабатывающие программное обеспечение для транспорта.

Раздел 57
ПУТЬ В IT
Уровни профессиональной подготовки
На рынке вы можете встретить разные классификации, но мы ориентируемся на четырехуровневое деление в разрезе опыта и навыков:
Intern — это стажер с опытом работы 0–6 месяцев. Выполняет мелкие рутинные задачи и набирается опыта. Если в работе он покажет себя способным, его возьмут на позицию выше.
Junior — это специалист с опытом работы от полугода до полутора лет. Он начинает работать сразу после обучения.
Выполняет проекты, учится читать ТЗ
46
, понимать, какой язык программирования потребуется для разработки. Умеет работать с системами управления базами данных, может собирать простые приложения.
Middle — это программисты с опытом от полутора до трех лет.
Если джуну нужно давать подсказки, объяснять, как лучше сделать, потому что он совершает детские ошибки, то у middle- специалиста уже есть опыт. Большей части ошибок он избегает.
Он видит и устраняет все неисправности. Эти люди уже умеют работать с ТЗ и могут давать подсказки джунам.
Intern (интерн)
стажер
0–6 мес
Middle (мидл)
специалист
2–7 лет
Junior (джуниор)
начинающий
0–2 лет
Senior (сеньор)
эксперт
от 7 лет
46 Техническое задание
(ТЗ, техзадание) — документ или несколько документов, определяющих цель, структуру, свойства и методы какого-либо проекта и исключающих двусмысленное толкование различными исполнителями

Раздел 58
ПУТЬ В IT
Senior — это профессионал, который может разбираться в архитектуре приложения. Его привлекают к написанию кода, советуются с ним, как лучше все структурировать. Он может отвечать за команду специалистов, быть их наставником. Это полноценный самостоятельный программист, которому можно выдать ТЗ. Он возьмет команду и реализует проект без особых проблем.
Специалистом уровня middle или senior нельзя стать во время обучения, только в процессе работы. А начинают все с позиции intern.
«
Хорошим программистом становятся в процессе работы. Вы получаете базу, а дальше идете параллельно работать и, если есть возможность, учитесь. В процессе вы развиваетесь, становитесь настоящим крутым программистом. Это очень важно» — говорит Александр
Волчек.
Что такое фреймворки, библиотеки и CMS
В каждом языке программирования есть набор функций, которые регулярно используются для обработки текста, изображения, видео, звука, работы с PDF- и Word-файлами, таблицами Excel.
Если каждый программист будет пытаться сам писать весь этот функционал, то разработка приложения или сайта будет длиться очень долго.
Поэтому многие разработчики создают свои библиотеки
47
функций, которые они переносят из одного проекта в другой.
Библиотека, например, позволяет взять готовый функционал для обработки видео — обрезки, замедления видео, работы со звуком, изменения качества — и перенести его в другой проект. Это значительно ускоряет процесс разработки.
Есть огромное количество форумов, которые помогают найти ту или иную библиотеку. В этом есть и минус: вариантов так много, что определиться с выбором тяжело. Исходить нужно из задач и особенностей проекта, над которым работает программист.
47 Библиотека — набор загружаемых функций, которые ускоряют разработку.

Раздел 59
ПУТЬ В IT
Фреймворк — это готовая модель в IT, шаблон для программной платформы, на основе которого можно дописать собственный код.
Представьте рецепт блюда. Вы следуете ему, но легко можете добавить свои ингредиенты, благодаря чему блюдо станет особенным. Так и работают фреймворки.
Создавать проект проще, когда уже есть структура.
Разработчику остается пройтись по всем блокам кода, сопоставить их с техническим заданием и сделать вывод, что и куда нужно добавить.
Часто фреймворки и библиотеки путают. Но если фреймворк — приложение для создания сайтов или приложений, то библиотека — это помощник для решения более мелких задач внутри проекта. Если провести аналогию со строительством, фреймворки используют для постройки дома, а библиотеку — для его отделки.
Еще программисты используют CMS — систему управления контентом. Это программа, которая позволяет создавать сайты, управлять ими, изменять их содержимое. Можно редактировать контент, добавлять изображения и видео, настраивать дизайн сайта.
Один из примеров такой программы — конструктор WordPress
48
, позволяющий на основе шаблонов создать свой сайт, блог или интернет-магазин. Пользователи этого конструктора отмечают простоту установки и использования. На этой платформе выкладывают различный контент: новости, статьи, фотографии, видеоролики.
48 WordPress — онлайн- конструктор, с помощью которого можно быстро создать свой сайт и редактировать его содержимое.

Раздел 60
ПУТЬ В IT
Подходит ли вам профессия программиста
Мы знаем, как непросто выбрать интересующее направление в IT. И, как мы обозначили выше, рекомендуем делать выбор специализации после знакомства с базой. Однако вы можете предварительно оценить, насколько программирование вам подходит. Профессия для вас, если вы:

Умеете структурировать информацию.

Не терпите беспорядок.

Последовательны.

Понимаете, как строятся процессы шаг за шагом.

Вдумчивы и внимательны к деталям.

Любите решать прикладные задачи, связанные с реальным миром.

Любите автоматизировать процессы вокруг себя.

В беспорядочном наборе информации видите последовательность.

Умеете выстраивать структуру.
Если эти пункты описывают вас, можете смело пробовать себя в профессии программиста. Теперь перейдем к следующей специализации — тестировщик.

Раздел 63
ПУТЬ В IT
Кто такой тестировщик

Раздел 64
ПУТЬ В IT
Кто такой тестировщик
О некоторых специализациях у людей сформировалось неверное представление. Инженер по тестированию, или тестировщик, — одна из таких профессий. В последние годы распространился миф: не знаешь, кем стать в IT, и хочешь быстро заработать денег — иди на тестировщика, там все просто.
Каждый день Александр Волчек, Александр Сагун и большое количество их подчиненных занимаются тестированием, хотя эта специализация не их профиль.
Так кто же такой тестировщик и почему не стоит верить мифу о простоте этой специализации? Тестировщик проверяет программное обеспечение на ошибки с помощью тестов.
Его главная задача — найти и исправить ошибки в продукте и улучшить его работу. В задачи тестировщика входит:
Сбор информации о том, что
нужно тестировать
Анализ собранной
информации
Подготовка
отчетности
с результатами
тестов
Сам процесс
тестирования
по сценариям
Написание
сценариев для
проведения
теста

Раздел 65
ПУТЬ В IT
Проще всего можно объяснить работу тестировщика на примере карандаша. Ваша задача — различными способами выяснить, готов ли карандаш к эксплуатации. Виды тестирования и карандаш:
Больше способов тестирования вы найдете в середине главы — вместе с заданием для читателей.
Все найденные баги передаются на исправление разработчикам.
Основное направление деятельности тестировщика — написание так называемых юзкейсов
49
. Он описывает, каким образом продукт должен функционировать, а также какие сценарии использования проверяются.
Почему тестировщик — важная позиция? Разберемся на примере мессенджеров. Каждый день ими пользуются сотни миллионов людей, отправляются миллиарды сообщений. Есть руководитель, который последним проверяет новую версию того или иного приложения. Он говорит:
«Все работает. Выпускаем!», и команда загружает обновление в Google Play и App Store. Миллионы
Compatibility Testing
(проверка совместимости)

на поверхности: бумага, картон, забор;

инструменты заточки: точилка, нож, наждачка;

места хранения: пенал, стакан, коробка.
Beta Testing (бета-тестирование)
раздать коллегам, пускай пишут и дают обратную связь.
Validation (аттестация)
достать новый карандаш из коробки, проверить, что он пишет и резинка стирает.
Security Testing
(тестирование безопасности)
глаз не выколет?
UI Testing (тестирование
пользовательского интерфейса)
шрифт читаемый, есть название бренда, красивый дизайн, цвет резинки соответствует брендбуку.
Verification (проверка)
взять новый карандаш из коробки и проверить, что стержень на месте, резинка прикреплена, карандаш заточен.
49 Юзкейс (от англ.
Use Case) — описание поведения системы, когда она взаимодействует с кем- то из внешней среды.

Раздел 66
ПУТЬ В IT
людей взаимодействуют с этими мессенджерами. Но что будет, если команда не провела тесты? Большая часть пользователей интернета не сможет совершать привычные дела: отправлять сообщения, звонить, создавать чаты и каналы.
На тестировщика ложится особая ответственность.
И это мы говорим только об обычном мобильном приложении. А есть системы, которые отвечают за безопасность страны, полетов, движения транспорта.
Тестировщик должен продумать все сценарии использования си- стемы и выявить уязвимости, которые еще называют бэкдорами
50
Инженер по тестированию также может проверять на исправность оборудование: смартфоны, ноутбуки, тачпады, кнопки, клавиши. Специалисты разрабатывают нагрузочные тесты для оборудования, например выясняют, как оно работает при температуре -10°C и +35°C.
В своей работе они могут использовать роботов, которые, например, тестируют нажатие на кнопки и сенсорный экран.
Это особый вид тестирования, ведь чтобы оборудование работало долго, оно должно выдерживать миллион нажатий за жизненный цикл.
1   2   3   4   5   6


написать администратору сайта