• С чего начать карьеру ИТ?

    Мне 30 лет. Начал свою карьеру в ИТ в 27.
    У меня ИТшное высшее образование, но жизнь сложилась так, что во время учебы нашел работу не по специальности, которая сразу начала приносить неплохой доход (производство рекламы: наружка, полиграфия). В один "прекрасный" день, спустя 10 лет работы, я понял, что достигнут потолок и мне совершенно не интересно дальше развиваться в этом направлении. Тогда то я и начал искать чем заняться.
    Я прекрасно понимаю страхи и мысли, которые крутятся в голове у человека уже с семьей.
    "А не поздно ли?", "А с чего начать?", "А как на меня будут смотреть другие люди/друзья/коллеги?", "А на какой доход и через сколько времени можно рассчитывать?", "А откуда взять время на жену/детей и учебу?" и еще куча других...
    В 16-22 все эти вопросы совершенно не волнуют - ты еще юн, свободен от обязательств и в какой-то мере финансово не обременен...

    Немного порассуждаем :)

    Отвечу на самые-самые вопросы:
    А не поздно ли?
    Нет. Никогда не поздно! Звучит банально, но это работает.
    Нужно срочно забыть сколько тебе лет и оперировать только понятием жизненный опыт. А его к 30 уже порядком. Мозги еще не "заржавели", тело еще не барахлит.
    НО нужно сразу условится - любая сфера ИТ требует ПОСТОЯННОГО самосовершенствования и изучение нового материала. ЛЮБАЯ.

    Чем заняться-то?
    Я для начала для себя определил две области ИТ в которых возможен быстрый прогресс за короткий срок и достаточно быстрое трудоустройство. 1С-программирование и веб-программирование.
    Они были выбранные после тщательного анализа локального рынка труда + низкий порог входа + возможность быстрого прогресса. Долго сомневался, читал форумы и статьи, что бы выбрать окончательно, но в итоге победило направление веб-программирования. Решающим стали два критерия: возможность удаленной работы на зарубежных биржах и отсутствие привязки к конкретной узкой технологии. В финансовом плане 1Сники на начальном этапе получаю больше, но со временем Веб вырывается вперед.
    Многие написали выше, что надо учить основы основ. Разложить всю теорию по полочкам. Понять принципы ООП и паттерны проектирования. Это правильно, НО... время+семья+деньги накладывают некоторые свои ограничения. Как мне кажется главная цель - это смена сферы деятельности, т.е. добиться результата. Да, по началу будут жуткие "решения" и "ужасный вырвиглазный лапшевидный говнокод", НО плох тот программист, который не продолжает свое обучение ПОСТОЯННО. Но учиться уже на работе под руководством более опытных товарищей НАМНОГО проще.

    А с чего начать это ваше "веб-программирование"?
    Сразу оговоримся, что есть принципиально два разных направления: "фронт-энд" и "бэк-энд". "Фронт-энд" проще и дружелюбнее для совсем начинающих. Его изучение позволит быстрее прийти к выполнениюглавной цели. Поэтому дальше я буду рассматривать именно это направление.
    Да-да, конечно, потом можно и "бэк-энд" изучить и даже полностью перейти на него. Можно совмещать, обв.
    И еще одно отступление: уровень английского Pre-Intermediate. Это само собой разумеющееся. В любом случае придется читать, слушать и понимать.
    Итак по теме вопроса.
    Рекомендую начинать с: htmlacademy.ru - пожалуй лучший русский ресурс для новичков. Интерактивные задания с самых азов. Все основные курсы бесплатные. Платная подписка открывает доступ к продвинутым курсам - рекомендую покупать эту подписку уже после прохождения всех базовых курсов. Есть два платных месячных "интенсива" - весьма неплохие и стоят своих денег.

    Остальные ресурсы рекомендую проходить параллельно с HTML-академией, начинать где-то после 7 курса:
    www.codecademy.com - на английском. Помимо курса по HTML&CSS можно попробовать JavaScript и jQuery + неплохие ознакомительные курсы по "бэк-энду"
    https://dash.generalassemb.ly - на английском. Интересны тем, что имитируют выполнение реального заказа на фрилансе.
    Есть еще куча ресурсов и курсов, но для начала этого вполне хватит.
    В любом случае придется изучить JavaScript. В этом деле поможет уже упоминаемый выше www.codecademy.com + learn.javascript.ru

    И главное - больше практики. Применяйте свои знания.
    Верстайте псдшники хотя бы ради практики и портфолио. Прикручивайте к ним что-нибудь простенькое на jQuery.

    А откуда взять время на жену/детей и учебу? Как совмещать-то все еще же работа есть...
    Если уделять учебе хотя бы 1 час в день, то можно вполне все успевать.
    Я учился так:
    - на работе была возможность почитать и поделать небольшие занятия в течение дня ( в сумме полчаса)
    - еще часик уже ночью, когда все спят дома.
    - в выходные вставал пораньше и в субботу за два часа пока все спят повторял все сделанное за неделю, а в воскресенье подбивал итоги и планировал следующую неделю.
    Придется пожертвовать сериальчиками и какими-нибудь излишествами нехорошими - всегда есть что-то. Все время дисциплинировать себя первое время. Можно вести блог или поставить цель на смартпрогресе. Главное регулярно заниматься. даже 15 минут в день - это уже большой плюс.
    Еще очень важно, что бы домашние знали к чему вы стремитесь и чем заняты.

    А на какой доход и через сколько времени можно рассчитывать?
    Тут все ОЧЕНЬ индивидуально. Все зависит от усердия и желания.
    Можно грубо прикинуть "скоростное прохождение этого квеста":
    1) материальные вложения: 30-32 т.р. два интенсива(базовый и продвинутый) и помесячная платная подписка на htmlacademy.
    2) временные вложения: 5-7 месяцев на курсы и интенсивы от htmlacademy + 2-3 месяца на основы JavaScript и jQuery

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

    А не будет ли мне сложно "работать" в молодом коллективе?
    Возможно первое время будут какие-то сложности, но как мне кажется в любом случае ценятся базовые человеческие качества + профессионализм. А если учесть, что к 30 уже есть достаточно богатый жизненный опыт, то я не думаю, что возникнут проблемы.

    Как-то так :)
    Удачи. И главное помните - все зависит только от вас. От ваших желаний и вашего трудолюбия.
    Ответ написан
    3 комментария
  • С чего начать карьеру ИТ?

    virtyaluk
    @virtyaluk
    Вам еще рано задумываться о каком-то конкретном языке или технологии. Сначала изучите основы. Например, сейчас парадигма ООП применяется практически во всех компилируемых и интерпретируемых языках программирования. По-этому, сначала стоит прочесть пару книг по основным парадигмам ООП, изучить паттерны проектирования, основы алгоритмизации, структуры данных. В общем основы программирования.

    Следовательно, эти знания дадут более-менее четкое представления о технологиях вокруг и применяемых языках программирования. Более того, с этими навыками вам уже будет достаточно изучить один ЯП с С-подобным синтаксисом для того, чтобы, в случае чего, перейти на другой. Также у вас уже сложится хорошее представления для чего используется тот или иной ЯП. И вам уже будет с чего выбрать.

    Собственно, когда вы определились с ЯП, начните изучать его. Но ни в коем случае не налагайте на курсы\видео-уроки типа Специалиста и т.д.(подробнее об этом - читайте дальше). Еще отправной точкой для выбора языка\технологии может стать изучения рынка вакансий. Хотя этот фактор нисколько не отражает действительность.

    Выбрали ЯП? Изучите его до более-менее среднего уровня. Освойте основные технологии\библиотеки\фреймворки применимые для этого языка. Зачем это? Возьмем для примера C#. Знания самого языка не несут такой ценности, как владение фреймворком .NET и навыками работы в том же ASP.NET, WPF\Silvelight и т.д.
    Помните, вы не сможете освоить язык и его технологии на все 146%. Как показывает практика, 20% конкретных знаний достаточно для решения 80% всех задач (Закон Парето).

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

    Если вы думаете записаться или посмотреть в Интернете курсы, например, того же Специалиста, сразу же БРОСЬТЕ ЭТУ ЗАТЕЮ!
    Приведу пример с моего горького опыта. Дело было в 2011 и я впервые услышал об этом Специалисте и наивно полагал, что там действительно делают "специалистов". Такие уважаемые люди как Борисов и Тарасов, в которых уйма всяких сертификатов, просто внушали доверия и интерес ко всему этому. В итоге я посмотрел 50 часов HTML + CSS. Никакого результата. Эти 50 часов не покрыли даже половин знаний, что я до этого почерпнул с книг. Да ладно, идем дальше. Засел я за 2 уровня JS на 30 часов + 6 часов jQuery. И тут все мои радужные представления об Специалисте моментально разрушились. Будущие специалисты бежали с аудитории после пары непонятных слов, преподаватели путали элементарные понятия, все рассказывалось на тяп-ляп и в каком-либо порядке. В итоге этот курс не покрыл и 20% материала из книги Николаса Закаса по JS. В итоге все эти десятки часов пошли коту под хвост.
    Если вы действительно нуждаетесь в курсах, то лучше воспользуйтесь видео-учебниками Lynda, Tutsplus и т.д. Эти ресурсы за пару часов ознакомят вас с основами сабжа и направят на путь истинный.

    Что же касается книг, то как было верно отмечено пользователем kstyle:
    только 10% молодых человек способны к самообучению (то есть если им предоставить литературу и задачи, то 90 % не справятся). многие - из-за качеств характера.

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

    И, конечно же, вы должны быть уверены и настойчивы!
    Ответ написан
    2 комментария