Содержание

Как найти свою первую работу программистом? От резюме до испытательного срока / Блог компании Mail.ru Group / Хабр

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

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

Итак, как же новичку получить первую работу?


Оно должно как-то называться. Существуют два варианта.
  1. Допустим, вы программировали на разных языках. В школе наверняка писали на Pascal, а потом что-то делали на C++. Если вы постарше, то, возможно, знакомы с Delphi. Поэтому в названии резюме можно указать все языки, на которых вы писали. Авось какой-то заинтересует потенциального работодателя. Например, так:
    «Программист: delphi, python, php, html, java, c#, ruby, scala»
    .
  2. Можно указать, что вы специализируетесь на чём-то одном, например на Python. Обычно, если в названии резюме перечислена куча языков, то понятно, что вы не умеете ничего. Всего коснулись поверхностно. В глазах работодателя вы будете человеком-оркестром, который пришёл на прослушивание в консерваторию. Не надо так делать. Зачёркиваем длинную простыню и оставляем просто «Программист на Python». Повышайте свою самооценку, не акцентируйте в резюме неуверенность в себе, связанную с нехваткой опыта.

Из этого следует правило: выберите один язык программирования и специализируйтесь на нём. В университете я писал на С++, потом понял, что связанные с ним вакансии меня не очень прельщают, поэтому надо двигаться в другом направлении. Я выбрал для себя C# и Java. Мне они оба очень понравились, и я долго не мог определиться, какой мне больше по душе: тут есть такая-то фича, здесь такая, казалось бы, одинаковые. Я купил две здоровенные толстые книжки — по C# Эндрю Троелсена и по Java Брюса Эккеля. На каждую я потратил по две недели и начал откликаться на вакансии по обоим языкам. Думал, куда раньше возьмут — в тот язык и буду углубляться. Сейчас я понимаю, что переложил ответственность за выбор языка с себя на мироздание, на судьбу, на работодателя.

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

Какой язык лучше всего указать в резюме? Языков много, но они очень часто друг друга взаимозаменяют. Не все из них живые. Основное правило — выбирайте популярные языки, не надо брать экзотику. Не нужно слушать, что какой-то Haskel очень крутой, классный, умеет делать всё и вся, а функциональные языки программирования такие волшебные… Каждый хвалит свой язык.


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

Так что при выборе языка обращайте внимание:

  • на его популярность;
  • на решение задач, которые вам интересны;
  • на простоту освоения: на начальном этапе лучше выбрать попроще.

Сейчас по количеству вакансий наиболее востребованы следующие языки: Javascript, PHP, Java, C++, Python, C#, Ruby, Swift, Objective-C. Выбрав какой-то язык, скорее всего, вы на нём и остановитесь. Может быть, через два года разочаруетесь или решите перепрофилироваться. Но это будет немножко больно. С другой стороны, свой опыт вы сможете легко применить в другой сфере деятельности.
  • Если речь пойдёт про frontend — то есть разработку визуальной части сайтов, — то здесь всё просто, нужны три языка: HTML, CSS, JavaScript.
  • А вот для разработки серверной части вариантов много. Самый популярный язык — РНР. Мне на каждом докладе говорят, что про РНР плохо отзываются, какой-то он не такой. Многие высказывают гипотезы, что он умрёт. Но ничего подобного, половина сайтов написана на РНР, половина вакансий — на РНР, ВКонтакте — на РНР, как и многие другие крупнейшие проекты. Никуда язык не денется. Если в нём будут критические проблемы, то их просто исправят. Появился Ruby on Rails, классный движок — ну, ничего страшного, на РНР стали появляться фреймворки, в которые внедрили аналогичные фичи. Всё хорошо. Отдельно скажу, что Python многих прельщает простотой и универсальностью.
  • С точки зрения мобильной разработки есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
  • Разработка под desktop и серверы: Python, Javaб С++ или C#. Здесь есть простор для метаний. Python попроще, чем остальные. На Java можно писать под Android. На C# — углубляться в разработку игр и сайтов. C++ больше подходит для тех задач, где требуется высокая скорость работы. В остальном у них возможности совпадают, просто на Java сайты пишут реже.

Возникает резонный вопрос: если начинаешь с нуля, то имеет ли смысл изучать сразу новый язык? Например, в Apple перешли с Objectivе-C на Swift, потом появился Swift 2 и 3. Обычно я консервативен и считаю, что новое не всегда оправданно и действительно выстреливает. Появляется новый язык, по нему нет вакансий, но где гарантия, что они появятся потом? Может, на нём так и напишут с пяток проектов.

Что касается Objectivе-С и Swift, я давно присматриваю за этими языками, и буквально на днях количество вакансий на Swift сравнялось с Objective-C. Мое мнение, это очень серьезный показатель, что Swift будет только набирать обороты и со временем может вытеснить Objective-C.


Итак, мы выбрали язык и указали его в резюме. Далее перечисляем технологии, которые мы знаем. Давайте снова разбираться, что круче. Допустим, вы программируете на PHP. Имеет ли смысл писать, что вы знаете С, С++, Pascal, C# и так далее? Не надо перечислять все технологии, которые напрямую не относятся к вашей компетенции. Надо назвать вакансию «программист: РНР». В таком случае работодателю неинтересно, что вы когда-то писали на С и Visual Basic. Весь этот длинный хвост можете не указывать.

