Чтение онлайн

на главную

Жанры

Веб-разработчик. Легкий вход в профессию
Шрифт:

«Поисковая строка» – это быстрый доступ к справочникам и всемирной базе знаний, а не панацея от всех бед. Логика работы программы должна быть всегда в вашей голове!

Вот пример списка поисковых запросов, которые могут быть актуальны при разработке, например, «формы обратной связи» на сайте, функционал которой следующий: «пользователь может указать в форме: тему, текст сообщения и e-mail для связи с ним, затем, нажав кнопку “отправить”, данные отправлялись бы администратору сайта в админпанель и на его e-mail».

Пример списка поисковых запросов:

? Пример HTML-формы для отправки запроса на сервер.

? HTML

тег INPUT и его параметры.

? Что такое POST-запрос.

? PHP обработка POST-запроса.

? PHP подключение к базе данных MySQL.

? PHP подготовка данных для вставки в БД.

? PHP пример вставки строки в таблицу MySQL.

? PHP отправка сообщения на E-Mail.

? PHP параметры функции mail .

? CSS для оформления блока «спасибо за сообщение».

Вы спросите: «Откуда же мне знать заранее, еще до написания программы и вообще не имея опыта, что искать в сети? Вот откуда на начальном этапе мне знать про какую-то там команду mail , чтобы искать про нее информацию?».

На самом деле все просто. Вам не нужно формулировать сразу весь список вопросов для поиска. Надо лишь сформулировать первый. Просто подумайте, с чего начинается ваша программа? С HTML-формы, куда пользователь будет вводить сообщение. Вот и поищите информацию о ней. Изучая найденный HTML-код, вы увидите в нём теги INPUT, изучите их, также найдя про них информацию. Затем подумайте, что должна делать форма? Верно, отправлять данные на сервер. Поищите информацию, как это сделать, отправить и принять данные. Вы встретите упоминания о POST-запросе – отлично, «погуглите» про него. И так дальше, шаг за шагом, по мере продвижения вашей работы.

Ваша программа готова! Таким образом, просто понимая, какую функцию должна выполнять программа, можно разбить ее алгоритм на последовательность действий, а затем «загуглить», как реализовать каждое из полученного списка. Конечно же найденные результаты требуют осмысления и могут нуждаться в доработке, но именно так реализуется подход «обучение во время работы».

6. Полный стек

Большинство программ на сегодняшний день подобны египетским пирамидам из миллиона кирпичиков друг на друге и без конструктивной целостности – они просто построены грубой силой и тысячами рабов.

Алан Кёртис Кэй

В мире «айти» есть разные профессии, одних только типов программистов насчитывается несколько десятков, и все в определенной степени являются специалистами – просто разными. Одни разрабатывают приложения для мобильных устройств, другие пишут программы для операционных систем семейства Linux, третьи работают с веб-технологиями. Для работы в каждом направлении, требуется уникальный перечень технологий, который программист должен знать. Это называется «стек» (т.е. список) технологий».

Бывают узкоспециализированные программисты, которые знают ограниченное количество технологий. Их преимущество в том, что они знают эти технологии в совершенстве, оттачивая мастерство годами. К недостаткам можно отнести то, что, ограничившись определенным, узким «стеком» программисту будет крайне сложно реализовать готовый «продукт», с нуля до конечного «релиза» (выхода в свет). Готовый продукт чаще всего требует гораздо большего набора технологий, чем владеет узкоспециализированный программист.

Программист, владеющий всем перечнем технологий в своей нише, называется «Разработчик Full-stack» (от англ. Full stack – полный стек, список). Его преимущества

очевидны: возможность решать максимум поставленных перед ним задач самому, реализовывать проекты, требующие всего перечня технологий. А к недостаткам можно отнести то, что как правило «разработчик Full-stack» в первые годы практики владеет познаниями технологий не настолько глубоко, как узкий специалист. Разумеется с годами он догонит, однако в силу более широкого перечня технологий развитие «в глубину» у Full-stack программиста идет медленнее.

У каждого программиста, занятого в своем направлении, стек технологий свой. Я являюсь веб-разработчиком, и мой стек технологий выглядит следующим образом: HTML, CSS, JavaScript, PHP, MySQL, основы администрирования веб-серверов на базе Linux (далее мы будем разбирать именно этот список). У разработчика мобильных приложений под iOS стек будет таким: Objective-C, Swift, JavaScript, Flutter. А вот для Android уже другой стек: Java, Kotlin, Jetpack Compose. У разработчика программ для операционной системы Windows: C#, WinForms, WPF, MS SQL.

Стек технологий может дополняться знаниями специализированных библиотек (расширяющих базовый язык программирования, например jQuery для JavaScript) и фреймворков (готовых наборов инструментов, например Laravel для PHP).

Как вы понимаете, программисты не взаимозаменяемы, и попросить веб-разработчика просто дописать какой-то функционал для программы, работающей на компьютере под управлением Windows, не получится. Безусловно, у всех программистов есть общая база знаний, основы устройства и работы вычислительной техники, компьютерных сетей и ряда прочих навыков, позволяющих им быстро ориентироваться в «рабочем окружении» того устройства, с которым они имеют дело. Тенденции последних лет сводятся к тому, что потребность в узкоспециализированном специалисте уступает место специалистам с более широким охватом технологий. Уровень такой специализации получил название DevOps (от англ. development & operations) – инженер, который владеет навыками и методологиями полного цикла разработки, настройки и развертывания программного обеспечения. Иными словами, работодатель (или заказчик), хочет получить за свои деньги больше опцией в одном лице нанимаемого им специалиста.

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

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

Какой именно путь выбрать – решать вам, я бы рекомендовал на начальной стадии освоить полный стек технологий выбранного направления (тех, что описываются в этой книге, стек веб-разработчика), затем углубиться в одну или две технологии, достигнув там мастерства профессионала, а затем постепенно, не торопясь, «подтягивать» остальные. Идеальный вариант – через несколько лет стать узкоспециализированным программистом по каждой технологии из всего стека. Таким образом вы будете профессионалом высшей категории в области веб-разработки (или иного, выбранного вами направления), «разработчиком full-stack», а затем, возможно, DevOps.

Поделиться:
Популярные книги

Внешняя Зона

Жгулёв Пётр Николаевич
8. Real-Rpg
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Внешняя Зона

Князь

Мазин Александр Владимирович
3. Варяг
Фантастика:
альтернативная история
9.15
рейтинг книги
Князь

Путь Чести

Щукин Иван
3. Жизни Архимага
Фантастика:
фэнтези
боевая фантастика
6.43
рейтинг книги
Путь Чести

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Школа. Первый пояс

Игнатов Михаил Павлович
2. Путь
Фантастика:
фэнтези
7.67
рейтинг книги
Школа. Первый пояс

Наследник и новый Новосиб

Тарс Элиан
7. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник и новый Новосиб

Бестужев. Служба Государевой Безопасности. Книга третья

Измайлов Сергей
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья

По дороге пряностей

Распопов Дмитрий Викторович
2. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
5.50
рейтинг книги
По дороге пряностей

Начальник милиции. Книга 3

Дамиров Рафаэль
3. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 3

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Измена. Осколки чувств

Верди Алиса
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Осколки чувств

Ведьма

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.54
рейтинг книги
Ведьма

Темный Патриарх Светлого Рода 6

Лисицин Евгений
6. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 6

Светлая ведьма для Темного ректора

Дари Адриана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Светлая ведьма для Темного ректора