Как стать программистом
Содержание:
- Стоит ли становиться программистом?
- Выбор языка программирования
- Список полезных сайтов для поиска работы
- Необходимость знания иностранных языков
- Кто участвовал в обсуждении:
- История 3. Как я научился тому, чего не рассказывали в университете – Андрей Поляков, 22 года
- Какие навыки нужно развивать, чтобы стать успешным программистом
- История 5. Как я прокачал свои знания и получил работу поинтереснее – Юрий Сиротенко, 23 года
- Где и как искать вакансии начинающим разработчикам?
- Самообразование и курсы
- Как устроиться программисту без опыта работы: советы
- Высшее образование не даёт практических навыков
- Лучшие книги и средства обучения
- Длительность обучения и навыки
- Как быть, если вам не хватает знаний до вакансии джуниор-программиста?
- Front или Back? Ответ — Fullstack!
- Как стать программистом с нуля
- Чем занимается программист?
Стоит ли становиться программистом?
Если вы собираетесь приложить много времени и усилий на изучение программирования, возникнет вопрос: «окупится ли это вообще?» Данные, собранные в ходе различных исследований рынка ИТ, показывают, что определенно стоит стать программистом (особенно разработчиком Java или JavaScript). Спрос на программистов огромен и постоянно растет, а это значит, что разработчиков ждет множество предложений о работе, и работодатели очень заинтересованы в таких сотрудниках.
Многих людей в ИТ-отрасль также привлекает видение высоких доходов. Как обстоят дела в этом отношении? Заработок программиста зависит от опыта и навыков. Старшие разработчики зарабатывают прилично. Однако это не значит, что начинающий программист так много заработает и на это не стоит рассчитывать. На какое вознаграждение может рассчитывать младший разработчик? Обычно это около 40-80 тысяч рублей, в зависимости от города и выбранной технологии.
Пока ИТ-индустрия позволяет невероятно быстро набираться опыта и навыков, а значит, увеличивать свой заработок. Если вы достаточно мотивированы и готовы развиваться, то всего за несколько лет работы вы сможете зарабатывать в среднем 130 тысяч рублей! Такое быстрое «продвижение» невозможно ни в одной другой отрасли, поэтому многие люди заинтересованы в том, чтобы стать программистом.
Выбор языка программирования
Есть много разных языков программирования, и пока вы не погрузились в тему, сложно в них разбираться. Какой начать учить, чтобы потом не пожалеть?
Давайте так. Мы будем описывать разные ситуации. Читайте каждый пункт по очереди. Если поймете, что этот пункт не про вас, переходите к следующему. И так пока не получите свой ответ.
- Хочу что-то предельно простое, может даже не самое практичное. Ваш язык: Ruby.
- Я хочу начать кодить для себя, из любопытства или в рамках самосовершенствования. У меня нет на примете проекта, который мне бы хотелось реализовать. Посоветуйте мне лучший способ начать. Ваш язык: Python.
- Я хочу начать кодить для себя, из любопытства или в рамках самосовершенствования. У меня нет на примете проекта, но я хотел бы выучить такой язык, чтобы после него было легко переключиться на любой другой (даже если изначально изучение первого языка будет трудным). Ваш язык: С++.
- Я хочу кодить для себя, и у меня на примете есть проект. Он связан с сайтами. Хочу выучить самый простой язык из тех, что позволит мне создавать сайты в интернете. Ваш язык: JavaScript.
- Я хочу кодить для себя, и у меня на примете есть проект. Он связан с сайтами, но в будущем я хотел бы работать не только с ними. Ваш язык: Python.
- Хочу стать программистом для себя, и есть идея проекта, связанного с приложениями на Android. Ваш язык: Java
- Хочу стать программистом для себя, и есть идея проекта, связанного с приложениями на iOS Ваш язык: Objective-C
- Хочу стать программистом для себя, и есть идея проекта, связанного с компьютерными играми или сложными программами в 3D. Ваш язык: C++
- Я иду в программирование ради денег, и хочу получить хорошую работу. Компания не имеет особого значения. Ваш язык: Java или Python.
- Я хочу устроиться на работу в компанию и работать с веб-интерфейами. Ваш язык: JavaScript.
- Хочу устроиться в компанию и работать с сайтами. Готов потрудиться чуть больше, но охватить при этом более широкий спектр знаний. Ваш язык: PHP.
- В будущем я хочу устроиться в крупную корпорацию вроде Google или Facebook. Ваш язык: Python.
- В будущем я хочу устроиться работать в Apple. Ваш язык: Objective-C.
- В будущем я хочу устроиться работать в Microsoft. Ваш язык: C#.
Решение серьезное, не нужно делать его на основе одного-двух предложений в каком-то там списке. Почитайте больше о языке, который мы вам подсказали. Узнайте, для чего конкретно он применяется, погуглите вакансии с ним, посмотрите примеры реализованных проектов. Подойдите к этому со всей серьезностью.
Список полезных сайтов для поиска работы
Биржи для фрилансеров:
- FL.ru
- Kwork.ru
- Хабр Фриланс
- Kadrof.ru
Сайты, где программисты могут искать работу:
- HH.ru
- Яндекс.Работа
- Хабр Карьера
- IT Mozg
Группы в Facebook:
- Программисты
- IT Recruitment
Группы в сети ВКонтакте:
- Типичный программист
- Клуб фрилансеров
- ITc сообщество программистов
- Уютное сообщество программистов
- ITmozg
- Веб-программист
- Программисты C/C++
- Я веб-программист (php, js)
- 1С-Битрикс
- Типичный верстальщик
- Верстка сайтов
- Верстальщики
-
DigitalHR
Мы рассказали, где и как искать работу программисту, в том числе новичку без опыта работы. Как видите, вариантов и способов трудоустройства много. Если вас интересуют стажировки в ИТ-компаниях, просматривайте новости на нашем сайте. Мы собираем и публикуем такую информацию в этом разделе.
Сложно ли найти первую работу начинающему разработчику? Нет, если есть хорошая база, soft skills и приложено достаточно усилий для поиска подходящего работодателя. Рынку нужные новые кадры, поэтому многие новички могут легко построить карьеру и выйти на достойный уровень заработка.
Рекомендуем
Чек-лист для фрилансеров перед Новым годом: что нужно успеть сделать?
Последние дни перед наступлением длинных праздников – это ответственное время. Нужно многое успеть. Мы составили чек-лист, который поможет не …
Как правильно выбрать и снять хороший офис?
Если вы решили снять офис, не торопитесь арендовать первое попавшееся помещение. В вопросе выбора офиса много подводных камней, о которых мы …
Необходимость знания иностранных языков
- Возможность удалённой работы в международных командах и зарубежных проектах. Кроме престижа и интересных задач, это ещё и заработная плата в долларах или евро (при нашем курсе неплохая история).
- Возможность работы в международных заказных проектах.
- Доступность всех материалов по разработке, записей лекций, конференций, курсов и т.д. Фактически у вас исчезают ограничения в самообразовании, все ключевые материалы мира программирования становятся доступны.
- Возможность эмиграции при наличии такого желания.
- Возможность стажировок в крупнейших ИТ-компаниях.
- Дополнительный фактор карьерного роста.
Кто участвовал в обсуждении:
- Антон Назаров — iOS & C++ разработчик в Grid Dynamics, спикер AppsConfRussia и Moscow Python.
- Анна Оглузина — рекрутер в «Мегафоне», отвечает за подбор разработчиков.
- Александр Максимкин — джуниор-веб-разработчик, выпускник «Яндекс.Практикума».
- Валентин Домбровский — сооснователь в MoscowPython и Geekfactor.io, CEO DryLabs, сооснователь курсов программирования LearnPython.
- Дмитрий Карпов — Python-разработчик, выпускник Skillbox.
- Николай Мельников — руководитель Sebbia.
- Илья Космачев — джуниор-веб-разработчик, выпускник «Яндекс.Практикума».
- Юрий Иванов — руководитель группы подбора и адаптации, HR-менеджер в «Симбирсофт».
История 3. Как я научился тому, чего не рассказывали в университете – Андрей Поляков, 22 года
После школы я поступил в университет ЮУрГУ (НИУ) на специальность «Прикладная математика и информатика». Но довольно быстро понял, что больше всего внимания там уделяется математике, а с программированием как-то не очень.
Сначала долго решал, на чем хочу сосредоточиться: на мобильной или веб-разработке. Помогли опять же сайты с вакансиями: решил учиться на мобильного разработчика. Потом не менее тщательно выбирал площадку для обучения. И сначала чуть даже не пожалел о сделанном выборе.
Изучение курсов по Android и углубленного курса по Objective-C далось довольно тяжело, многие моменты не были поняты сразу, а дистанционное обучение все-таки рассчитано на то, что во многом нужно разбираться самому. На это не всегда было время — учеба в университете отнимала много сил.
Затем прошел еще несколько курсов и стажировку. Мое портфолио было уже весьма солидным. Решил, что неплохо было бы устроиться на работу. Но с этим возникли некоторые сложности: я все еще учусь в университете и на полставки брать меня никто не хотел, всем нужен был работник на полный день.
Помогла студенческая практика: я проходил ее в течение 3 месяцев в качестве Java-разработчика в компании, которая работает в банковской сфере. После удалось договориться о продолжении нашего сотрудничества, сейчас работаю на позиции Java Middle Developer, занимаюсь разработкой и тестированием веб-приложений на языке Java.
Какие навыки нужно развивать, чтобы стать успешным программистом
Программист – это не только прибыльная и увлекательная, но и сложная профессия, которая дается далеко не каждому. Даже если учеба по профессии дается человеку относительно легко, это не гарантирует его успешного трудоустройства и продуктивности действий на реальной работе.
Почему так происходит? Причин много и именно на них стоит обратить внимание и развивать в себе соответствующие навыки:
Не хватает усидчивости. Многие даже умные ребята никак не могут освоить программирование, так как для этого нужно много работать и практиковаться. Гулять и развлекаться проще и веселее, поэтому многие сходят с дистанции просто по причине лени и отсутствия дисциплины. Выучиться на кодера однозначно будет проще человеку с аналитическим складом ума. Чтобы продвижение в профессии шло лучше, нужно старательно решать задачи по математике и физике, это поможет развить некоторые аналитические склонности и укрепить их
Важно немедленно начинать учить английский. Даже хорошие программисты сталкиваются с препятствием на пути вверх по карьерной лестнице – плохое знание английского
Это может быть сильным тормозом, поэтому учить язык стоит заранее и хорошо. Также важно быть уверенным пользователем ПК. Программист не должен отвлекаться подолгу на ерунду и простые вещи, типа установка нужной программы или антивируса. Это должно быть для человека само собой разумеющимися вещами.
Важно отметить, что многие школьники не понимают, что программист – это не тот, кто занимается переустановкой Windows. Данная профессия предполагает значительно более сложную работу
История 5. Как я прокачал свои знания и получил работу поинтереснее – Юрий Сиротенко, 23 года
Компьютерами я увлекался с детства и после школы поступил в колледж на специальность вычислительная техника и программное обеспечение. А потом устроился frontend-разработчиком в веб-студию, которая делала сайты под ключ. Через некоторое время понял, что хотел бы заниматься более серьезными проектами. Посмотрел несколько потенциально интересных вакансий, но понял, что для того, чтобы туда устроиться, знаний у меня недостаточно.
Я приобрел курсы по веб-разработке и уволился с работы, чтобы сосредоточиться на учебе. Сразу после окончания учебы я составил резюме, в качестве портфолио мог показывать проект, разработанный на курсах. Работодателей, конечно, интересовали дипломы и сертификаты. Но тот, который я получил по окончании онлайн-курсов, их вполне устроил.
В конце концов, гораздо важнее, что я могу сделать в реальности, а не то, что написано у меня в дипломе. Предложение о работе получил довольно быстро. И уже год занимаю должность PHP-разработчика информационных систем. Сейчас работаю в backend-направлении для контроля финансового бюджета.
Где и как искать вакансии начинающим разработчикам?
- Знакомые. Опыт можно получить, выполняя задачи для знакомых, друзей или родственников. Денег вы на этом вряд ли заработаете, но получите готовый кейс, который можно показать потенциальному работодателю. Плюс запустится «сарафанное радио», а это тоже возможность получить рабочее место.
- Митапы, хакатоны, конференции. Здесь встречаются люди из разных направлений ИТ: делятся опытом, совместно решают задачи, налаживают знакомства. Новичку такие мероприятия полезны вдвойне: можно и опыт перенять, и с «нужными» людьми из индустрии пообщаться. Есть вероятность, что о вас вспомнят, когда понадобится человек на позицию trainee или junior. Обязательно оставляйте свои контакты новым знакомым!
-
Вакансии на сайтах ИТ-компаний. Часто компании размещают на сайтах тестовые задания для кандидатов или предлагают специальные программы для новичков. Например, в Яндекс можно попасть через программу Буткемп. Подпишитесь на новости в группе Клуб фрилансеров – мы анонсируем там мероприятия, помогающие устроиться на работу в разные компании.
Кстати, здесь большая подборка тестовых заданий, на которых можно прокачать навыки и написать кейсы для портфолио.
6 вариантов, как найти первую работу начинающему программисту:
- Стажировки или обучающие курсы. Крупные компании устраивают стажировки (чаще неоплачиваемые) для новичков или организуют собственные обучающие курсы, чтобы затем предложить место в команде лучшим кандидатам.
- Биржи фриланса. Здесь встречаются вакансии, в том числе удаленные, от компаний и разовые заказы от частных лиц. Вам могут платить мало (а иногда и вовсе предложить работать за отзыв), но для отработки навыков и наполнения портфолио — вполне подходят.
- Агрегаторы вакансий. Тут можно найти работу как в малых компаниях вашего региона, так и в ИТ-гигантах (Яндекс, Mail.ru, Тинькофф и т.д.).
- Сайты компаний. Часто на сайтах крупных компаний есть раздел «Вакансии». Если их постоянно мониторить, то можно устроиться на работу мечты даже без опыта.
- Соцсети. Во ВКонтакте, Телеграме, Facebook есть профильные группы с вакансиями (в конце статьи будет большой список сайтов и групп для поиска работы).
- Стартапы. Здесь тоже нет больших зарплат, зато от новичков не требуют глубоких знаний и навыков — всему обучают в процессе работы.
-
Удаленная работа. Многие компании сегодня нанимают разработчиков удаленно, в том числе готовы рассматривать начинающих специалистов. В этом обзоре собрано почти 50 таких организаций.
Самообразование и курсы
На форуме образовательного проекта я прочел совет, мол, прежде чем покупать учебный курс, лучше сначала бесплатно пройти основы, самому посмотреть материалы по программированию и понять, насколько тебе это близко.
За пару месяцев я накопил на нормальный ноутбук, а затем скачал курсы по HTML, CSS, JS, PHP и четыре месяца самостоятельно их изучал. Тогда у меня появилось чувство: «Вот оно — то, чем хочу заниматься!».
Я снова начал копить — на учебу. И вскоре приобрел курс веб-разработки. Сейчас могу сказать, что совет, который я получил на форуме, оказался очень дельным.
Еще очень важно, что у меня было достаточно свободного времени для учебы. На тот момент я работал в ночном клубе два раза в неделю — этого было достаточно, чтобы платить за еду и жилье
Все остальное время сидел дома и учился. А конкретнее, смотрел вебинары и одновременно делал практические проекты.
К счастью, я мог выбирать, что мне интересно. Сначала сделал сайт родителям. Затем — сайт знакомств, где все было на AJAX и очень не хватало веб-сокетов. Из учебных проектов, которые мне до сих пор очень нравятся — написал браузерную игру «Змейка» и генератор лабиринтов.
На «Змейку» ушло, наверное, дней десять. Чтобы реализовать все свои задумки, пришлось выйти за рамки того, что требовалось по программе курса, но в итоге получилось здорово, на мой взгляд.
Я добавил в игру звуки, несколько уровней сложности и различные бонусы, которые выпадают на поле. Есть система начисления очков и возможность ставить игру на паузу.
Проект до сих пор хранится в моем DropBox. Файлы, необходимые для знакомства с игрой, вы найдете и загрузите по ссылкам: раз и два.
Опыт работы над этим проектом очень пригодился мне впоследствии. Тогда я впервые столкнулся со многими типовыми проблемами веб-разработки и научился их решать.
Как устроиться программисту без опыта работы: советы
Правильно поставленная цель и «неопускание рук» при первых неудачах приведут вас туда, куда вы запланировали. В сети есть масса историй тех, кто, к примеру, мечтал попасть в Гугл и попал туда только с 5-10 раза, а до этого просто получал отказы. Получив отказ, нужно проанализировать, что с вами не так, найти свои слабые стороны и исключить их, чтобы опять подать резюме. А пока происходит анализ собственных сил и работа над собой, нужно наращивать свой практический опыт даже в самых мелких проектах.
Можно выделить несколько советов, как устроиться программисту без опыта работы:
-
постоянно и не останавливаясь ни при каких обстоятельствах нужно прокачивать собственные навыки;
-
все время нужно работать над своим портфолио, чтобы его улучшать;
-
если нет собственных заказов, то проситесь кому-то в помощь;
-
заведите свой аккаунт на GitHub и храните там свои проекты;
-
общайтесь с разными людьми и налаживайте новые связи;
-
учитесь у более опытных коллег;
-
периодически анализируйте свои действия на наличие ошибок;
-
ищите вакансии всеми возможными путями и способами;
-
выполняйте свою работу качественно, даже если вы практически ничего не заработаете — «сарафанное радио» еще никто не отменял;
-
откликайтесь на максимальное количество вакансий, даже на те, до которых вам не хватает немного скиллов;
-
откликаясь на вакансию, думайте с позиции «как я могу помочь заказчику», а не с позиции «сколько я заработаю»;
-
никогда не пишите в резюме лишнего, особенно того, чем вы не владеете; если это выяснится на интервью, то вам не видать этой работы, а если планируете что-то еще изучать в ближайшее время, то так и пишите: «Это в планах для изучения»;
-
получив отказ, не унывайте; отказ означает, что в данный момент времени конкретно эта компания не готова взять вас на работа, а это может быть по многим причинам, от вас не зависящим.
Высшее образование не даёт практических навыков
Где тут правда. Некоторые вузы, особенно небольшие и провинциальные, действительно ориентированы на теорию. Вся практика там — далёкие от реальности учебные проекты на кафедре или работа «мастером на все руки» в какой-нибудь дружественной вузу компании.
Но даже в крупных вузах, где с практикой получше, можно пофилонить — участвовать в общественной жизни университета, выступить в КВН или получить подтверждение практики по знакомству, формально устроившись в фирму друга или родственника. Так прошла всю практику половина моего потока — ни у кого не было ни одного реального проекта.
Где ошибка. Если во время учёбы тщательно избегать любой активности, можно пройти мимо любой практики и выйти из вуза вообще без навыков по специальности. Но если, наоборот, искать возможности попрактиковаться, то окажется, что их очень много:
В хороших крупных вузах есть отделы практики и трудоустройства — и они работают не формально, а реально. В такой отдел можно прийти и получить назначение на практику в реальную компанию. Часто крупные фирмы даже борются за практикантов — привлечь к себе хорошего, толкового студента может быть очень полезно.
Например, вот список организаций, с которыми сотрудничает НГУ: студентов могут направить на практику в геймдев-студию «Алавар», в «ЕвразТехнику» или в реальный НИИ. У других крупных вузов такие списки тоже есть.
- Некоторые компании — например, «», ВТБ или МТС — устраивают практику и стажировки специально только для студентов или недавних выпускников. Туда нельзя попасть, если не учишься в вузе. Кстати, стажёров после практики часто нанимают на реальные должности.
- Курсовую или дипломную работу можно сделать практичнее: не писать что-нибудь абстрактное о методах и алгоритмах, а разработать реально применимый инструмент. В ВШЭ такие проекты даже публикуют на сайте — можно посмотреть и оценить практичность. У нас самые активные студенты тоже делали реальные проекты — мой приятель разрабатывал новый сайт для нашей кафедры. Правда, менять в итоге ничего не стали.
- У крупных вузов есть программы обмена студентами с зарубежными странами. Можно на семестр или год уехать за рубеж — пообщаться там с иностранными коллегами, набраться опыта, заинтересовать иностранных работодателей.
- В современных вузах в процессе обучения студентам дают реальные проекты, максимально приближенные к рабочим.
Лучшие книги и средства обучения
- «Искусство программирования», Дональд Кнут
- «Жемчужины программирования», Джон Бентли
- «Путь программиста», Джон Сонмез
- «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин
- «Алгоритмы. Построение и анализ», Томас Х. Кормен
- «Сам себе программист. Как научиться программировать и устроиться в Ebay?», Кори Альтхофф
- «Карьера программиста», Г. Лакман Макдауэлл
- «Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин
- «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие
- «Совершенный код», Стив Макконнелл
- «Кодеры за работой. Размышления о ремесле программиста», Питер Сейбел
- «Мифический человеко-месяц», Фредерик Брукс
- «Программист-прагматик. Путь от подмастерья к мастеру», Дейв Томас, Энди Хант
- Codecademy — универсальная интерактивная платформа для обучения языкам программирования. Лычки, ачивки, геймификация — сплошная мотивация.
- Udacity — англоязычный ресурс для обучения программированию.
- Codewars — огромный сборник тестовых задач для тренировки навыков по любому языку программирования.
- Coursera — без комментариев, просто лучшая лекционная «солянка».
- MIT OpenCourseware — море курсов от Массачусетского технологического института.
неплохой обзор курсовогромная и свежая подборка
Длительность обучения и навыки
Внутренние курсы ИТ-компаний и коммерческих центров в среднем рассчитаны на период от трёх месяцев до полугода. Этого времени вполне хватает для того, чтобы не просто ознакомиться с теорией, но и освоить языки программирования и все необходимые инструменты для разработки. Выпускник курсов получает знания в узком направлении, которые пригодятся здесь и сейчас. Он сразу готов начинать работу, чтобы в процессе постепенно расширять свой айтишный кругозор.
КУРС WEB-РАЗРАБОТКИ (FRONT-END)В ходе курсы ты научишься работать с системой контроля версий Git, получишь практические навыки создания страниц на HTML5 и CSS3, освоишь язык Javascript (ES6), приобретёшь навыки подключения внешних API, узнаешь как использовать новейшие API браузера: Storage, Geolocation, Messaging и другие.
Узнать подробнее и записаться
Чтобы получить специальность программиста в университете, необходимо посвятить этому четыре-пять лет очного или заочного обучения. За это время студент получает широкие знания в смежных его специальности областях и готовится быть многопрофильным разработчиком, который знает несколько языков программирования, умеет создавать базы данных, проектировать автоматизированные системы и многое другое. Но когда выпускник университета приходит на работу, он также проходит начальный период обучения и адаптации к процессам, которые происходят именно в этой ИТ-компании.
https://youtube.com/watch?v=Msztpq3VJXU
Почему ИТ-курсы лучше универа?
Как быть, если вам не хватает знаний до вакансии джуниор-программиста?
Осваивать большую часть навыков программирования нужно на практике. Во-первых, так вы поймете их быстрее и лучше. Во-вторых, работодателей интересует не то, сколько умных слов из мира программирования вы знаете наизусть, а как вы умеете свои знания применять. Значит, он спросит портфолио.
Начинать нарабатывать портфолио нужно еще во время учебы. В середине процесса или после первых двух третей начинайте искать себе стажировку. Стажировка — это почти полноценная работа начинающим программистом. Отличие в том, что стажировки обычно неоплачиваемые и занимают не полный день, а несколько часов.
Вот как устроена система стажировок в программировании: вы работаете на компанию, решаете базовые задачи в своей области без финансового вознаграждения. Взамен опытные коллеги учат вас и помогают разбираться в сложных вещах.
Такой подход ломает замкнутый круг «всем нужны работники с опытом, но где взять опыт, если никто не берет меня без опыта». Если вы хорошо покажите себя на стажировке, то есть шанс, что работодатель после окончания предложит вам остаться на полноценную работу начинающим программистом.
Если после окончания учебы и/или первой стажировки у вас все еще недостаточно навыков, чтобы получить работу джуниор-программиста, то пройдите еще одну стажировку.
Где искать стажировки: на тех же сайтах и площадках, на которых нужно искать работу.
Front или Back? Ответ — Fullstack!
Когда пошел учиться, решил не ограничиваться фронтендом, потому что без серверной части и баз данных ни одного приличного сайта не сделаешь.
Изначально мне не нравился front-end — он казался слишком сложным. Думал, вообще только серверной частью заниматься, но сейчас все изменилось: я глубже вник в оба направления и с удовольствием делаю все — фронт и бэк. Так ты меньше зависишь от других и лучше представляешь сайт как единое целое.
Сейчас на основном месте работы использую стек технологий React + MobX + PostgreSQL + Symfony. С React и МobX чувствую себя уже очень уверенно, а вот с postgresql и symfony пока на «вы». Чтобы как следует потренироваться в их использовании, пока не хватает подходящих задач.
Как стать программистом с нуля
На дворе 2021 год, а программисты на рынке труда до сих пор очень востребованы. Чаще всего это так же высокие зарплаты и как минимум хорошие, стабильные условия труда. Так же нет привязки к месту, и можно работать из небольшого города на крупную компанию. В общем все звучит очень заманчиво.
Но не стоит забывать, что программирование — это кропотливый труд, и работа преимущественно головой. В начале пути вам придется изучить большое количество документации, которая часто оказывается скучной или даже нудной для новичков
И очень важно тщательно изучать пункт за пунктом, главу за главой, чтобы разобраться в базовых вещах и начать понимать что же такое “программирование” на самом деле
Вам следует определиться с направлением, в котором вы хотите развиваться:
- Frontend developer (разработка визуальный интерфейсов на сайте или в приложении);
- Backend developer (серверные решения для обработки данных с различных сайтов, игр, приложений и т. д.);
- Разработчик мобильных приложений;
- Data science (построение нейросетей для искусственного интеллекта);
- Системный программист (низкоуровневое программирование бытовых приборов и прочих устройств).
Многие новички считают, что “стать программистом” — это выучить синтаксис определенного языка. Это не совсем так. Синтаксис безусловно важен, но сейчас существует достаточное количество IDE (Integrated Development Environment — специальных редакторов для написания кода), которые помогают с командами, подсказывают с символами и исправляют ошибки. Как автопроверка в ворде. Гораздо важнее понимать более базовые понятия, такие как: системы счисления (двоичная, десятичная, шестнадцатеричная и и т. д.), булева алгебра, как устроена память компьютера, логика, основные математические операции и так далее.
Если вам не терпится побыстрее получить должность стажера, то, наверное, самый быстрый для вас путь — это Frontend разработчик. Вам следует выучить технологии HTML, CSS и JavaScript. В процессе обучения обязательно нужно будет собрать портфолио из красивых, адаптивных под разные устройства, сайтов, и можно идти покорять эйчаров своим резюме. Процесс обучения занимает около 10-12 месяцев. Сейчас огромное количество онлайн и очных курсов. Также есть много толковых роликов на ютубе, где вы сможете сверстать сайт параллельно с автором видео.
Если же хотите погрузиться в программирование более подробно, можете пройти курс Компьютерные науки CS50 (доступен на английском языке бесплатно). Он состоит из 11 модулей (1,5-2 часовых лекций и лабораторных работ, на которые можно получить фидбэк) и плавно двигается по языкам программирования, затрагивая все их особенности. Курс можно проходить в своем темпе. Также есть чат поддержки, где вы сможете познакомиться с другими студентами и обрести новые полезные знакомства.
В backend разработке придется работать с базами данных, большими потоками информации, и тут понадобится выучить чуть больше всего, одного синтаксиса языка (например, Java, C#, Goland, Python etc) будет недостаточно. Здесь уже обязательны знания устройства баз данных, следует изучить и научиться работать с готовыми фреймворками которые используются на рынке.
Если же вы хотите поработать с Data Science и построить нейросеть для распознавания и генерации лиц, звуков, картинок или чего либо другого, тут будет необходимы более глубокие знания в математике, математическом анализе и статистике.
Интересно: История успеха: как сисадмин стал директором завода крупной строительной компании.
Одним словом — в изучении программирования нет ничего невозможного. Просто на некоторые технологии понадобиться больше времени. Ну и, конечно же, в отличии от многих других сфер программистом необходимо постоянно развиваться, ведь на рынке разработки постоянно появляются новые технологии разработки, и вы рискуете остаться за бортом.
Чем занимается программист?
Основная задача специалиста по программированию — написание кодов для запуска и успешной работы программ и приложений. Что входит в понятие программа: видеоигра, мобильное приложение, настройки кухонного комбайна или холодильника, операционная система компьютера, настройки для рентгеновского аппарата. Для написания алгоритмов он использует специальные компьютерные языки. Они, как правило, состоят из ряда специальных символов и слов. Языков программирования огромное множество — каждый выбирает тот, с которым ему комфортнее всего работать и какой подходит для решения определенной задачи. Если специалист может работать одновременно с 4 и более языками, он может считаться мастером высокого уровня.
Сегодня существует некая подмена понятий. Многие ошибочно полагают, что программист — человек, который создает код для работы программ, компьютерщик — работник, который выполняет ремонт компьютеров, и IT-специалист — это все одна и та же работа. Это вовсе не так. Каждый из этих людей занимается своим делом и имеет четко определенные обязанности. Если вы хотите быть именно программистом, то вы будете работать именно с кодами.
Существует несколько направлений:
- Системные специалисты;
- Прикладные;
- Веб.
Системные программисты создают операционные системы. Прикладные занимаются разработкой приложений для развлечений, обучения, работы. Веб-программисты создают интернет-страницы и программное обеспечение для них.
Для обучения необязательно заканчивать университет, программистом можно стать после обучения в колледже или на специальных курсах. Главное, следовать за мечтой и не опускать руки.