Есть и другой вариант. Допустим, я программист на РНР, но знаю все эти технологии, потому что они относятся к веб-разработке: и РНР, и YII2, и HTML, разные фреймворки. Если будете искать вакансию веб-разработчика, то наверняка увидите здоровенную простыню дополнительных требований с кучей умных слов. И многие этого пугаются, особенно в веб-разработке, страшно, что надо столько знать… К этому надо стремиться: знать Webpack, работать с разными БД и так далее.

Многие для повышения авторитета сразу пишут, что я и это знаю, и это примерно знаю, но я новичок и готов получать пока 15—30 тысяч, и опыта работы у меня нет. Какое будет впечатление у работодателя? То же самое: человек-оркестр.

Есть и другая проблема. Допустим, работодатель поверит, что вы всё это знаете. Он же на собеседование придёт с этим списком, ткнёт в любую технологию и скажет: «Теперь мы говорим про React, что ты знаешь про него? А это что? А это? Ясно, React мы не знаем».

Вычёркиваем.

«Хорошо, поговорим про MySQL, напиши мне транзакцию, которая делает то-то и то-то».
«Ну, я в MySQL установил только среду разработки, два select-а сделал…»

MySQL тоже вычеркиваем. Всё остальное он даже смотреть не будет. Работодателю уже будет неинтересно, что вы полгода жарили РНР: он поймал вас на вранье. Так что зачеркиваем всё перечисленное.

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

Более того, даже не пытайтесь ознакомиться со всеми этими многочисленными технологиями. Если вы РНР-программист — так и напишите, что знаете РНР и немного HTML и CSS для верстки. Ещё знакомы с одним фреймворком — всё, работодателя это устроит. Он не будет вас гонять по YII, поскольку вы и не указали, что знаете его. Работодатель понимает, что вас можно гонять по РНР.

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


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

Когда я набирал в команду джуниоров по C#, мы опубликовали вакансию и в течение двух-трёх недель получили 50 откликов. У нас не было кадровика, поэтому мы пошли программерским путём: всем кандидатам выслали тестовое задание. Кто его сделал, проходил дальше. И мне как работодателю не были интересны сертификаты и диплом. Я даже на резюме не смотрел, пока человек не присылал мне решение тестового задания. Но для кадровика это может быть важно.


Очень важная вещь на этапе отбора. Если у вас есть портфолио, то работодатель-программист сможет понять, в состоянии ли вы решить задачу аналогичную той, которую вы уже решали.
Что можно написать в своём портфолио? Если вы хотите разрабатывать сайты, то просто придумайте себе задачку и решите её за необходимое время. Сделайте небольшой сайт и выложите его, лучше всего на Github. И напишите: я создал небольшой интернет-магазин, использовал такие-то технологии, вот код. Для работодателя это будет показателем, что вы ещё и про Git знаете. Он понимает: если я возьму этого новичка на работу, он мне за два дня сделает примерно то же самое, с чем сам разбирался месяц. И не надо будет ему платить за то, чтобы он выучил, что такое Bootstrap, познакомился со всякими нужными штуками. Он сам уже это изучил и теперь в состоянии решить задачу за пару дней. Поэтому не пренебрегайте портфолио. Вам оно очень сильно поможет.
Если он у вас есть, то опишите его. После этого вас будут отрывать с руками. После окончания университета я получил два отклика на своё резюме, а через год просто не знал, как его спрятать. Потому что всем нужны программисты, и кадровики видят: этого парня вытерпели год и не уволили, он не облажался, значит, толковый человек. Если я его возьму к себе на работу, то, скорее всего, я тоже смогу терпеть его как минимум год, его код не надо будет выбрасывать.
Резюме готово, что делать дальше? Прежде чем откликаться на вакансии, надо немного психологически настроиться, чтобы процесс пошёл правильно. Представьте свой идеальный рабочий день, что бы вам хотелось получить в итоге? Иначе мы просто будем белкой в колесе, станем бежать за какой-то мечтой, каким-то счастьем. Представьте, как выглядит ваш офис, ваши коллеги, какое у вас самоощущение, какими проектами вы занимаетесь. Просто настройтесь на то, какие эмоции вы будете испытывать, когда станете ходить на работу. Сделайте запрос мирозданию: «Хочу, чтобы было так, так и так». И успокойтесь, всё у вас будет хорошо.

Расскажу о том, как я устроился в компанию GeekBrains. В какой-то момент мне надоело программировать. Это классное занятие, я пять лет ему отдал, но меня не очень удовлетворяли цели компании, в которой я работал. Я подумал, что мне было бы интересно открыть свою школу и учить людей. Дать им возможность получить новую специальность, новую профессию. Потом я увидел вакансию и начал преподавать в GeekBrains, совмещая это с основной работой. Затем я просто попросился к ним на работу.

Так выглядел мой разговор с генеральным директором GeekBrains.

Гендир: «А что ты умеешь делать? Ты на C# программируешь, а мне нужен Ruby».
Я: «Я не хочу программировать, я умею то, умею сё».

Через две недели я вышел на работу.

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

Не расстраивайтесь, если вас не позвали на собеседование после того, как вы откликнулись на вакансию. На начальных позициях предложение сильно превышает спрос. Я сам допускал эту ошибку, находил одно предложение о работе и думал: блин, мне это подходит, тут и компания недалеко от моего метро, и требования несложные. Мне кажется, что я им классно подхожу, а они, заразы, даже не посмотрели моё резюме. Ну что такое? Наверное, во мне что-то не так. Или они прочитали, но ничего не написали. Всё, резюме плохое, надо дорабатывать портфолио, что-то ещё делать. А на самом деле, может, им просто некогда. Они уже давно взяли кого-то на работу и просто не стали снимать вакансию, потому что у новичка ещё не закончился испытательный срок.

