что нужно чтобы стать айтишником
Как стать программистом?
За большинством технических удобств вроде онлайн-банка или информационного табло в аэропорте стоят специалисты одной и самых востребованных профессий современности – программисты. Без них не работали бы ни гаджеты, ни соцсети. Даже заказать новые кроссовки в интернет-магазине было бы проблематично. До сих пор it-сфера только ускоряет темп развития, требуя все новых работников. Кампании готовы нанимать даже новичков. Средняя зарплата программиста начинается от 35 тысяч рублей, а уж профессионалы со стажем могут зарабатывать заоблачные деньги.
В этой статье мы расскажем, как попасть в престижную профессию, кто такие Senior-программисты, и почему без английского вам здесь придется трудно.
Кто такие программисты и чем они занимаются
Запросы it-сферы на профессионалов постоянно увеличиваются. Следовательно нужны люди, которые будут в этом разбираться: создавать, чинить, поддерживать. Кодеры бывают разные, и каждая работа имеет свою специфику. Расскажем про основные специализации айтишников:
Самый очевидный вариант. Но он не так прост, как вы можете подумать. Кодеры выполняют разные задачи в зависимости от их профильного языка программирования и проекта.
Например, разработчик мобильных приложений создаёт программы под системы android, ios и другие. Смартфон и планшет есть у каждого первого, так что тут работа закончится ещё не скоро.
Ещё одно перспективное направление – java-программирование. Большинство банковских систем спроектированы на этом языке. Банки готовы хорошо платить за качественный продукт и штатным работникам, и сторонним фирмам. Но и требования тут высоки: придется нести ответственность за корректную работу приложения с чужими деньгами. Конечно, программировать на java можно не только в банке, а хорошие it-специалисты со стажем получают около 200 тысяч рублей в месяц.
Тестировщик – специалист, без которого ни один проект не увидит релиза. Этот айтишник знает все о тонкостях кода и о местах, где программа может дать сбой. Его обязанность – проверить устойчивость продукта к ошибкам и багам и вернуть его разработчикам на исправление. На первых порах проверка делается вручную, но, когда все слабые места найдены, тестировщик пишет специальную программу, чтобы автоматизировать поиск неисправностей.
Ещё одна похожая профессия – qa engeneer, специалист по качеству продукта. Основное его отличие в том, что он не ищет ошибки в коде, а старается их не допускать. Подробно выяснить требования заказчика, спланировать разработку, наладить связь между группами программистов – все это обязанности qa engeneer. Часто тут даже язык программирования знать не надо, важнее представлять этапы разработки и особенности управления проектами.
Профессия привлекательна зарплатой: даже новичку тут могут заплатить 50 тысяч в месяц.
Согласно исследованию StackOverFlow, это самая востребованная it-профессия 2017 года. Web-программисты делятся на две категории: front end и back end (они же часто шифруются как UX/UI дизайн). Первые следят за всем, что связано с пользовательской частью: удобство приложения и сайта, интуитивно понятное использование и просто красивая картинка. Вторые прорабатывают техническую составляющую: логика сайта, его функции, взаимодействие с базой данных. Чтобы страничка в интернете выглядела современно, разработчики проходят курсы html и php, владеют css, java-script, программированием на python.
Ваша зарплата будет зависеть от количества инструментов, которыми вы владеете. Самое маленькое вознаграждение у html-верстальщиков, они получают от 25 тысяч в месяц.
Особенность 1С-программирования – тесная связь с экономической отраслью. Например, чтобы правильно начислить зарплату 3000 людей на заводе, надо где-то хранить данные об их рабочем времени, ставке, больничных и т.п. Эту задачу берет на себя программы 1С-предприятие. 1С-программист настраивает программы бухучета и документооборота так, чтобы легко выгружались документы, автоматически формировались отчеты.
Возможную рутинность работы с лихвой компенсирует порядок зарплат. Если говорить о фиксированной ставке, то начинающий Программист 1C сразу найдет вакансию с зарплатой в 45 тысяч в месяц, а ведущий специалист получает от 120. А вот в случае фриланса заработок будет зависеть от ваших навыков и от количества рабочих часов в неделю. Профессионалы зарабатывают и 200, и 500К в месяц.
Этот айтишник не совсем программист. Его особенность в том, что он отлично разбирается в «железе». Подключить принтер, ноутбук, проектор, настроить его работу, раздать интернет и спроектировать хитрую локальную сеть – это все к нему. Гуру проводов и работающих принтеров платят от 25 тысяч рублей, а зарплата программиста-сисадмина с хорошим опытом может доходить до 150 тысяч в месяц.
Он же product manager, он же product owner. Менеджер продукта выступает как переводчик между заказчиком, которые не разбирается в информационных технологиях и исполнителей-программистом. Кажется, что это работа из ничего – что заказчик с программистов сами разобраться не смогут?! Хорошо не смогут. Именно product manager может объяснить заказчику возможности функционала и потом уже сформулировать точное задачу для айтишников. На product owner лежит ответственность, чтобы готовое приложение, сайт или игра приносили пользователю максимум радости и пользы.
Любой успешный айтишник может достичь высшей позиции в it-сфере – chief procurement officer (коротко CPO). Этот человек глубоко знает продукт, понимает систему кодинга, знает лучшие стратегии для создания программного обеспечения. В подчинении ИТ-директора средней компании может находиться 30-50 человек. Средний доход… далеко выше среднего.
Как стать программистом?
Обучение программированию в вузе
Самый очевидный способ стать программистом – поступить на соответствующий профиль в вуз. Жизнь большинства специалистов уже невозможна без it-технологий. Обращаться с кодом в какой-то мере учат и математиков, и химиков, и биологов. Но чтобы не мучиться на неинтересных для вас предметах и изучать только профильные дисциплины, выберите одно из следующих направлений:
Обучение на программиста в колледже
Необязательно ждать выпускного, чтобы посвятить себя любимому занятию. Обучение на программиста можно начать после 9 класса, надо только правильно выбрать колледж. Подходящих специальностей тут не так много:
Всего в стране 71 учреждение среднего профессионального образования с нужными нам направлениями подготовки. Эти профили вы найдете в Санкт-Петербургском колледже информационных технологий, Петровском колледже, Новосибирском колледже электроники и вычислительной техники, в Уральском технологическом колледже “МИФИ” и в многих других.
Курсы дополнительного образования
Изучать приглянувшийся язык программирования можно самостоятельно в удобном темпе на одном из обучающих ресурсов. Например, на INTUIT легко подобрать курс по java-программированию. После успешного прохождения итогового тестирования система выдаст бесплатный сертификат.
Для желающих видеть преподавателя не через экран монитора, а вживую, есть очные курсы. Например, MAXIMUM ведет занятия по изучению it-сферы для школьников Digital Skills. Программирование там тоже есть, а на ознакомительное занятие можно прийти бесплатно.
Как поступить на специальность Программирование и что сдавать?
От будущих it-специалистов вузы чаще всего требуют результаты ЕГЭ по русскому языку, профильной математике и информатике. Некоторые могут попросить сдать еще и английский.
Название олимпиады | Уровень сложности |
Всесибирская олимпиада школьников | 1 |
Московская олимпиада школьников | 1 |
Олимпиада школьников «Ломоносов» | 1 |
Открытая олимпиада Университета Иннополис | 1 |
Открытая олимпиада школьников | 1 |
Открытая олимпиада по программированию | 1 |
Олимпиада «Высшая проба» | 2 |
Олимпиада СПбГУ | 2 |
Открытая олимпиада по программированию «Когнитивные технологии» | 2 |
Олимпиада по дискретной математике и теоретической информатике | 3 |
Олимпиада школьников «Надежда энергетики» | 3 |
Чем заняться сейчас, чтобы повысить свои шансы на успешную карьеру программиста
Надо понимать, что it-сфера развивается с огромной скоростью. Вузы физически никогда не успеют адаптировать программы, чтобы давать студентам самую последнюю информацию. Университет заложит основу в виде базовых возможностей языка и стандартных алгоритмов. Именно поэтому работа программиста невозможна без непрерывного самообразования. Языки программирования модернизируются, разработчики создают новые удобные инструменты, чтобы облегчить работу себе и коллегам, придумывают новые алгоритмы решения задач. Дальше мы расскажем, где и чему поучиться ещё, чтобы преуспеть в it-сфере:
Дочитали до конца? Вот вам ещё пара интересных фактов, которые помогут лучше представить профессию программиста.
«Для работы в IT нет входных барьеров». Как стать айтишником с нуля
По прогнозу Фонда развития интернет-инициатив, к 2027 году для экономического роста России понадобится вдвое больше программистов, чем есть сейчас, и вряд ли вузы и техникумы справятся с «поставкой» на рынок такого объема кадров. Чтобы избежать кадрового голода, крупные российские IT-компании занялись обучением программистов и готовы принимать на стажировки новичков — так на первый план в становлении IT-специалиста вышли быстрая обучаемость и самостоятельность вместо университетского диплома и опыта работы.
Высокие зарплаты, востребованность и возможность стать специалистом без высшего образования привлекают все больше желающих работать в сфере IT. Евгений Лебедев, CMO «Яндекс.Практикума», рассказал, почему состояться в IT может каждый, как выбрать новую профессию, научиться основам программирования и найти первую работу.
Почему в IT не важны пол, возраст и образование специалиста
Для работы в IT нет входных барьеров — состояться может каждый, были бы желание и свободное время для обучения.
Получить базовые теоретические знания и практические навыки сегодня можно бесплатно:
Что самое важное для начинающего разработчика
Как подойти к выбору специализации и направления?
Веб-разработка — пожалуй, самое популярная и понятная новичкам специализация в IT. Если вам пока кажутся сложными профессии DevOps-инженера, data scientist, Python-разработчика, выбирайте именно веб-разработку.
Но не все так просто — вслед за специализацией нужно выбрать и направление для работы. В разработке сайтов их три:
По данным исследования HeadHunter и «Яндекс.Практикума», фронтенд-разработчики — самые желанные среди работодателей, и спрос на них продолжает расти: за 2016-2018 годы количество вакансий выросло на 20%. Средняя медианная зарплата новичков в этом направлении — 45 тысяч рублей. Фулстек-разработчики менее популярны, но доля вакансий для них выросла за это же время в два раза, а средняя медианная зарплата на стартовой позиции составила 63 200 рублей.
Чтобы выбрать направление веб-разработки, изучите основы фронтенда и бэкенда — это не помешает в любом случае. Попробовав на практике оба направления, сможете определиться, что вам подойдет.
С чего стоит начать погружение в сферу и свое обучение?
Выделите на обучение не меньше десяти часов в неделю и занимайтесь понемногу, но обязательно каждый день — сочетайте теорию с практикой. Интереснее и эффективнее учиться, если у вас есть реальные задачи, поэтому для учебы возьмите себе рабочий проект — сайт, при разработке которого вы будете применять новые знания.
Вне зависимости выбрали вы фронтенд или бэкенд, опыт развития проекта с нуля пригодится, чтобы понять, в чем состоит работа специалиста.
Придумайте свой проект, попросите «боевую» задачу среди своих знакомых или поищите тестовые задания в описаниях вакансий — это важно не только для обучения, но и для будущего портфолио, на которое обращает внимание работодатель.
Что нужно знать и уметь, чтобы получить должность джуниора
Джуниор-разработчик — начальный уровень IT-специалиста. Это отличная возможность стартовать в профессии: новичков не бросят в беде старшие коллеги, поэтому опыт можно получить очень быстро, но важно продолжать развиваться, осваивая новые навыки и технологии.
Требования специалистам начального уровня в разных компаниях свои — одни готовы взять программиста без опыта и учить его с нуля, другим важны портфолио проектов, пусть и некоммерческих. Описания вакансий сходятся только в области личных качеств сотрудника: джуниор должен уметь работать в команде, быть любопытным, проявлять самостоятельность в обучении, спокойно относиться к критике, желательно иметь портфолио, пусть даже из собственных или учебных проектов, и знать базовый технический английский.
Необходимые для работы технические навыки зависят от задач, которые специалисту предстоит решать. В крупных IT-компаниях действуют программы стажировок — у новичка есть возможность быстро получить базовые навыки и вырасти из стажера в специалиста. В небольших компаниях часто некому учить сотрудников, поэтому на старте джуниору нужно иметь хотя бы минимальные навыки и опыт работы.
Как искать первую работу в IT
В процессе обучения собирайте список проектов, в реализации которых вы участвовали — он покажет работодателю ваш уровень подготовки. Также постоянно просматривайте вакансии и находите подходящие вам — по задачам, необходимым навыкам, графику работы. Откликайтесь на вакансии, ходите на собеседования — это самый быстрый способ узнать, чего вам не хватает до желаемой должности. Не отказывайтесь от неоплачиваемой стажировки — так можно получить первый «боевой» опыт и стать джуниором.
Вливайтесь в сообщество: ходите на митапы, лекции, хакатоны. Знакомьтесь с людьми из индустрии. Возможно, свою первую работу вы найдете именно так.
На что нужно обратить внимание в описании вакансии, если вы еще учитесь и хотите претендовать на должность джуниора:
Фото в материале и на обложке: Unsplash
С чего начать, чтобы стать айтишником, если вы далеки от IT
В статье мы расскажем, какие шаги предпринять, с чего начать и как построить свое обучение, чтобы стать айтишником, если вы далеки от ИТ.
Определитесь со специализацией
В первую очередь, вам нужно решить, почему вы идете в ИТ. Вам нравится делать сайты, создавать программы для операционных систем, продумывать дизайн или тестировать? Это решение станет отправной точкой в процессе обучения.
В зависимости от выбора, вы сможете определить для себя программу обучения, подготовить план и подобрать первые источники: книги, сайты или онлайн-курсы.
Учите английский язык
Если ваших знаний языка не хватает на свободное чтение, начать следует именно с него. Английский будет нужен не только для коммуникаций, вам придется много читать и искать в интернете на английском. Это может быть как техническая документация или ответ на StackOverflow, так и просто интересная тематическая статья на Medium.
Научитесь гуглить
Это второй важнейший навык, после знания иностранного языка, который жизненно необходим при обучении. Важно научится правильно формировать запросы и отсеивать ненужную информацию еще на странице выдачи.
Освойте базовые понятия
Для начала узнайте, чем отличается бит от байта, изучите базовые термины и концепции информатики, узнайте про условия, циклы и прерывания. Как работает процессор, зачем нужен веб-сервер и что за ascii – все это нужно знать, чтобы начать углубляться в ту область, которая вам интересна.
Структуры данных и алгоритмы
Структуры данных и алгоритмы – фундаментальные для разработки и ИТ понятия. Вам не расскажут о них как следует на прикладных курсах по программированию, поэтому изучите эти вещи самостоятельно.
Для начала разберитесь с терминами стек, дерево, очередь, хеш. Для понимания алгоритмов необязательно зарываться в теорию графов, но как минимум понять quicksort – должно быть вашей целью.
Ознакомиться с концепцией объектно-ориентированного программирования будет полезно независимо от того, какой язык вы выбрали и как собираетесь его применять. ООП – один из самых популярных стилей разработки, поэтому вам нужно не только знать определения основных концепций (наследование, инкапсуляция, полиморфизм), но и понимать, как они работают, уметь реализовать их в коде программы.
Базы данных
Если вы уверенно овладели синтаксисом интересующего вас языка программирования, стоит узнать как он работает с разными типами баз данных, а заодно узнать о видах БД и их различиях.
Даже если ваш язык обычно не взаимодействует с базой данных напрямую (например, JavaScript), вам нужно знать что происходит в этой области разработки: вы лучше будете понимать, как работает программа в целом.
Так как же стать айтишником?
Переучиться и сменить профессию можно всегда и в любом возрасте. Важно лишь помнить, что это очень долгий и сложный процесс. И чем позднее вы за это возьметесь, тем сложнее вам будет.
Чтобы стать айтишником, нужно настроить себя на долгий процесс изучения азов и непрерывное самообучение в течении всей карьеры. Запаситесь терпением, ведь между началом обучения и первой работой может пройти много месяцев и даже лет.
Как быстро стать Айтишником?
Здравствуй, уважаемый читатель!
Но, как быть тем, кто уже потратил лучшие для образования годы, т.е. времена отсутствия обязательств? Тем, кого свое сегодняшнее социальное и материальное положение не особо устраивает и все-таки хочется еще что-то изменить, но времени не особо есть?
Не спешите вспыхнуть, в надежде узнать супер секрет и завтра стать миллионером, такие случаи происходят крайне редко и в основном в рекламах инфо коучеров и прочих.
Но и не все так плачевно, сейчас объясню.
Взято с pixabay.com
Есть в ИТ такое понятие – ПОРОГ ВХОЖДЕНИЯ. Суть проста, это некая мера по которой можно понять долго ли нужно вникать и обучаться прежде чем, ты сможешь что-то сделать своими руками. Она не имеет конкретных цифр или оценок. Просто, когда, говорят «ЭТА» технология имеет низкий порог вхождения, то ИТ-шник понимает, что для обучения новому навыку не потребуется несколько лет. К примеру, есть обучение навыку делать программки на языке Visual Basic, а есть навык развития искусственного интеллекта – первому можно обучить даже школьника начальных классов, а второе требует нескольких этапов развития. Конечно можно посмотреть видео на ютубе из серии «Обучение за час», но поверьте это не значит, что они с низким порогом вхождения, так как все требует своего времени. Но также обязательно понимать, что чем выше порог, тем меньше там людей и тем выше они оцениваются. Тут в принципе все аналогично с обычными профессиями, если в твоей текущей профессии большая конкуренция за место и маленькая зарплата, то у нее низкий порог вхождения.
Также взято с pixabay.com
Тем не менее, есть одно направление в ИТ, которое в какой-то мере доступно практически каждому человеку, кто хотя бы имеет смартфон, понимает, что такое Google или Microsoft Office. Это профессия – тестировщик. Не то чтобы на тестировщика не надо учиться, просто базовые навыки этой профессии мы так или иначе уже получили и получаем в повседневной жизни.
Продолжаю брать с pixabay.com
Так, для чего же нужен тестировщик? В общем понимании, это некий работник, который заранее знает, как должна выглядеть программа и периодически проверяет близка ли она к конечному результату.
СТОП! Программы, программисты – я вообще ноль в ИТ, что то не понятно (дальше абзац для вас).
По-прежнему pixabay.com
Интриги не будет. Pixabay.com
Так вот, чтобы такие программы создавались требуется 1 человек. Это программист, человек, который может написать для компьютера последовательность инструкций, которые в итоге и будут собой образовывать программу. Со временем, стало понятно, что таких программистов не так уж и много (чтобы еще и руки оттуда росли), а запросов на создание всяких программ и сайтов куча. В этот момент к программисту добавляется еще один коллега. Это аналитик, человек, который может понять, что автоматизировать и написать “инструкцию по сборке для программиста”, который в свою очередь напишет «инструкцию для компьютера» намного быстрее. Тем не менее, потребность в программистах не становится меньше, и к ним в команду добавляется еще специалист. Это тестировщик, человек, который сравнивает готовую программу, сделанную программистом по инструкции с самой инструкцией, для нахождения ошибок и несоответствий. И как ошибки будут доделаны и несоответствия приведены в порядок программа будет считаться готовой для передачи в массы.
Отклонение от темы завершено 😊
Так вот как тестировщик поймет, что он обнаружил ошибку?
Для начала давайте разберемся с некоторыми техническими терминами, к примеру:
Вот и яндекс приходился)
Теперь, давайте представим, что нам нужно создать программу, типа “Конвертер валют”, то есть введя сумму в одной валюте, мы должны получить результат в другой (для примера будем использовать некоторый рубль и некоторый доллар). Хоть задача и очень простая, но давайте для ее реализации будут участвовать все, то есть и аналитик, и программист, и собственно тестировщик.
Итак, аналитик подготовил инструкцию для программиста, что-то вроде:
Визуально программа состоит из двух окон и кнопки “Рассчитать”
Первое окно имеет возможность ввода числа
Второе окно отображает результат после нажатия на кнопку “Рассчитать”
В программе имеется скрытое число “Актуальный курс”
Число “Актуальный курс” копируется с официального сайта Центрального банка и обновляется каждые 5 секунд
При нажатии на кнопку “Рассчитать” программа берет число из первого окна, умножает его на число “Актуальный курс” и отображает результат во второе окно
Отображение результата должно производиться не более чем через 3 секунды
Примерный вид программы отображен ниже.
Сам нарисовал)
Программист на основании инструкции разработал программу:
Подготовил визуальную форму
Реализовал связку программы с сайтом Центрального банка
Написал логику работы программы при нажатии на кнопку “Рассчитать”
Теперь то “К барьеру!” и выходит ТЕСТИРОВЩИК
Опять за старое. Взято с pixabay.com
Что нужно проверять? Требования к проверке бывают разными, но в общем случае, это обязательно функциональность (соответствует ли поведение программы документации) и производительность (как быстро работает программа), к примеру (будем заглядывать в инструкцию, написанную аналитиком):
Первое окно имеет возможность ввода числа:
Но стоит запомнить несколько обязательных принципов:
Выявить и исправить все баги невозможно
Баги могут возникать не только по вине программиста, но и по вине аналитика
Баги делятся по приоритетам и важности
Естественно, как и в любом деле, в тестировании имеются различные методики, практики, лайфхаки, позволяющие упростить и сократить время работы, но их незнание не является преградой для того, чтобы начать.