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

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

Сегодня на вопросы о том, с чего начать карьеру в IT, ответили представители тренинг-центра ЕРАМ: Евгений Пешкур, заместитель директора по подготовке персонала, Святослав Куликов, менеджер отдела по функциональному тестированию, Александр Барановский, руководитель образовательных программ по тестированию, и Светлана Захаренко, Java-тренер.

1. Хочу работать в сфере IT, но не знаю, с чего начать. Что посоветуете?

Евгений Пешкур:

Трудно советовать, не зная стартовых условий. Посоветую для среднего пользователя PC, уверенно овладевшего Counter Strike, форумами и социальными сетями.

Учите английский язык. Без шуток. Если вы не восприняли это серьезно, дальше можно не читать. Изучение английского до минимального уровня, применимого в компаниях, работающих на внешние рынки (уровень B1 , если кому интересно) занимает год-полтора. Знание другого иностранного языка будет плюсом, но никак не заменой. Вам простят незнание какой-либо технологии, но не отсутствие языковой подготовки.

В основе всего лежит то, чему учат все ВУЗы, - способность самостоятельно искать и изучать материал . Многие, не осознавая этого, рассматривают курсы как место, где их «возьмут за руку и приведут к успеху». На самом деле, вас приведут к промежуточному финишу, дадут сертификат (оценку, диплом) и далее сделают в блокнотике пометку «профнепригоден». И это будет связано не с результатом финального теста, а с вашим образом мышления. И опытный преподаватель это очень быстро определит, проверяя и обсуждая с вами ваше задание. «Незагугленное» и осмысленное решение (пусть и не работающее, даже попытка его создания), отходящее от того, что он сам преподал днем ранее, для него будет очевидным.

Начните с азов. Смешно и нелепо, но добрая половина из тех, кто идёт на курсы, не знают, что такое бит и байт. Замечали возмущения типа «платил за винчестер на 40 GB, а дали всего на 38»? Почитайте, что такое сети и каковы общие принципы их работы. Познакомьтесь с базовыми понятиями типа ascii, heap, process & thread, прерывание.

ООП. Тут при всей простоте определений всё сложно. К сожалению, простое изучение определений не даёт ничего. Наверное, это одно из немногих мест, где самостоятельное изучение малоэффективно. Попробуйте рассматривать ООП как образ мышления. Понимание ООП приходит через многократное написание и переписывание кода и общение с теми, кто его понял. Простых советов нет, но могу поставить цель: скорее всего вы действительно поняли ООП, если разобрались в работе и смогли написать программу типа Elastic Nodes .

Структуры данных и алгоритмы. Этого также не даст почти никакой из курсов, чаще всего предполагается, что это вы изучили в школе или вузе. Джентельменский набор терминов к изучению: дерево, стек, очередь, хеш. Алгоритмы… Не будем лезть в бутылку и советовать изучить теорию графов, но разобраться с различными алгоритмами надо. Как отсортировать массив (желательно знать и понимать несколько алгоритмов). Ваша цель - понять quick sort. Какие существуют способы обойти дерево.

Как видите, здесь почти не надо ходить на курсы, разве что на английский. Просто не игнорировать то, что вам преподают. Или суметь самостоятельно разобраться, если желание выспаться часто побеждало необходимость посещать скучные пары. Если мои намёки слишком туманны, то резюмирую: АНГЛИЙСКИЙ и немедленно! И понять все термины, упомянутые выше.

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

Александр Барановский :

IT - достаточно широкая и объёмная сфера с десятками профессий и специализаций. Поэтому первым шагом является выбор и осознание того, чем именно вы хотите заниматься. Потому что для каждой профессии нужно обладать определённым набором навыков, умений и складом ума. После того как определились с выбором, берёте лист А4 и с одной стороны записываете, что необходимо знать и уметь для начала карьеры в выбранной позиции (программист, специалист по тестированию, бизнес-аналитик и т.д.), а с другой - те знания и навыки, которыми вы обладаете на текущий момент. Точками, на которые стоит обратить внимание и с которыми стоит работать, являются «недостающие» вещи из списка умений. А тут все средства хороши - тренинги, книги, форумы.

Светлана Захаренко:

Мне кажется, начать нужно с понимания, почему вы хотите работать в сфере IT. Чем именно эта сфера привлекает вас, и что является основным мотивирующим фактором. Понимание позволит правильно расставить приоритеты и выбрать нужное направление.

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

2. У меня гуманитарное образование. Можно ли переучиться на программиста?

Евгений Пешкур:

Да. Кто такой «строитель»? Это архитектор, прораб, каменщик, маляр или сторож? А кого вы подразумеваете, говоря «программист»? Работа в IT - это не обязательно именно написание кода. Есть масса специализаций, где гуманитарий найдет себя: тестирование, бизнес-анализ.