Не парьтесь, ребята. Отправьте 100, 200, 300 откликов, сколько найдёте. И законом больших чисел вы сообщите мирозданию, что реально хотите работу. Вас пригласят на пять собеседований, на одном из них вы устроитесь на работу — всё. Если вам посылают тестовое задание, не пренебрегайте им. По моему опыту, 90 % кандидатов отваливаются, когда получают тестовое задание.


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

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


Друзья, и напоследок напутствие: не бойтесь экспериментировать. Ищите себя, находите то, чем вам нравится заниматься. Нет ничего хуже, чем десять лет просидеть на нелюбимой работе из страха, что не сможете устроиться на другую. Если вам нравится программировать — начинайте обучаться этому ремеслу, совмещайте учёбу с основной работой. Если хотите — приходите к нам в GeekBrains, и мы вам обязательно в этом поможем. Удачи вам, и до новых встреч!

Как программисту-новичку быстро найти работу | GeekBrains

Спойлер — если хотеть, то легко.

https://d2xzmw6cctk25h.cloudfront.net/post/645/og_cover_image/72cf330f3db24ad5846b81a6fcf714b5


Кадр из фильма «Кадры» 2013

Советы о том, как новичку подойти к поиску работы: где искать опыт, просматривают ли работодатели резюме на hh.ru и поможет ли ВКонтакте трудоустроиться.

Ищите опыт, а не оправдания

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

«Если у вас нет большого опыта работы, который вы могли бы предложить на рынке труда или вообще нет опыта работы, лучшим советом будет продумать стратегию достижения цели. В стратегию могут входить как собственные проекты, исследовательские работы, которые вы делали в рамках диплома и работа в рамках open-source проектов», — говорит Сергей Кучмий, Senior HR Manager Virtuozzo.

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

Стажируйтесь

«Компании-гиганты сами заинтересованы в талантливом молодняке с горящими глазами и открытыми сердцами», — говорит Марк Кандауров, ведущий it рекрутер Spice IT Recruitment. Поэтому, если у вас возникли трудности во время поиска и последующего устройства на стажировку, скорее всего, вам либо нужно дополнительно прокачать знания, либо изменить стратегию поиска.

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

Такая практика распространена практически в каждой крупной компании. Например, Virtuozzo тоже помогает начинающим программистам, особенно если речь идет о студентах. «На ФизТехе МФТИ есть наша базовая кафедра, она называется „кафедра теоретической и прикладной информатики“, в рамках которой, студенты выполнят задания менторов со стороны компании, ведут НИОКРы и т.д. На 4 – 5 курсе уже можно работать над решением конкретных прикладных задач», — говорит Сергей Кучмий.

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

Максимизируйте отдачу от резюме

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

Марк Кандауров выделяет такие правила работы со своим резюме:

  • Обязательно нужно прописать, что уже изучено, сделано и для каких целей может быть использовано. 
  • Понадобятся ссылки на примеры кода и свои проекты (for fun или даже учебные). 
  • Лучше делать резюме целевым, а не в стиле «готов работать за еду, изучал С++, Java, Python, PHP, Pascal, буду кодить на чем угодно, что угодно». 
  • Графу «О себе» советую трактовать как «Обо мне как о разработчике» и добавлять информацию о каких-либо профессиональных изысканиях или предпочтениях, а не о любви к нудистским пляжам. 
  • Готовое CV нужно разместить на hh.ru, superjob.ru, moikrug.ru и точечно откликаться на вакансии компаний с сопроводительным письмом под вакансию и компанию на 2-3 предложения.

И да, резюме просматривают. «Мы сейчас активно набираем программистов и тестировщиков, как опытных, так и молодых, и смотрим кандидатов на традиционных сайтах по поиску работы», — говорит Игорь Рыжов, со-основатель и ведущий разработчик NFWare.

См. также: «Грамотно составляем резюме», «Как программисту провалить собеседование».

Будьте настойчивы

«Когда я, будучи студентом университета, искал работу, я часто писал в интересующие компании напрямую, высылал резюме и позже связывался с ними по телефону. Это очень помогало мне быстрее получить ответ от HR и повышало мои шансы попасть на собеседование. Тогда меня пригласили на интересную стажировку, и потом я с успехом вошел в штат компании», — рассказывает Игорь Рыжов.

Активность полезна везде. «Есть высокая вероятность, если в группах соц. сетей и на форумах кинуть клич: «Кто хочет ко мне в команду на такие-то роли делать проект для портфолио?», он сработает, и при удачном стечении обстоятельств программиста заметят и предложат работу», — советует Марк Кандауров.

Не брезгуйте малым

«Не пренебрегайте работой в маленьких компаниях, зачастую там вы сможете приобрести необходимый опыт быстрее, чем в крупных. Не пренебрегайте работой фрилансером, ведь даже самый незначительный опыт лучше, чем его отсутствие. Также не завышайте зарплатные ожидания, оценивайте себя адекватно», — советует Светлана Петровичева, управляющий партнер Кадрового Центра «21 век»

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

