Программирование для начинающих: как стартовать и куда двигаться?
Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.
Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.
Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.
Гук «Аппаратные интерфейсы ПК»
Гук «Интерфейсы устройств хранения»
Этап III. Операционные системы
Таненбаум «Архитектура компьютера»
Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.
Немет, Снайдер, Хейн «Руководство администратора Linux»
Этап IV. Собственно программирование
Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.
Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск
Бентли «Жемчужины программирования»
Зачем осваивать эти труды? Как уже отмечали на Хабре – «наверное, нигде больше, чем в айти, не изобретается такое огромное количество велосипедов». Данные книги помогут этого избежать – и попутно будут прививать умение писать не просто код, а хороший код.
Ну а для затравки можно прочесть небольшой цикл лекций «Культура программирования» (автор – А. Бабий). Он помогает начинающим программистам понять, что их деятельность не будет проходить в вакууме, а неизбежно включит взаимодействие с другими программистами, с заказчиками и пользователями (а также включит необходимость копаться потом в своих собственных или в чужих программах).
Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.
Буду крайне благодарна за ваши советы и уточнения.
10 советов, как правильно перейти в IT из другой сферы.
Мы периодически публикуем истории успеха, где наши ученики рассказывают о том, как в свое время решились перейти в сферу IT и не прогадали. В каждом рассказе свои исходные данные, мотивы, трудности, но есть в них и кое-что общее — советы, посвященные тому, как направить карьеру в новое русло и избежать распространенных проблем.
Забудьте про возрастные стереотипы
Главная ошибка в любом начинании — ожидать немедленных результатов. Перед людьми со сложившейся карьерой вопрос о том, стоит ли идти в IT, стоит особенно остро, так как общество и СМИ навязывают нам возрастные стереотипы. Считается, что к 25, 30, 35 годам (по советской привычке мы зачастую мыслим пятилетками) специалисты должны достигать карьерных целей.
В действительности же никакой проблемы возраста в IT нет. Как показывает практика, многие люди только к 30 годам понимают, чем хотят заниматься профессионально, поэтому лишние 5–10 лет точно не станут переломными. Яркий пример — Игорь Разумов, выпускник GeekUniversity. Он рискнул юридической карьерой и не пожалел. А все потому, что обратил свой возраст и опыт в плюс. Более того, у нас в практике были случаи, когда люди и после 50 переходили в IT и становились востребованными специалистами. Поэтому про возраст точно можете забыть.
Составьте план
Все люди разные: у каждого свой склад ума, скорость усвоения информации и приобретения практических навыков. Поэтому нет универсального алгоритма, сколько надо учить языки программирования, среды разработки, фреймворки, прежде чем попасть в профессию. Лишь вы для себя можете решить, в каком объеме и темпе получать знания.
Идеальный выход из ситуации — пошаговый план обучения хотя бы на 6, а лучше на 12 месяцев, включающий:
Так поступила Лия Давидян: она очень аккуратно подошла к вопросу обучения, чтобы не утратить интерес к веб-дизайну и заложить прочный фундамент знаний. И из нее получился классный специалист.
Как правило, уложить полноценное обучение менее чем в год работающим людям сложно — слишком много времени и сил отнимает текущая занятость. Это надо учитывать и не стремиться выжать из себя все соки, чтобы сэкономить несколько месяцев. Составленный заранее план поможет вам не поддаться эмоциям и не перегореть еще до начала нового этапа карьеры.
Создайте финансовую подушку
Резкая смена профессии может на первых порах не позволить сохранить привычный заработок. Поэтому еще до того, как возьметесь за обучение и начнете карьеру в ит, выясните зарплатную «вилку» младших звеньев на будущей работе. Разницу между ней и вашей текущей прибылью придется компенсировать накоплениями и экономией.
Подготовьте финансовую подушку — и убьете двух зайцев:
Учитесь профессии, а не конкретным навыкам
Обучение может даться очень тяжело, если штурмовать отдельные дисциплины в отрыве от общей цели. Практически любой IT-специалист подтвердит, что знание языка или среды — это лишь один из камней фундамента. Необходимо с самого начала применять знания в реальных задачах.
Что-то похожее было у Руслана Ибрагимова — с юношеским максимализмом он взялся сам изучать верстку, столкнулся со сложностями и почти потерял интерес к профессии. Но вскоре поставил перед собой конкретную цель и стал практиковаться. Это предопределило успехи в обучении, профессиональный спрос и хороший заработок.
Подходите к учебе серьезно
Сертификатами и дипломами сегодня работодателя не поразить — в IT надо показывать знания и навыки. При этом люди, за плечами которых — успешная карьера в другой сфере, могут с трудом сохранять мотивацию в ходе обучения. Об этой проблеме рассказывал Павел Дружинин, но, в сущности, это один из тысяч подобных случаев.
Все дело в том, что карьера лишь на начальных этапах зависит знаний — с определенной ступени почти все решают навыки. А потому люди, которые уже чего-то добились, не воспринимают информацию в отрыве от практики. Но в IT, особенно в программировании, полученные во время обучения знания могут впервые пригодиться и через несколько лет. Или при собеседовании в компании мечты.
Именно поэтому надо создать внутреннюю установку не только внимательно слушать и читать материалы, но и многократно их повторять, возможно, у вас получится попасть в IT без опыта работы в этой сфере.
Вовремя начинайте искать новую работу
Практика показывает, что к финальной трети комплексного обучения на онлайн-курсах студенты готовы браться за активный поиск работы. Такие соискатели, вероятно, будут соответствовать не всем требованиям вакансий (даже для джуниоров), но на этом этапе куда важнее научиться общаться со специалистами и HR в IT.
Для тех, кто приходит из других сфер, подобный опыт важен вдвойне. Во-первых, просто потому, что IT — тот редкий случай, когда знания и навыки играют важную роль даже на начальных ступенях карьеры. Во-вторых, имеющийся опыт можно сделать конкурентным преимуществом. Но чтобы узнать как, надо сходить на несколько собеседований.
Начать поиски до окончания обучения важно и для того, чтобы знания не выветривались. Да и если вас спросят что-нибудь непонятное на очередном собеседовании, будет возможность узнать ответ у преподавателя.
Не опускайте руки после отказов
Ошибки — неотъемлемая часть новых открытий. Это слова Джеффа Безоса, богатейшего человека в мире. Кому, как не ему, понимать истинную цену каждой трудности, которая стоит на пути к цели. Вы не избежите их ни во время учебы, ни на собеседованиях, ни в работе. Но как бы банально это ни звучало, из опустивших руки не выходит успешных профессионалов.
Поэтому важно еще перед тем, как вы начнете обучение и тернистый путь к карьере в IT, дать себе четкую внутреннюю установку: ни одна ошибка или трудность, профессиональная или бытовая, не должна влиять на выполнение намеченного плана. Ведь именно для этого вы решили кардинально изменить карьеру.
Заручитесь поддержкой близких
Как бы вы ни были уверены в своих силах, если окружение будет против — компанию ждет провал. Такое случается часто, и причина далеко не всегда лежит в финансовой плоскости. Часто в игру вступают возрастные стереотипы — и тогда ваше стремление называют «кризисом». Иногда на первый план выходит нежелание близких брать на себя дополнительную ответственность, особенно если серьезность ваших намерений неясна.
Как именно заручиться поддержкой окружающих, знаете только вы, но два пункта необходимо выполнить обязательно:
Всегда ставьте новые цели
В большинстве наших историй успеха, где герои меняли сферу деятельности, главным двигателем перемен было желание каждый день ставить перед собой новые цели и задачи, избавиться от монотонности. Действительно, IT — редкое направление, в котором бурное развитие трендов в первую очередь затрагивает конечных исполнителей. Более того, менеджмент, инженерия, дизайн и многие другие сферы развиваются как раз в сторону IT.
Именно поэтому важно понимать, что нет минимума, который позволит получить хорошую работу. Требования, которые предъявлялись к миддлам пять лет назад, сегодня актуальны для джуниоров. Постоянно необходимо ставить перед собой новые задачи и цели, в том числе в обучении, чтобы оставаться востребованным. Примите это — и избавитесь от многочисленных вопросов вроде «Почему на мое резюме никто не откликается?» или «Почему я до сих пор не прошел ни одного собеседования?». Это нормально — дело в том, что вы ставите себе легкие задачи.
Делитесь своими историями
Каждая история успеха, выпущенная у нас в блоге, на сторонних ресурсах и даже оставленная в виде небольшого комментария на форуме, повышает вашу ценность как специалиста IT сферы. Вот минимум пять причин:
Привлекает потенциальных клиентов и работодателей. В своем резюме или сопроводительном письме оставьте ссылки на учебный профиль и статьи. Это снимет лишние вопросы на переговорах, а также продемонстрирует вашу увлеченность делом.
Расширяет профессиональный кругозор. Публикуя свои истории, вы выступаете в роли инициатора дискуссии, которая привлечет людей, находящихся в схожей ситуации. Это поможет найти единомышленников, обменяться идеями и завести полезные контакты.
Позволяет создать «карту развития». Это индикатор того, на каком уровне вы были и чего достигли сейчас.
Учит спокойнее относиться к критике. Интернет — рассадник критики, а если вы выступаете автором — нападок будет вдвойне больше. Поначалу может быть обидно, зато вскоре вы научитесь отличать содержательную критику от простого желания возвыситься, унижая других. А это очень пригодится в профессии.
Приносит полезные советы. В комментариях под личными статьями всегда много советов по выбору инструментов, курсов, интересных материалов.
В общем, если решили штурмовать вершины IT — возьмите на заметку эти десять простых правил. И у вас непременно все получится!
Мы периодически публикуем истории успеха, где наши ученики рассказывают о том, как в свое время решились перейти в сферу IT и не прогадали. В каждом рассказе свои исходные данные, мотивы, трудности, но есть в них и кое-что общее — советы, посвященные тому, как направить карьеру в новое русло и избежать распространенных проблем.
Забудьте про возрастные стереотипы
Главная ошибка в любом начинании — ожидать немедленных результатов. Перед людьми со сложившейся карьерой вопрос о том, стоит ли идти в IT, стоит особенно остро, так как общество и СМИ навязывают нам возрастные стереотипы. Считается, что к 25, 30, 35 годам (по советской привычке мы зачастую мыслим пятилетками) специалисты должны достигать карьерных целей.
В действительности же никакой проблемы возраста в IT нет. Как показывает практика, многие люди только к 30 годам понимают, чем хотят заниматься профессионально, поэтому лишние 5–10 лет точно не станут переломными. Яркий пример — Игорь Разумов, выпускник GeekUniversity. Он рискнул юридической карьерой и не пожалел. А все потому, что обратил свой возраст и опыт в плюс. Более того, у нас в практике были случаи, когда люди и после 50 переходили в IT и становились востребованными специалистами. Поэтому про возраст точно можете забыть.
Составьте план
Все люди разные: у каждого свой склад ума, скорость усвоения информации и приобретения практических навыков. Поэтому нет универсального алгоритма, сколько надо учить языки программирования, среды разработки, фреймворки, прежде чем попасть в профессию. Лишь вы для себя можете решить, в каком объеме и темпе получать знания.
Идеальный выход из ситуации — пошаговый план обучения хотя бы на 6, а лучше на 12 месяцев, включающий:
Так поступила Лия Давидян: она очень аккуратно подошла к вопросу обучения, чтобы не утратить интерес к веб-дизайну и заложить прочный фундамент знаний. И из нее получился классный специалист.
Как правило, уложить полноценное обучение менее чем в год работающим людям сложно — слишком много времени и сил отнимает текущая занятость. Это надо учитывать и не стремиться выжать из себя все соки, чтобы сэкономить несколько месяцев. Составленный заранее план поможет вам не поддаться эмоциям и не перегореть еще до начала нового этапа карьеры.
Создайте финансовую подушку
Резкая смена профессии может на первых порах не позволить сохранить привычный заработок. Поэтому еще до того, как возьметесь за обучение и начнете карьеру в ит, выясните зарплатную «вилку» младших звеньев на будущей работе. Разницу между ней и вашей текущей прибылью придется компенсировать накоплениями и экономией.
Подготовьте финансовую подушку — и убьете двух зайцев:
Учитесь профессии, а не конкретным навыкам
Обучение может даться очень тяжело, если штурмовать отдельные дисциплины в отрыве от общей цели. Практически любой IT-специалист подтвердит, что знание языка или среды — это лишь один из камней фундамента. Необходимо с самого начала применять знания в реальных задачах.
Что-то похожее было у Руслана Ибрагимова — с юношеским максимализмом он взялся сам изучать верстку, столкнулся со сложностями и почти потерял интерес к профессии. Но вскоре поставил перед собой конкретную цель и стал практиковаться. Это предопределило успехи в обучении, профессиональный спрос и хороший заработок.
Подходите к учебе серьезно
Сертификатами и дипломами сегодня работодателя не поразить — в IT надо показывать знания и навыки. При этом люди, за плечами которых — успешная карьера в другой сфере, могут с трудом сохранять мотивацию в ходе обучения. Об этой проблеме рассказывал Павел Дружинин, но, в сущности, это один из тысяч подобных случаев.
Все дело в том, что карьера лишь на начальных этапах зависит знаний — с определенной ступени почти все решают навыки. А потому люди, которые уже чего-то добились, не воспринимают информацию в отрыве от практики. Но в IT, особенно в программировании, полученные во время обучения знания могут впервые пригодиться и через несколько лет. Или при собеседовании в компании мечты.
Именно поэтому надо создать внутреннюю установку не только внимательно слушать и читать материалы, но и многократно их повторять, возможно, у вас получится попасть в IT без опыта работы в этой сфере.
Вовремя начинайте искать новую работу
Практика показывает, что к финальной трети комплексного обучения на онлайн-курсах студенты готовы браться за активный поиск работы. Такие соискатели, вероятно, будут соответствовать не всем требованиям вакансий (даже для джуниоров), но на этом этапе куда важнее научиться общаться со специалистами и HR в IT.
Для тех, кто приходит из других сфер, подобный опыт важен вдвойне. Во-первых, просто потому, что IT — тот редкий случай, когда знания и навыки играют важную роль даже на начальных ступенях карьеры. Во-вторых, имеющийся опыт можно сделать конкурентным преимуществом. Но чтобы узнать как, надо сходить на несколько собеседований.
Начать поиски до окончания обучения важно и для того, чтобы знания не выветривались. Да и если вас спросят что-нибудь непонятное на очередном собеседовании, будет возможность узнать ответ у преподавателя.
Не опускайте руки после отказов
Ошибки — неотъемлемая часть новых открытий. Это слова Джеффа Безоса, богатейшего человека в мире. Кому, как не ему, понимать истинную цену каждой трудности, которая стоит на пути к цели. Вы не избежите их ни во время учебы, ни на собеседованиях, ни в работе. Но как бы банально это ни звучало, из опустивших руки не выходит успешных профессионалов.
Поэтому важно еще перед тем, как вы начнете обучение и тернистый путь к карьере в IT, дать себе четкую внутреннюю установку: ни одна ошибка или трудность, профессиональная или бытовая, не должна влиять на выполнение намеченного плана. Ведь именно для этого вы решили кардинально изменить карьеру.
Заручитесь поддержкой близких
Как бы вы ни были уверены в своих силах, если окружение будет против — компанию ждет провал. Такое случается часто, и причина далеко не всегда лежит в финансовой плоскости. Часто в игру вступают возрастные стереотипы — и тогда ваше стремление называют «кризисом». Иногда на первый план выходит нежелание близких брать на себя дополнительную ответственность, особенно если серьезность ваших намерений неясна.
Как именно заручиться поддержкой окружающих, знаете только вы, но два пункта необходимо выполнить обязательно:
Всегда ставьте новые цели
В большинстве наших историй успеха, где герои меняли сферу деятельности, главным двигателем перемен было желание каждый день ставить перед собой новые цели и задачи, избавиться от монотонности. Действительно, IT — редкое направление, в котором бурное развитие трендов в первую очередь затрагивает конечных исполнителей. Более того, менеджмент, инженерия, дизайн и многие другие сферы развиваются как раз в сторону IT.
Именно поэтому важно понимать, что нет минимума, который позволит получить хорошую работу. Требования, которые предъявлялись к миддлам пять лет назад, сегодня актуальны для джуниоров. Постоянно необходимо ставить перед собой новые задачи и цели, в том числе в обучении, чтобы оставаться востребованным. Примите это — и избавитесь от многочисленных вопросов вроде «Почему на мое резюме никто не откликается?» или «Почему я до сих пор не прошел ни одного собеседования?». Это нормально — дело в том, что вы ставите себе легкие задачи.
Делитесь своими историями
Каждая история успеха, выпущенная у нас в блоге, на сторонних ресурсах и даже оставленная в виде небольшого комментария на форуме, повышает вашу ценность как специалиста IT сферы. Вот минимум пять причин:
Привлекает потенциальных клиентов и работодателей. В своем резюме или сопроводительном письме оставьте ссылки на учебный профиль и статьи. Это снимет лишние вопросы на переговорах, а также продемонстрирует вашу увлеченность делом.
Расширяет профессиональный кругозор. Публикуя свои истории, вы выступаете в роли инициатора дискуссии, которая привлечет людей, находящихся в схожей ситуации. Это поможет найти единомышленников, обменяться идеями и завести полезные контакты.
Позволяет создать «карту развития». Это индикатор того, на каком уровне вы были и чего достигли сейчас.
Учит спокойнее относиться к критике. Интернет — рассадник критики, а если вы выступаете автором — нападок будет вдвойне больше. Поначалу может быть обидно, зато вскоре вы научитесь отличать содержательную критику от простого желания возвыситься, унижая других. А это очень пригодится в профессии.
Приносит полезные советы. В комментариях под личными статьями всегда много советов по выбору инструментов, курсов, интересных материалов.
В общем, если решили штурмовать вершины IT — возьмите на заметку эти десять простых правил. И у вас непременно все получится!
Программирование с нуля: с чего начать и как выучить
Какой язык программирования учить первым?
Программирование — это процесс создания программ (программного обеспечения). Для этого программисты пишут исходный код на одном из языков программирования.
Существует более 300 языков программирования, но для успешной карьеры можно выбирать из десяти самых популярных. Еще правильнее будет сначала определиться с областью, в которой вы собираетесь работать, и только потом приступать к выбору языка.
Одним из лучших языков для начинающих является Python. Этот популярный язык общего назначения хорош лаконичностью и простотой синтаксиса, его активно используют в IT-компаниях России и мира.
Другими популярными языками считаются Java и C. Они сложнее, особенно для новичков, но владение ими обеспечивает лучшее понимание того, что вы делаете и что происходит с вашей программой. Вместе с языком Pascal язык С обычно изучается в вузе на профильных факультетах.
Использование других языков программирования зависит от цели деятельности. Например, в качестве серверных языков популярны php, Java, ruby. Из клиентских языков наиболее перспективен Java Script. Для разработки сложных высоконагруженных проектов требуется C++. На этом же языке пишутся игры. Еще одна перспективная сфера — разработка приложений для мобильных устройств. Тут используют Java, Objective-C, Swift. Любой опытный программист знает несколько языков, однако код на работе он пишет только на одном из них.
Нужно ли программисту знать математику и английский?
Да. Любому программисту необходимо знать английский язык и математику. Вся важная документация и качественные курсы опубликованы на английском. Знание математики требуется не настолько категорично. Но уверенное владение математикой обеспечивает четкое понимание создаваемого кода, осознанность каждого шага и позволяет прикидывать в голове эффективность алгоритмов.
Какой язык программирования учить, чтобы делать сайты?
Евгений Кучерявый, автор блога онлайн-университета SkillBox, рассказал, чем занимаются веб-разработчики и какие языки им непременно нужно знать.
Такой разработчик по определению стоит на «переднем крае» и отвечает за визуальную составляющую сайта: то, каким его видит посетитель. Frontend-разработчики следят за тем, чтобы все графические элементы исправно работали, контент отображался на всех устройствах, шрифты не «ползли», а картинки не загружались слишком долго.
1. Обучение HTML
В первую очередь начинающий frontend-разработчик должен освоить HTML — язык гипертекстовой разметки. Это базовый инструмент, который позволяет вынести на страницу все основные элементы, будь то фотографии, таблицы или текст.
2. Обучение CSS
Внешне написанная на HTML интернет-страница будет напоминать простейший текстовый документ. Чтобы «оживить» его, используется каскадная таблица стилей или CSS. Она меняет не структуру страницы, а ее внешний вид: шрифты, расположение элементов, тени и цвета. Другими словами, если HTML используется для описания логической структуры страницы, язык CSS отвечает за графические элементы и прописывается в отдельном файле.
3. Обучение JavaScript
Наконец, чтобы элементы веб-сайта могли перемещаться и реагировать на действия пользователя, разработчик прописывает код на языке JavaScript. Он заметно сложнее первых двух, но результат стоит того: от скриптов зависит появление всплывающих окон или же перетаскивание элементов на странице (например, сортировка фото в соцсети). В отличие от CSS, код JavaScript встраивается в структуру HTML, поскольку влияет не на внешний вид элементов, а на их поведение на странице.
Красивая оболочка сайта не имеет смысла без начинки: видеоролики, гиперссылки и картинки должны быть связаны с сервером, базой данных, с другими интернет-сайтами. Программно-аппаратную работу сервиса берут на себя backend-разработчики. Они же отвечают за информационную безопасность (защиту от хакеров) и следят за нагрузкой на сервер (чтобы страница не «висла» из-за наплыва посетителей).
1. Обучение PHP
Базовый инструмент backend-разработчика — язык программирования PHP. Он нужен, чтобы связать видимую пользователю страницу с сервером, где хранятся какие-либо данные. Например, чтобы не выкладывать на веб-сайт по одной фотографии при помощи HTML, можно запустить скрипт, автоматически подгружающий туда условную галерею, лежащую на сервере. Язык PHP настолько сильно упрощает работу по созданию сайта, что изучать его SkillBox рекомендует и frontend-разработчикам.
2. Обучение SQL
Аббревиатура SQL расшифровывается как «структурированный язык запросов». В отличие с PHP, который нужен для связи сайта с сервером, языки SQL позволяют управлять уже самими базами данных. Сейчас существует множество подобных языков, самые распространенные из которых — это MySQL, MSSQL, PostgreSQL и прочие.
Разработчики «полного цикла» в совершенстве владеют языками, необходимыми как для frontend-, так и для backend-программирования. Они являются универсальными специалистами, хотя, очевидно, глубина их погруженности в какую-то конкретно область веб-разработки уступает осведомленности узких специалистов.
А какие еще бывают программисты?
Куда пойти учиться на программиста?
Если есть возможность поступить в вуз, то лучше выбрать один из ведущих: МГУ, МИФИ, ВШЭ, СПБГУ, МФТИ, МГТУ им. Баумана, МАИ, ИТМО и т.д. Речь идет, естественно, о профильных факультетах. Выпускники этих университетов лидируют в рейтинге портала Superjob, составленного по критерию уровня стартовых зарплат программистов.
Можно ли научиться программированию на онлайн-тренингах и курсах?
Можно. Начальные навыки программирования помогут приобрести такие популярные платформы, как Яндекс.Практикум, Сodecademy, Skillbox, GeekBrains, HTML Academy. После прохождения подобных курсов человеку становится легче понять, в сторону какого направления двигаться в профессиональном развитии.
Бесплатные курсы нередко открывают и спонсируют крупные российские компании: Mail.Ru Group, «Яндекс», «Лаборатория Касперского», Сбербанк, Тинькофф банк, «2ГИС», «Роснано», «Сколково» и HeadHunter.
Многие ведущие мировые вузы открывают курсы в онлайн. Например, курсы MIT можно найти на платформе Coursera.
Как освоить программирование самостоятельно?
Освоение программирования на 80% предполагает самостоятельную работу. Почти все необходимые материалы есть в интернете. Самое главное: мотивация. Лучше всего подходить к изучению комплексно, например, совмещая онлайн-курсы, официальную документацию к языкам, лекции, статьи, книги. При этом не следует распространяться на несколько языков сразу, лучше начать с самых простых.
Можно изучать, играя: некоторые обучающие сайты сами являются играми, например, Code Combat и CodinGame.
На GitHub можно найти огромную коллекцию бесплатных книг по программированию. Также доступен корпус электронных книг, охватывающий 24 языка программирования.
В сообществе программистов также много людей, готовых помочь следующему поколению программистов. Hack.pledge — сайт, который поможет найти наставника.
Кроме того, можно подписаться на тематические каналы в Telegram, например: канал для новичков в Python, сообщество веб- и Java Script-разработчиков, канал разработчиков Ruby и Ruby on Rails и другие.
В программировании актуален принцип «практика важнее теории». Освоить большой объем информации по языкам сразу не получится, поэтому намного лучше посвящать больше времени оттачиванию полученных умений.
Где найти самоучитель по программированию?
Лучше всего подходить к изучению комплексно, например, совмещая онлайн-курсы, официальную документацию к языкам, лекции, статьи, книги. На GitHub можно найти огромную коллекцию бесплатных книг по программированию. Также доступен корпус электронных книг, охватывающий 24 языка программирования.
Что такое метод Франклина и как он может помочь в обучении программированию?
Это способ, позволяющий систематизировать информацию из лекций и самоучителей.
Его можно описать следующими ступенями:
Этот метод кажется простым и немного похожим на процессы, совершаемые автокодировщиком в машинном обучении. Его суть заключается в усвоении мысленных образов: в основе — идея ментальных репрезентаций и имитации.
Кстати, его можно применять не только при обучении программированию.
Нужен ли диплом и опыт работы после обучения веб программированию с нуля?
Считается, что высокие инженерные или исследовательские должности без высшего образования недостижимы. Также диплом необходим тем специалистам, которые захотят работать за границей. При этом многие российские HR-специалисты говорят, что при приеме на работу смотрят, в основном, не на строку «образование» в резюме программиста, а на реальный опыт работы. Кроме того, перед собеседованием или во время него претенденту, скорее всего, предложат выполнить тестовое задание.
С чего программисту начать поиск работы?
Анна Смирнова, менеджер по трудоустройству на программе «Веб-разработчик» в «Яндекс.Практикуме», советует четко определить свои намерения и цель, взвесить все риски и понять, сколько у вас есть времени на поиск работы и какие усилия вы готовы предпринять. Пример четко сформулированной цели — трудоустроиться за четыре месяца на позицию младшего разработчика в продуктовую компанию с полноценной командой разработки и закрепленным наставником.
Далее стоит продумать стратегию поиска. Стандартный подход — изучение вакансий на сайтах по поиску работы, в LinkedIn и телеграм-каналах. Но есть и другой вариант — нетворкинг. А именно, посещение митапов, профильных конференций и курсов, что поможет вам завести новые знакомства и искать возможности уже через них. Этот путь более тернистый в начале, но дает больший эффект, потому что вы задействуете «теплые» контакты.
Затем нужно подготовить резюме, портфолио и сопроводительные письма. Именно они создают первое впечатление о кандидате.
Как составить резюме, если нет опыта?
В резюме рекрутер смотрит на амбиции человека: к чему он хочет прийти и как это делает. Анна Смирнова советует собрать весь опыт, который относится к веб-разработке: участие в хакатонах, посещение митапов, некоммерческие и фриланс-проекты, обучающие курсы. Предыдущую работу в другой сфере тоже нужно указать, но сделать это следует емко и через точки соприкосновения с новой профессией.
Еще один важный пункт — заполнение навыков. Например, на HeadHunter они работают как теги, по которым рекрутеры ищут кандидатов. Поэтому лучше описать максимальное количество технологий, которые вы изучали или с которыми приходилось работать, а не только базовые JavaScript, HTML и CSS.
Где брать проекты для портфолио?
Портфолио выпускников курсов похожи друг на друга, потому что во время учебы студенты выполняют одни и те же задания под присмотром преподавателей и наставников. Проекты вне учебной программы демонстрируют работодателю, что у вас достаточно смелости и самостоятельности, чтобы сделать что-то самому. А значит, вам можно доверить работу над реальным проектом.
Примеры самостоятельных проектов начинающего разработчика:







