Что нужно знать начинающему IT специалисту.

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

О том, где программисту получить базовые знания, с чего начать обучение, поговорим с Алисой Антроповой, менеджером по работе с клиентами IT-Академии Сухорукова.

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

У нас около 15 курсов по программированию. Их можно по-разному классифицировать: есть курсы для начинающих (основы программирования, Java с нуля, С# с нуля, С++ с нуля, верстка), есть уже для опытных (С++ и Java, JavaScript, PHP, Андроид, iOS), а есть для продвинутых (Java EE, PHP Advanced, продвинутые iOS и Андроид). Есть курсы по веб-технологиям, есть обучение классическим языкам программирования, есть разработка мобильных приложений. Немного особняком стоит курс по тестированию ПО – это одно из самых востребованных уже не первый год направлений.

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

Если же говорить о курсах, ориентированных более предметно, то среди них можно перечислить:

– крайне популярный язык программирования, который специально разработан для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере.

Объектно-ориентированный язык, предназначенный для разработки разнообразных приложений, выполняемых в среде.NET Framework. С его помощью можно создавать обычные приложения Windows, XML-веб-службы, приложения «клиент-сервер», приложения баз данных и т.д.

Один из самых сложных языков, и, тем не менее, с него очень здорово начинать знакомство с IT вообще и программированием в частности. Используют его для создания:

  • операционных систем;
  • конструкторских, например, САПР «Компас», приложений;
  • текстовых редакторов;
  • бухгалтерских программ (1С) и многого другого.

Кроме того, C++ применяют при:

  • разработке других языков программирования;
  • написании драйверов, позволяющих «железу» правильно работать в системе;
  • создании высокопроизводительных веб-серверов (например, nginx);
  • создании игр и всевозможных развлекательных приложений.

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

Язык программирования, с помощью которого веб-страницам придают интерактивность. С его помощью создают приложения, которые включаются в HTML-код (например, анкеты или формы регистрации, заполняемые пользователем).

(Java для опытных) - набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы под задачи средних и крупных предприятий.

– кроссплатформенный объектно-ориентированный язык, который позволяет написать ту же программу, что и на С++ или Java, но с меньшими временными затратами. Его часто изучают в качестве второго языка, это существенно упрощает проверку сценариев. Он универсальный, с его помощью можно автоматизировать рабочие процессы, создавать сайты, а также настольные приложения и игры. Наш курс в основном посвящен использованию Python для создания сайтов.

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

А что относится к направлению разработки приложений для мобильных устройств?

Операционную систему корпорации Apple, включает знакомство с основными библиотеками и интерфейсами, а также принципами тестирования таких приложений. Сначала с вами будут плотно работать наставники – они помогут вам написать вашу первую программу. А по окончанию курса вы сможете уже создать приложение под iOS на языке Objective-C самостоятельно.

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

– это многофункциональный и интуитивно понятный язык программирования от Apple, c помощью которого можно создавать приложения для iOS, Mac, Apple TV и Apple Watch. Swift дает специалистам практически неограниченную свободу в реализации собственных идей. Сегодня данный язык считается одним из наиболее современных и перспективных направлений в области IT-разработки.

Какие курсы еще могут заинтересовать тех, кто решил стать программистом?

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

На (грамотному проектированию интерфейсов) преподаватели Академии научат вас создавать по-настоящему удобные для людей приложения.

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

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

Алиса, расскажи, пожалуйста, какими особенностями обладают курсы по программированию, проводимые в Академии?

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

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

В-третьих, обучаясь в Академии, слушатели всегда имеют возможность задавать преподавателю интересующие их вопросы, просить его выделить больше времени для освещения тех или иных аспектов. То есть, следуя программе курса, в то же время влиять на сам процесс обучения, концентрируясь именно на том, что им интересно.

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

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

Кому какие курсы больше подойдут?

Если вы не имеете особенного опыта и пока еще окончательно не определились, в каком именно направлении хотите работать, то рекомендую записаться на курс “Основы программирования”. Если вам интересны сетевые технологии, вы хотите создавать сайты и зарабатывать на этом, то выбирайте веб-направление. Если вы стремитесь научиться создавать приложения и программы для компьютеров, ваш выбор - курсы по Java, С++ и другим языкам программирования. Хотите заниматься разработкой игр - записывайтесь на курсы С++ и C#. Если вас привлекает создание мобильных приложений - то начните с основ программирования, потом прослушайте курс по С++, а потом - iOS. Либо, если вам больше нравится Android, основы программирования - Java - Аndroid.

Если у вас уже есть знания в какой-то сфере IT-технологий, хорошим решением будет продолжение движения в этом направлении. Но и в случае, если вам хочется кардинально сменить сферу деятельности, мы с радостью поможем, расскажем и покажем, какие курсы наиболее популярны, чем они привлекают слушателей, и в какой именно IT-области специалисты больше всего зарабатывают на данный момент. Конечно, для каждого курса есть свой порог вхождения. Да и прогресс слушателей бывает различным: кто-то быстро становится классным спецом, кто-то долго и упорно идет к своей цели, но зато, по итогу, становится первоклассным и высокооплачиваемым профессионалом!

У желающих пройти обучение уже должны быть какие-то знания или навыки в выбранной области?

Нет. Это, разумеется, будет только плюсом, но наши преподаватели благодаря своему опыту смогут подстроиться под любой уровень человека или группы. Поэтому никаких жестких требований к слушателям мы не предъявляем и даже аналитический склад ума не является обязательным.

Алиса, расскажи про выпускников, которые уже окончили курсы по программированию. Сколько их было, какие цели они перед собой ставили, приходя в IT-Академию?

Программирование – наиболее популярное направление обучения в нашей Академии. Точное количество выпускников так сразу назвать сложно, но на сегодня оно уже превышает 2 тысячи человек.

Основная цель наших слушателей – смена сферы деятельности, поскольку IT-область сейчас чрезвычайно востребована, там много интересных проектов и, соответственно, работа в этой сфере прекрасно оплачивается. И, да, у людей получается успешно менять профессию, осваивать новую специальность и становиться программистами. Кроме того, многие приходят к нам для того, чтобы расширить свои возможности, попробовать что-то новое, получить толчок к развитию.

И не было пока у нас человека, который бы ничего не получил от курсов. Так что без знаний вы от нас не уйдете! ☺

Были ли слушатели, которые окончили несколько курсов?

Конечно! Были люди, которые целенаправленно шли сначала на курсы по С++, потом на курс iOS-разработки, потом на курсы по РНР-программированию. Было и такое, что студенты меняли свои интересы и предпочтения прямо в ходе обучения. Часто после окончания курсов по тестированию ПО слушатели желают освоить какой-нибудь язык программирования – это очень помогает в практической работе тестировщика.

Работают ли ваши выпускники сейчас по той специальности, которую они получили в Академии?

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

Алиса, какой совет ты можешь дать тем, кто решил пройти курсы по программированию в IT-Академии?

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

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

IT-индустрия особенно привлекательна для студентов, которые готовы ко всему новому и мечтают построить успешную карьеру. Однако большинство выпускников даже к концу учебы не могут определиться, чем именно они хотели бы заниматься в будущем. Но многие из них точно знают одно: они хотят попасть в IT-компанию.

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

Сейчас чтобы стать «айтишником», необязательно иметь техническое образование. «Айтишник» – это не только разработчик с фундаментальным знанием одного из языков программирования. Есть и другие профессии, без которых сейчас сложно представить мировой IT-рынок.

Путь 1. Программист

Данная дорога в IT может оказаться наиболее сложной и энергозатратной. Для того чтобы стать первоклассным специалистом в сфере программирования, нужен определенный склад ума и фундаментальные знания в точных науках. Зачастую студенты уверены, что после прохождения онлайн-курсов, тренингов, семинаров или прочтения нескольких книг для разработчиков они смогут легко стать Junior-специалистами в программировании. Но, к сожалению, это практически невозможно в реальности.

Чтобы стать действительно востребованным разработчиком, вам понадобиться достаточно много времени и желания развиваться именно в программировании. На сегодняшний день Senior-специалисты преобладают на рынке труда, их почти в два раза больше, чем Junior-программистов. Работодатели готовы тратить больше средств на высококлассного специалиста с опытом 5+ лет, чем брать новичка в команду, которого необходимо будет обучать всему фактически с нуля.

Путь 2. Бизнес-анализ

Если вы гуманитарий до мозга костей, то, возможно, именно бизнес-анализ станет для вас идеальным шансом, чтобы стать IT-шником.

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

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

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

Тем не менее, как бы привлекательно ни звучала данная IT-специальность, следует учитывать следующие факторы:

  • небольшое количество вакансий для специалистов без опыта – большинство работодателей требуют 2+ года опыта;
  • необходимость владения английским языком на хорошем уровне, начиная от Upper-Intermediate.
  • глубокие знания хотя бы в одной предметной области (например, здравоохранение или банковская сфера).

Путь 3. Тестировщик (или QA-инженер)

Путь тестировщика – это баланс между востребованной работой и достаточно легким входом в IT-сферу.

Для тестировщика технические знания не являются обязательными, в отличие от программиста. Необязательно быть «технарем», чтобы стать успешным QA-специалистом. QA-инженера выделяют как раз не технические знания или знание определённого языка программирования, а любознательность, критичность и внимание к деталям, поскольку зачастую в работе необходимо будет посмотреть на привычные вещи свежим взглядом.

Говоря о получении знаний в сфере тестирования, чаще всего люди прибегают к одному из следующих способов: , самообразование или очные курсы.

Онлайн-обучение и самообразование – наименее затратные способы получения знаний для тех, кто не знает с чего можно начать в IT-сфере. Однако часто эти две дороги могут быть полны «белых пятен», если вам не хватает усидчивости, самодисциплины и самомотивации. На графике ниже можно увидеть, насколько низок процент завершения онлайн-курсов студентами по результатам совместного опроса, проведенного Гарвардом и Массачусетским Технологическим Институтом.

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

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

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

Путь 4. Административные позиции

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

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

Однако стоит понимать, что зарплаты таких гуманитарных направлений, как правило, ниже, чем средние зарплаты в IT-отрасли. К тому же, вакансии на такие должности открываются существенно реже, чем на технические.

Английский язык открывает больше дорог

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

Во времена аутсорсинга понимание иностранной речи и умение четко выразить свою мысль на английском языке является must-have. Подтянуть свои знания, увеличить активный словарь и научиться без страха разговаривать с англоговорящими клиентами можно на экспресс-курсах по . Такие интенсивы содержат только те правила, слова и выражения, которые подойдут для использования в переписке, во время онлайн-переговоров и на встречах с иностранными коллегами.

Возраст имеет значение?

Согласно отчету, подготовленному компанией EY «ИТ-отрасль Беларуси», можно говорить о «молодости» IT-сферы. Об этом свидетельствуют следующие факты:

  • 57 процентов штата компаний-резидентов ПВТ имеют возраст до 30 лет.
  • Карьерный путь в индустрии обычно начинается до 25 лет.
  • Около 12 процентов занятых в ИТ-отрасли – студенты.

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

«Изучать что-то новое гораздо легче в студенческие годы, чем в 30-40 лет. Но в 20 лет чтобы понять, что профессия вам не подходит или что вы не подходите данной профессии, ее сначала нужно освоить. И вот время проходит, а вы обнаруживаете себя «стучащим головой в стенку». Значит, направление стоит менять. Не надейтесь, что, когда вам стукнет 30 или 40 лет, стенка станет податливее.

Часто люди не видят перспектив развития и роста на одной работе, но бояться уйти в другую отрасль, потому что о ней ничего не знают. Как гласит восточная мудрость: «Лошадь сдохла – слазь». Чем раньше вы задумаетесь о переподготовке, дополнительном образовании, тем больше шансов «пересесть на другую лошадь» и успеть сделать успешную карьеру к 30», – делится своими мыслями по поводу возраста IT-специалистов Юрий Анушкин, директор образовательного центра QA Academy.

IT – это действительно отличная возможность построить успешную карьеру, познакомиться с большим количеством целеустремленных людей и вдохновиться инновационными идеями. Осталось только выбрать, какой путь подходит именно вам!

22.12.14 157K

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

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

Что нужно знать «чайнику»

Как бы ни хотелось этого признавать, но в реальности программирование является не таким уж волшебным делом. Создание кода порой можно сравнить с хождением босыми ногами по морскому дну, устланному острыми каменными обломками.

Чтобы стать программистом, нужно быть не только умным, но еще терпеливым и настырным. Обучение программированию всегда сопровождается головой болью, красными от недосыпания глазами и отрешенным взглядом. Именно по нему можно легко узнать программиста.

Многие начинающие обучение считают написание кода чуть ли не самой романтической профессией. Особенно увеличилось количество желающих познать программирование после просмотра фильма «Матрица ». Именно главный герой этой картины Нео подтолкнул многих к становлению на путь постижения программных наук:

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

После развала СССР все отечественные ВУЗы долгое время даже и не пытались перекроить свою систему обучения под потребности современного рынка. Не являлись исключением из этого правила и технические ВУЗы.

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

В странах бывшего СССР основным языком программирования, преподаваемым в технических ВУЗах, был Бейсик.

Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:

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

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

В некоторой мере такая тенденция сохраняется и по сей день. Хотя в наше время количество профессионалов, занимающихся преподаванием, заметно возросло.

С какого языка начать изучать программирование

Постижение программных наук характеризуется не только тяжелым обучением, но и его началом. Новичку порой трудно не только начать самостоятельное обучение, но и определиться с координатами отправной точки процесса. Поэтому мы постараемся помочь вам обойти все эти трудности:

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

Чаще всего выбор падает на язык программирования C (си) . Именно с него большинство новичков во всем мире начинают свое обучение. На основе C было создана основная часть программных языков, и во многом они наследуют его структуру и синтаксис.

Изучая C, вы постигаете основы не одного языка программирования, а сразу нескольких.

Рассмотрим особенности этого языка, делающего его оптимальным для изучения:

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

Проще говоря, C – это то, с чего следует начинать новичку перед тем, как научиться программированию на других языках.

Программы (компиляторы) для программирования

Для обучения программированию недостаточно одного лишь желания и наличия компьютера с выходом в интернет. Для написания программ на C вам потребуется специализированное программное обеспечение – компилятор.

Компилятор – специальная программа, переводящая программный код в форму, понятную для компьютера.

Вот несколько специализированных компиляторов с поддержкой языка C:

  • Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:

  • Borland C++ — бесплатный компилятор, идеально подходящий для начинающего обучение. В отличие от предыдущего инструмента, отличается ясным и понятным интерфейсом. Поэтому его освоение не вызовет особых трудностей даже при самостоятельном освоении азов программирования:

  • Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:

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

Успех - паршивый учитель. Он заставляет умных людей думать, что они не могут проиграть. - Билл Гейтс

Здравствуй, %habrauser%!
Долго думал как получить инвайт, чем я могу быть полезен для IT-сообщества, и вот, наконец-то, нашел, чем поделиться. Опытом! Именно он отличает меня от моих одногодок и не только, так как в свои 23 у меня есть 4-х летний опыт в сфере IT. Был ли он полезен? Да, ведь это опыт. Какой он был? Всё под катом.

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

В публикации я постараюсь осветить этапы в начале IT-карьеры и золотые правила, которые я вынес из них.

Всех, кто умеет учится не только на своих ошибках, прошу под кат.

Этап 0. Подготовка

В первую очередь немного расскажу о себе для более полного понимания общей картины. После окончания техникума (специальность «Обслуживание компьютерных систем и сетей») встал выбор дальнейшего пути: дневное отделение в институте или «заочка» и работа. В силу того, что я изрядно устал протирать штаны на парах (далеко не все предметы вызывают интерес) и захотелось какой-то свободы и взрослости, выбор пал на второй вариант. Посему, когда мои сокурсники наслаждались весной и большими сроками на дипломную работу, я «денно и ношно» корпел над дипломом. Это дало следующие плоды:
а) я получил бесценный опыт (т.к. взял не первую попавшуюся тему из списка дипломного руководителя, а предложил свою и сделал её не для «галочки», а практически внедрил на прототипе);
б) выиграл время на поиск работы благодаря тому, что начал это процесс в тот момент, когда большинство выпускников почуяли скорый deadline и уселись за свои дипломы. Проще попасть на собеседование, пока волна выпускников еще не начала штурмовать работодателей.