К тому же, чтобы попасть в небольшую компанию, часто достаточно хорошо подготовиться к собеседованию: «Например, сделав запрос „interview questions for java“, вы получите примерные кейсы и ответы. Если фирма небольшая — скорее всего они не будут придумывать отдельно свои списки вопросов — часто их берут именно из интернета», — делится Светлана Петровичева. Но не стоит искать слишком легких путей, приобретайте мощный фундамент знаний и метьте туда, где сложно. Только так возможно развитие.

Прокачивайте профили в социальных сетях

«После того, как ваша профессиональная копилка наполнится не только знаниями, но и реальными проектами, которые вы сможете продемонстрировать работодателю, рекомендую оформить ваши профили в социальных сетях. По желанию, это профили ВКонтакте и Facebook, а в качестве must-have — LinkedIn, с последующем размещением примеров своего кода на портале GitHub», — советует Сергей Ельцов, сооснователь и технический директор IT-компании LiveTex.

Действительно, HR и работодатели нередко хантят именно из соц. сетей.

«Часто мы просматриваем наработки специалистов в github, но если у начинающего профессионала пока нет выполненных работ, мы рекомендуем писать больше о своих навыках в резюме. Если у вас есть свой блог на Хабре или вы активный пользователь соцсетей, то это сыграет вам на руку. Так работодатель сможет оценить ваш профессионализм и осведомленность о тенденциях рынка», — говорит Игорь Рыжов.

Конференции, митапы и мастер-классы

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

«Мероприятий под джуниоров очень мало, большинство, все-таки, для программистов сверхуровня. Для примера, куда можно сходить начинающему специалисту — HighLoad Junior или JPoint Student Day», — советует Марк Кандауров.


Начало карьеры: профессия «Веб-разработчик».

Инструкция для тех, кто хочет стать программистом с нуля

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

С чего начать

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

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

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

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

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

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

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

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

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

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

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

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

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

Последние шаги

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

8 советов начинающим программистам или ретроспектива моей карьеры / Хабр

Ровно 15 лет назад, в этот самый день, своими дрожащими коленками я переступил порог офиса небольшого провинциального интернет-провайдера. Моя первая настоящая работа в качестве программиста. Знаний почти нет. Тонкий испуганный голосок откуда-то из желудка советует развернуться и убежать подальше, пока окончательно не опозорился. Глубокий вдох-выдох, и вот генеральный директор уже ведет меня в небольшую комнатку-подвальчик, показывает на полуразобранный компьютер, видавший лучшие времена: «Это твое рабочее место. Устраивайся». Так началась моя карьера.

Но перенесемся в настоящее. Сейчас я пишу эти строки, сидя в удобном офисе престижного БЦ в центре Москвы. За плечами работа с крупными международными брендами и разработка сложных fintech приложений. Сотни книг прочитано и десятки статей написано. Мания величия давно вылечена. Менеджерские позиции опробованы и отвергнуты. Душевное равновесие найдено. Любовь к профессии сохранена. Однако это не статья из серии “Какой я молодец. Делай, как я и тоже будешь молодцом”. Эта статья о том, какие ошибки я совершал и что можно было сделать лучше. Эта статья — ретроспектива моей карьеры.

Меняйте компанию, если нет развития


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

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

Будьте программистом, а не кодером


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

К сожалению, нам очень редко ставят прозрачные и понятные задачи. Перед тем, как открыть IDE, я должен быть на 100% уверен, что понимаю проблему, которую собираюсь решать. Хорошим маркером тут является декомпозиция. Если я могу расписать решение по шагам и знаю, к какому результату приведет каждый шаг — только тогда я открываю редактор и пишу код.

Помните: ваша ценность как программиста не в элегантном коде с экзотическими паттернами от “Банды четырех“. Ни одна компания еще не добивалась успеха благодаря красоте кода (во всяком случае я таких примеров не припомню). Всегда держите в уме конечный результат.

Не бойтесь экспериментировать


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

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

Запускайте пет-проекты


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

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

Учитесь декомпозировать


У меня всегда были проблемы с внимательностью. Я допускал в коде очень глупые ошибки. Не потому что я что-то не понимал или не знал как сделать. Просто я был невнимателен. Боролся с этой проблемой разными скучными способами (например, следил за минутной стрелкой), но ничего не помогало. Естественно, после каждой такой ошибки моя самооценка резко падала. О каком развитии может идти речь, если самооценка на нуле?

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

Изучайте инструменты


Долгое время я пользовался IDE как обычным редактором кода с удобной навигацией. А еще у меня был начальник, который программировал исключительно в mcedit и часто театрально вопрошал: «Кто ты без своего IDE?». Или у меня 24/7 был открыт терминал, но я совсем не умел с ним работать. Я долго жил без статических анализаторов и стайл-фиксеров. Игнорировал горячие клавиши. И не видел в этом никакой проблемы.

Сейчас я подписан на все официальные youtube-каналы своих инструментов. Удивительно, сколько полезного можно из них узнать. Я внимательно смотрю за процессом работы своих коллег и часто перенимаю то, что показалось мне интересным. Также некоторые инструменты показывают нам всплывающие окошки, где рассказывают, как можно улучшить процесс взаимодействия. Не стоит этим пренебрегать.

Участвуйте в opensource