Святослав Куликов:

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

Александр Барановский:

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

Светлана Захаренко:

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

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

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

3. Как выбрать «своё» направление обучения?

Евгений Пешкур:

Посоветоваться с теми, кто достаточно долго работает в IT и сам успел попробовать много различных ролей или тесно работал с представителями различных специализаций. Т.е. это специалист уровня Team Leader или выше. А далее пробовать.

Святослав Куликов:

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

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

Светлана Захаренко:

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

Продолжение следует...

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

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

Сегодня на вопросы о том, с чего начать карьеру в IT, ответили представители тренинг-центра ЕРАМ: Евгений Пешкур, заместитель директора по подготовке персонала, Святослав Куликов, менеджер отдела по функциональному тестированию, Александр Барановский, руководитель образовательных программ по тестированию, и Светлана Захаренко, Java-тренер.

1. Хочу работать в сфере IT , но не знаю, с чего начать. Что посоветуете?

Евгений Пешкур:

Трудно советовать, не зная стартовых условий. Посоветую для среднего пользователя PC, уверенно овладевшего Counter Strike, форумами и социальными сетями.

Учите английский язык . Без шуток. Если вы не восприняли это серьезно, дальше можно не читать. Изучение английского до минимального уровня, применимого в компаниях, работающих на внешние рынки (уровень B1 , если кому интересно) занимает год-полтора. Знание другого иностранного языка будет плюсом, но никак не заменой. Вам простят незнание какой-либо технологии, но не отсутствие языковой подготовки.

В основе всего лежит то, чему учат все ВУЗы, – способность самостоятельно искать и изучать материал . Многие, не осознавая этого, рассматривают курсы как место, где их «возьмут за руку и приведут к успеху». На самом деле, вас приведут к промежуточному финишу, дадут сертификат (оценку, диплом) и далее сделают в блокнотике пометку «профнепригоден». И это будет связано не с результатом финального теста, а с вашим образом мышления. И опытный преподаватель это очень быстро определит, проверяя и обсуждая с вами ваше задание. «Незагугленное» и осмысленное решение (пусть и не работающее, даже попытка его создания), отходящее от того, что он сам преподал днем ранее, для него будет очевидным.

Начните с азов. Смешно и нелепо, но добрая половина из тех, кто идёт на курсы, не знают, что такое бит и байт. Замечали возмущения типа «платил за винчестер на 40 GB, а дали всего на 38»? Почитайте, что такое сети и каковы общие принципы их работы. Познакомьтесь с базовыми понятиями типа ascii, heap, process & thread, прерывание.

ООП. Тут при всей простоте определений всё сложно. К сожалению, простое изучение определений не даёт ничего. Наверное, это одно из немногих мест, где самостоятельное изучение малоэффективно. Попробуйте рассматривать ООП как образ мышления. Понимание ООП приходит через многократное написание и переписывание кода и общение с теми, кто его понял. Простых советов нет, но могу поставить цель: скорее всего вы действительно поняли ООП, если разобрались в работе и смогли написать программу типа Elastic Nodes .

Структуры данных и алгоритмы. Этого также не даст почти никакой из курсов, чаще всего предполагается, что это вы изучили в школе или вузе. Джентельменский набор терминов к изучению: дерево, стек, очередь, хеш. Алгоритмы… Не будем лезть в бутылку и советовать изучить теорию графов, но разобраться с различными алгоритмами надо. Как отсортировать массив (желательно знать и понимать несколько алгоритмов). Ваша цель – понять quick sort. Какие существуют способы обойти дерево.

Как видите, здесь почти не надо ходить на курсы, разве что на английский. Просто не игнорировать то, что вам преподают. Или суметь самостоятельно разобраться, если желание выспаться часто побеждало необходимость посещать скучные пары. Если мои намёки слишком туманны, то резюмирую: АНГЛИЙСКИЙ и немедленно! И понять все термины, упомянутые выше.

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

Александр Барановский:

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

Светлана Захаренко:

Мне кажется, начать нужно с понимания, почему вы хотите работать в сфере IT. Чем именно эта сфера привлекает вас, и что является основным мотивирующим фактором. Понимание позволит правильно расставить приоритеты и выбрать нужное направление.

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

2. У меня гуманитарное образование. Можно ли переучиться на программиста?

Евгений Пешкур:

Да. Кто такой «строитель»? Это архитектор, прораб, каменщик, маляр или сторож? А кого вы подразумеваете, говоря «программист»? Работа в IT – это не обязательно именно написание кода. Есть масса специализаций, где гуманитарий найдет себя: тестирование, бизнес-анализ.

Святослав Куликов:

Можно. Сложность переучивания, его скорость, эффективность и иные показатели будут индивидуальны для каждого человека. Стоит честно признать два факта:

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

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