Идите на опережение и самообучайтесь
Почему это важно перед первым трудоустройством? Да потому, что это будет огромным плюсом в конкурентной борьбе за работу. А в случае, если конкуренты такие же выпускники, как и вы, это может стать фактором для принятия решения в вашу пользу. Сравните сами: выпускник с хорошими оценками, но без практики и каких либо практических навыков (даже для себя, попробовать) или вы - тот, кто много чего пробовал, спотыкался, но изучал (а это многое значит). Думаю, даже сравнительная таблица не нужна, чтобы сделать выбор. И работодателю не приходится выбирать только на основании престижности ВУЗа или доверии к нему. Он уже видит, кто учился, как все, а кто знал, что ему нужно и двигался в этом направлении.

Этап 1. Поиск работы.

Дьявол в мелочах

Этот этап придется разделить на 3 подэтапа в попытке осветить эти вопросы в полной мере.
Этап 1.1. Резюме
Есть куча сайтов с примерами, описаниями и рекомендациями. Их дают и психологи, и HR-менеджеры, и все, кому не лень. Но как написать резюме, когда тебе нечего писать в опыте работы? Многие мои знакомые начинали туда лепить все, что только могло как-то наполнить резюме. Использовал Photoshop для убирания эффекта «красных глаз»? Добавляем информацию о владении данным инструментом. Делал чертежи для курсового в AutoCAD? Его сюда же.