Opensource — это больно. Каждый ваш PR будет рассмотрен под микроскопом. Каждая переменная, каждый символ. Каждый тест будет подвергнут сомнению. И это не ваш тимлид, который: «а, ну ладно, давай так смержим». С этими людьми не договоришься, на них не пожалуешься, их не задавишь авторитетом. И они вам даже не платят. Примерно на двадцать пятом комментарии очень хочется послать все нафиг.

Терпите! Opensource — это отличная возможность прокачать свой скилл, работая с лучшими программистами мира (хотя тут зависит от проекта). Начните с малого. Выберите какой-нибудь несложный инструмент или библиотеку. Зайдите в раздел issues и посмотрите, что можно пофиксить. Надо сказать, что обычно на гитхабе полностью отсутствует токсичность. Если ваш ПР разнесут в клочья, то сделают это очень конструктивно. Во всяком случае, по моему опыту.

Верьте в себя


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

Есть один прием, который сейчас сильно помогает мне с такими задачами. Просто я всегда помню, что в итоге я справлюсь. Всегда справлялся. И всегда буду. Нужно просто сесть, поизучать, подумать, разложить по полочкам, задать правильные вопросы правильным людям. Главное, верить в себя и оставаться спокойным. Вообще, пожалуй, это самый главный совет, которым я и закончу статью. Keep calm and believe in yourself. Вы справитесь.

как стартовать и куда двигаться? / Хабр

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

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

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Этап I. Основы

Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.

Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.

Этап II. Hardware

Шаг 1

Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.

Шаг 2

Гук «Аппаратные интерфейсы ПК»

Гук «Интерфейсы устройств хранения»

Этап III. Операционные системы

Шаг 1

Таненбаум «Архитектура компьютера»

Шаг 2

Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.

Немет, Снайдер, Хейн «Руководство администратора Linux»

Этап IV. Собственно программирование

Шаг 1

Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.

Шаг 2

Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск

Бентли «Жемчужины программирования»

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

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

Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.

Буду крайне благодарна за ваши советы и уточнения.

С чего начать работу программистом?

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

В этой статье:


Что надо делать для работы программистом?

Сначала поговорим, о том, что надо делать тому, кто предпринимает первые шаги в программировании и планирует посвятить себя всего Великому и Ужасному Коду!

С чего начать работу программистом?

С чего начать работу программистом?

Совет 1. Непрерывно обучаться

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

  • Tproger – удобно, интересно, много новостей.
  • Ixbt.com – больше обзоров на IT-продукты, но есть и лента новостей, однако интерфейс скучноват.
  • Хабр – большой информационный коллективный блог, много связей с менеджментом и маркетингом в IT.

Не стоит забывать и о базовом образовании в вузах:

 

Совет 2. Читать тематическую и не только литературу

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

  • Джоэл Спольски «Джоэл о программировании» – сборник эссе автора, где раскрываются фундаментальные основы нелегкой жизни программиста. Написана понятных и легким слогом, очень уж было интересно почитать, как развивался всем уже давно известный Excel.
  • Алексей Бабий Цикл лекций «Культура программирования» – стартовое чтиво, чтобы иметь представление о работе программиста, об IT-сообществе и способах взаимодействия друг с другом внутри него.
  • Чед Фаулер «Программист-фанатик» – книга представляет собой узrопрофильное знание о методах, инструментах и технологиях в программировании. Но много всего и о психологии программирования, инсайдерская информация о жизни кодеров. 

Совет 3. Смотреть видео-уроки

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

  • Senior Software Vlogger – в формате влога, есть и обучающие материалы, и материалы в стиле lifestyle современного программиста. Очень много видео именно для новичков. 
  • Mackenzie Child – канал на английском, больше ориентирован на практику, как работать в какой-либо программе. Тем не менее, понятно, доступно и по делу. Нам уж очень зашло про дизайн сайтов и оформление. 
  • Ocode – хороший русскоязычный канал, с простыми видео-обучалками в духе «Как написать игру под IOS?», периодически миксуется с советами для программистов. 

Совет 4. Слушать тематические подкасты

Подкасты активно завоевали медийное пространство своей доступностью и интерактивностью. Расскажем и о них:

  • Завтра облачно от Mail.ru Cloud Solutions – не самым сложным языком представители разных бизнес-юнитов компании говорят об актуальных болях IT-сферы, наш любимый про существующие хакер-страшилки для бизнеса!
  • CTOcast – подкаст появился аж в 2013 году и представляет собой формат интервью с лучшими представителями IT-индустрии, они рассказываю о своем нелегком пути по стезе программирования. Помимо информации много мотивационных моментов.
  • Радио Т – разговоры обо все с приставкой «хай-тек», выходит еженедельно, один их самых основных и не устаревающих. Из последнего выпуска мы, например, узнали, чем Google обидел параноиков. 

Совет 5. Использовать биржи фриланса  

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

А вот несколько бирж фриланса:

 

Читайте также:

Работа в Интернете — быть или не быть фрилансером?

 Совет 6. Не забывать про английских язык 

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


Что НЕ надо делать для работы программистом?

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

Антисовет 1. Тешить себя доступностью профессии

Программист звучит гордо и привлекательно сейчас, профессия обещает нам высокий заработок, уйму креатива и относительный уровень личной свободы, фриланс в IT еще никто не отменял! Однако важно помнить, что овладение IT-профессией – это упорный труд, сразу стать ведущим разработчиком Гугла не каждый может. Старайтесь постепенно и разумно входить в профессию, не ожидая молниеносной отдачи. 

