Какую it профессию выбрать

Содержание:

Про учёбу

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

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

Больше всего мне понравился блок, посвящённый автоматизации тестирования. По его завершении мне даже удалось монетизировать знания — немного заработать на фрилансе. Я увидел на YouDo задание: раз в два часа поднимать по 5–6 объявлений на разных сайтах. За пару часов я написал сценарий на Katalon Studio и отправил его работать на сервер заказчика. Так на автоматизации я заработал первую тысячу рублей.

Недавно я получил в GeekBrains сертификат по базам данных. Осталось пройти практику, но я не спешу: жду, когда появится более подходящий мне проект и преподаватель. Пока изучаю Python, PHP и HTML/CSS, чтобы уверенно чувствовать себя в вебе. 

Друг порекомендовал мне изучать PHP: там порог вхождения ниже, чем в других языках, а ещё он позволяет решать практические задачки. К совету друга, на мой взгляд, можно прислушиваться — два человека из трёх, которых он обучал, прокачали не только технические скилы, но и вышли на очень хорошую зарплату.

Как обычно проходит тестирование

Как правило, тестировщики начинают работать с программой сразу после начала проекта:

  • Составляют тест-план, где описан весь объём работ по тестированию и определено, когда их можно закончить. Это примерный документ — в процессе разработки в него не раз внесут изменения: уточнят стратегию и виды тестирования, расписание работ и так далее.
  • Разрабатывают тест-кейсы — перечень конкретных действий и сценарии для проверки каких-то определённых функций программы.
  • Решают, нужна ли автоматизация: стоит ли разрабатывать и запускать автоматические тесты или можно обойтись тестированием вручную.

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

Следующий этап — регрессионное тестирование. Тестировщики ищут баги в новых участках кода и в тех местах, где исправляли ранее найденные ошибки.

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

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

Шаг 4. Получите образование

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

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

В МГ, МГТУ им. Н.Э.Баумана и МФТИ есть бесплатные курсы от Mail.ru Group (Технотрек, Техносфера и Технопарк). Поступив на них, можно стать профессионалом и устроиться в компанию мечты.

На этом этапе изучить алгоритмов и структур данных. Воспользуйтесь следующим списком книг:

  • «Алгоритмы. Руководство по разработке», С. Скиена
  • «Алгоритмы» С. Дасгупта, Х. Пападимитриу, У. Вазирани
  • «Алгоритмы. Введение в разработку и анализ», А. Левитин

Рекомендации новичкам

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

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

При этом знать всё прописанное в резюме вы должны как минимум на уровне «понимаю, что это такое», но лучше — «пробовал (-а) и получил (-а) такие-то результаты» . 

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

Не бойтесь отказов. Если какая-то компания вам очень понравилась, можете спросить насчёт повторного интервью. Собеседование — это очень субъективная оценка кандидата, и отказ — не приговор. 

Повторю, главное — набраться смелости! Мне преподаватель курса говорила: «С таким опытом и знаниями можете искать вакансию мидла, а не джуна». Но я всё же пошёл с низов, потому что побоялся мало опыта в IT. Всем успехов!

Хотите узнать больше о выпускниках факультета тестирования ПО и профессии «Тестировщик ПО»? Вот их истории:

  • «Каждый день новые вакансии: позвонил в 50 мест за 5 дней». Альберт Гафаров — о том, что роднит работу в автосервисе и тестирование ПО, а также о поиске работы для новичка.
  • «Расти просто некуда. Ну кем я стану? Старшим водителем?». Сергей Сидоров — о суровой саратовской зиме, работе тестировщика и своей стажировке, найденной на GeekBrains.
  • «После 10 лет упёрся в карьерный потолок и поменял всё». Роман Халимов — о том, как начать новую жизнь в Москве после многолетней карьеры в Новосибирске.
  • «Стал „тестировщиком“ за два дня». Илья Рейзнер — о поиске работы, ожиданиях компаний, тестовых заданиях и профессиональном развитии QA-специалиста.

Как стать программистом Java