Показывайте в резюме в первую очередь те стороны, которые необходимы для конкретной вакансии.

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

Так же в резюме нужно отражать ВЕСЬ свой опыт для данной вакансии (пусть это будет какой-нибудь проект, который не получился или вы забросили на полпути, но он был). Вы сможете обсудить его, рассказать о проделанной работе, трудностях и работодатель поймет лучше уровень ваших знаний и ход мыслей.

Есть еще один спорный вопрос, мнение о котором я знаю с обеих сторон: и соискателя, и работодателя. Отправлять ли резюме, если ты не полностью подходишь по требованиям? Работодатель говорит - нет. Я говорю - ДА! И вот почему:
а) Требования иногда пишут HR-менеджеры. И когда ищут специалиста могут скопировать с другой вакансии, не понимая что это значит;
б) Некоторые требования могут оказаться косвенными. Т.е. несоответствие им не помешает взять тебя на работу;
в) Бывают ситуации, когда соискателю требуется сотрудник «на вчера» (случается и такое). Тогда тебя могут взять для выполнения каких-то базовых задач, а недостающие навыки уже «прокачают» в рабочем процессе;
г) Великое и могучее «А вдруг»(с)! (правда, тут может возникнуть неприятная ситуация на собеседовании, но ведь «А вдруг»(с) не возникнет?).