Антисовет 2. Заучивать бессмысленную теорию

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

Антисовет 3. Бросать начатое

Старайтесь быть неторопливым, если что-то в HTML показалось вам совсем легким – не перебрасывай все силы сразу на другой язык программирования. Больше практикуй и изучай все последовательно. 

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

FAQ начинающего программиста

Приветствуем вас!

Все, кто решились выбрать для себя путь программирования очень часто сталкиваются со стандартными вопросами: “С чего начать?”, “Что учить?”, “Сколько времени мне надо потратить на обучение, чтобы получить должность разработчика и зарабатывать N-ную сумму денег?” и т. д.

Мы решили собрать наиболее часто задаваемые вопросы (от англ. “Frequently Asked Questions” — F.A.Q.), которые интересуют будущих программистов, и дать на них максимально информативные ответы. Надеемся, что наша статья окажется для вас ценной находкой. 

 

Какой язык программирования выбрать?

Самыми легкими для изучения обычно называют такие языки программирования:

  • Python
  • JavaScript
  • Ruby
  • Java
  • C#

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

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

Если вам хочется создавать красивые и эффектные веб-страницы вместе с пользовательской логикой — выбирайте направление FrontEnd разработки и изучайте JavaScript + языки верстки HTML и CSS, а также смежные технологии.

Хотите создавать то, что находится “под капотом” веб-приложений? Тогда вам больше подойдет BackEnd разработка, которая представлена следующими языками: PHP, Java, C#, Python, JavaScript, Ruby и другими.

Хотите посвятить себя созданию мобильных приложений? Обратите внимание на C#/Java/Kotlin (для ОС Android), Objective-C/Swift (iOS).

Любите компьютерные игры и горите желанием их разрабатывать? Для более легковесных игр подойдет C# со средой разработки Unity либо язык Java, в то время, как создание серьезных игр невозможно без высокопроизводительного С++.

Программирование роботов и прочих устройств, в которых используются микроконтроллеры требует владения низкоуровневым языком программирования Assembler, а также C/C++.

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

Во-первых, потому что помимо самого языка необходимо знать еще целый стек вспомогательных технологий: сборщики проектов, пакетные менеджеры, системы управления базами данных и/или другие важные компоненты разработки ПО (для каждой специальности свой набор). Вы должны отдавать себе отчет касательно готовности освоения того или иного стека. Конкретный список технологий под каждую специальность можно найти в требованиях к вакансиям либо на различных ресурсах, которые специализируются на IT.  Как пример, в каталоге специальностей ITVDN вы сможете узнать о специфике работы порядка 20 IT-профессий.

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

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

 

Нужно ли высшее образование?

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

На деле в большинстве компаний диплом не требуют (он “для галочки”), а смотрят лишь на ваши профессиональные навыки и личные качества. Крупные компании, однако, очень часто поступают иначе — отказываются рассматривать кандидата без высшего образования (либо требуют, чтоб кандидат был в процессе получения соответствующего образования).

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

Если говорить о развитых странах, то там все серьезнее. Учеба в “вышке” тяжелее, к выпускникам ВУЗов относятся лучше и диплом действительно играет более значимую, нежели у нас, роль. Довольно часто иностранные компании вне зависимости от ваших навыков и опыта требуют диплом бакалавра либо, как минимум, чтоб вы на момент подачи резюме учились в ВУЗе и были на финишной прямой. Более того, диплом упрощает процесс получения рабочей визы, без которой вы не сможете легально работать программистом, например, в Чехии или США.

А вот на какие должности вас 100% не примут без диплома как в родной стране, так и в зарубежье — это руководящие позиции в IT. Их занимать имеет право только человек с полным высшим образованием.

Несмотря на все противоречивые моменты, университет — это неплохая школа жизни. Самое важное, что можно для себя вынести из ВУЗа — это связи. Вы можете заиметь хорошие знакомства и получить очень полезные советы касаемо вашего дальнейшего развития в IT буквально из первых уст. Идеальным вариантом будет отучиться 2 года на очной форме обучения, затем перейти на заочную и параллельно работать по специальности. Как итог — по окончании бакалавриата вы имеете и университетскую базу, и диплом, и опыт работы. 

 

Надо ли знать математику?

Если вы собираетесь реализовывать себя в научной области, либо в таких IT-сферах, как машинное и глубокое обучение, Data Science, Big Data, разработка искусственного интеллекта, то без высшей математики никак не обойтись. Это именно тот случай, когда необходимо по максимуму знать и применять математический аппарат для разработки сложных алгоритмов, а также систем, которые работают с огромными массивами данных.  

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

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

 

Сколько учиться на программиста?

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

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

Подробнее о том, как необходимо планировать самообучение вы можете прочесть в нашей статье “Онлайн обучение программированию: подводные камни и советы”.  

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

 

Как попасть на работу, не имея опыта?

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

