- Мифы и реальность
- Способы обучения
- Требования к айтишнику
- Предисловие
- Начало учебы
- Крупинка за крупинкой
- Выводы и небольшое напутствие для тех кто еще не начал свой путь
- Преимущества и недостатки профессии
- Почему стать программистом проще, чем это кажется: 7 глупых страхов, которые вам мешают
- 1. Я не хочу снова идти в университет
- 2. Математика не мой конёк
- 3. Мне слишком много лет
- 4. Я не знаю, какой язык программирования выбрать
- 5. Придётся бросить основную работу
- 6. Нельзя найти работу программистом без опыта
- 7. У меня ничего не получится
- Шаг 1Понять: программирование — это не страшно
- Шаг 2Выбрать специализацию
- Обращение фронтендеров Т—Ж
- Шаг 3Разобраться в терминологии
- Шаг 4Найти курсы
- Если есть время, лучше не спешить
- Шаг 5Перейти к практике
- Шаг 6Найти работу
- Шаг 7Найти работу получше
- Шаг 8Не переставать учиться
- Обучение
- Программирование – это творчество
- Монотонность
- Любовь к головоломкам
- Зрение
- Свобода передвижений
- Рабочее место
- Английский язык
- Стрессоустойчивость
- Чёткий график
- Высокий доход
- Дисциплина
- Ответственность
- Взаимодействие с коллегами
- 6 причин не быть программистом
- 1. Вы не любите творчество
- 2. Вы работаете из-под палки
- 3. Вы не любите решать головоломки
- 4. Вы не можете сидеть долго на одном месте
- 5. Вы цените нормированный рабочий день
- 6. Вы хотите быстро разбогатеть
Мифы и реальность
Каждый, кто хочет связать свою трудовую деятельность с программированием, должен отдавать себе отчет в том, что это кропотливый труд, который требует постоянного самообразования, полного погружения в процесс работы, выполнения большого количества рутинных, сопутствующих ей дел.
Романтические истории о том, как за одну ночь айтишник превращается в миллионера, давно отошли в прошлое.
На сегодняшний день большинство разработанных программ – продукт командной работы. Высокий доход получают только ведущие разработчики, остальные довольствуются средним заработком на уровне “офисного планктона”.
Первое, и самое главное заблуждение – программированию невозможно научиться на 2-3 месяца. За этот период есть возможность получить лишь базовые, ключевые основы и понятия.
Поэтому подобные курсы, которые обещают за несколько месяцев сделать из вас высококвалифицированного программиста не более, чем обман и развод.
Научиться основам алгоритмизации, а также приобрести навыки составления простых программ особой сложности не представляет.
Но это лишь основные знания, которыми должен владеть любой системщик. Профессиональный программер выполняет более объемную и глубокую работу, которая совмещается с составлением технической документации и руководства пользователей.
Иногда для того, чтобы выловить в коде все ошибки требуются недели и даже месяца. При этом необходимо оставлять все комментарии, которыми смогут воспользоваться коллеги программиста в случае осуществления ими доработок системы.
Распространенная проблема начинающих специалистов в области информационных технологий – профессиональное выгорание.
Суть его заключается в том, что теоретическая часть обучения не соответствует практической деятельности. Со временем специалист, склад характера которого не соответствует усидчивости и однообразности, теряет интерес к рутинной работе, и “выдыхается”.
Нехватка движения и перемен, которые крайне необходимы данной категории работников приводят к полному разочарованию в данной сфере деятельности. Рекомендуемый выход из такой ситуации – уход из профессии.
Другая категория системщиков слишком усердно погружается в процесс работы, теряя связь с реальностью, и забывая давать себе возможность полноценно отдыхать.
В этом случае условием эффективной деятельности программеров выступает умение грамотно планировать время.
Способы обучения
Достижение заметных результатов в сфере программирования можно добиться следующими путями:
- С помощью самообразования. Его можно и нужно совмещать с обучением на тематических курсах, которое длится в среднем 2-3 года (а не месяца!). Максимальное внимание желательно уделять практическим занятиям. Наличие портфолио с собственными проектами – дополнительный плюс при устройстве на работу.
- Получение образования в учебном заведении. Именно там есть возможность получить глубокие знания в сфере математики, физики, алгоритмизации и т.д. Теоретическая база – это всегда хорошо, однако следует учитывать то обстоятельство, что программные системы и языки программирования в вузах имеют устаревший вариант. Поэтому без дополнительного, самостоятельного обучения не обойтись.
- Никогда не следует останавливаться в развитии. Современное программирование постоянно развивается, совершенствуется и модернизируется. Поэтому необходимо быть готовым к постоянному повышению квалификационного уровня.
Требования к айтишнику
Профессиональный программист, у которого есть все шансы добиться больших успехов в своей сфере деятельности, должен обладать следующими качествами:
- Творческий склад ума. На первый взгляд программирование не имеет ничего общего с творчеством. Это заблуждение. Поставленную перед системщиком задачу он должен реализовать максимально эффективно, используя минимальное количество ресурсов с одновременным совмещением с существующими системами.
- Аналитические возможности. Программист должен обладать навыками структурирования информации, создания сложных алгоритмов. Это требует четкого подхода, логического мышления, внимательности к мелочам. Порой легкая небрежность в составлении кода может привести к серьезным ошибкам в работе системы.
- Самообладание, способность работать в коллективе. Современные программисты все реже работают по одиночке. Для достижения максимальных результатов специалисты объединяются в команды. Важно находить общий язык не только внутри коллектива, но и с заказчиками, руководителями проектов. Не исключено, что придется на примитивном уровне много раз объяснять причины своих действий, их конечный результат и т.д. Поэтому высокие показатели стрессоустойчивости в данной профессии – условие очень важное.
Предисловие
В уже, как нам кажется, далеком 2015 я окончил школу и начал раздумывать о том, кем же я хочу стать в этой жизни. (хороший вопрос, я все еще ищу на него ответ) Жил я в маленьком городишке, обычные школы, пару ПТУ и филиал простенького университета. Окончил музыкальную школу, играл на протяжении всей школьной жизни в театре, но после 11 класса дернуло встать на техническую тропу. Стать программистом я не хотел, хотя и отучился в классе с упором на информатику, смотрел специальности связанные с проектированием или робототехникой. Подал заявления куда смог, съездил в военное училище, понял, что не мое. Остался на выбор 2 университета, была не была, поеду в Питер.
В Питере выбор огромен, но что-то убедило меня пойти учиться на пилота — это престижно, денежно, статус в обществе. При поступлении предлагалось выбрать 3 направления, не долго думая, указал пилота (2 направления: специалист и бакалавр). Но ребята в приемной комиссии убедили все же выбрать и третье, сказал, что мне в целом без разницы, если что-то есть с программированием, то можно туда (не зря же в школе отучился дистанционно основам IT-специалиста (еще и за денежку)). Август близится к концу, мониторя каждый день списки, понимаю, что на пилота явно не прохожу из-за количества баллов, потихоньку собирался в армейку, деревья пересаживать, снежок чистить, но вдруг, звонок от родителей: «Сынок, поздравляем ты поступил!» Изумленно жду продолжения. «Ты поступил на ОрАСУВД, мы не знаем что это, но на бюджет! Мы очень рады!» «Да», — думаю я, — «главное же бюджет!» Почесывая голову, думал о том, что же значит это загадочное ОрАСУВД, но как бы там ни было, я еду в Питер, и это уже огромный повод радоваться.
Начало учебы
Расшифровка звучит так: организация автоматизированных систем управления воздушным движением. Букв много, как и смысла. Для заметки, первый курс я учился не в Питере, нас отправили в Выборг, не от хороший жизни конечно же, но в целом это было даже лучше, чем можно было ожидать.
Группа наша была очень маленькой, всего 11 человек (на данный момент нас уже 5), и все, абсолютно все не понимали, что они тут делают.
Первый курс был прост, как и у любой специальности ничего необычного, начерталка, математика и еще пару гуманитарных предметов. Прошло полгода, я все также не понимаю, что значит ОрАСУВД, а уж тем более чем они занимаются. В конце первого семестра к нам приезжает из Питера преподаватель и читает нам дисциплину «Введение в профессию».
«Ну все, наконец-то я услышу ответы на мои вечные вопросы», — подумал я, но не так все просто.
Специальность эта оказалась весьма востребованной и не такой далекой от программирования. Нас даже больше удивил тот факт, что это вообще единственная специальность в России не имеющих аналогов.
Суть профессии заключается в том, чтобы понимать все процессы происходящие в небе, собирать информацию со всех видов локаторов и в цифре передавать на монитор диспетчера. Проще говоря, мы делаем то, благодаря чему диспетчер может работать (ПО для авиации). Вдохновляет, не так ли? Нам говорили, что даже уголовная ответственность предусматривается, если вдруг твой код станет причиной катастрофы.
Отстранимся от кучи мелочей и тонкостей и поговорим о теме программирования.
Крупинка за крупинкой
После того, как мы успешно прошли первый курс и приехали обучаться дальше в Питер, стало немного интереснее, и с каждым семестром все понятнее чего от нас хотят. Мы наконец-то принялись кодить, изучать азы C++. С каждым семестром наши знания наращивались, было много предметов, связанных с авиацией и радиотехникой.
К началу 4 курса я уже знал пару библиотек, научился пользоваться vector’ом и его сородичами. Немножко попрактиковал ООП, наследование, классы, в общем все то, без чего программирование на C++ вообще сложно представить. Появилось очень много предметов связанных с радиотехникой, физикой, появился Linux, который казался очень сложным, но в целом интересным.
Из нас не пытались сделать хороших программистов, из нас хотели сделать людей, понимающих все процессы, наверное, именно в этом и проблема. Мы должны были быть гибридами, что-то между программистом, эксплуатантом и руководителем одновременно (не зря наверное говорят, что двух зайцев не убить). Мы знали очень много разных вещей, но всего понемножку. С каждым годом я все больше увлекался кодить, но из-за нехватки предметов направленных на это, желание узнавать больше оставалось не исполненным. Да, возможно, я мог бы заниматься сам, дома, но в студенческие годы мало когда тебя волнуют вещи, которых не будет на сессии. Именно поэтому, будучи на пороге 5 курса, я понимаю, что все знания накопленные мною за 4 года, это маленькая горстка, с которой меня никто нигде не ждет. Нет, я не говорю, что нас плохо учили, что знания не те или не нужные. Думаю все дело в том, что осознание того, что мне нравится программирование ко мне пришло только в конце 4 курса. Только сейчас я понимаю насколько огромен выбор в направлениях кодирования, сколько всего можно сделать, если выбрать один путь из тысячи и начать изучать все, что касается этой темы. Просмотрев множество вакансий, прихожу к выводу, что и податься некуда, опыта нет, знания минимальны. Руки опускаются и кажется, что все старания в учебе сыпятся на глазах. Я же сдавал все на 5, я так много старался в написании программ, а потом оказывается, что то, чем я занимаюсь в стенах университета, настоящие программисты щелкают, как семечки на перерывах.
«ИТМО, ГУАП, Политех… Я ведь реально мог поступить туда, баллов хватило бы, а даже если не туда куда хотел бы, наверно все же лучше, чем тут!», — подумал я, кусая локоть. Но выбор сделан, время забрало свое и мне остается только брать себя в руки, и делать все, что в моих силах.
Выводы и небольшое напутствие для тех кто еще не начал свой путь
Уже этим летом мне предстоит пройти практику в весьма солидной фирме, и заняться делом напрямую связанным с моей специальностью. Очень страшно, ведь я могу не оправдать не только свои надежды, но и надежды руководителя. Однако если делать что-то в этой жизни, то делать нужно с умом и качественно. Пусть я пока и не создал ничего сверхсложного или заурядного, но я ведь только начал, до меня только-только стало доходить что нужно делать, и весь вкус программирования мне еще предстоит узнать. Возможно я начал не там, и не в той сфере и вообще делаю не то, о чем мечтал. Но я уже с чего-то начал и точно понял, что хочу связать жизнь с программированием, правда пока что так и не выбрал ту самую дорогу, по которой пойду, возможно это будет БД, или же промышленное программирование, может я стану писать мобильные приложения, а может ПО для систем установленных на самолетах. Одно я точно знаю, пора начать, и как можно скорее понять, что из всего программного изобилия я бы хотел вкусить.
Юный читатель, если ты все еще не знаешь кем хочешь стать, не волнуйся, большинство взрослых тоже этого не знают. Главное — это пробовать. Именно путем проб и ошибок можно наконец понять, чего ты хочешь. Если хочешь стать программистом, то начать всегда важнее, чем точно знать в какой области быть. Все языки похожи друг на друга, и программирование не исключение.
P.S. Знал бы, что буду плыть, взял бы плавки. Я бы очень хотел начать разбираться во всем этом раньше, но в силу незаинтересованности, рутинности обучения и не понимания, что будет дальше, упустил время. Но свято верю, что никогда не поздно.
Преимущества и недостатки профессии
Профессия программиста, как и любая другая специальность, имеет свои достоинства и недостатки. Среди главных преимуществ выделяют такие:
- Профессиональный программист имеет стабильный высокий доход. Кроме того, крупные компании ценят молодых высококлассных специалистов, которым предоставляют разные льготные услуги (например, в вопросе кредитования на строительство жилья).
- Свободный режим работы. Чаще всего график строго не фиксируется, что дает возможность специалисту самостоятельно варьировать наиболее подходящее для него время деятельности. Главное при этом – в срок выполнять поставленные перед ним задачи.
- Особенная каста. Высокий интеллектуальный уровень программистов позволяет общаться им на “своем” языке, употребляя специальную терминологию. По сути айтишник – это не профессия, а образ жизни.
- Большие перспективы. Высококвалифицированные кадры всегда востребованы, особенно в крупных компаниях. Знание английского языка дает возможность устроиться на работу в иностранную фирму, где есть возможность не только улучшить материальное положение, но и существенно расширить и усовершенствовать профессиональные навыки.
- Востребуемость. Программирование – это деятельность будущего, которая развивается семимильными шагами. Это способствует постоянной необходимости в пополнении высококвалифицированными кадрами.
Среди главных трудностей, с которыми может столкнуться начинающий программист, можно выделить такие:. Профессия подходит ограниченному кругу людей. Чтобы стать высокопрофессиональным специалистом в сфере информационного программирования необходимо обладать рядом качеств, о которых упоминалось выше, обладать высокими математическими способностями.
Ожидаемость результата. IT специалисты не могут рассчитывать на то, что созданная ими программа заработает без ошибок с первого раза.
Иногда, чтобы запустить ее в работу необходимо несколько раз исправлять ошибки, вылавливая их в кодах программы.
Необходимость усидчивости и терпения. Программист – это рутинная работа, которая требует проведения у компьютера большого количества времени.
Активным непоседам, которые нуждаются в постоянном движении, быстро надоест однообразие. Потребность в постоянном развитии и совершенствовании.
Высокий уровень владения английским языком, который для программиста должен стать родным языком профессии.
Современный уровень технологического развития способствует тому, что любая компания стремиться максимально автоматизировать процессы, которые в ней происходят.
За профессиональными программистами, которые ежедневно оттачивают свои навыки, следуя последним тенденциям в сфере программирования, фирмы устраивают настоящую “охоту”, переманивая их с других организаций.
Это является объективным стимулом для того, чтобы не прекращать развиваться, максимально повышая свою квалификацию, модернизируя знания и навыки.
Почему стать программистом проще, чем это кажется: 7 глупых страхов, которые вам мешают
А что, если программирование — ваше призвание, но между вами и кодом стеной встали страхи? Развенчиваем семь популярных заблуждений, которые мешают вам освоить новую специальность
1. Я не хочу снова идти в университет
Новая профессия обычно ассоциируется с новым образованием — долгим и занимающим всё свободное время. На самом деле всё не так: необязательно снова садиться за парту. Программированию можно обучиться самостоятельно. А если понадобится совет — задать вопрос коллегам‑специалистам на форуме или в групповых чатах.
2. Математика не мой конёк
Если всё же вы почувствуете, что пробелы в знаниях надо восполнить, всегда можно освежить теорию по учебникам или пройти онлайн‑курс. И вполне вероятно, что, когда вы снова столкнётесь с математикой в контексте программирования, она вам понравится.
3. Мне слишком много лет
Кроме того, такие специалисты часто работают удалённо. И никто не узнает, сколько вам лет. Также учиться кодингу стоит не только в карьерных целях: этот навык полезен сам по себе.
4. Я не знаю, какой язык программирования выбрать
Хотите разрабатывать сайты и веб‑сервисы — обратите внимание на JavaScript, PHP или Python. Планируете создавать приложения для смартфонов или планшетов — учите Kotlin и Java (для устройств на Android) или Swift (для iOS). Всегда мечтали делать крутые игры AAA‑класса на движках Unreal Engine и Unity — вникайте в C++ и C#.
5. Придётся бросить основную работу
Уволиться и искать работу по новой специальности стоит, когда вы уже способны решить тестовые задания разных компаний, выложенные в открытый доступ, можете похвастаться солидным репозиторием и в целом уверены, что занимаетесь делом своей жизни.
6. Нельзя найти работу программистом без опыта
Такая ситуация — это типичная «уловка‑22» : «Чтобы найти работу, нужен опыт, а для опыта нужна работа». Поэтому на начальном этапе лучше подготовить несколько небольших личных проектов или поучаствовать в open‑source‑проекте. И уже после, набравшись реального опыта, наполнив свой репозиторий на GitHub, будет легче искать работу. Если вы можете себе позволить несколько месяцев жить на меньшую зарплату, чем привыкли, не отказывайтесь от оплачиваемых стажировок: они могут стать вашим пропуском в большую компанию.
7. У меня ничего не получится
Ваши успехи зависят только от вас. Чтобы вам было проще втянуться в кодинг, можете попробовать метод Сайнфелда.
Джерри Сайнфелд — известный американский комик. И один из его секретов в том, что он каждый день, вне зависимости от обстоятельств, писал шутки. Не важно, плохими они были, хорошими… Главное — писать и «не разрывать цепь».
Только в вашем случае будут не шутки, а код. Важно привыкнуть программировать каждый день, хотя бы по 15–20 минут. Небольшой прогресс всегда лучше, чем отсутствие всякого движения.
Шаг 1Понять: программирование — это не страшно
На третьем курсе университета я осознал, что не хочу работать по специальности. Уже тогда я пытался подрабатывать, используя знание языков: занимался со школьниками английским и был переводчиком на выставках.
За час занятий с учениками я брал 500—1000 Р, на выставках платили всегда по-разному, но обычно 2000—5000 Р в день. Вроде бы неплохие цифры, но трудозатраты часто сильно превышали вознаграждение, да и заказы попадались время от времени. Поэтому я решил поискать что-то другое.
Сначала я пошел в «Макдональдс»: хотел понять, смогу ли вообще совмещать постоянную работу и учебу. Потом немного поработал в агентстве, которое занимается продвижением в соцсетях, еще пытался попасть на стажировку в финансовые компании Ernst & Young и KMPG.
Плюс таких стажировок в том, что, если повезет, ты сможешь устроиться в один из этих гигантов даже без профильного образования и уже на месте выбрать будущую специализацию. Но мне не повезло: я не прошел первичный отбор на позицию стажера.
Я думал, чем еще можно заняться, и друг посоветовал попробовать себя в программировании. Он убедил меня, что это не так сложно, как кажется, и не требует никаких специальных знаний. Его главный аргумент: сейчас научиться азам веб-разработки можно практически бесплатно. Я подумал, что человеку с дипломом по информационной безопасности можно верить, и решил, что ничего не потеряю, если попробую.