Этап 1.2. Выбор вакансии
Главное - выбирайте то, что по душе именно вам. Не нужно выбирать по престижности, советам знакомых и прочим, не относящимся к вашим желаниям критериям. Работа должна приносить удовольствие (в идеале и хороший доход, но для старта - удовольствие тоже важно). Она будет формировать ваше представление о работе, ведь она первая.

Так же стоит обратить внимание на направление работы. Она должна расширить ваши профессиональные навыки, а не сузить к какой-нибудь рутине. При правильном выборе направления вы станете более опытным специалистом, но не специалистом с навыками, которые никому не нужны.

Этап 1.3. Собеседования
Я изучал много статей по этому поводу (и вам советую это сделать) и даже сам проводил собеседования, поэтому могу привести некую «выжимку» правил, которые помогут пройти его более эффективно:
а) Не волноваться. Многие сейчас подумали «Ага, на экзамене тоже говорят не волноваться, но не получается!». А нужно. Связная и последовательная речь всегда располагает к соискателю;
б) Готовьтесь к собеседованию. И это относится не только к внешнему виду. Следует «отрепетировать» рассказ о том, что вы уже знаете и умеете, рассказать об этом подробно. Лучше даже с описанием проблем, с которыми пришлось столкнуться во время реализации. Так вы сможете завязать диалог и чувствовать себя уверенней, повествуя о том, в чем вы разбираетесь. Если работодателю будет интересно что-либо другое - он сам направит разговор в нужное русло;
в) Узнайте побольше о компании, куда вы идете на собеседование. Работодатель должен понять, что вы идете не наобум, а целенаправленно к ним. Это так же располагает;
г) Почитайте и ПОЙМИТЕ теорию по тем направлениям, которые указываются в требованиях. Я сам часто «забивал» на теорию, думая, что главное - это быстро разобраться при наличии проблемы. Работодатель так зачастую не думает. И в некоторых ситуациях он прав. Если у вас нет опыта работы - вы можете знать только теорию. И вы должны её знать.

Этап 2. Работа

При счастливом положении звёзд правильном выполнении предыдущих этапов вы устроились на работу. Но это не повод расслабляться. Не буду давать советы, как себя вести в коллективе и в выполнении трудовых обязанностей, т.к. это очень сильно разнится в зависимости от коллектива/руководства.

Но есть «железобетонные» советы как НЕ нужно делать, работающие везде:
а) Не отлынивайте от работы. Таких людей никто не любит. Работу необходимо расценивать как опыт, коего у вас на данный момент еще нет;
б) Делайте свою работу качественно. Казалось бы банальность, но нет. Есть люди, которые по незнанию или из-за лени вместо правильного решения задачи «лепят костыли». Не надо так (с). Никто не любит переделывать за другими. Так же как никто не любит, когда банальную задачу решают долго путем переделывания своих же «костылей»;
в) Если у вас все-же остается свободное время - не тратьте его на социальные сети, игры и прослушивание музыки. Как бы это грубо не звучало: вы еще никто. И только от вас зависит, станете ли вы кем-то или так и будете специалистом «самого среднего звена». Обучайтесь постоянно , будь то какая-то информация о внутренних сервисах компании, которые касаются ваших должностных обязанностей или какая-то более общая информация о том, что вам понадобится в дальнейшем для развития (раз уж вы в своей работе достигли «дзена»). И не нужно откладывать обучение. «Потом» может не настать. Как случилось и у меня: работал, в ус не дул и игрался в свободное время, радуясь тому, что все работает, все обучены на выполнение рутины. И тут - БАЦ! Ликвидация компании, банкроты. С чем мы идем искать работу? С опытом игры в последние месяцы вместо полезных знаний. Не самый удачный багаж.
г) Проявляйте инициативу. Это может поспособствовать как расширению вашего опыта, так и продвижению по карьерной лестнице. Изучайте работу других сервисов, вдруг вы в процессе работы найдете более подходящее и интересное место для себя. Помните, что вы еще не сформировались как специалист и можете попробовать найти себя в другом, родственном направлении. Но это ни коим образом не значит, что нужно «метаться» и сдаваться при первых трудностях. Они будут везде.