Программистом Java стать чуть сложнее, ведь вся разработка происходит в написании кода. И никакие визуальных компонентов для разработки нет. Для начала потребуется выучить Java Core (основные объекты которые предоставляет Java) и ознакомится с парадигмой программирования ООП. После того, как Java Core изучен на достаточном уровне и пришло понимание основных вещей (таких как массивы, списки, многопоточность и т. д.) — то этого вам пока все равно не достаточно, чтобы получить какую либо работу. Следует углубиться в знаниях и изучить работу с базами данных (sql, nosql), научиться самому создавать простейшую базу и писать запросы.

Чтобы стать полноценным разработчиком на Java, нужно так выучить трендовый фреймворк (предположим, Spring с использованием Springboot). Это позволяет ускорить разработку в несколько раз, да и сейчас, если честно, никто не пишет ничего на “чистой Java”, потому что это занимает достаточно много времени.

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

Навыки, необходимые программисту

Английский язык

Все чаще проектная документация ведется на английском языке или часть команды — иностранцы. Усовершенствуйте ваш английский язык, чтобы он позволил свободно общаться. Большинство работодателей ожидают знания этого языка как минимум на уровне B2, то есть на уровне бакалавра. Если вы знаете, что у вас проблемы со свободным использованием английского языка — обязательно заполните пробелы!

Коммуникация

Не только на английском

Для разработчика чрезвычайно важно хорошо общаться. И с командой, и с клиентом

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

Командная работа

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

Принятие критики

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

Организация работы

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

Внесите свой вклад в сообщество с открытым исходным кодом

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

«Когда вы вносите свой вклад в проект, обратите внимание на обратную связь, которую вы получаете от пользователей и других разработчиков», — добавил Техада

Когда вы отдаете что-либо обществу, убедитесь, что вы также пользуетесь возможностью получать в ответ!

«Признайте, насколько важно взаимодействовать с вашим профессиональным сообществом, но также долго и упорно думайте о том, какой вы хотите видеть свою роль в данном месте», — сказал Чарли Роббинс, директор по инженерным вопросам GoDaddy и бывший член совета директоров компании. Node.js Foundation

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

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

Где учиться на программиста

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

Вузы и колледжи

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

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

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

  • математику;
  • русский язык;
  • информатику или физику (в зависимости от выбранного факультета).

Обучение происходит по разным направлениям и специальностям. Учебные заведения готовят:

  • техников-программистов;
  • разработчиков ПО;
  • разработчиков web- и мультимедийных приложений;
  • специалистов по информатике и вычислительной технике;
  • специалистов по информационной безопасности;
  • техников по компьютерным сетям и других специалистов.

Поступать или нет? Решать вам:

Преимущества Недостатки
Возможность в процессе обучения попробовать разные направления и осознанно выбрать специализацию Долгий период обучения. Получение среднего специального образования займет 3 года, диплома бакалавра – 4 года
Фундаментальное образование и получение знаний в смежных областях, что дает возможность легко сменить квалификацию Учебные программы меняются медленно и отстают от последних тенденций
Крупные компании часто присматриваются к специалистам еще на этапе обучения Обучение проводится по не самым актуальным специальностям
Возможность поступить на бюджет и не оплачивать свое обучение

Онлайн курсы

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

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

Ресурсы, предлагающие бесплатные онлайн курсы по изучению Си++, Python; JavaScript и других языков:

  • Stepik.org;
  • Loftblog.ru;
  • Alison.com;
  • Edx.org.

Последние две площадки подойдут для англоговорящих пользователей.

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

Где их найти:

  • GeekBrains (gb.ru);
  • Skillbox.ru;
  • Practicum.yandex.ru;
  • Codecademy.com;
  • Udacity.com;
  • Teamtreehouse.com.

На трех последних площадках курсы ведутся на английском языке.

Рекомендации полезных ресурсов

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

  1. Англоязычный hackr.io предлагает удобный поиск с фильтрами по существующим курсам, обучающим сайтам, пособиям и книгам на компьютерную тематику.
  2. Электронные книги, туториалы и видео уроки выложены на tutorialspoint.com .
  3. w3schools.com будет интересен новичкам. Сайт предлагает посмотреть уроки по разным языкам программирования и проверить свои знания с помощью онлайн упражнений.
  4. Много англоязычных каналов по теме программирования можно найти на YouTube: LearnCode.academy, ProgrammingKnowledge, thenewboston, Derek Banas.
  5. Среди русскоговорящих видео блогеров известны Гоша Дударь и S0ER.