Шаг 2Выбрать специализацию
Программирование — большая и сложная отрасль со множеством направлений, которые тесно переплетены между собой. Кто-то разрабатывает игры для компьютеров или смартфонов, кто-то учит космического робота Федора выполнять нужные действия на околоземной орбите, а кто-то пилит программы, которые в режиме реального времени позволяют получать данные с камер видеонаблюдения и распознавать лица прохожих.
Чтобы заниматься такими сложными и масштабными проектами, действительно понадобятся фундаментальные знания и профильное техническое образование. Но я гуманитарий, поэтому пошел по более простому и короткому пути и выбрал веб-разработку. Дальше в статье речь пойдет именно о ней.
Если упрощенно, веб-разработка охватывает все, что можно найти в интернете. И сайт Яндекса, и сайт школы, в которой вы учились, — это результат труда веб-разработчиков. Разница — в сложности используемых технологий. Чем сложнее устроен сайт, тем больше специалистов необходимо, чтобы он мог стабильно работать. Поэтому веб-разработчики делятся на несколько категорий.
Фронтендеры отвечают за внешний вид сайта или приложения и за функции, которые доступны пользователям. Если сравнить разработчиков со строителями, то фронтендеры — это ребята, которые занимаются внутренней отделкой. Это как выбирать цвет стен, форму окон и ширину дверных проемов, чтобы людям было удобно заходить в здание и вообще в нем жить.
Девопс-специалисты следят за серверами и инфраструктурой. Их задача — обеспечить бесперебойную работу сайта, оптимизировать нагрузку на сеть и сделать так, чтобы сайт не рухнул, если его вдруг захочет посетить половина рунета. По нашей квартирно-строительной аналогии такие ребята следят, чтобы в квартиры поступала вода, электричество и газ, а еще чтобы дом вообще не развалился из-за просадки грунта.

Я выбрал фронтенд-разработку, потому что мне было важно быстро начать работать. На фронтендера гораздо проще учиться, а результат его работы нагляднее: уже после первого онлайн-курса вы сможете за час собрать простенькую веб-страницу и хвастаться ею перед родными и друзьями. Тогда как результат целого месяца трудов в бэкенде и девопсе сможет оценить только человек, который в этом разбирается.
Обращение фронтендеров Т—Ж
На сегодняшний день фронтенд — это СОВСЕМ не легче, а иногда даже сложнее того же бэкенда. JavaScript за каких-то 20 лет из милого, невинного пупсика, написанного на коленке ради создания простейшего интерактива, превратился в МОНСТРА, с помощью которого можно реализовывать даже серверную часть сайта.
И вообще, это безумно развивающаяся сфера, в которой каждый месяц появляются новые интересные штуки. Короче, словили легкую обиду за фронтенд.
Шаг 3Разобраться в терминологии
Сначала разберемся, что вообще придется изучать. Я буду сильно все упрощать.
Любой сайт работает благодаря трем элементам: HTML, CSS и JavaScript. Упрощенно их называют кодом сайта или просто кодом. Если вы разобрались в них, то уже сможете собирать и программировать полноценные веб-страницы и даже целые сайты.
HTML, или HyperText Markup Language, — в переводе с английского «язык гипертекстовой разметки». Это еще не полноценный язык программирования, а всего лишь набор команд, или тегов, которые помогают браузеру понять, как именно текст и другие элементы оформления должны располагаться на страницах сайта. Это примерно как схема, где в квартире после ремонта будет стоять диван, а где — холодильник.
CSS, или Cascading Style Sheets, — в переводе «каскадная таблица стилей». Из нее браузер узнает, как сайт должен быть оформлен: какими должны быть размер и тип шрифта, ширина полей, цвет фона и многое другое. Это все равно что выбирать цвет дивана или размер холодильника в вашу новую квартиру.
JavaScript — это уже полноценный язык программирования, с помощью которого можно оживить сайт: добавить сложную анимацию, научить кнопки нажиматься и настроить автозаполнение полей в форме подписки. Если продолжить сравнение со строительством и ремонтом, то JavaScript — это умный дом, который по нажатию одной кнопки сам наберет ванну, приглушит свет в квартире и приготовит вам кофе.
Шаг 4Найти курсы
Теперь поговорим про курсы по веб-разработке. В интернете их примерно миллион. Так что можно просто вбить в поисковике «курсы фронтенд-разработчика» и выбрать первый понравившийся.
Строятся все курсы по единым лекалам: вводная теоретическая часть про то, как вообще работают сайты, объяснение базовых элементов, отработка новых знаний с помощью небольших практических заданий.
Например, изучили основы разметки текста — собираете блоки с текстом на простенькой страничке. Прошли, как вставлять изображения, — добавляете на страницу картинки. Познакомились с базовыми скриптами — пытаетесь поставить на вашу страницу мини-калькулятор или счетчик просмотров.
Некоторые курсы полностью бесплатные, другие — только до определенного уровня. Стоимость платных курсов зависит от их продолжительности и насыщенности. Например, недельный интенсив с ментором может стоить 14 900 Р, а полный годовой курс с дипломным проектом в конце — уже 148 500 Р.
Обычно платные курсы дают какие-то дополнительные возможности. Например, более интересные практические задания или возможность спросить у наставника, какие ошибки в коде вы сделали и как избежать их в будущем. Такая обратная связь экономит много времени и сил, особенно когда вроде делаешь правильно, но все равно ничего не работает.
Я сознательно избегал платных курсов. Во-первых, в студенчестве у меня было не так много денег, а во-вторых, мне кажется, почти в любой сфере входные знания сейчас можно найти бесплатно. К тому же, пока плохо знаешь тему, легко переплатить или заплатить за то, что тебе не нужно.