Однако, в программировании есть и другие варианты поиска первой работы:

  1. Попасть на стажировку. Вы учите необходимые технологии и языки самостоятельно, а затем ищете вакансии, которые предусматривают данную форму занятости. Стажировка хороша тем, что она ориентирована на тех, кто хорошо владеет теорией, но не имеет практики. Во время ее прохождения вы учитесь применять ваши знания. Стажировка не всегда оплачивается, зато опыт, приобретенный во время ее прохождения — бесценен. Даже если вас не приняли на полноценную работу после стажировки, у вас уже будет минимальный набор профессиональных навыков и опыт, что даст фору перед другими новичками в дальнейших поисках работы. 
  2. Успешно пройти курсы от IT-компании по выбранной специальности и затем попасть к ним на стажировку. Многие компании набирают желающих и учат их “под себя”. Если вы демонстрируете хорошие показатели в ходе обучения и выполняете все домашние задания, проходите все тесты, успешно разрабатываете и защищаете свой курсовой проект, вам по завершении учебы предложат стажировку в этой компании. Это отличный вариант, поскольку вам дают актуальные знания, не учат лишнему и при этом вы обогащаетесь опытом. Единственный нюанс — чтобы попасть на такие курсы, необходимо пройти предварительное тестирование и последующее собеседование (техническое либо нетехническое). То есть, этот вариант предусматривает априорное владение изучаемыми на курсе технологиями на определенном уровне.
  3. Знакомства, они же связи (^^). За подробностями обращайтесь к вашим друзьям и знакомым.

 

Какие личные качества должны присутствовать у будущего программиста?

Стрессоустойчивость.

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

Коммуникабельность и умение работать в команде.

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

Умение всегда учиться

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

Математическое мышление и аналитический склад ума

Мы уже упоминали о мат. мышлении в разделе “Надо ли знать математику?”. Оно помогает быстрее и эффективнее решать программистские задачи. Аналитический склад ума позволяет смотреть на проблемы со всех ракурсов, выцепливая самые рациональные подходы. Без этих качеств программисту не обойтись. Да и по жизни такой способ восприятия и обработки информации явно будет не лишним.  

Упорство

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

Усидчивость и внимательность

В данном пункте обойдемся без комментариев.

 

Сколько денег можно получать, работая программистом?

Это зависит от опыта работы на позиции, а также от набора технологий, которые вы знаете и применяете на практике. Актуальную зарплату программистов можно узнать на сайте jobs.dou.ua (Украина), jobs.dev.by (Беларусь), itmozg.ru (Украина, Россия, Беларусь, Казахстан) или на Stack Overflow (все страны).

 

Насколько важно знать английский язык?

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

 

Итоги

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

Будьте здоровы и не останавливайтесь на пути к вашим целям!

Выбирайте ITVDN!

10 лучших проектов для начинающих программистов

MakeUseOf — Политика конфиденциальности

Мы уважаем вашу конфиденциальность и обязуемся защищать вашу конфиденциальность во время работы в сети на нашем сайт. Ниже раскрываются методы сбора и распространения информации для этой сети. сайт.

Последний раз политика конфиденциальности обновлялась 10 мая 2018 г.

Право собственности

MakeUseOf («Веб-сайт») принадлежит и управляется Valnet inc.(«Нас» или «мы»), корпорация зарегистрирован в соответствии с законодательством Канады, с головным офисом по адресу 7405 Transcanada Highway, Люкс 100, Сен-Лоран, Квебек h5T 1Z2.

Собранные персональные данные

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

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

Файлы журнала

Как и большинство стандартных серверов веб-сайтов, мы используем файлы журналов. Это включает интернет-протокол (IP) адреса, тип браузера, интернет-провайдер (ISP), страницы перехода / выхода, тип платформы, дата / время и количество кликов для анализа тенденций, администрирования сайта, отслеживания пользователей движение в совокупности и собирать широкую демографическую информацию для совокупного использования.

Файлы cookie

Файл cookie — это фрагмент данных, хранящийся на компьютере пользователя, связанный с информацией о пользователе. Мы и некоторые из наших деловых партнеров (например, рекламодатели) используем файлы cookie на нашем веб-сайте. Эти файлы cookie отслеживают использование сайта в целях безопасности, аналитики и целевой рекламы.

Мы используем следующие типы файлов cookie:

  • Основные файлы cookie: эти файлы cookie необходимы для работы нашего веб-сайта.
  • Функциональные cookie-файлы: эти cookie-файлы помогают нам запоминать выбор, который вы сделали на нашем веб-сайте, запоминать ваши предпочтения и персонализировать ваш опыт работы с сайтом.
  • Аналитические и рабочие файлы cookie: эти файлы cookie помогают нам собирать статистические и аналитические данные об использовании веб-сайта.
  • Файлы cookie социальных сетей: эти файлы cookie позволяют вам взаимодействовать с контентом на определенных платформах социальных сетей, например, «лайкать» наши статьи. В зависимости от ваших социальных сетей настройки, сеть социальных сетей будет записывать это и может отображать ваше имя или идентификатор в связи с этим действием.
  • Рекламные и таргетированные рекламные файлы cookie: эти файлы cookie отслеживают ваши привычки просмотра и местоположение, чтобы предоставить вам рекламу в соответствии с вашими интересами. См. Подробности в разделе «Рекламодатели» ниже.

Если вы хотите отключить файлы cookie, вы можете сделать это в настройках вашего браузера. Для получения дополнительной информации о файлах cookie и способах управления ими, см. http://www.allaboutcookies.org/.

Пиксельные теги

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

Рекламодатели

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

Рекламодатели, как сторонние поставщики, используют файлы cookie для сбора данных об использовании и демографических данных для показа рекламы на нашем сайте. Например, использование Google Файлы cookie DART позволяют показывать рекламу нашим пользователям на основе их посещения наших сайтов и других сайтов в Интернете. Пользователи могут отказаться от использования DART cookie, посетив политику конфиденциальности Google для рекламы и содержательной сети.

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

Мы используем следующих рекламодателей:

Ссылки на другие веб-сайты

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

Цель сбора данных

Мы используем информацию, которую собираем, чтобы:

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

Мы не продаем и не сдаем в аренду ваши личные данные третьим лицам. Однако наши партнеры, в том числе рекламные партнеры, может собирать данные об использовании вашего веб-сайта, как описано в настоящем документе. См. Подробности в разделе «Рекламодатели» выше.

Как хранятся ваши данные

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

IP-адрес и строковые данные пользовательского агента от всех посетителей хранятся во вращающихся файлах журнала на Amazon. сервера на срок до 7 дней. Все наши сотрудники, агенты и партнеры стремятся сохранить ваши данные конфиденциальны.

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

Согласие в соответствии с действующим законодательством

Если вы проживаете в Европейской экономической зоне («ЕЭЗ»), окно согласия появится, когда доступ к этому сайту.Если вы нажали «да», ваше согласие будет храниться на наших серверах в течение двенадцать (12) месяцев, и ваши данные будут обработаны в соответствии с настоящей политикой конфиденциальности. После двенадцати месяцев, вас снова попросят дать согласие.

Мы соблюдаем принципы прозрачности и согласия IAB Europe.

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

Безопасность данных

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

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

Доступ, изменение и удаление ваших данных

Вы имеете право запросить информацию о данных, которые у нас есть для вас, чтобы запросить исправление и / или удаление вашей личной информации. пожалуйста, свяжитесь с нами в [email protected] или по указанному выше почтовому адресу, внимание: Отдел соблюдения требований данных.

Возраст

Этот веб-сайт не предназначен для лиц младше 16 лет. Посещая этот веб-сайт. Вы настоящим гарантируете, что вам исполнилось 16 лет или вы посещаете Веб-сайт под присмотром родителей. надзор.

Заявление об отказе от ответственности

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

Уведомление об изменениях

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

Контактная информация

Если у пользователей есть какие-либо вопросы или предложения относительно нашей политики конфиденциальности, свяжитесь с нами по адресу [email protected] или по почте на указанный выше почтовый адрес, внимание: Департамент соответствия данных.

.

Как стать инженером-программистом в 2020 году (без диплома CS)

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

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

Согласно US News, средняя зарплата разработчиков программного обеспечения составляет 103 620 долларов в год, а уровень безработицы — 1.6%, что делает эту карьеру одной из самых прибыльных. Кроме того, эта профессия обеспечивает баланс работы и личной жизни выше среднего.

Более того, Бюро статистики труда прогнозирует, что в период с 2018 по 28 год темпы роста составят 21%. Между тем средний рост по всем профессиям составляет 5 процентов. Это означает 284 100 вакансий.

И знаете что? Несмотря на позитивный прогноз и изобилие возможностей, только 3% выпускников колледжей изучают информатику и информатику.Как вы можете видеть на изображении ниже, в 2020 году будет 1,4 миллиона вычислительных рабочих мест по сравнению с 400 000 студентов CS.

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

Хорошие новости: это вполне возможно! Это 11-шаговое руководство приоткроет завесу и покажет вам, как стать инженером-программистом без степени CS.Так что читайте дальше!

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


Что такое инженер-программист?

По определению, инженер-программист — это тот, кто пишет код программных продуктов (видеоигры, операционные системы, приложения, функции, роботы и т. Д.).

Есть ли разница между программистом и разработчиком программного обеспечения? На самом деле, нет.Эти термины в значительной степени взаимозаменяемы, и компании склонны рассматривать их как одно и то же. Когда вы ищете работу по разработке программного обеспечения, обязательно ищите и просматривайте объявления как «инженер-программист», так и «разработчик программного обеспечения», чтобы получить максимальные результаты.


Как стать инженером-программистом без высшего образования

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

Они будут менее полезны человеку, который:

Но все это отличные вещи, к которым нужно стремиться, и остальная часть блога также полна контента на эти темы!

Теперь давайте рассмотрим 11 шагов, как стать инженером-программистом.

Шаг № 1. Четко сформулируйте свою конечную цель в разработке программного обеспечения

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

  • «Я хочу работать разработчиком программного обеспечения в известной технологической компании».
  • «Я хочу работать в новом стартапе в качестве программиста в отрасли, которую я обожаю».
  • «Я хочу создавать что-то в команде и получать за это хорошие деньги».

Независимо от специфики вашей мечты, если вы хотите пройти через все 11 шагов, вы ДОЛЖНЫ быть привержены конечной цели — стать штатным инженером-программистом.Это то, что будет двигать вас вперед, когда дела идут плохо.

Шаг № 2: Выберите хороший язык разработки программного обеспечения , чтобы изучить

Поначалу многие люди застревают, решая, какой язык программирования (и фреймворк) им следует изучить. Рубин на рельсах? Python и Django? СРЕДНИЙ стек? Так много вариантов, так мало времени.

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

Если у вас есть прочный фундамент, вы можете легко перейти на новые языки, фреймворки и технологии. Как говорит соучредитель Flatiron School Ави Фломбаум: «Самый важный аспект в том, что вы учитесь мыслить как разработчик».

Начать кодирование сейчас

Хватит ждать и начать учиться! Получите мои 10 советов, как научиться программировать.

Успех! Теперь проверьте свою электронную почту, чтобы подтвердить подписку.

.

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

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