Станьте гуру в одной отрасли

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

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

Работодатели будут уважать вас больше, когда вы скажете:»Я не знаю о других вещах, но когда дело доходит до «XYZ», я всегда рядом, чтобы разложить для вас все по полочкам!»

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

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

Колледжи для программистов

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

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

Университетский колледж информационных технологий

Один из самых известных и уважаемых IT-колледжей — Московский государственный колледж информационных технологий — сейчас имеет новое название и входит в структуру Московского государственного университета технологий и управления им. Разумовского. Колледж готовит программистов, системных администраторов, системотехников, специалистов по информационной безопасности. Бесплатно здесь учатся только выпускники 9 класса, а для абитуриентов после 11 класса обучение платное. Во время учёбы студенты активно занимаются разработкой программного обеспечения. Ежегодно здесь проводятся выставки технического творчества, научно-практические конференции. Среди работ студентов — программные продукты: игровые и обучающие, выполненные в объектных средах, веб-разработки с использованием XML и Flash, радиотехнические модели.

Колледж информатики и программирования Финансового университета при Правительстве РФ

Флагманская специальность колледжа — «Программирование в компьютерных системах». Ежегодно сюда принимают 50 выпускников на базе 9 класса. После присоединения к Финуниверситету студенты колледжа получили возможность пользоваться всеми его ресурсами — от образовательных технологий до библиотечного фонда. Они также принимают участие в насыщенной студенческой и творческой жизни вуза. В колледже активно развивается студенческое самоуправление, проектная деятельность, студенты принимают участие в профессиональных конкурсах «World skills Russia», «IT-планета», организуют кампании по борьбе с курением и поздравительные концерты. Выпускники колледжа могут продолжить обучение в Финуниверситете по ускоренным программам, в том числе на бюджетной основе.

Колледж связи № 54

Ведущее учебное заведение в области телекоммуникаций — Колледж связи № 54 — приглашает абитуриентов после 9 и 11 классов поступить на специальность «Программирование». Почти все учебные классы колледжа оборудованы компьютерами и другими IT-устройствами; здесь работает практическая зона «Лаборатория Samsung», где студенты на практике закрепляют полученные навыки. Отдел содействия в трудоустройстве проводит консультации выпускников, ведет базу данных резюме студентов колледжа, организует ярмарки вакансий, дни карьеры, формирует банк вакансий. Все учащиеся проходят производственную практику в компаниях-партнерах колледжа с последующим трудоустройством. Среди партнеров — МГТС, Мослифт, Московский метрополитен, Почта России, мировые корпорации Siemens и Samsung, компании National Instruments и Huawei.

Колледж приборостроения и информационных технологий МИРЭА

Колледж является структурным подразделением профильного IT-вуза — МИРЭА. Здесь готовят техников-программистов и системотехников. На бюджетное отделение принимаются выпускники 9 класса, для них открыто 50 мест. По вступительному конкурсу колледж может посоперничать с самим МИРЭА — в 2015 году на каждое место претендовали 6,7 абитуриентов. Зачисленные продемонстрировали средний балл аттестата не ниже 4,1. Колледж сотрудничает с заводами «Салют», «Прибор», «Сапфир» и другими предприятиями оборонной промышленности, где студенты проходят практику и приходят на работу по окончании обучения. Большинство выпускников колледжа продолжают обучение в МИРЭА.