Для первой статьи и для понимания как начать свою карьеру в IT, думаю, достаточно. Если у кого-то возникнут вопросы - с радостью отвечу на них в комментариях и в личной переписке.

Ну а чтобы предупредить вопрос «Чего ты добился, чтобы раздавать советы тут», вкратце опишу свой опыт работы. Первое место работы: сначала ведущий специалист отдела программно-технического обеспечения регионального отделения банка, через несколько месяцев - уже начальник этого отдела. Еще через год -начальник отдела, поддерживающего IT-инфраструктуру всего банка - и так 3 года. И это не связи и знакомства, а то, что я говорил - вникание в работу других сервисов. Замечают молодых и инициативных, которые могут и хотят развиваться и работать.

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

UPD: Всем новичкам советую

В статье мы расскажем, какие шаги предпринять, с чего начать и как построить свое обучение, чтобы стать айтишником, если вы далеки от ИТ.

Определитесь со специализацией

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

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

Если ваших знаний языка не хватает на свободное чтение, начать следует именно с него. Английский будет нужен не только для коммуникаций, вам придется много читать и искать в интернете на английском. Это может быть как техническая документация или ответ на StackOverflow, так и просто интересная тематическая статья на Medium .

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

Освойте базовые понятия

Для начала узнайте, чем отличается бит от байта, изучите базовые термины и концепции информатики, узнайте про условия, циклы и прерывания. Как работает процессор, зачем нужен веб-сервер и что за ascii – все это нужно знать, чтобы начать углубляться в ту область, которая вам интересна.

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

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

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

Если вы уверенно овладели синтаксисом интересующего вас языка программирования, стоит узнать как он работает с разными типами баз данных, а заодно узнать о видах БД и их различиях.

Даже если ваш язык обычно не взаимодействует с базой данных напрямую (например, JavaScript), вам нужно знать что происходит в этой области разработки: вы лучше будете понимать, как работает программа в целом.

Так как же стать айтишником?

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

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