Александр Барановский:

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

Светлана Захаренко:

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

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

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

3. Как выбрать «своё» направление обучения?

Евгений Пешкур:

Посоветоваться с теми, кто достаточно долго работает в IT и сам успел попробовать много различных ролей или тесно работал с представителями различных специализаций. Т.е. это специалист уровня Team Leader или выше. А далее пробовать.

Святослав Куликов:

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

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

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

Светлана Захаренко:

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

4. Какие технологии нужно в первую очередь изучить новичку? (Какие базовые знания в программировании и использовании ПК нужны новичку в IT -мире)?

Святослав Куликов:

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

  • Быстрый: сразу изучать то, с чем вы собираетесь работать на своей первой IT-должности. Это быстро потому, что позволяет (временно!) пропустить огромный пласт «фундаментальных знаний», но побочным эффектом является способность решать только узкий круг очень чётко описанных задач. Уйму недостающих знаний придётся накапливать по мере наработки опыта.
  • Медленный: начать с базы – от основ алгоритмизации к паре языков программирования (сейчас, как правило, – Java/C# + что-то из серии JavaScript/Python/Ruby/PHP) и изучению конкретных технологий (я затруднюсь назвать «универсальные примеры», слишком уж много вариантов).
  • «Универсальный путь для сферического ученика в вакууме»: JavaScript + HTML + CSS, Java или C# + базы данных.

Светлана Захаренко:

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

Если говорить о технологиях, то было бы неплохо иметь знания по базам данных, языку SQL, понимать XML, иметь представление о UML.

5. Что лучше: изучать интересующие технологии самостоятельно (книги, интернет) или записаться на тренинг или к репетитору?

Евгений Пешкур:

Идеально сочетать оба способа. Суть IT’шника – постоянное САМОразвитие. В начале пути посещение тренинга или репетитора сэкономит массу времени, укажет правильный путь и сделает нужные акценты. Ну и в личной работе скорректирует именно ваши отклонения от курса. Но не надо заблуждаться – самостоятельное изучение первично. «Я бы в … пошел, пусть меня научат» – это в корне неверный подход. «Пойду учиться, пусть мне помогут» – вот так надо.

Александр Барановский:

Оптимальный вариант – совместить приятное с полезным:). Книги расширяют кругозор и дают точку зрения на проблему/технологию. Тренинги позволяют закрепить знания на практике под присмотром тренера.

Светлана Захаренко:

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

6. Какие тренинги в сфере информационных технологий сегодня пользуются популярностью среди студентов (по технологиям и местам проведения)?

Александр Барановский:

Популярны как и давно существующие «Введение в функциональное тестирование», Java, .NET, так и новые области – Mobile Development, BI.

Святослав Куликов:

Самыми популярными направлениями тренингов EPAM в Минске являются Java, .NET, тестирование – обучение по этим направлениям проводится, в основном, на базе БГУ, БГУИР, БНТУ. С перечнем направлений подготовки, осуществляемой тренинговым центром ЕРАМ на базе ведущих вузов РБ, вы всегда можете ознакомиться на нашем сайте . Стоит особо подчеркнуть, что мы проводим подготовку не только программистов и тестировщиков. Следите за открывающимися наборами на тренинги.

Часто можно услышать вопрос о том, куда лучше пойти – в тренинговый центр той или иной IT-компании или в независимый (коммерческий) тренинговый центр. Ответ прост: любая IT-компания, проводя бесплатный для слушателей тренинг, хочет видеть их в числе своих будущих сотрудников. Потому такие тренинги максимально адаптированы к бизнес-процессам конкретной компании и идти на них лучше в том случае, если вы хотите работать в этой компании. Коммерческие же тренинговые центры предоставляют, как правило, более «универсальную» подготовку, но поскольку невозможно за разумное время «научить всему», при таком подходе могут быть упущены моменты, важные для трудоустройства в конкретную IT-компанию. Это не вина тренинговых центров, это объективная реальность. Итого: в «фирменных» центрах – «уже, но глубже», в коммерческих – «шире, но мельче». К слову, можно совместить оба подхода:).

7. Какие сайты, форумы и сообщества стоит посещать, чтобы быть в курсе последних событий в IT -сфере?

Святослав Куликов:

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

Здравствуй, %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: Всем новичкам советую

22.12.14 157.6K

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

Сегодня на вопросы о том, с чего начать карьеру в IT, ответили представители тренинг-центра ЕРАМ: Евгений Пешкур, заместитель директора по подготовке персонала, Святослав Куликов, менеджер отдела по функциональному тестированию, Александр Барановский, руководитель образовательных программ по тестированию, и Светлана Захаренко, Java-тренер.

1. Хочу работать в сфере IT, но не знаю, с чего начать. Что посоветуете?

Евгений Пешкур:

Трудно советовать, не зная стартовых условий. Посоветую для среднего пользователя PC, уверенно овладевшего Counter Strike, форумами и социальными сетями.

Учите английский язык. Без шуток. Если вы не восприняли это серьезно, дальше можно не читать. Изучение английского до минимального уровня, применимого в компаниях, работающих на внешние рынки (уровень B1 , если кому интересно) занимает год-полтора. Знание другого иностранного языка будет плюсом, но никак не заменой. Вам простят незнание какой-либо технологии, но не отсутствие языковой подготовки.

В основе всего лежит то, чему учат все ВУЗы, - способность самостоятельно искать и изучать материал . Многие, не осознавая этого, рассматривают курсы как место, где их «возьмут за руку и приведут к успеху». На самом деле, вас приведут к промежуточному финишу, дадут сертификат (оценку, диплом) и далее сделают в блокнотике пометку «профнепригоден». И это будет связано не с результатом финального теста, а с вашим образом мышления. И опытный преподаватель это очень быстро определит, проверяя и обсуждая с вами ваше задание. «Незагугленное» и осмысленное решение (пусть и не работающее, даже попытка его создания), отходящее от того, что он сам преподал днем ранее, для него будет очевидным.

Начните с азов. Смешно и нелепо, но добрая половина из тех, кто идёт на курсы, не знают, что такое бит и байт. Замечали возмущения типа «платил за винчестер на 40 GB, а дали всего на 38»? Почитайте, что такое сети и каковы общие принципы их работы. Познакомьтесь с базовыми понятиями типа ascii, heap, process & thread, прерывание.

ООП. Тут при всей простоте определений всё сложно. К сожалению, простое изучение определений не даёт ничего. Наверное, это одно из немногих мест, где самостоятельное изучение малоэффективно. Попробуйте рассматривать ООП как образ мышления. Понимание ООП приходит через многократное написание и переписывание кода и общение с теми, кто его понял. Простых советов нет, но могу поставить цель: скорее всего вы действительно поняли ООП, если разобрались в работе и смогли написать программу типа Elastic Nodes .

Структуры данных и алгоритмы. Этого также не даст почти никакой из курсов, чаще всего предполагается, что это вы изучили в школе или вузе. Джентельменский набор терминов к изучению: дерево, стек, очередь, хеш. Алгоритмы… Не будем лезть в бутылку и советовать изучить теорию графов, но разобраться с различными алгоритмами надо. Как отсортировать массив (желательно знать и понимать несколько алгоритмов). Ваша цель - понять quick sort. Какие существуют способы обойти дерево.

Как видите, здесь почти не надо ходить на курсы, разве что на английский. Просто не игнорировать то, что вам преподают. Или суметь самостоятельно разобраться, если желание выспаться часто побеждало необходимость посещать скучные пары. Если мои намёки слишком туманны, то резюмирую: АНГЛИЙСКИЙ и немедленно! И понять все термины, упомянутые выше.

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

Александр Барановский :

IT - достаточно широкая и объёмная сфера с десятками профессий и специализаций. Поэтому первым шагом является выбор и осознание того, чем именно вы хотите заниматься. Потому что для каждой профессии нужно обладать определённым набором навыков, умений и складом ума. После того как определились с выбором, берёте лист А4 и с одной стороны записываете, что необходимо знать и уметь для начала карьеры в выбранной позиции (программист, специалист по тестированию, бизнес-аналитик и т.д.), а с другой - те знания и навыки, которыми вы обладаете на текущий момент. Точками, на которые стоит обратить внимание и с которыми стоит работать, являются «недостающие» вещи из списка умений. А тут все средства хороши - тренинги, книги, форумы.

Светлана Захаренко:

Мне кажется, начать нужно с понимания, почему вы хотите работать в сфере IT. Чем именно эта сфера привлекает вас, и что является основным мотивирующим фактором. Понимание позволит правильно расставить приоритеты и выбрать нужное направление.

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

2. У меня гуманитарное образование. Можно ли переучиться на программиста?

Евгений Пешкур:

Да. Кто такой «строитель»? Это архитектор, прораб, каменщик, маляр или сторож? А кого вы подразумеваете, говоря «программист»? Работа в IT - это не обязательно именно написание кода. Есть масса специализаций, где гуманитарий найдет себя: тестирование, бизнес-анализ.

Святослав Куликов:

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

Александр Барановский:

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

Светлана Захаренко:

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

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

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

3. Как выбрать «своё» направление обучения?

Евгений Пешкур:

Посоветоваться с теми, кто достаточно долго работает в IT и сам успел попробовать много различных ролей или тесно работал с представителями различных специализаций. Т.е. это специалист уровня Team Leader или выше. А далее пробовать.

Святослав Куликов:

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

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

Светлана Захаренко:

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

Продолжение следует...