Освоив бесплатный курс, я решил купить дополнительную подписку на месяц за 300 Р. Сейчас, спустя 3 года, она стоит 590 Р на месяц или 4590 Р на год. Платная подписка дает доступ к продвинутым главам курса. Например, про то, как делать сложную анимацию без скриптов, только силами CSS.
Если есть время, лучше не спешить
На изучение материалов с сайта HTML Academy я потратил всего месяц. Для новичка это слишком быстро. Но, во-первых, я решил взять от платной месячной подписки все, а во-вторых, мне хотелось как можно быстрее перейти к практике и реальным проектам.
Поэтому в течение месяца я тратил все свободное время на изучение курса, при этом пропуская сложные и неинтересные места. Это очень спорный подход. Вам я так делать не рекомендую. Если есть время, не торопитесь и постарайтесь получше усвоить все основы: потом будет намного легче.
Если у вас что-то не выходит, не берите подсказки и не пропускайте задания. Лучше еще два раза подробно разберите блок с теорией и еще десять раз внимательно прочитайте свой код. Так вы быстрее освоите язык и научитесь не психовать из-за малейшей ошибки в коде.
Курс по веб-разработке там очень обширный и охватывает много тем. Чтобы изучить их все, потребуется около 1800 часов, или 75 дней. Зато, окончив этот курс, вы будете обладать всеми необходимыми знаниями для начала карьеры — от верстки простой веб-страницы до визуализации данных и способов обезопасить сайт от хакерских атак.
Мне понравилось учиться на этом курсе: он простой и понятный. В глубине души даже не верилось, что только на HTML и CSS можно так легко собирать очень красивые страницы. Я все ждал, что встречу какую-то непреодолимую для гуманитария преграду.
И я ее встретил, когда дошел до JavaScript.
Освоить JavaScript оказалось гораздо сложнее, чем разобраться с тегами в HTML и CSS. Это уже полноценный язык программирования, и, чтобы в него вникнуть, придется понять довольно сложные концепции. Например, хойстинг (не путать с хостингом), замыкания, каррирование, контекст вызова функции, параметры и аргументы функции, синглтон-паттерн, инстанс объекта, интерфейс объекта и т. д.
Это как раз те штуки, которые ребята-технари изучают еще в вузах. Без фундаментального образования понять такое сложно. Мне удалось более-менее разобраться в них примерно за год. Помогло постоянное общение с более опытными коллегами: они подсказывали, какие термины что значат, где и какие статьи про это лучше почитать.


