{"id":14291,"url":"\/distributions\/14291\/click?bit=1&hash=257d5375fbb462be671b713a7a4184bd5d4f9c6ce46e0d204104db0e88eadadd","hash":"257d5375fbb462be671b713a7a4184bd5d4f9c6ce46e0d204104db0e88eadadd","title":"\u0420\u0435\u043a\u043b\u0430\u043c\u0430 \u043d\u0430 Ozon \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043c \u043d\u0435 \u043f\u0440\u043e\u0434\u0430\u0451\u0442","buttonText":"","imageUuid":""}

Как перейти из медицины в IT? Или как врачу стать программистом?

Здравствуйте. Сегодня хотел поделиться своим опытом смены сферы деятельности. Отучился 6 лет в медицинском, 2 года в ординатуре, проработал врачом 1 год и остался у разбитого корыта с минимальном зарплатой и ужасными условиями работы. Еще во время ковида в 2020 г. в одной из книг для саморазвития вычитал, что в современном мире каждый должен знать программирование. Так я стал изучать программирование, стал php разработчиком и уже полгода как работаю на CMS (1С Битрикс).

Статья предназначена для тех, кто абсолютно не знаком с программированием и хочет перейти в эту сферу либо знаком минимально. Статья написана лишь с одной целью, чтобы помочь вам в максимально быстрые сроки сменить сферу деятельности (найти работу в IT), так как такая статья попадись мне еще тогда, значительно помогла бы мне в моем переходе. У меня не было ни одного знакомого в IT, у которого я мог хоть что-то спросить, куда двигаться, как решить проблему и т.д. Приходилось все делать самому, понимать, что нужно изучать, а что не нужно. Чтобы облегчить вам путь, набить меньше шишек, тратить вам меньше времени – написана данная статья. Алгоритм, что нужно изучать со всеми необходимыми ссылками.

Безусловно, все написано абсолютно простым языком, как раз с учетом, чтобы понятно было каждому.

Немного предисловия

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

В программировании есть много языков программирования, одни нужны для оформления дизайна (фронтенд), вторые для разработки функций программы, приложения, сайта (бекенд), другие для мобильной разработки, разработки игр, роботов, программ на компьютер и пр. Самое простое это веб-разработка (делать сайты). Тут выбор такой: дизайн (фронтенд) или функцонал (бекенд) сайта. Самое простое считается фронтенд, бекенд посложнее, но изучив его, сможете худо бедно самостоятельно полностью делать простые сайты. Речь пойдет про бекенд. В бекенде веб разработки есть много языков, основные: php, python, java (не путить с javascript).

Насколько мне известно в проекции простота и распространенность выигрывает php – средняя простата и средняя распространенность (фейсбук, вк и пр. говорят написан на php).

Язык программирования, как язык в лингвистике – изучаете синтаксис (лексику и пунктуацию). Только, если настоящий язык изучается несколько лет, синтаксис языка программирования можно изучить менее чем за месяц. И перейти в другой язык, если захочется (если первый не нравится). Принципы программирования одни и те же, язык же программирования — это лишь инструмент, языки отличаются друг от друга лишь синтаксисом. Поэтому если хотите изучать php – статья для вас, если нет – то ознакомившись со статьей, может найдете что-то полезное.

Хоть php и обсирают все, но мне кажется это самый простой путь для тех, кто как и я, абсолютно не было знаком с программированием. jQuery также считается устаревающим, на его смену приходит React.js, однако до сих пор многие программисты применяют его. Битрикс также все ругают, однако опять же, для тех, кто не знаком с программированием, он отлично поднимет ваши навыки. Ссылки, на видеокурсы (особенно Гоша Дударь) и статьи, которые я скину, также многие не хвалят, но именно они мне помогли, и они мне нравятся. Итак, поехали.

Необходимо для изучения, чтобы стать php программистом

Также много статей и видео на эту тему записано, но мне они казались далеки от действительности, так как я думал, что уже давно готов работать и что меня возьмут на работу, но оказалось, что многое еще надо изучить дополнительно к самому php чтобы вас взяли на работу.

Итак, глобально, чтобы вас взяли на работу php программистом нужно знать:

- основное: HTML, CSS, JavaScript (+ jQuery, + Bootstrap, + Ajax), PHP (+ MySQL)

- дополнительное, без чего не возьмут на работу: OpenServer Panel, PhpMyAdmin, PhpAdminer, rest API, Linux, Bash, Git, умение программировать на ООП, Composer, CMS (в нашем примере, Битрикс), Xdebug, WinSCP, PuTTY, PhpStorm, понимать слова: Nginx, Apache, LNMP, LAMP

- дополнительно, без чего могут взять на работу: , php фрейморк (Laravel, Symfony,Yii), принципы ООП, принципы проектирования (DRY, KISS, SOLID), PSR, UML), паттерны и антипаттерны проектирования и MVC, phpDocumentor, phpUnit, Memcache

Пройдемся по каждому пункты вместе со ссылками.

HTML

- HTML – основа любого сайта, здесь задаются все блоки сайта.

CSS

- CSS – язык для добавления дизайна в сайт (разные цвета и пр.)

JavaScript

- JavaScript – язык для добавления анимаций на сайт

jQuery

- jQuery – дополнение для JavaScript, предназначен для упрощения использования JavaScript

PHP, MySQL, PhpMyAdmin, PhpAdminer

- PHP (+ MySQL, PhpMyAdmin, PhpAdminer) – язык для добавления функционала на сайта. MySQL - база данных (там, где хранится вся информация сайта (клиенты, сделки и пр.)), PhpMyAdmin, PhpAdminer - две системы управления базой данных для отображения этой информации в графическом стиле

OpenServer

- OpenServer – эмулятор сервера на своем ПК

ООП

- ООП – объектно-ориентированное программирование. Есть программирование процедурное (так вы будете программировать в начале), когда просто пишутся строчки друг за другом подряд, функциональное – когда код представлен в виде функций, объектное – когда представлен в виде объектов. Основной тут совет, вначале используйте только приватные свойства и публичные методы – и вообще не думайте об интерфейсах, трейтах и прочее. Даже на static в начале внимания не обращайте.

Я проходил курс Дмитрия Елисеева ООП (6 уроков). Если найдете этот курс, то будет отлично – изучайте. Если нет, то подойдет и другой, какой найдете.

CMS: 1С Битрикс: управление сайтом (1С: БУС)

- 1С Битрикс: управление сайтом– это CMS (аналог wordpress) т.е. предназначен для удобного создания и редактирования сайта (можно установить бесплатно на 1 месяц, дальше переустанавливать) – требуется во многих вакансиях

Очень важен в изучении, так как даст хорошие знания в программировании и работе интернета в целом. В отличие от вордпресса хорош тем, что имеет много документации, курсов от разработчиков и даже 2 экзамена, выдающих сертификаты, что также просят в некоторых вакансиях. И скрасит ваш порфолио, в котором, возможно, нет абсолютно ничего связанного с IT (так было у меня).

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

Проходите последовательно курсы: Контент-Менеджер, Продвижение сайта и маркетинг, Администратор Базовый, предэкзаменационный курс Интеграция дизайна и настройка платформы, сдаете экзамен 1 (1000 руб), Разработчик Bitrix Framework, предэкзаменационный курс Основные технологии и расширение типовых возможностей системы, сдаете экзамен 2 (2000 руб)

Хорошие видеоуроки с объяснением, как нужно грамотно решать типовые задания для экзамена

CRM: 1С Битрикс24

- 1С Битрикс24 (+ rest API) – это CRM – в ней общается команда между собой и с клиентами (можно установить бесплатно на 1 месяц, дальше переустанавливать) – требуется во многих вакансиях

Изучаете последовательно: Курс Приложения Битрикс24.Маркет, Маркетплейс Битрикс24. В курсах вы познакомитесь с тем, что такое rest API битрикса. Вообще умение работать с rest API – очень важная вещь, нужна практически в каждой вакансии. Rest API – это работа с функциями какого-то другого проекта. Например, пишете в свое коде «получить погоду» и получаете погоду в своем проекте из другого сервиса.

Xdebug

- Xdebug – выявление ошибок в свое коде

Bootstrap, Linux, Bash, Git, Composer WinSCP, PuTTY, PhpStorm

Не нашел курсы или хорошие статьи (+ сам изучал их на стажировке по видеокурсам компании), но они нужны лишь на базовом уровне. Поэтому достаточно 1-2 статьи или видео и вам сразу станет все понятно.

Bootstrap - дополнение для JavaScript, предназначен для ускорения и упрощения добавления стилей на сайт. Достаточно смотря в документацию уметь добавить нужный класс в нужный тег, чтобы применились стили.

Linux – операционная система, Bash – его консоль. Достаточно знать пару команд типа ls –la, cd

Git – нужна, чтобы сохранять изменения своего проекта, чтобы можно было всегда вернуться к предыдущим изменениям и легко отправлять изменения своим коллегам. Достаточно знать и понимать несколько команд, такие как: git init, git clone, git branch, git checkout, git fetch, git pull, git add, git commit –m, git push.

Composer – предназначен для ООП, для автоматической загрузки классов (чтобы не приходилось подключать файл каждого класса). Нужно уметь устанавливать и знать пару команд: composer init, composer update.

WinSCP, PuTTY – программы для подключения к серверу по ftp, sftp, ssh для передачи файлов на сервер (будет нужно, когда будете заливать файлы на сервер клиента)

PhpStorm – программа, в которой можете писать своей код (когда будете писать большие проекты и тем более на ООП, будет гораздо удобнее чем Sublime Text 3, в котором вы будете писать изначально), без него потом не сможете жить, хоть поначалу и будет крайне неудобно. Настройте его под себя, как вам больше нравится (это все легко гуглится). Платный, но есть бесплатный период.

Nginx, Apache – серверы, именно в них и работает php код, просто знайте, что такие есть.

LNMP, LAMP – установка и настройка Linux, Nginx или Apache, MySQL и PHP. Вместо этого вы устанавливаете OpenServer, который в себе уже все это содержит. Достаточно просто посмотреть видео, в общих чертах понять, как они устанавливаются по отдельности, без каких-либо углублений.

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

Дополнение к ООП: принципы ООП, принципы проектирования (DRY, KISS, SOLID), паттерны и антипаттерны проектирования MVC.

Во многих курсах и статьях их вкратце рассматривают. Подходят для изучения, когда вы уже хорошо пишете на ООП, и вам уже нужны хорошие грамотные схемы написания объектов, а не каждый раз думать, как было бы грамотнее написать объект. Как в шахматах. Сначала изучается как вообще пользоваться фигурами (объектами), затем какие принципы есть для того, чтобы играть лучше, а затем какие есть четкие стратегии прям по шагам. Но это все происходит последовательно, когда вы почувствуете, что хотите писать на ооп еще лучше, чем пишете сейчас (появляется такая внутренняя необходимость). На начальном этапе просто пару названий знайте, знайте, что такое есть. В резюме можете написать, что знакомы с принципами. Но чтобы их прям качественно применять в своей работе, нужен опыт.

UML – просто рисование объектов не в коде (а на «бумаге»), чтобы собеседники понимали друг друга, одной статьи будет достаточно уже для понимания, что это. Углубляться тоже не надо. Достаточно знать, как показать класс, его свойства и методы.

PSR – стандарты написания на PHP (ставить ли пробел перед скобкой или после скобки, перед знаком равно или после знака равно). Можно изучить сразу после курса по php, а то в начале возникает много вопросов по типу - на отдельной строчке что-то писать или на одной, ставить ли пробел, использовать табуляцию или 4 пробела и т.п. Вкусовщина, но в начале непонятно, как грамотнее.

Memcache – ускоритель работы PHP, достаточно знать, что такой есть

phpDocumentor – библиотека для документации своих классов. Красиво показывает в браузере ваши классы. В документации есть пару абзацев про установку и использование, этого достаточно.

phpUnit – создание тестов для php, чтобы знать, что код работает без багов

Особняком стоят php фреймворки (Laravel, Symfony,Yii)

Они нужны практически в каждой вакансии. Но мне, к счастью, попалась компания, где они сильно не используются. Поэтому я пока сам их не изучил. И тяжело понять, как их можно изучить не работая в IT, т.к. они нужны уже для более-менее средних проектов. Во всяком случае, эти фрейморки построены на ООП. Поэтому для начала изучите ООП, попрактикуйтесь. Затем можете посмотреть какие-либо курсы по какому-либо из этих фреймворков, чтобы было буквально совсем базовое понимание т.е. знать 1-2 метода. К этому моменту вы уже овладеете многими навыками. А глубокие знания от intern/junior не требуются.

Дополнительно

XMind

XMind - программа для написания майнд-карт. Я бы также ее рекомендовал всем, там вы можете писать куски кода, которые редко используете и, соответственно, они часто забываются, например, для гита или composer

Телеграм бот

Если вам будет интересно можете написать телеграм бота, в статье хорошо объясняется, как это делается. За неделю с ничего не зная, сможете написать какого-то бота. Тоже как проект в портфолио будет не плохо.

Итого

Безусловно, навыков нужно много, чтобы начать работать (я предполагал, что для трудоустройства достаточно только основных навыков – и так действительно было несколько лет назад, насколько я знаю). Но сейчас требования гораздо жестче. Зато интересный факт, что вакансий на middle и тем более senior гораздо больше чем на junior. Все это изучение должно сопровождаться активным гуглением вопросов, просмотров видео и написанием своих проектов.

И, конечно же, чем раньше вы найдете работу, тем лучше, в том плане, что вы сможете уделять программированию не 2-3 часа в день по вечерам после работы, а ежедневно по 8-10 часов и при этом сможете получать зарплату, а что более важно – задавать вопросы. Если вы ничего не знаете о программировании, рассчитывайте на полгода добросовестного изучения вышесказанных навыков. Далее отправляете свое резюме, полгода ищете работу и параллельно продолжаете все изучать. Итого через год с нуля вы сможете сменить профессию.

Рекомендую изучить Битрикс, лично мне он дал хороший толчок в моих знаниях в вебе и php и, конечно, в вакансиях он часто требуется.

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

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

0
Комментарии
-3 комментариев
Раскрывать всегда