Законы Мерфи для программистов

  1. Ничто не работает так, как планировалось запрограммировать. 
  2. Ничто не программируется так, как должно работать.
  3. Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень ее выполнять.
  4. На решение проблемы уходит в три раза меньше времени, чем на обсуждение всех «за» и «против» ее решения.
  5. Обещанный срок сдачи — это аккуратно рассчитанная дата окончания проекта плюс шесть месяцев.
  6. Программисту всегда известна последовательность действий, которыми пользователь может повесить его программу, но он никогда не чинит эту проблему, надеясь на то, что никому никогда не придет в голову эту последовательность исполнять.
  7. Настоящие программисты любят Windows — все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.
  8. Следствие: 99 % проблем, сваливаемых на Microsoft, — это следствие тупости самих программистов.
  9. В приступе злости все почему-то молотят по невинному монитору, вместо системного блока.
  10. В случае голодовки настоящий программист еще месяц сможет питаться едой, выковырянной из-под кнопок клавиатуры.
  11. Настоящий программист уже как минимум поменял три залитых пивом клавиатуры.
  12. Все, кто испытывает проблемы с настройкой кодировки, автоматически считаются неандертальцами.
  13. Дилетантские разговоры о компьютерах вызывают резкую тошноту вплоть до приступов рвоты. Вопрос о том, как поменять обои в Windows, вызывает желание перерезать горло вопрошающему.
  14. У большинства людей, нуждающихся в твоей помощи, причина ошибки в работе программы чисто генетическая.
  15. HTML, HTTP, FTP, SMTP, TCP/IP, RTFM и т. д. — это слова, а не аббревиатуры.
  16. Словосочетание «мышка-норушка» не несет никакого смысла.
  17. Самые мистические проблемы, широко раздуваемые и афишируемые, в конце концов оказываются твоими глупейшими ошибками.
  18. Следствие: если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое.
  19. Самое плохое ощущение для программиста — когда вокруг тебя стоят десять человек, и все пытаются найти причину проблемы в твоей программе, а ты уже понял, в чем проблема, но боишься сказать, потому что это что-то вопиюще глупое…
  20. Решение всех жизненных проблем находится в Интернете. Надо только уметь хорошо искать.
  21. Конфликт логических указаний в жизни вызывает фатальную ошибку в работе мозга программиста — возможно повышение температуры и сильное головокружение вплоть до рвоты или потери сознания.
  22. Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирают программистов, которые презирают тех, кто их презирает.
  23. Если ты понял предыдущее — ты программист.

На этом свете 10 типов людей: те, кто понимает двоичную систему, и те, кто не понимает ее.

Узнайте больше о бизнес-стороне

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

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

«Поговорите со своими коллегами в бизнес-отделах и задайте жесткие деловые вопросы своим руководителям», — сказал Слоян.

«Например, если вы работаете на платформе онлайн-рекламы, основной технологией которой является персонализация рекламы, определение и внедрение инноваций в алгоритм релевантности рекламы сделает или сломает ваш бизнес».

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

Пробный период: программирование мое или не мое?

С чего начать? Некоторые профессии можно освоить быстро. Программирование не из их числа. Даже если вам хочется освоить это быстро, так не получится. Чтобы стать программистом, вам придется учиться как минимум несколько месяцев. В том числе, самостоятельно. С чего начать: мы советуем сначала попробовать понять, подходит вам профессия программиста или нет. Для этого можно использовать самые простые технологии из мира разработки и программирования, которые можно быстро освоить: HTML и CSS.

HTML и CSS — это еще не полноценные языки программирования. Скорее, это набор специальных команд. Они «показывают» браузеру, как должны выглядеть объекты на странице.

Объясняем:

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

Вот как выглядит тот же самый текст, если его немного причесать при помощи HTML:

В данном примере мы использовали несколько тегов:

< h1> — тег, который обозначает заголовок страницы.< b> — тег, который делает шрифт жирным.

Вот так выглядит эта страница, если открыть ее в блокноте, чтобы посмотреть, какие мы использовали теги:

Прежде чем стать начинающим программистом, попробуйте начать свое самостоятельное погружение в программирование с изучения HTML и CSS. По этим инструментам в интернете много бесплатных курсов. Освоить их сможет каждый. HTML и CSS можно изучить за несколько дней. Это поможет вам ответить на вопрос: «Подходит ли мне программирование?».

Специфика профессии

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

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

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

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

Пошаговое руководство: как стать программистом

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

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

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

Важный дисклеймер!

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

Как же оценить свои навыки и перспективы?