Шаг 5Перейти к практике
Попробовать свои силы на практике мне хотелось с самого первого дня обучения. Начал я с дополнительных заданий в рамках платной подписки на HTML Academy. Потом стал просто копировать известные сайты, как бы пересобирая их заново. Для этого я сначала внимательно изучал, как они оформлены, а потом копировал их код из браузера, попутно разбираясь, как именно он написан, какие теги и зачем используются.

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


Небольшой совет: если не можете решить проблему сами, вбейте ее описание в поисковик. Скорее всего, вы не первый, кто ломает над ней голову, и опытные люди уже все придумали за вас. На мой взгляд, умение гуглить — это вообще один из важнейших навыков хорошего программиста.Оно позволяет сэкономить много времени и сил, а главное, избежать «костылей» — когда сначала городишь 100 строчек кода, а потом приходит кто-то поумнее и показывает, как то же самое делают всего три.
«Изначально мне платили 30 тысяч рублей»: сколько зарабатывает программист
Шаг 6Найти работу
Где-то через три месяца после начала изучения первого курса по программированию я решил, что пора искать работу в качестве веб-разработчика. Подумал, что главное — попасть в тусовку, а там разберусь.
Большие компании часто проводят разные финтех-школы, хакатоны, кейс-чемпионаты и прочие митапы. По сути, это короткие стажировки, на которых молодые и еще недостаточно опытные ребята могут попробовать свои силы в программировании на реальных задачах.
Шаг 7Найти работу получше
После увольнения из Travelab мне на глаза попалась вакансия фронтенд-разработчика в крупном российском банке. В описании вакансии тоже значилось «Опыт работы — от 2 лет», что я благополучно проигнорировал. Мое письмо прочитали и — о чудо! — взяли меня на работу.
В банке я разрабатывал веб-приложение, которое позволяет клиентам покупать ценные бумаги на бирже. Первые месяцы работы были очень сложными: мне задавали определенные рамки, говорили, какую задачу нужно решить, например какой интерфейс в итоге должен получиться, а дальше приходилось соображать самому. Я читал горы документации, разбирался в неизвестных технологиях и брал часть работы домой, чтобы успевать в срок.
Постепенно я разобрался в проектной работе и из неопытного новичка, который умеет только писать тот код, который ему сказали, смог дорасти до самостоятельного разработчика, способного предлагать нестандартные технические решения и реализовывать собственные проекты. На это у меня ушел примерно год, по прошествии которого я понял, что хочу двигаться дальше, — и ушел из банка.
Я подписал договор о неразглашении информации, поэтому не могу назвать свою зарплату в банке. Скажу только, что это была отличная сумма для человека, который делал первые шаги в программировании. В Москве вилка зарплат на стартовых позициях — от 50 до 100 тысяч рублей, моя зарплата была ближе ко второй цифре. Со временем я понял, что даже в программировании твой заработок во многом зависит от умения торговаться. Поэтому начал искать позицию получше.
Шаг 8Не переставать учиться
Пришло время поговорить про минусы. На мой взгляд, в профессии веб-разработчика их два: частые переработки и необходимость постоянно учиться.
Переработки — это когда ты день и ночь думаешь над кодом: и на работе, и после работы, и в выходные, и во время отпуска. Но думаешь не потому, что тебя заставляет злой начальник, а потому что тебе в кайф решать все новые и новые задачи. Конечно, от постоянной работы легко перегореть и потерять интерес к тому, чем занимаешься.
С другой стороны, чем больше ты работаешь, тем опытнее становишься и тем более интересные проекты тебе достаются. По крайней мере, у меня еще ни разу не возникало мысли, что все тлен и я погряз в рутине.
Теперь про учебу. Приступив к своему первому курсу по HTML, вы приоткрываете дверцу, которую потом будет сложно закрыть. Чтобы быть хорошим и востребованным программистом, нужно знать все актуальные инструменты разработчика, а их примерно миллион, и каждый день появляется парочка новых. А если не будешь постоянно учиться, очень быстро отстанешь от этого поезда. И вот тогда привет, рутина и унылые задачи типа «у нас на сайте кнопка сломалась — почини».
Обучение
Одного курса или одной книжки по программированию не хватит, чтобы стать Junior-программистом. И уж тем более вам никогда не дорасти до Senior без обучения. Программирование – это постоянное самообучение и практика. Сфера IT развивается стремительно, появляются новые языки программирования, старые модернизируются. Стоит вам на пару месяцев остановиться и ваши коллеги уйдут вперёд. Если вы не будете «в теме», то постоянно будете жить с мыслью –тяжела и неказиста жизнь простого программиста.
Программирование – это творчество
Многие ошибочно предполагают, что программирование – это чистая математика, информатика и ничего больше. На самом же деле, программист обязательно должен обладать творческим началом. Мало просто выучить язык программирования и основные алгоритмы. Вы должны чувствовать себя создателем, который превращает чистый лист (подразумеваем экран) в новый проект.
Монотонность
Творчество творчеством, но некоторые этапы работы над проектом представляют собой монотонный труд. Вы должны быть готовы к тому, что несколько часов подряд придется сидеть и, не отрывая взгляд от монитора, прописывать сотни строчек кода. Трудно ли быть программистом, учитывая этот факт, решать вам.
Любовь к головоломкам
Если у вас нет способностей к аналитическому мышлению и вы исключительно креативный человек, то задумайтесь, стоит ли вам выбирать непростой путь программиста. Мы уже говорили, что творческое начало должно присутствовать в вас, но оно должно сочетаться с вашей способностью решать сложные логические задачи и структурировать огромные объемы информации.
Зрение
Кстати, про взгляд. Постоянная нагрузка на зрение – это одна из весомых причин считать, что трудно быть программистом. Думаем, нет смысла объяснять, как влияет на зрение пребывание за компьютером не менее 8 часов день. Очки с защитным напылением, витаминные капли и гимнастика глаз помогут вашим глазам, но, к сожалению, 100 % защиты это не даёт.
Свобода передвижений
Ещё один стереотип, под который подписывают всех программистов. Мол, взял ноутбук и путешествуй себе сколько угодно, а в промежутках между путешествиями можно и поработать. На самом же деле, продвинутые программисты вам скажут, что чаще всего для работы над большими проектами, да и в принципе для удобства работы, им нужен не один ноутбук, а 2 или даже больше мониторов. Вряд ли будет комфортно каждые 3 дня переезжать с места на место, таская за собой гору техники.
Рабочее место
Учитывая пункт выше получается, что ваше рабочее место – целиком и полностью ваше в течение 8-10, а то и больше, часов в сутки. В крупных престижных компаниях, как правило, это понимают и создают комфортные условия для работы. Если же вы сами создаете своё рабочее место помните, что оно должно способствовать вашей продуктивности, а не становиться еще одной трудностью программиста.
Английский язык
Хотите вы этого или нет, но вам придется подтянуть свой английский. Без его знания вам будет сложно работать программистом. Вы же в курсе, что весь код пишется именно на этом языке? Часто на хороших курсах по программированию бонусом дают несколько уроков по изучению английского языка. Не пренебрегайте этим! Освойте базовый набор слов и дальше, в процессе работы, будете пополнять его.
Стрессоустойчивость
Понятие, заезженное вдоль и поперёк, но без способности противостоять стрессу вам не справиться. Если вы работаете программистом в компании, то нужно уметь находить общий язык с коллегами, мнение которых не всегда будет совпадать с вашим. Если же вы решите идти по пути фрилансера, то необходимость обладать стрессоустойчивостью возрастает в несколько раз. Вам придется самому общаться с клиентами и выполнять несколько ролей сразу.
Чёткий график
Вне зависимости от того работаете вы в компании либо фрилансите, скорее всего, ваш рабочий день будет длиться дольше, чем 8 часов. Дело не в том, что периодически ваш тайм-менеджмент даёт сбои. К слову, он несомненно должен быть на достаточно высоком уровне, чтобы вам по пятам не шли постоянно дедлайны. Необходимость работать больше восьми часов связана с задачами по доработке уже, казалось бы, готовых проектов. А доработки эти, как правило, приходят не в самое подходящее время.
Высокий доход
Одно из преимуществ IT-профессии, которое привлекает больше всего. Но не стоит думать, что через месяц работы вам наперебой начнут поступать предложения с заоблачными зарплатами. Безусловно, если вы готовы много и упорно трудиться, вы через 2-3 года станете специалистом, которого с руками и ногами будут хватать в топовых компаниях. Но повторимся, для этого нужно много и упорно развиваться. Программирование – эта не та история, когда уснул и проснулся богатым. Тяжело быть программистом, когда единственное, что движет желанием быть в этой сфере – это уровень дохода.
Дисциплина
Этот пункт перекликается со многими предыдущими, но требует отдельного упоминания. Большинство известных IT-специалистов стали таковыми благодаря этому качеству. Самодисциплина определяет, насколько эффективно вы распоряжаетесь своим временем, сможете ли расставить приоритеты в работе и как быстро будете развиваться в своей профессии.
Ответственность
Ещё одно качество, которое играет решающую роль в вашем продвижении по карьерной лестнице. Растёт масштаб проектов – растёте вы, а значит, вам придется принимать больше самостоятельных решений и нести за них ответственность.
Взаимодействие с коллегами
Думали, что программист – это профессия одиночки? А вот и нет. Гораздо проще развиваться, имея наставника или коллегу под рукой, который обладает большим опытом, может помочь и направить вас. В компании, понятное дело, этот вопрос легко решается. Но что делать, если вы фрилансер? Про сообщества программистов, в которых вы можете общаться на профессиональные темы, у нас была отдельная статья здесь. И учтите, что самостоятельно прокладывать путь, не обращаясь к помощи коллег, не только не эффективно, но и слегка глупо.
6 причин не быть программистом
Меняются времена, меняется мода на профессии. Если раньше все хотели стать бизнесменами в малиновых пиджаках, то теперь все стремятся быть программистами. Но всем ли подходит эта деятельность?
Каждый человек, который собирается посвятить свою жизнь программированию, видит перед собой приятные бонусы, которые приносит эта замечательная профессия. Но недостатки и проблемы этого занятия очень часто остаются в тени. Поэтому мы решили вас познакомить с небольшим списком признаков, по которым вы сможете понять, что программирование — это не ваше.
1. Вы не любите творчество
Многим кажется, что программирование — это математически точная наука, подчиняющаяся некому своду правил, которые просто достаточно хорошо выучить. Отчасти это так, но только отчасти. На самом деле от вас потребуется огромная способность к творчеству, смелость и дух экспериментаторства. Новый проект представляет собой чистый холст, на котором вы с помощью команд создаёте рисунок будущей программы. Процесс программирования потребует от вас больше творческих усилий, чем написание картины или романа, так что будьте к этому готовы.
2. Вы работаете из-под палки
Работа над программой является творческим процессом, а любой творческий процесс требует увлечённости и вовлечённости участников. Вы будете обязаны полюбить своё рабочее место, полюбить программирование и каждый текущий проект, иначе рискуете так и не добиться никаких успехов.
Если вы просыпаетесь утром и не чувствуете жгучего желания сразу же начать кодить, то, возможно, программирование не для вас.
3. Вы не любите решать головоломки
Несмотря на все слова о творчестве, которые вы прочитали немного выше, программирование является глубоко логичным и структурированным действием. Здесь каждый ваш шаг будет приводить к цепочке последующих, а каждое событие будет иметь свою причину. Процесс отладки программы похож на решение сложнейшей логической задачи, при котором вам придётся превратиться в настоящего детектива, скрупулезно ищущего причины того или иного бага. Огромную часть своего времени вы будете посвящать именно поиску ошибок в дебрях своего и чужого кода. Подумайте хорошо, соответствуют ли такие занятия вашим устремлениям и наклонностям.
4. Вы не можете сидеть долго на одном месте
Процесс программирования подразумевает, что вы должны длительное время сидеть перед компьютером. Вы можете менять позу, можете менять окружение или звуковой фон, но суть остаётся: вы привязаны к своему рабочему месту. Это подходит далеко не всем натурам, есть такие непоседы, которым постоянно нужны перемены и движение. Поэтому хорошо подумайте, соответствует ли такой образ жизни вашему складу характера и привычкам.
5. Вы цените нормированный рабочий день
Независимо от того, работаете ли вы на себя или в какой-нибудь компании, скорее всего, вам придётся частенько работать после окончания рабочего дня и, может быть, даже по ночам. Дело в том, что, несмотря на все усилия по планированию и организации, этот процесс трудно поддаётся полному упорядочиванию из-за постоянно возникающих новых обстоятельств и проблем. Так что приготовьтесь к тому, что вам придётся пересмотреть свой распорядок дня и отношение к работе.
6. Вы хотите быстро разбогатеть
Это один из самых главных факторов, который привлекает людей в программировании. Да, если сравнивать уровень дохода людей, занятых в этой отрасли, с другими, то он несколько выше средней температуры по больнице. Но если вы мечтаете о быстрых и больших деньгах, то вас может ожидать большое разочарование. Далеко не все программисты придумывают успешные стартапы, за одну ночь воплощают свою идею в коде, а утром просыпаются миллионерами.
Абсолютное большинство кодеров так и остаются безвестными тружениками, просаживающими своё здоровье перед мониторами и получающими за это не такое уж и большое вознаграждение.
При написании этой статьи я вовсе не ставил себе цель очернить или каким-либо образом принизить профессию программиста. Просто каждый раз, выбирая себе новую профессию, необходимо учитывать, что она может иметь не только парадную сторону, но и негативные аспекты, которые в дальнейшем способны изрядно подпортить вам жизнь.
- https://disshelp.ru/blog/professiya-programmista-tak-li-ona-slozhna-na-pervyj-vzglyad/
- https://habr.com/ru/post/452902/
- https://Lifehacker.ru/chto-meshaet-stat-programmistom/
- https://journal.tinkoff.ru/become-frontend-developer/
- https://wayup.in/blog/slozhno-li-byt-programmistom
- https://Lifehacker.ru/6-prichin-ne-byt-programmistom/