Математический склад ума — это основа

Умеете ли вы играть в шахматы? Если нет, хотели бы научиться? Любили ли вы в детстве собирать головоломки? Можете ли в уме перемножать двузначные цифры? Как насчет кубика Рубика? Пятерку по математике в школьном аттестате работодатель вряд ли будет искать, но если ее там нет, вероятно, программирование будет даваться вам чуть тяжелее, чем коллегам, с математическим складом ума, а это значит, чтобы добиться тех же результатов, вам придется трудиться усерднее и дольше.

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

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

Готовность к сложной умственной работе. Думаете, разгружать вагоны сложнее, чем работа программистом 1с? Это так, но качеству сна грузчика позавидует любой программист, потому что его мозг просто не может расслабиться в нерабочее время.
Известное исследование: во время шахматного матча на первенство мира ученые оценили расход калорий чемпионом мира Анатолием Карповым (игра в шахматы весьма схожа с написанием кода) и пришли к выводу, что на партию ему требуется столько же энергии, сколько и футболисту на один футбольный матч.
Мозг программистов на самом деле постоянно напряжен, и такая нагрузка может быть не под силу бывшим бухгалтерам, экономистам, охранникам, школьникам, которые привыкли списывать, а теперь вдохновились высокими зарплатами и радужными перспективами.

Цитаты про программистов

Когда кажется, что все уже работает, все объединено в систему — вам еще осталось работы на четыре месяца – Ч. Портман

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

Ошибка? Это не ошибка, это системная функция – Д. Уэнделл

Пользователь не знает, чего он хочет, пока не увидит то, что он получил – Э. Йодан

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

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

В любой программе есть ошибки – аксиома.

Законы Мерфи для программистов

Сложность программы растет до тех пор, пока не превысит способности программиста.

Чем больше программист делает ошибок, тем быстрее он делается учёным.

Если Вам удалось написать с первого раза программу, в которой интерпретатор не обнаружил ни одной ошибки, то обязательно сообщите об этом системному программисту. Он исправит ошибки в интерпретаторе.

Программист видит ошибки только в чужих программах.

Если написанная программа сработала правильно, то, скорее всего, программист не понял задание.

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

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

Если программа уже полностью отлажена, то ее нужно будет переделать.

Любая программа стремится занять всю доступную память.

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

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

Плохо спланированная программа требует в три раза больше времени, чем предполагалось; отлично спланированная — только в два.

Если программа полезна, то её обязательно придётся переделать.

В любой программе всегда есть ещё одна ошибка.

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

Если разработка идет хорошо — ждите серьёзных осложнений.

Если кажется, что хуже уже некуда, то вскоре выяснится, что это далеко не так.

Если вам непонятен термин в технической документации, то смело игнорируйте его, смысл от этого никак не пострадает.

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

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

Лучшие книги и средства обучения

  • «Искусство программирования», Дональд Кнут
  • «Жемчужины программирования», Джон Бентли
  • «Путь программиста», Джон Сонмез
  • «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин
  • «Алгоритмы. Построение и анализ», Томас Х. Кормен
  • «Сам себе программист. Как научиться программировать и устроиться в Ebay?», Кори Альтхофф
  • «Карьера программиста», Г. Лакман Макдауэлл
  • «Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин
  • «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие
  • «Совершенный код», Стив Макконнелл
  • «Кодеры за работой. Размышления о ремесле программиста», Питер Сейбел
  • «Мифический человеко-месяц», Фредерик Брукс
  • «Программист-прагматик. Путь от подмастерья к мастеру», Дейв Томас, Энди Хант
  • Codecademy — универсальная интерактивная платформа для обучения языкам программирования. Лычки, ачивки, геймификация — сплошная мотивация.
  • Udacity — англоязычный ресурс для обучения программированию.
  • Codewars — огромный сборник тестовых задач для тренировки навыков по любому языку программирования.
  • Coursera — без комментариев, просто лучшая лекционная «солянка».
  • MIT OpenCourseware — море курсов от Массачусетского технологического института.

неплохой обзор курсовогромная и свежая подборка

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector