Как найти свою первую работу программистом?
10 255 просмотров
Недавно мы с Алексеем Паршуковым, Unit Lead в SkyEng, ex-CTO DocDoc, проводили вебинар «Быстрый старт в Программировании с нуля» и обсудили различия в изучении языков программирования, суть профессии программиста, как устроиться на работу и какие бывают работодатели. Посмотреть вебинар вы можете по ссылке, а статью по нему прочитать прямо сейчас 🙂
Что такое работа программистом?
- Хорошие зарплаты
От 100 т.р. по регионам России, 250-300 т.р в Москве, за рубежом от 10 тысяч долларов.;
- Гибкий график
Разработчик — это преимущественно удаленная работа;
- Востребованность на международном рынке
Это одна из самых простых профессий для иммиграции.
Но не каждый человек может стать разработчиком, иначе все бы уже давно переквалифицировались в программистов. Тут всегда надо оставаться на линии. Нельзя освоить какую-то одну технологию, почитать книжку, пройти курс, в совершенстве изучить Python и потом 20 лет зарабатывать за счет этого. Отрасль и технологии развиваются настолько быстро, что подходы, фрэймворки, языки программирования, которые актуальны сегодня, через 4 года уже почти наверняка полностью сменятся, а если выпасть из профессии на год, то придется начинать практически с нуля.
И еще один недостаток, о котором мало кто говорит, — достаточно сильная дискриминация по возрасту. Если вы студент, то найти работу будет достаточно просто. Если вам 30-40 лет, то вам рады в любой технологической компании. Если вам чуть за 40, то уже будет сложнее. Но если вам за 50, то вы, скорее всего, работу нигде не найдете. Об этом стоит помнить, такое существует.
Как понять, подходит ли вам работа программистом?
Здесь не так важно, какое у вас образование, закончили ли вы институт по профессии. Главное, чтобы у вас была сильно развита усидчивость. Почему это так важно?
Представьте, что вам ставят задачу как разработчику, например, перенести в мобильном приложении кнопку с левой стороны экрана в правую, чтобы было удобно нажимать на нее большим пальцем. Вы садитесь и начинаете делать эту задачу. У вас уйдет немного времени на то, чтобы разобраться в приложении: где оно лежит, как оно собирается. Еще немного уйдет на то, чтобы изучить код, который программирует и выводит эту кнопку на экран. Совсем мало времени уйдет на то, чтобы внести изменения в этот код и сказать компилятору или мобильному телефону: «Пожалуйста, отобрази эту кнопку не слева, а справа».
Но дальше этот код, скорее всего, не заработает. И следующие несколько попыток он не заработает. Нужно будет прочитать тонну документации, чтобы разобраться, как работает отображение кнопок в Android или iOS. Придется попробовать 10 разных способов: найти какие-то воркэраунды, подпереть это все костылями, написать разработчику, посмотреть исходные коды Android и через 4-5 дней, в лучшем случае, а то и позже эта кнопка отобразится так, как вам нужно.
Из подобного состоит вся работа: каждый день, каждая задача. Каждая строчка кода, которую вы написали, с высокой долей вероятности либо не заработает, либо заработает не так, как вам хочется, и не будет очевидных причин, почему она не работает. Безумное количество времени уходит на то, чтобы разобраться в том, что же там происходит, и как заставить эту штуку выполнять то, что вам хочется.
И финальный результат, в котором все заработало, должен приносить вам много радости. Это основной мотиватор разработчика, который его заставляет изо дня в день ходить на работу и что-то делать. Усидчивость позволит вам не сломаться, не отказаться, не передумать, не отвлечься на кофе и соцсети, а часами напролет сидеть и думать, почему эта штука не работает и как заставить ее работать.
Какие бывают работодатели?
Фриланс
Как правило, это небольшие задания за небольшие деньги. Их можно достаточно быстро сделать. Они размещаются на биржах фриланса. Основная биржа в России — freelance.ru. Основная международная — upwork.com.
Биржи подходят для того, чтобы взять какие-то практические задачи, которые приносят какую-то пользу, например, заработать свои первые деньги. Это достаточно просто. Никто не будет читать ваше резюме, проверять, есть ли у вас реальный опыт, сможете ли вы затащить эту задачу или нет. Это хорошее место, чтобы набить руку и начать что-то программировать, зарабатывая на этом деньги. Теоретически, есть люди, которые занимаются этим всю жизнь и зарабатывают там денег намного больше, чем у работодателя.
Но есть и минусы. Основной состоит в том, что это больше походит на создание своего бизнеса, нежели на работу программиста, так как вы тратите много времени на поиск заказов, коммуникацию с заказчиком, эффективное выстраивание процессов, а на разработку уходит не так уж много времени. И, как правило, продукты, по которым даются задания на биржах, используют довольно специфический стек технологий. Например, много заданий будет связано с изменениями в движок блогов WordPress. Он редко используется в продуктовой разработке, еще реже — в компаниях, но на фрилансе будет миллион задач на эту тему: поправить какой-нибудь лендос, переместить картинку, запилить плагин. Этот опыт и эти технологии в работе на работодателя слабо применимы. На фрилансе сложно чему-то научиться, потому что нет команды. Нет людей, с которыми вы взаимодействуете, у которых можно что-то почерпнуть, которые могут проверить вашу работу и поделиться опытом. Поэтому, фриланс хорошо подходит для старта, но не для профессиональной работы.
Студии/Интеграторы/Аутсорсеры
Это достаточно разные компании, деятельность которых сильно различается. Есть как маленькие, так и большие игроки, но, как правило, у них общие плюсы и минусы.
- Большой поток совершенно разных проектов
Вы не засыпаете в какой-то рутине какого-либо конкретного проекта. Это разные проекты, они постоянно меняются, у вас есть возможность постоянно учиться чему-то новому;
- У большинства этих компаний выстроены достаточно четкие процессы
У них есть алгоритмы по работе с документацией, выстроен процесс разработки, взаимодействия с заказчиком, они хорошо работают с оценками, умеют считать экономику, потому что это их профессиональная деятельность.
- Высокий уровень
У них можно хорошо научиться разрабатывать программное обеспечение.
- Не все компании классные
У топовых компаний действительно все хорошо. У них все отлично выстроено, есть деньги, заказчики и интересные проекты. Но существует много нишевых компаний с небольшим штатом в 5-10 человек, в которых не такие отлаженные процессы, но зато в эти компании легко можно устроиться и научиться чему-нибудь полезному. Можно научиться разрабатывать программное обеспечение, поработав с ними полгода, и перейти в другую компанию на более высокооплачиваемое место.
Заказчик, как правило, знает что ему надо. У него есть дизайн, есть четко прописанное задание, он часто приходит со своими технологиями. И несмотря на то, что вам кажется, что лучше будет сделать иначе, обычно, такие вопросы не обсуждаются.
Для того, чтобы попасть в эти компании, нужно знать прикладные языки программирования. Например, PHP, Python, Java, Javascript.
Это хорошее место для начала карьеры.
Стартапы/Небольшие компании
Таких компаний сотни. Каждый день открывается десяток новых, но девять из них обязательно закроется.
Есть масса преимуществ, почему стоит попробовать работать в стартапе:
- Это очень драйвово и весело;
- Проще всего заработать действительно большие деньги.
На ранних этапах, зачастую, учредитель активно делится своими акциями, особенно, если стартап взлетит и будет быстро расти, то вы очень скоро станете миллионером;
- В проектах нет Legacy, нет старого кода, от которого хочется плакать
- Большое количество свободы
Есть возможность выбирать технологии и программировать так, как нравится вам. Вы можете сильно влиять на продукт.
Но есть и минусы:
- 9 из 10 компаний закрываются
Многие из них закроются ещё в течение первого года, так и не запустив продукт;
- Слабая возможность обучения
Как правило, в эти компании приходят не самые лучшие специалисты, не всегда там будет чему научиться;
- Непредсказуемость
Зачастую, финансовый поток у этих компаний нестабилен. Вы можете проработать какое-то время на такую компанию, и вам не выплатят зарплату за два месяца.
На самом деле, веселье перевешивает все эти минусы. Но идти в такую компанию без опыта будет не лучшим решением. Уровень стресса будет очень высоким, а уровня практических знаний, скорее всего, не хватит, чтобы затащить проект.
Банки/Энтерпрайз
- Стабильность;
- Хорошая зарплата;
- Низкий уровень ответственности
Никто не будет просить вас перерабатывать и отвечать за что-то крупное. Любая большая энтерпрайз компания — это мастер по размазыванию ответственности между кучей менеджеров.
- Очень низкая скорость работы
Вы можете год или два пилить фичу, так ее и не выпустив, потому что за это время она потеряет свою актуальность. Зарплату, конечно залпатят, но эта штука очень демотивирует;
- Специфический опыт
Как правило, это какой-то свой банковский софт. В основном, это старый код, в котором не очень приятно и не очень интересно работать;
- Сменить сферу деятельности здесь будет довольно сложно
В первую очередь, потому что вы потеряете в зарплате. В Сбербанке они всегда выше, чем в Яндексе.
Отличный вариант для первого места работы, если вы попадете на место стажера. В крупной компании на стажировке можно получить много полезной информации прикладного характера в сжатые сроки: о том, как разрабатывается ПО, какие нужно использовать инструменты. Этот опыт, в любом случае, будет релевантен.
Продуктовые компании
- Актуальные технологии;
- Отлаженные процессы;
- Команда профессионалов;
- Высокий уровень стабильности.
- Сложно заработать действительно большие деньги;
- Сложно устроиться на работу;
- Огромное количество инструментов, с которыми придется разбираться.
У каждой компании этот набор инструментов свой, и данный опыт будет не слишком релевантен для рынка и для перехода на другое место.
Как выбрать язык?
Зависит от того, чем вы хотите заниматься и в какую компанию хотите пойти.
PHP, например, очень популярный язык. Он используется в куче российских и зарубежных компаний, в том же Facebook. Но нет никакого смысла учить PHP, чтобы устроиться в Twitter, потому что он там не используется. Если вы хотите в Яндекс, надо учить Python или Java. Переучиваться с PHP на Java очень непростой процесс.
Лучше всего сразу определить для себя 2-3 компании, в которых вы бы хотели работать. Узнать, какие они используют языки программирования и изучать их. Либо, отталкиваться от понравившегося языка и затем искать компании, которые его используют.
Какие бывают разработчики?
Backend
Это код, который выполняется на сервере. Бэкендер, как правило, общается с базой данных, с внешними сервисами и отвечает за бизнес логику. Например, позволяет осуществить регистрацию пользователя, сохранить его в базе, списать у него деньги, отправить ему какое-нибудь уведомление или смс.
Типичные языки: PHP или Python, а так же менее распространенный Ruby.
Frontend
Это то, что вы видите, когда заходите на сайт. Это кусок из верстки. Верстка, как правило, делается на языке разметки HTML, который говорит, как контент отображается на странице, каким цветом он будет показываться. Javascript отвечает за то, как эта страничка будет себя вести, как она будет анимирована, куда отправится форма, какая ошибка будет выведена клиенту, если телефон введен неверно. Эти знания нужны почти каждому программисту. Практически не бывает таких областей, где вам не придется сталкиваться с версткой. Этот язык очень хорош для старта, потому что куда бы вы ни переметнулись, он будет везде востребован.
Fullstack
Это разработчик, который умеет делать и фронтенд, и бэкенд. Он один может напилить и на стороне сервера, и на стороне клиента, заставить все это вместе работать, заставить работать проект без какой-либо помощи. Это высший пилотаж. Такие разработчики, обычно, зарабатывают в полтора раза больше.
Мобильная разработка
По сути, это тот же фронтенд, но здесь используются другие языки. Здесь нет смысла вникать в языки программирования, которые использовались 5 лет назад, такие как Objective-C и Java. Сейчас используются Swift и Kotlin. Все новые приложения пишутся именно на этих языках, а старые под них переписываются.
GameDev
Это отдельная сфера. Здесь, как правило, используется C++ и специальные библиотеки, такие как Unity и т.п. Разработчик, который умеет делать мобильное приложение на Kotlin, не сможет написать игру, потому что используется совершенно другой стек, совершенно другие технологии.
Desktop
Это то, что нативно запускается у вас на компьютере. Например, браузер, Word и т.д. Чаще всего используется C++, С#. Мощные приложения пишут на C++. Иногда десктопные приложения пишут на Delphi, потому что это намного проще и дешевле.
1С
Это самый популярный продукт в России. Он используется, так или иначе, в любой российской компании. Его главный минус в том, что кроме России он нигде не используется. Он очень узкий, из 1С очень сложно уйти, но вакансий очень много и они неплохо оплачиваются.
DevOps
Это системные инженеры, которые настраивают компьютеры. Сейчас компьютеров нужно много, продукты сложные. Facebook, например, использует десятки тысяч серверов и для того, чтобы их было проще администрировать, чтобы код быстрее закатывался с компьютеров разработчиков в продуктивную среду и быстрее докатывался пользователям, нужны инженеры, которые умеют это дело преобразовывать, автоматизировать, автоматически вводить в строй десятки тысяч серверов. Они делают это при помощи программных инструментов. Самый востребованный язык в этой сфере Python и Bash. Изучение питона любым системным администратором поднимет его зарплату минимум в полтора-два раза.
AI/ML/BigData/Криптовалюты
Чаще всего разработчики этих сфер используют все те же самые языки. ML и анализ данных это в основном Python и иногда чуть-чуть Java. Криптовалюты используют C++. Здесь особенность в том, что требуется хорошее знание математики и глубокое знание прикладных инструментов. Обычный разработчик на питоне вряд ли сможет за неделю переквалифицироваться в разработчика ИИ, так как потребуется более глубокое погружение.
Как не нужно выбирать язык и направление?
- Не ориентироваться на зарплаты
Согласно исследованиям опубликованным на Habr, самым высокооплачиваемым языком является Eclipse. Это довольно модный, молодежный, позитивный и современный язык. Но что случится, если вы сегодня начнете его учить? Сейчас на hh.ru всего 11 опубликованных вакансий. И даже если вы зайдете на место с высокой зарплатой, это не значит, что через несколько лет он будет все также актуален. В таком случае можно оказаться невостребованным, а переключение с одного языка на другой — достаточно сложная история;
- Не стоит выбирать модные, экзотичные, ограниченные или вымирающие языки
На экзотичные языки (Scala, Eclipse) очень мало вакансий и, как правило, они все для опытных разработчиков. Устаревшие языки обычно дают в институте/школе, например, Pascal. У них нет никакого прикладного применения, они не востребованы на рынке. Как и не стоит начинать с 1С из-за его ограниченности.
- Не стоит начинать со сложных языков
Не лучшим решением будет начать с С/С++. В интернете есть даже такой мем: изучить С++ за 40 дней. Это сложный в освоении язык. Необходимо потратить много времени, чтобы у вас начало что-то получаться и вас стали ценить на рынке. Если вы собираетесь идти в геймдев, то альтернативы никакой нет, придется учить С++. Но, например, в Яндекс можно попасть Java и Python разработчиком.
Хорошие языки для старта
Они просты в освоении. На них проще всего почувствовать нравится ли и подходит ли вам программирование. Знания этих языков будут полезны вам в любой выбранной далее области;
Тоже просты в освоении. Очень много вакансий с позицией junior. И с течением времени, вы сможете использовать эти знания при переходе на более крутые позиции. Можно сделать карьеру разработчика от junior до senior за 2-3 года, достигнув высоких показателей по зарплате;
Если вам нужна стабильная высокооплачиваемая работа в банке или энтерпрайс компании, то это лучшие языки для старта. Java является очень популярным языком на протяжении последних 20 лет и, скорее всего, в ближайшие 20 лет он так и останется самым популярным языком на рынке.
С чего проще начать?
Сделайте свою HTML-страничку.
Попробуйте подключить 1-2 строчки JavaScript, поймите что такое циклы, условия.
Прочитайте книгу по любому языку программирования для чайников. В свое время была очень популярна книга «PHP для чайников». С нее многие начинали и искали свою первую работу после прочтения.
Пройдите курсы. Курсы полезны с точки зрения практического опыта.
В идеале, пройдите стажировку. Она даст вам много полезного практического опыта, после чего можно будет найти работу в каком-то другом месте, даже если вас не трудоустроят по месту прохождения стажировки. Минусами стажировки может стать fill-time занятость и низкая оплата труда или даже стажировка без оплаты.
Устройтесь на работу мечты. Скорее всего, с первого раза у вас это не получится. Первая работа, обычно, дурацкая. Но через полгода-год можно уже пробовать свои силы в той компании, которая вам нравится. Или запустите собственный проект.
Как не нужно делать?
- Не стоит идти в смежные профессии: тестирование или тех. поддержка
Если вы уже в этой сфере, то, конечно, стоит пробовать свои силы в разработке, но если вы юрист или только закончили ВУЗ и не знаете, как строить карьеру, то не нужно выбирать такой сложный и долгий путь. Сразу изучайте программирование, прикладные инструменты и ищите работу программиста. Вполне возможно осуществить это в сжатые сроки;
- Не нужно устраиваться в IT-компанию на другую должность
Например, работа курьером в Яндексе никак не поможет вам устроиться туда же программистом;
- Не надо упарываться трудоустройством в топовую компанию
Скорее всего, в качестве первой работы у вас это не получится. Вы потратите много времени впустую. Лучше всего начать с более простых компаний, где у вас сразу будет зарплата, поколупаться там полгода и затем уже переходить в компанию мечты, имея практический опыт за спиной.
Нюансы работы разработчиком
- Первое место работы не будет долгим
Не стоит рассматривать работодателя в долгосрочной перспективе. В среднем, разработчики переходят из компании в компанию каждые три года. Это связано с тем, что многие компании не умеют повышать зарплату сотрудникам, поэтому самый простой способ двигаться по карьерной лестнице — просто уйти в другую компанию;
- Есть смысл переезжать в Москву и далее на запад
Даже если вы попали на удаленную работу, целесообразно двигаться в направлении развития. Так вы будете расти намного быстрее. И самое главное, это напрямую влияет на зарплату. Разница между зарплатой в регионах и в Москве будет около 50%, и гораздо больше в штатах, если вы туда переедете;
- Не стоит выбирать узкую специализацию
На рынке программисты с широким спектром навыков намного более востребованы, нежели узкие специалисты;
- Развивайте софт скилы
Это даст вам возможность эффективно коммуницировать в компании, понимать друг друга. Чем больше вы растете профессионально, тем меньше будет требоваться знание непосредственно программирования, нежели знание того, как эффективно добиваться результатов в команде;
- Понимайте свою мотивацию
Вам будет проще расти и выбирать ту компанию, которая придется по душе, если вы будете хорошо понимать свою мотивацию. Это, в первую очередь, может сделать вас счастливыми.
Как подготовиться к собеседованию?
Неважно, что вы знаете. Если вы пройдете 20 собеседований, то на 21-е вас возьмут. Независимо от того, программист ли вы, есть ли у вас практические знания или вы никогда этим не занимались.
Можно сделать пустое резюме, вас пригласят в разные компании, вы походите по собеседованиям, поймете, что вас спрашивают и с 20 собеседования вы будете знать, что отвечать на эти вопросы. Стоит начинать с каких-нибудь простых компаний, куда вы не очень хотите устроиться и спустя месяц начать ходить на собеседования в те компании, куда вы реально хотите устроиться. Скорее всего, вас возьмут и дальше все будет зависеть от вас.
Что спрашивают у джунов на собеседовании?
- Тестовое задание
Практически все компании будут просить вас сделать тестовое, его обязательно нужно будет сделать;
- Примеры кодов
Лучше заранее сделать какое-нибудь задание на фрилансе или какой-нибудь pet-project, поработать над ним хорошенько, сделать так, чтобы он выглядел красиво;
- Подготовить ответы на вопросы о вашем опыте и кем вы видите себя через 5 лет
Лучше всего, подготовить красивую и правдивую историю, чтобы ее было интересно слушать. Это важно, потому что эти вопросы дают понять, есть ли у вас какой-то стимул развиваться и на что вы вообще тратите свое время. При собеседовании на позицию джуна работодатель и так понимает, что вы толком ничего делать не умеете, работодатель хочет взять перспективного человека, и эти вопросы как раз покажут то, насколько вы перспективны.
Стоит изучить азы на следующие темы:
- Объектно-ориентированное программирование;
- Базы данных. Не обязательно учить огромный двухтомник по оптимизации SQL, но как делать SQL запросы в базовом виде стоит знать;
- Паттерны проектирования;
- Система управления версиями (Git)
- Базовые возможности языка. Например, как подключаются пакеты PHP.
С этими базовыми знаниями можно решать какие-то практические задачи. Эти вопросы были актуальны и 5 лет назад, актуальны сейчас и будут актуальны в ближайшем будущем.
Хотите узнать ещё больше о работе программистом?
Как устроиться на работу программистом? Пошаговая инструкция по поиску работы
Содержание статьи
Мало научиться программировать — желательно еще и чтобы за твои знания и умения платили. С чего начать, как и где искать работу, тебе подскажет эта статья. Итак, приступим!
Нужно ли оно тебе?
Такой вопрос стоило задать себе в самом начале пути, когда ты принимал решение, податься ли в программисты. Сейчас же, поскольку ты читаешь эту статью, можно предположить, что программистом ты уже стал и ищешь работу. А чтобы эта работа приносила некоторое удовлетворение, необходимо пересечение трех факторов:
- тебе нравится программировать;
- у тебя получается программировать;
- работа хорошо оплачивается.
Очень надеюсь, что тебе нравится программировать и у тебя это получается. Дело осталось за малым — найти высокооплачиваемую работу. Приятно, когда за твое, по сути, хобби платят хорошие деньги. Если ты еще не уверен в своей квалификации или же хочешь проапгрейдить свои знания, умения и навыки, то пройди обучение на GeekBrains.
Пишем эффектное резюме
Поиски работы нужно начать с создания резюме. Увы, без него никак, разве что по знакомству.
Что писать в резюме? Первым делом рекомендуется посмотреть на имеющиеся вакансии, чтобы понять, что нужно работодателю. Так, на рис. 2 представлены типичные требования к веб-разработчику.
Рис. 2. Типичные требования к веб-разработчикуВозможно, ты знаешь несколько языков программирования. Но не нужно указывать в резюме все сразу. Это будет означать лишь одно: ты толком не разбираешься ни в каком из них. Определи свои сильные стороны и выбери для резюме только те языки и технологии, которыми ты хорошо владеешь. Представь, что на собеседовании тебя попросят написать код на C#, а ты добавил его в резюме, потому что когда-то прочитал или просто пролистал книжку по этому языку. Ты будешь выглядеть не лучшим образом.
Выделив свои сильные стороны, ты поймешь, как назвать свое резюме, например «Программист PHP».
Уже хорошо, начало положено. С каждым языком программирования связаны свои технологии. Примерный список технологий для вакансии веб-разработчика приведен на рис. 2. В резюме нужно упоминать лишь те, которые ты действительно освоил, а не просто слышал, что они есть. Если ты знаешь только PHP, HTML, CSS и JavaScript, то их и указывай. Не нужно вписывать фреймворки Zend, Symfony и другие, если ты с ними не работал. Все равно это выяснится.
Далее нужно определиться, какие сведения о себе ты еще хочешь разместить в резюме. Кроме контактных данных, будет полезна информация о предыдущих местах работы, о достигнутых результатах, а также о твоем портфолио. Потом все это нужно правильно структурировать и оформить.
Как составить эффектное резюме, ты можешь узнать из курса GeekBrains «Как устроиться на работу программистом?», а я просто позволю себе несколько рекомендаций. Кстати, данный курс будет доступен совершенно бесплатно по промокоду «Хакер» при покупке любой профессии.
Информацию в резюме не стоит подавать хаотично, придерживайся определенной структуры.
Оптимальной считается следующая:
- Фамилия и имя. Отчество указывать не нужно, это пережиток прошлого.
- Фото, желательно на белом или сером фоне, но никак не фото с пляжа или семейного отдыха.
- Контакты (только номер телефона и email, домашний адрес указывать не нужно — никто не будет приходить к тебе в гости). Контакты должны быть личные, а не компании, если ты в данный момент где-то работаешь. Не стоит приводить все номера телефонов, достаточно одного.
- Цель — это та должность, на которую ты претендуешь.
- Основные компетенции — укажи профессиональные знания и достижения.
- Образование. Думаю, тут все понятно. Если у тебя нет высшего IT-образования, ничего страшного. Многие хорошие программисты его не имеют. И наоборот, многие с IT-образованием совершенно не умеют программировать. Конечно, IT-образование и/или наличие сертификатов — это хорошо, но все это мало тебе поможет, если ты не сможешь выполнить тестовое задание.
- Посещенные тренинги (если были).
- Опыт работы. При этом последнее место работы нужно указать вверху, ниже — более ранние.
- Дополнительная информация. Здесь все остальное, например знание языков, наличие прав, возможность командировок. Не следует сообщать слишком много сведений, тем более ненужных. Например, твое семейное положение мало кого интересует.
Что касается оформления резюме, тут тоже есть несколько тонкостей:
- Используй один шрифт для всего резюме. Названия разделов допускается оформлять увеличенным на 2 пункта шрифтом.
- Не используй устаревшие шрифты. Раньше шрифтом по умолчанию считался Times New Roman. Но сейчас «в тренде» шрифты Calibri и Arial, используй их. Резюме с Times New Roman смотрится динозавром.
- Идеальный размер шрифта — 10 или 12 пунктов, одинарный интервал между строками.
- Список обязанностей оформляй в виде нумерованных списков.
- Ссылки на твои работы указывай в сокращенном виде (сократить ссылку можно с помощью сервисов вроде bitly.com). Если у тебя нет портфолио, желательно его создать. Напиши простенькую CMS или интернет-магазин (если ты ищешь работу веб-программистом).
Конечно, это далеко не все рекомендации, но нам много о чем еще нужно поговорить, поэтому переходим к следующему этапу.
Поиск работы: что, где, когда
Итак, резюме у нас есть. Осталось найти работу. Но прежде нужно определиться, чего тебе хочется. Каким должен быть твой идеальный рабочий день? Например, во сколько ты просыпаешься, во сколько едешь на работу. Или, возможно, вообще никуда не едешь — мечтаешь работать дома. Предпочел бы ты сидеть в отдельном кабинете или в общем? Над какими проектами хочешь работать? Устроиться в какую-то компанию или создать собственную?
Поставь цель, но не зацикливайся на способах ее достижения. Вполне вероятно, что ты найдешь работу не с помощью механизма «резюме — вакансия — собеседование», а совершенно случайно.
Резюме нужно опубликовать. Сделать это можно на множестве ресурсов. Начни, например, с https://hh.ru/. Там же ты сможешь просмотреть доступные вакансии и воспользоваться сервисом улучшения резюме — информация лишней не бывает.
Если ты не из России, то не помешает зарегистрироваться в «запрещенной на территории РФ» LinkedIn и максимально заполнить свой профиль. Это не просто социальная сеть, это место обитания рекрутеров — их там пруд пруди. Да простят меня рекрутеры :).
Собеседование и испытательный срок
Ты нашел подходящую вакансию и откликнулся на нее — отправил работодателю или рекрутеру свое резюме. Но ответа почему-то нет. Не расстраивайся, если тебя не пригласили на собеседование, — это не означает, что у тебя что-то не так. Скорее всего, работодатель уже нашел программиста, а вакансию забыл снять. Такое бывает, и довольно часто. Дело в том, что размещение вакансий на сервисах вроде hh.ru платное, вакансии размещаются на определенный срок, после чего автоматически снимаются.
Не нужно останавливаться (рис. 3). Ищи другие вакансии. Если тебе нравится определенная компания и ты хотел бы в ней работать, но на собеседование тебя не приглашают, попробуй связаться с кем-то оттуда напрямую. Найди на сайте компании альтернативные контактные данные — email или номер телефона. Свяжись, объясни ситуацию: мол, резюме отправил, а ответа нет, расскажи о себе.
Рис. 3. Осталось совсем немногоПока твоя задача будет заключаться в следующем: откликаться на много вакансий (а не на одну-две) и решать много тестовых заданий. Скорее всего, перед собеседованием, чтобы не тратить зря свое время, работодатель попросит тебя выполнить несложное тестовое задание. По его результатам тебя могут пригласить или не пригласить на собеседование. Тестовые задания выполнять обязательно — это ведь первый фильтр. Кандидатов на вакансию может быть много, а тех, кто справится с заданием, — единицы. Даже если тебя не пригласят на собеседование, ты получишь некоторый опыт, решая разнообразные тестовые задания.
Отправляясь на собеседование, помни, что не только тебя выбирают, но и ты выбираешь. Посмотри, приятно ли тебе будет работать в этом коллективе, находиться в этом помещении, удобно ли добираться в офис. Обрати внимание также на предоставляемые плюшки вроде соцпакета. Не бойся задавать вопросы работодателю — лучше сразу все уточнить, чем потом окажется, что тебя много чего не устраивает, и ты будешь вынужден снова искать работу.
Приготовься, что работодатель на собеседовании будет проверять каждый пункт из твоего резюме. Если ты написал, например, что знаком с набором компонентов DevExpress, у тебя обязательно выяснят, насколько хорошо знаком.
После успешного прохождения собеседования тебя возьмут на испытательный срок, если, конечно, ты этого захочешь, — вдруг тебе не понравится начальство или кофе в офисе будет плохим :).
Испытательный срок нужен для того, чтобы работодатель мог безболезненно тебя уволить, если ты им не подойдешь. Ошибки допускают все, в том числе и работодатели. После твоего официального оформления уволить тебя будет гораздо сложнее. С другой стороны, если тебя не оформляют раньше, чем закончится испытательный срок, — не беспокойся: это обычная практика. Если ты справляешься со своими обязанностями, тебя обязательно возьмут в штат, когда испытательный срок истечет.
Тебе не нужно волноваться об отсутствии опыта — после обучения на GeekBrains ты проходишь гарантированную стажировку. Так что опыт работы у тебя уже будет!
Фриланс
Бунтарям по своей природе подойдет другой вид деятельности — фриланс. Что такое фриланс, думаю, рассказывать никому не нужно: работа из любой точки земного шара,
удобный тебе график, нет стоящего над душой начальства, свобода перемещения. Словом, идеальная работа.
Но у фриланса есть один недостаток: если в случае с обычной работой есть «дядя», который тебе ежемесячно платит деньги, то здесь тебе самому придется искать источник дохода, то есть заказчиков.
В этом тебе помогут всевозможные биржи фриланса. Простой запрос — и Гугл выдаст множество статей на тему выбора биржи. Лучшими в Рунете считаются следующие:
- fl.ru,
- weblancer.net,
- 1clancer.ru,
- devhuman.com,
- modber.ru,
- freelansim.ru.
Если тебе интересно, то компания GeekBrains сделала подборку лучших фриланс-бирж, в которой описаны особенности каждой. Подборка доступна тут.
На зарубежные биржи пока не смотри. Поскольку ты начинающий программист, попробуй освоиться на отечественных. Так тебе будет проще.
Конечно, фрилансер должен учитывать еще некоторые нюансы, а именно:
- тип расчета — наличный или безналичный;
- предоплата (если да, то какой размер) или постоплата (по факту выполнения поставленной задачи).
Эти, а также некоторые другие нюансы обсуждаются в уже упомянутом курсе от компании GeekBrains.
Карьерная лестница в сфере IT
Программист работает над программным продуктом не в одиночку. Есть исключения, конечно, но если речь идет о крупном продукте, то это именно так. На рис. 4 изображены различные специальности в сфере IT. Заметь, на первом месте идет менеджер по продажам, а на втором бизнес-аналитик. Программисту отводится лишь седьмое место. Ведь мало программный продукт создать, его нужно еще и продать.
Рис. 4. Специальности в сфере ITУ каждой этой специальности есть своя роль в процессе разработки программного продукта. Что же касается именно программистов, то карьерная лестница программиста выглядит так:
- Junior developer,
- Middle developer,
- Senior developer.
Но после достижения уровня Senior developer карьера не заканчивается. Ты можешь стать или архитектором, если уйдешь в техническую часть, или Team Lead, если тебе больше нравится управлять командой. По сути Team Lead — это менеджер, и от его умений и навыков зависит эффективность всей команды.
Team Lead может вырасти в менеджера проекта (Project Manager) — это тоже менеджер, но он управляет не только программистами, но и всеми остальными специалистами (дизайнерами, маркетологами и другими), участвующими в проекте. Вершина эволюции — CTO (Chief Technical Officer), то есть IT-директор.
Рис. 5. Карьерная лестница программистаПараллельно идут две ветки — аналитик и тестировщик. У каждой из них есть свои промежуточные уровни, позволяющие в конечном итоге стать менеджером проекта.
Результат
Что ж, мы рассмотрели все аспекты поиска работы программистом. Дополнительную информацию ты сможешь получить в курсе «Как устроиться на работу программистом?» от компании GeekBrains, по окончании которого, кстати, ты получишь соответствующий сертификат (рис. 6). Еще раз напоминаю, что этот курс доступен совсем бесплатно по промокоду «Хакер» при покупке любой профессии.
Все сертификаты отображаются на странице профиля (рис. 7), и ты можешь в любой момент получить свой сертификат, чтобы прикрепить его к резюме.
Рис. 6. Сертификат от компании GeekBrains
Рис. 7. Профиль пользователя на сайте GeekBrains
Компания GeekBrains не бросает своих выпускников — она предлагает стажировку и помогает в трудоустройстве, а для тех, кто хочет попытаться найти работу сам, как раз и предназначен курс, описанный в этой статье.
Как найти свою первую работу программистом? От резюме до испытательного срока / Блог компании Mail.ru Group / Хабр
Все знают, что сейчас программирование — это супервостребованная и супероплачиваемая профессия. Но немногие знают, что вакансий для начинающих очень мало. Все работодатели хотят, чтобы к ним пришёл человек, который уже что-то умеет. Напишет код, который не надо выкидывать. Джуниорских вакансий (не требующих опыта работы) мало, и конкуренция здесь очень большая. С одной стороны, существует огромная потребность в программистах. С другой — в начале карьеры вы можете столкнуться со сложностями. Работодатели обращают внимание в первую очередь на тех, у кого в резюме уже есть строчка о прошлом месте работы. Если у вас её нет, будет сложно.
Из собственного опыта скажу, что я окончил хороший университет и ожидал, что меня сразу завалят предложениями о работе. Но моё резюме вызывало минимальный интерес. Я получил два приглашения на собеседования, и никто меня не отрывал с руками.
Итак, как же новичку получить первую работу?
Оно должно как-то называться. Существуют два варианта.
- Допустим, вы программировали на разных языках. В школе наверняка писали на Pascal, а потом что-то делали на C++. Если вы постарше, то, возможно, знакомы с Delphi. Поэтому в названии резюме можно указать все языки, на которых вы писали. Авось какой-то заинтересует потенциального работодателя. Например, так: «Программист: delphi, python, php, html, java, c#, ruby, scala».
- Можно указать, что вы специализируетесь на чём-то одном, например на 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, и мы вам обязательно в этом поможем. Удачи вам, и до новых встреч!
Как устроиться на первую работу в IT?
Для того, чтобы быть хорошим работником, нужны профессиональные навыки, но их далеко не всегда хватает, чтобы вас взяли на работу мечты.
Если вы еще учитесь, но уже владеете какими-то основами, то уже самое время начинать. Не надо ждать момента готовности, он никогда не наступит. Самые упорные находят первую работу на одной мотивации без каких-либо знаний. Главное, что важно работодателю на этом уровне — способность учиться и быстро въезжать, а также высокая мотивация.
- Конечно же зарегистрируйтесь на сайтах https://hh.ru, https://moikrug.ru и других подобных.
- Заполните резюме настолько подробно, насколько возможно: включите туда любой релевантный опыт работы: администрирование, верстка. Не забудьте включить ваше резюме в поиске. Кстати, сам процесс заполнения резюме на этих сайтах — уже хорошая практика в продаже себя.
- Найдите (загуглите) компании, которые предлагают стажировку в вашем городе. Это не всем подходит, но как минимум, изучите варианты. Обычно, стажировка самый простой и надежный способ попасть на работу. На сайтах о работе существуют специальные разделы, посвященные стажировке, например, на Хекслете.
- Вступите в локальные сообщества программистов. Чаще всего сообщества делаются на базе групп социальных сетей, но иногда имеют собственные сайты. Начните ходить на местные митапы и конференции.
- У многих компаний на сайте выложены тестовые задания. Такой подход часто практикуется среди компаний, набирающих удаленных сотрудников. Это отличный способ попрактиковаться и наполнить свой гитхаб. Не теряйте такую возможность.
- Обязательно приложите гитхаб-аккаунт, даже если там ничего нет. Сам факт того, что вы про него знаете и там зарегистрированы, уже говорит о том, что вы хотя бы немного понимаете где находитесь :). Выкладывайте на гитхаб любой код, который вы пишите. Читаете книгу, и там есть задания? Делайте их и выкладывайте на гитхаб. Наличие любого кода на любом языке дает вам +100 к вниманию от компаний.
- Добавьте информацию о курсах, которые вы проходили.
- Перечислите то, чем вы интересуетесь (языки, сфера).
Да, таким образом вы начнете сразу выделяться среди множества других кандидатов. Хорошее сопроводительное письмо может неплохо увеличить ваши шансы на очное интервью. Это то самое место, где вы можете честно признаться в недостатке опыта, показать свою мотивированность и заинтересованность.
Как ни готовьтесь, но на первом собеседовании все пойдет не так как вы задумывали. Попробуйте следовать этому алгоритму:
- Идёте на собеседование
- Не проходите его
- Учите темы и разбираете вопросы с собеседования
- Возвращаетесь к первому пункту
Нормально, если вы повторите этот алгоритм десяток раз. Главное, чтобы каждый следующий раз выходил на новый уровень «незнания», другими словами, после каждого собеседования вы должны по-настоящему хорошо разобрать то, о чем вас спрашивали.
Да, важное значение имеют ваши soft-skills. Люди, которые берут вас на работу, будут доверять вам и проводить вместе с вами много времени. При наборе имеет значение даже ваша жизненная позиция.
Обычно недостаточно прокаченные, но очень мотивированные люди, делают примерно одно и тоже. Их легко вычислить, и с ними хочется работать. По пунктам:
• Эти люди понимают, что отправка заявки на вакансию не снимает с них ответственность по взаимодействию с компанией. Они ищут возможности позвонить/встретиться с их представителями для установления личного контакта.
• В конце собеседования они спрашивают о том, где у них пробелы, что почитать, где подкачаться.
•Часто они спрашивают можно ли прийти на собеседование еще раз через месяц, три или шесть. Если работодатель видит в вас потенциал, то скорее всего ответ будет «да», хотя иногда политика компании не позволяет.
• Самые крутые присылают письмо через неделю после собеседования, в котором разбирают все вопросы, заданные на собеседовании, и показывают, что они сделали level up
.
Дополнительные материалы по теме:
Как устроиться работать разработчиком
Работа стажером программистом 1С без опыта
Многие задаются вопросом, как получить опыт в сфере 1С без опыта работы. В наше время профессия 1С программист востребована и достаточно хорошо оплачивается. Кроме того, программирование — это по-настоящему интересно!
Ниже я постараюсь рассмотреть основные пути попадания в эту сферу без опыта работы.
Фирма-франчайзи 1С
Сегодня на рынке труда очень сложно найти готового специалиста 1С с большим опытом. Фирмы 1С франчайзи очень часто берут людей без опыта работы, но со способностями для обучения данному ремеслу.
В зависимости от размера компании, методы обучения 1С и отношение к Вам могутт очень сильно различаться. В маленьких компаниях, я считаю, обучение будет более качественным — заинтересованность маленькой компании выше. Однако в крупных компаниях могут попасться хорошие методики обучения, зарекомендовавшие себя. Но это скорее исключение. Плюсы крупных франчайзи — большое количество таких же, как Вы, стажеров и большой объём работы.
Внедрение у знакомых/друзей/родственников
Бывают ситуации, когда нужно помочь знакомым с внедрением 1С, но нормальных денег платить желания нет. В таком случае можно предложить свои услуги. Если у Вас всё-таки получится внедрить 1С, Вы можете собой гордиться и считать, что прошли минимальную «школу» 1С-программиста.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Конечно, плюсы и минусы в данном случае очевидны. Среди плюсов — отсутствие жестких сроков, настоящая задача, очень ценные знания — ведь Вы добываете их своим трудом. Вы не спеша набиваете шишки. Среди минусов — отсутствие оплаты и коллег, можно надеяться только на форумы.
Фриланс 1C
Очень популярный способ получить опыт в сфере 1С. Вы всегда найдете заказчика, у которого не стоит жестких сроков к исполнению и строгих требований к исполнителям. Найти заказы или заказать услуги можно на сайте fl.ru.
Помощник фрилансера
Каждый хороший фрилансер рано или поздно задумывается взять себе в помощники человека, который будет помогать ему решать задачки.
Этот вариант хорош тем, что сам фрилансер очень заинтересован в том, чтобы Вы гораздо быстрее осваивали 1С. Вы снимете с него часть «черновой» работы, да еще и с Вас можно будет получать процент с работы. Но есть и минусы — иногда сам фрилансер слишком загружен, что даже нет времени на Вас.
Кстати! Если Вам необходима доработка программ 1С, Вы можете обратиться к нам!
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Как найти работу программисту самоучке
В этой статье речь пойдет исключительно о джуниорах. Просто потому, что вопросы, связанные с поиском работы, задают обычно они. Впрочем, это и понятно – опытный специалист со стажем и знанием своих сильных сторон и без того будет востребован на рынке труда.
Итак, условия задачи:
- Джуниор не имеет профильного диплома. Максимум, что есть в активе из образования – «корочки» профильных курсов.
- Опыт работы отсутствует вообще либо минимальный: стажировки, небольшой срок работы в каких-то малоизвестных компаниях, возможно, даже не совсем по профессии: тестировщиком, сисадмином и т.д.
Рынок IT переполнен подобными соискателями, а потому к поиску работы нужно готовиться всерьез и настраиваться на многочисленные собеседования, тестирования и, в том числе, отказы. И самое главное здесь – позитивный настрой и терпение.
Страхи и отказы: что с этим делать
Никто не обещал, что вам будет легко. Просто это нужно принять и не бояться двигаться вопреки сложностям. Отправляйте резюме и запросы по максимуму вакансий, никто не знает, где именно вам повезет. И даже если вы ждете ответа от 10 компаний, не стоит останавливаться в поиске. В конце концов, если вдруг вам скажут «да» в нескольких фирмах одновременно, тем лучше! У вас будет выбор. А отказать тем, кто вам стал не интересен, вы имеете полное право.
Важно: На рынке труда выбирают не только вас, но и вы!
К слову, с проблемами отказов и затянувшихся сроков поиска первой работы сталкиваются абсолютно все. Независимо от специальности и наличия профильного образования. Сразу вас возьмут, разве что, по знакомству. И то не обязательно ☺
Основные страхи, которые нужно преодолеть:
- Отказали по итогам собеседования? Ничего страшного, скорей всего, просто нашли кого-то вашего уровня, но уже с нужным опытом. Никаких самокопаний и размышлений на тему «я никому не нужен»! Просто движемся дальше.
Помните: с теми же сложностями сталкиваются новички в любой сфере – с дипломом и без него. Это не вы чем-то плохи, а просто – объективная реальность. Вам тоже обязательно повезет. - Выполнили тест и нет отклика? Читаем выше: может быть, вам просто не повезло в этот раз. С другой стороны, вы получили практический опыт. При этом стоит проанализировать свой результат и поискать ошибки. А вдруг вы и правда чего-то не знаете? Лишний повод подтянуть знания.
- Вы шлете резюме в компанию мечты, но вам даже не отвечают? Мечты должны сбываться. Не бойтесь посылать запросы повторно. Работайте над резюме. Постарайтесь выйти на специалистов в нужном вам отделе, минуя HR. Как угодно – через форумы и социальные сети, с предложением решения какой-то задачи или просто включите «наглость» и напишите на email. Помните – можно все, что не запрещено. И вполне может быть, что вас заметят. Но без фанатизма – все хорошо в меру.
И самое главное: оценивайте себя объективно, насколько это возможно. И разумно соотносите свои возможности и запросы.
В каждой профессии имеется своя карьерная лестница. Начинать придется с небольших окладов и, зачастую, скучной работы рядового кодера. Просто потому что вы – джуниор. Вы будете принимать участие в решении практических задач, наберетесь знаний и опыта. В конце концов, получите столь желанную для карьеры строчку в резюме – «работал в такой-то компании с … и до…». И если у вас не появится суперинтересного предложения в период первой работы, желательно там продержаться хотя бы год. Даже если будет скучно. Это большой плюс на будущее.
А теперь перейдем к тому, что стоит иметь в числе преимуществ и как себя правильно подать.
Что ждут от джуниора самоучки?
В большинстве случаев интерес к программистам без диплома и солидного опыта проявляют работодатели-программисты, которые занимаются поиском сотрудников без помощи «кадровиков». Причина очевидна – HR специалисты не могут оценить ваши знания и навыки. Они ориентируются на опыт работы, дипломы, курсы и т.д. Впрочем, и тут есть исключения. Но лучше строить свою стратегию поиска, исходя из того, что вас будут оценивать опытные коллеги.
На что обращают особое внимание:
- Знание языков программирования. Никто не ожидает, что начинающий программист будет знать множество разных языков. Более того, если в резюме вы укажете такой обширный список, велика вероятность, что о вас подумают – «знает ничего обо всем». Выбирайте специализацию с умом. И указывайте только такие языки, где вы реально можете что-то показать.
Просто представьте, что на собеседовании вас попросили набросать код в C#, а вы его указали просто потому, что читали учебник. Все. Собеседование провалилось. А если вы перечислите только такие языки, где вы и правда готовы демонстрировать знания, вероятность положительного решения заметно возрастет. - Портфолио. В процессе обучения вы, скорей всего, что-то писали. Пусть и для себя. Не стесняйтесь показать свои решения. В том числе с открытым кодом. Чем больше будет подобных работ – тем лучше.
Работодатель-программист сможет оценить ваш уровень знаний и умение находить оригинальные варианты решения задач. - Тестирование. Часто при поиске сотрудников-джуниоров в качестве первого этапа запускают тест. Это нормальная практика, позволяющая отсеять тех, кто тест вообще не напишет, а также напишет безграмотно.
Обязательно пишите тесты, вам практика только на пользу, а работодатель сможет оценить ваши плюсы на основе чтения кода. - Резюме. Не поленитесь изучить основные правила и подходы к его составлению. Во-первых, нужно показать умение составлять документы в соответствии со стандартами. Во-вторых, к составлению резюме есть много подходов, позволяющих показать плюсы и скрыть минусы. Пользуйтесь примерами от опытных коллег и советами HR специалистов в интернете.
Нужно понимать: ваше резюме будет читать изначально, скорей всего, секретарь или рядовой сотрудник-кадровик. И даже если оно попадет сразу на стол к руководителю-программисту, все равно будет просмотрено «по диагонали». Потому очень важно составлять этот документ так, чтобы информация о ваших плюсах была на самом виду.
Собеседование: как себя вести
Ура! Вас позвали на собеседование. Обычная реакция новичка в профессии – страх и неуверенность в себе. Что ж, если вы будете «заикаться» и путаться в азах профессии из-за нервной реакции, скорей всего, об этой работе можно забыть.
А потому берем себя в руки. Вспоминаем об основном правиле рынка труда: выбирают не только вас, но и вы тоже. Как вариант, может помочь мысль: «На такую должность и оклад найти специалиста лучше у них не выйдет, это я к ним снисхожу». Даже если это совсем не так, именно такое ощущение внутри помогает.
Работодатели – такие же люди. Они также чувствуют психологический настрой соискателя. И если вы покажете уверенность в себе, то отношение будет на порядок лучше. Само собой, самоуважение – это ни разу не хамство. Даже если вам безумно страшно, не скатывайтесь на этот уровень. Как и на уровень «ну, пожалуйста, возьмите меня».
Идеальный соискатель, пусть и джуниор, будет корректно и грамотно отвечать на вопросы. При этом не побоится задать свои – о зарплате, соцпакете, испытательном сроке и даже о том, какой кофе ожидает его в офисе. Это нормально – знать, что вас ждет. И отказаться, если что-то не нравится.
Если работодатель видит, что вы – спокойны и заинтересованы не просто получить любую работу, но задаете вопросы о своих интересах, это дополнительный плюс. У работодателя складывается ощущение: «видимо, у человека есть и другие варианты, значит, он того стоит».
Поговорим о резюме
Для любого соискателя это важнейший документ. Здесь мы не будем подробно описывать правила деловой документации. Но повторим, что очень важно их соблюдать. Какой вариант вы будете выбирать – зависит от ваших знаний, опыта, других особенностей. Постарайтесь показать свои плюсы почти что в первых строчках. Сразу после анкетных данных.
Особенности составления документа для программистов:
- Отправляйте работодателям резюме, где в первых строках будет указаны нужные им знания (языки программирования, фреймворки и прочее).
- Если вы знаете несколько разных направлений, составьте по каждому их них отдельное резюме. И отправляйте с учетом специализации.
Например, для веб-студии – в резюме будет php, html, JavaScript и т.д. А для должности системного администратора лучше рассказать подробнее о глубоком знании операционных систем, умении настраивать сервера, локальную сеть и пр. - Не бойтесь писать об отсутствии опыта работы. В идеале вместо этого можно указать ссылки на портфолио и на какую-то проектную работу, где вы принимали участие в любом качестве (тестировщик, кодер) – и не забудьте честно указать, что вы там делали. Честность – важный фактор. Учтите, что к разработчикам проектов могут обратиться.
Фриланс и работа в компании
Значительное количество студентов и джуниоров-самоучек начинают свою профессиональную деятельность на фрилансе. Удаленная проектная работа для новичка во многих случаях оказывается проще для старта и первых денег, чем работа в штате компании.
Плюсы фриланса:
- Минимальный порог вхождения. Особенно на биржах Рунета. Вы можете принять участие в интересном проекте фактически «с нуля». Правда, и оплата будет минимальной.
Здесь важнее всего – опыт на будущее плюс мотивация «копейки» на сейчас, что тоже немаловажно. Не просто для себя делать что-то, а за деньги, пусть и небольшие. - Возможность накопить достойное портфолио. На биржах фриланса никому не интересен ваш диплом. А вот выполненные проекты и отзывы – очень важны. И после первых проектов вас начнут брать в работу над все более сложными и дорогими решениями.
- Свобода выбора и графика работы. Вы всегда знаете заранее, над чем будете работать. И можете выбрать, хотите принимать участие в этом проекте или нет. А работать можете из дома или откуда угодно, в том числе, как говорят, «в трусах», т.е. без дресс-кода и надоедливого начальника «над душой».
Минусы фриланса:
- Нет стабильности. Сегодня вы можете оказаться в проекте с очень большой оплатой, а завтра – вообще без работы. Соцпакет и другие подобные вещи остаются за пределами мечтаний.
- Не подходит командным игрокам. Если вы плохо работаете в одиночестве, для эффективной деятельности вам нужен офис и команда рядом – фриланс не для вас.
Но все же, почему мы и решили об этом вспомнить, начало трудовой деятельности на фрилансе – реальный выход для многих джуниоров. Особенно для самоучек.
Причины такие:
- Возможность получить практический опыт и наработать портфолио.
- На международных фриланс-биржах много HR-хантеров от мировых лидеров индустрии. Если вы покажете себя классным специалистом, они к вам сами обратятся с очень достойными продолжениями.
Потому даже если вы не планируете свою жизнь в варианте фриланса, на этот вариант начала работы стоит обратить внимание. В любом случае, вы получите опыт, деньги и возможность себя показать. А это важно для новичка.
И напоследок. Не забывайте о курсах от лидеров отрасли. Часто после курсов, например, в Яндекс или Google лучшим ученикам приходят предложения о работе. А если даже не повезет, у вас будет практический опыт и знания от лучших программистов индустрии, а также диплом курсов, который станет дополнительным плюсом в глазах работодателей.
Как начать работать программистом почти без опыта | by Вероника | NOP::Nuances of Programming
Источник: Kevin Bhagat on UnsplashЯ попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и увлекательный способ быстро освоить много разных навыков в программировании.
Парадокс: вас не берут на работу, потому что у вас нет опыта работы. Почему у вас нет опыта? Потому что вас не берут на работу.
Мой друг скоро закончит колледж. На днях он спросил у меня, как устроиться на работу разработчиком. Он часами изучал вакансии, отправлял сопроводительные письма и не получал на них ответа.😢
Я его прекрасно понимаю. Я работал инженером в технической рекрутинговой компании, изучал большие данные и видел реальную статистику найма: картина довольно мрачная.
Ситуация банальная: выпускникам и людям с небольшим опытом сложно найти работу. Когда мы спрашиваем работодателей, почему они не хотят нанимать кого-то без большого опыта, мы обычно слышим одно и то же: «Мы ищем опытного сотрудника».
Это отстой.
Чтобы устроиться на работу, нужен опыт, чтобы получить опыт, нужна работа. Этот парадокс существует уже давно.
К счастью, в мире программирования найдено решение этой проблемы.
Вам всего лишь нужно найти работодателей, которым нужны программисты с небольшим опытом работы. Думаете, что это невозможно? Это не так. Верьте или нет, такие работодатели существуют. Если вы справитесь с поставленной задачей, они с радостью вам заплатят.
Все, что вам нужно сделать — найти таких работодателей.
Я знаю, о чем вы подумали, когда увидели слово «фриланс». Меня не берут работать в штат — почему меня возьмут в качестве фрилансера? Чем фрилансер отличается от штатного работника? Разве фриланс — это не такая же работа на компанию, но без гарантированного объема, премий и соц.пакета? Может стоит продолжить искать работу?
Да, основания для таких сомнений существуют. Да, быть фрилансером не всегда легко. Тем не менее, прежде чем закрыть статью и продолжить рассылать сотни сопроводительных писем в никуда, позвольте мне объяснить.
Фрилансом называют любую работу, которую сотрудник выполняет без официальных отношений с компанией-работодателем. Фрилансеров в мире разработки я бы разделил на несколько отдельных категорий: консультанты, внештатные сотрудники и фрилансеры, которые занимаются «подработками».
Консультанты, как правило — очень опытные разработчики-профессионалы с уникальными знаниями и опытом, которых нанимают для решения сложных технических задач. Вы еще учитесь программированию: подозреваю, что это работа не для вас.
Внештатные сотрудники похожи на обычных сотрудников: отличие в том, что компания нанимает их не напрямую, а через агентство по трудоустройству. Причины найма через агенство банальны, так что не будем их обсуждать. Скорее всего, вы не в этой категории.
Перейдем к «подрабатывающим» фрилансерам.
Они заполняют особый сегмент в мире разработки программного обеспечения. Обычно они занимаются слишком мелкой, специализированной или экспериментальной работой: на такую работу не нужен сотрудник на полный рабочий день. Их нанимают временно, ради одного проекта, они не требуют большой оплаты труда и готовы усердно работать.
Кто их нанимает?
- предприниматели, которые придумали идею и хотят проверить ее на жизнеспособность;
- антрепренеры: как и предприниматели, они хотят проверить придуманную ими концепцию. Разница в том, что они работают над инновациями внутри компаний;
- малый бизнес: обычно им нужен работник, к которому при необходимости можно обратиться за настройкой или установкой чего-либо;
- люди, у которых трудности с программированием: например, студенты, которым нужна помощь с домашним заданием 🙂
Всех этих клиентов объединяет одно: они предлагают небольшую временную работу с четко поставленной задачей.
У такой работы есть свои недостатки, и я не советую всю карьеру заниматься мелкими подработками. Однако для тех, кто начинает свое путешествие в мир программирования, это один из самых быстрых способов заполучить нужные знания, связи и репутацию. Плюс ко всему, это интересно.
Удивительно, что подработку довольно легко найти.
Они обычно небольшие—на несколько часов, на неделю…
Обычно они не платят немного: если вы знаете, где искать, то конкуренция там не слишком высокая.
Для такой работы обычно требуется меньше опыта: нужно «написать обычный поисковый модуль», а не «создать новый Facebook».
Какие плюсы для работодателя? Нет долгосрочных обязательств, не нужно выдавать работнику пропуск, не нужен отдел кадров. Если вы не справитесь с работой, работодатель почти ничего не потеряет.
Таким образом, получить подработку довольно просто. Проявляйте профессионализм, оперативно выполняйте работу, сделайте так, чтобы с вами было удобно работать — и вас наймут, несмотря на отсутствие опыта.
Как выяснить, какой тип подработки вам подходит?
Подработки помогут узнать вам, какие именно сферы программирования вам подходят.
Подработки дают возможность работать на множество разных людей и над множеством разных проектов. Это отличная возможность провести исследование и узнать, что вам нравится.
Интересуетесь данными? Берите заказы на скрейпинг или обработку данных.
Хотите больше узнать об оборудовании? Вам подойдут подработки, связанные с Arduino и Raspberry Pi.
Нашли то, что вам нравится? Найдите похожие заказы. Лично я с помощью подработок попробовал всевозможные области программирования. Мне удалось попробовать себя в таких сферах и проектах, как:
- веб-сайты
- видеоплееры
- аудиоплееры
- программирование микроконтроллеров
- потоковое видео и видеоконференции
- очистка данных и сканирование
- простые игры
и это неполный список.
Используйте подработки, чтобы понять, что вам нравится и не нравится в программировании. Обучение очень важно. Возможно, даже важнее, чем деньги, которые вы заработали бы, работаю на неинтересной для вас работе!
Подработки позволяют оттачивать навыки и ремесло.
Если вы только начинаете карьеру в программировании, вы, скорее всего, ещё не готовы к крупным и сложным проектам: возможно, вы ещё не освоили все необходимые для таких проектов навыки (например, недостаточно хорошо разбираетесь в коде, написанном другими людьми).
Вам также нужно оттачивать умение работать с архитектурой блоками кода выбранной API платформы. Ни один настоящий клиент не попросит вас улучшить CSS, чтобы вы научились работать с флексбоксами. Создание одностраничных приложений для четырех разных клиентов поможет вам понять, как React обрабатывает маршрутизацию.
Умение все делать самому — это важный навык, подработки помогут им овладеть. Вам придется строить целые системы самому. Вам придется узнать, как все работает — другого выбора нет.
Подработки помогут вам построить карьеру
Когда я начинал брать мелкие заказы, я не мог себе представить, что они откроют столько карьерных возможностей.
Заказчик оплачивает 2 часа работы (на самом деле, на этот заказ нужно немного больше времени), я выполняю работу в полном объеме и в срок. На следующий день он спрашивает, есть ли у меня время для другого его проекта.
Мое портфолио пополняется с каждым выполненным мной заказом. Каждый заказ расширяет мою сеть рабочих контактов. Люди, с которыми я работал, могут посоветовать мои услуги своими друзьям и коллегам. За эти годы мне удалось поработать с довольно крупными компаниями.
В конце концов настал момент, когда мне больше не нужно искать заказы. Заказчики сами меня находят.
Я прошел интересный путь. Сначала было страшно, но чем дальше, тем легче.
Найдите подходящий источник заказов
Для начала найдите место, где заказчики смогут найти ваши контакты и оценить, насколько ваши профессиональные навыки им подходят. Обычно заказчики ищут исполнителей онлайн: на сайтах по поиску работы, с помощью email- рассылок, каналов в Slack, на форумах и т. д. Для поиска заказов подойдёт любое сообщество, где люди размещают объявления о поиске исполнителей.
Поиск подходящей именно вам площадки — возможно самая важная часть поиска заказов. К поиску площадки нужно подойти ответственно.
Правда в том, что на каждой площадке есть абсолютно разные заказчики с разными потребностями, желаниями и критериями найма.
Если вы тратите время на неподходящие вам площадки, вам сложно будет найти работу: именно поэтому стоит потратить некоторое время на поиск подходящих площадок для поиска заказов.
Итак, что вы хотите найти?
Само собой, сначала найдите площадки, специализирующиеся на мелких заказах: именно там предприниматели и работодатели публикуют небольшие заказы с четко поставленной задачей. Таким работодателям не нужен сотрудник на полный рабочий день. Здесь вы не найдете работу, для которой нужно отправлять резюме и проходить собеседование в несколько этапов.
В дополнение к поиску таких площадок, обратите внимание на «нишевые» площадки.
Что я подразумеваю под словом «нишевые»? Я имею ввиду площадки с четкой направленностью, которые подходят именно вашему опыту и навыкам.
Какие бывают нишевые площадки?
- С географической направленностью. Некоторые площадки создаются для местных жителей. Люди часто нанимают людей через такие сайты, когда хотят работать с кем-то из своего города.
- С технологической направленностью. Некоторые площадки специализируются на конкретных технологиях. Если у вас есть опыт работы с какой-то конкретной технологией, у вас будет конкурентное преимущество на этих площадках.
- Направленные на решение конкретных задач. Некоторые площадки ориентированы на определенное профессиональное сообщество. Вступив в такое сообщество, вы получите доступ к заказам, недоступным для других разработчиков.
Если вы выберете хорошую нишевую площадку, вы значительно увеличите свои шансы найти подработку. На нишевых площадках ниже конкуренция и работодатели, заинтересованные в сотрудничестве. Самое главное, что поиск заказов на нишевых площадках позволяет вам показать себя с выгодной стороны: в разговоре с будущим заказчиком вы сможете сказать «мы живем в одном городе» — и в этом будет ваше конкурентное преимущество.
Если бы сейчас я начинал работа на фрилансе, я бы посоветовал:
- Craigslist (раздел с мелкими заказами) — он ориентирован на поиск по местоположению. Здесь вашим преимуществом будет «мы живем в одном городе».
- Публичные мероприятия— местные и нишевые. По моему опыту, на этих мероприятиях почти всегда есть человек, которому нужна помощь с его проектом. Тот факт, что вы местный, является огромным преимуществом.
- Наконец, upwork.com, freelancer.com и другие фриланс-биржи. На биржах много работодателей. Однако, начать поиск заказов на бирже не просто: вы конкурируете с людьми со всего мира, у которых уже есть отзывы и рейтинг. С рейтингом в 5 звезд получать заказы довольно просто, но пока у вас такого рейтинга нет — будьте готовы к большому количеству отказов.
Это довольно просто. Попробуйте поговорить с работодателем и убедить его, что ваши услуги будут ему полезны. Вы можете написать ему на электронную почту или заполнить форму обратной связи: способ не важен, главное — выйти на контакт.
О чем писать?
О том, что вы понимаете проблему, с которой столкнулся работодатель, и вы считаете, что способны справиться с этой проблемой.
Укажите в письме, сколько времени у вас это займет. Расскажите о себе, объясните, почему именно вы идеально подходите для решения поставленной проблемы.
Прикрепите ссылки на несколько ваших работ похожей тематики, если вы уже выполняли такие заказы.
Вы можете подумать: «Но у меня же нет опыта. Скорее всего, я им не подойду». Не обязательно. Сделайте недостаток опыта своим достоинством. Пусть работодатель знает, что вы новичок в фрилансе:
- Скажите, что вам интересно поработать с ними для пополнения портфолио: это будет значить, что вы готовы переделывать работу несколько раз и доводить все до совершенства.
- Поставьте низкую цену за свою работу и объясните такую цену недостатком опыта—вероятно, ваша цена будет ниже, чем у ваших конкурентов. Такая выгодная сделка понравится заказчику.
- Сделайте акцент на том, что несмотря на небольшой опыт в программировании, вы обладаете необходимым опытом и умениями для выполнения этой конкретной поставленной задачи. Так вы дадите работодателю понять, что вы, как никто другой, подходите для этого заказа.
Тот факт, что вы только начинаете работать в IT-сфере, может сыграть вам на руку. Вы сможете брать заказы, которые более опытные разработчики не берут: они работают ради денег, а вы — ради опыта и портфолио. Донесите эту информацию до работодателя и у вас не будет проблем с поиском заказов.
Напоминайте о себе
Об этом часто говорят во многих книгах и статьях о поиске работы. Очень важно напоминать о себе. Посмотрите на ситуацию с точки зрения работодателя.
Вы публикуете вакансию. Вам начинают поступать отклики от исполнителей. Большинство откликов вас разочаровывают: сообщения сумбурно и неграмотно написаны, исполнители завышают расценки, не понимают сути поставленной задачи. Несколько претендентов выгодно отличаются от всех остальных, но, естественно, вы хотите немного подождать, собрать больше откликов — вдруг найдутся кандидаты получше.
В конце концов вы переключаетесь на другие рабочие задачи и забываете о вакансии. Проходит несколько дней, новых откликов не появляется. Вы заняты работой…и тут вам приходит письмо от одного из тех самых подходящих претендентов. Вы понимаете, что он справится с поставленной задачей. Он напомнил о себе: вам нравится такой профессиональный подход. Вы принимаете решение нанять именно его.
Скорее всего, вы хотите быть тем самым нанятым исполнителем. Вы удивитесь, насколько мало людей напоминает о себе после отклика на вакансию, несмотря на то, насколько это важно.
Так что же делать?
После того, как вы отправили первое письмо работодателю, через несколько дней напишите ему снова:
«Добрый день! Я оставлял отклик на вакансию и не получил от вас ответа. Вы уже нашли исполнителя? Если нет, я буду рад вам помочь».
По моему опыту, скорее всего, вас наймут. Попробуйте и посмотрите, сработает ли это у вас.
Не отчаивайтесь
Да, начинать работать на фрилансе сложно. Не принимайте отказы близко к сердцу. Сначала у вас не будет отзывов и рейтинга: неудивительно, что заказчики будут с осторожностью относиться к вашей кандидатуре.
Продолжайте оставлять отклики и не отчаивайтесь! Советую больше думать о процессе, а не о результате: на этом этапе важнее продолжать поиски, а не сосредотачиваться на конечной цели «найти работу». Такой подход полезнее в долгосрочной перспективе. В конце концов, вы найдете свою первую подработку.
Оно того стоит. Когда после первого заказа у вас спросят: «А кем вы работаете?», вы с гордостью сможете заявить:
Я профессиональный программист 😃
Надеюсь, я вас убедил
Надеюсь, я убедил вас, что мелкие заказы — это хороший способ начать карьеру в IT-сфере.
Каждый небольшой заказ — это шаг к большим и интересным заказам. Найдите себе пару-тройку подработок. Вы удивитесь, сколько всего вы умеет — нужно всего лишь попробовать.
Перевод статьи Walt Schlender: How you can land a coding job with very little experience.
Как получить работу программиста без диплома
С развитием современных технологий навыки компьютерного программирования становятся все более востребованными. Эти специализированные рабочие места требуют глубоких знаний о компьютерах и программном обеспечении, но люди без ученых степеней все еще могут найти путь в отрасль и добиться успеха. Хотя вы можете подумать о базовом компьютерном обучении, все, что вам действительно нужно, — это некоторый опыт и технические навыки. В этой статье мы узнаем, чем занимается программист и как получить работу программиста без ученой степени.
Подробнее: Как стать программистом
Чем занимаются программисты?
Программисты разрабатывают, проектируют и тестируют программное обеспечение, а также проверяют его работу, обеспечивая максимальную производительность, надежность и безопасность. Они могут работать во многих отраслях, включая игры, мобильные приложения, веб-разработку и создание нестандартных дизайнов для удовлетворения потребностей клиентов.
Программисты обычно работают с другими разработчиками и дизайнерами, чтобы спланировать программы или приложения и выяснить, как они будут работать вместе.Программисты также часто выполняют итерации при проектировании, внедрении, разработке и тестировании и получают обратную связь от клиентов для повышения производительности программного обеспечения.
Подробнее: 6 типов заданий программирования
Какова средняя зарплата программиста?
Средняя заработная плата программистов варьируется в зависимости от опыта, специализации и работодателя. Однако средняя зарплата программиста в США составляет 48 635 долларов в год.
Какие навыки вам нужны, чтобы стать программистом?
Навыки компьютерного программиста находят применение в различных рабочих местах. Программисты часто работают вместе с разработчиками программного обеспечения и даже могут создавать программы. Некоторые задачи, за которые могут отвечать программисты, могут включать:
- Программное обеспечение для планирования: Вы можете использовать модели и блок-схемы, чтобы подробно описать, как писать код.
- Проектирование и создание приложений: Вы можете создать мобильное приложение или сложную операционную систему.
- Написание программ: Вы можете использовать различные компьютерные языки, чтобы написать программу для бизнеса или клиента.
Помимо технических навыков, таких как умение кодировать, программисты также извлекают выгоду из следующих навыков:
- Критическое мышление
- Решение проблем
- Внимание к деталям
- Боковое мышление
Подробнее : Навыки программиста: определение и примеры
Как получить работу программиста без ученой степени
Если вы только начинаете или имеете некоторый опыт в программировании, вот 11 шагов, которые нужно предпринять, чтобы получить работа программиста без ученой степени:
1.Изучите язык программирования
Чтобы понять область программирования, лучше сначала выучить его язык. Вы можете посещать онлайн или очные уроки, смотреть вебинары, читать книги и слушать программные подкасты. Некоторые из самых популярных языков программирования для начинающих — Python, JavaScript, Swift и Java. Каждый из них полезен по-разному, например:
- JavaScript: Лучшее для веб-разработки
- Swift: Лучшее для мобильной разработки
- Java: Лучшее для начинающих программистов
- Python: Лучшее для гибкости в различных отраслях промышленности
2.Инвестируйте в курс академии кодирования
Программисты знают, как программировать, и научиться программировать, не посещая курс колледжа, запишитесь в академию кода. Эти онлайн-курсы представляют собой интенсивные программы в стиле учебного лагеря, которые могут научить вас основам или помочь расширить ваш набор навыков.
3. Овладейте парадигмой программирования
Парадигмы программирования — это способ классификации языков программирования на основе их характеристик. Существуют разные стили программирования, но два самых популярных — объектно-ориентированный и функциональный.Различия:
- Объектно-ориентированное программирование: Считает все объектами
- Функциональное программирование: Подчеркивает оценку функций
4. Изучите инструменты программирования
У программистов есть инструменты, которые они регулярно используют в своей работе. работа, а также обучение и понимание того, как их использовать, будут ключом к получению работы программиста. Некоторые инструменты, которые вы можете изучить, включают:
- Контроль версий ежедневно: Это программное обеспечение позволяет кодировщикам общаться друг с другом.
- Веб-сайт с открытым исходным кодом: На веб-сайтах этого типа вы можете загружать свой код и управлять им.
- Регулярные выражения: Это фрагменты кода, распознающие шаблоны.
- Командная строка: Командная строка — это терминал, который позволяет вам взаимодействовать с вашей операционной системой.
5. Научитесь читать техническую документацию
Инструменты программирования обычно включают техническую документацию с инструкциями по использованию инструментов.Изучение и понимание того, как читать эту документацию, облегчит изучение различных инструментов программирования.
6. Попробуйте внештатное программирование
Альтернативой традиционному пути становления программистом с высшим образованием является начало работы фрилансером. Если вы умеете программировать, читать документы, пользоваться инструментами, искать вакансии фрилансера, где вы можете работать над каждым проектом. Таким образом, вы можете показать потенциальным работодателям, на что вы способны, и составить портфель работ.
7. Участвуйте в проектах с открытым исходным кодом
Присоединяйтесь к веб-сайту, который поддерживает открытые исходные коды от программистов, и найдите проект, в который вы можете внести свой вклад. Многие компании активно нанимают программистов из числа участников, занимающихся открытым исходным кодом, так что вы можете в конечном итоге продемонстрировать свои навыки потенциальному работодателю.
Вы также можете сосредоточиться на проектах в интересующей вас сфере, чтобы увеличить ваши шансы произвести впечатление на потенциального клиента. Для этого определите, в каких компаниях вам, возможно, будет интересно работать, и какие проекты компании в настоящее время борются.Доказательство своих навыков людям в сообществах с открытым исходным кодом, которые работают в одних и тех же организациях, также может быть значительным преимуществом для вас, чтобы показать им, на что вы способны.
8. Создайте свой собственный проект
Вместо того, чтобы участвовать в работе других людей, вы также можете создать собственное программное обеспечение. Например, вы можете разработать программу, которую другие разработчики могут использовать для облегчения своей работы, такую как API, продукты для разработчиков или библиотеку. Создание чего-то, что помогает компании повысить производительность, может увеличить ваши шансы быть замеченным потенциальным работодателем.
9. Повысьте доверие к себе
Если у вас есть некоторый опыт и вы создали или внесли свой вклад в проект, попробуйте вести блог о программировании. Напишите о своем вкладе в проект или о деталях проекта, который вы создали самостоятельно. Включите подсказки и уловки или углубитесь в некоторую техническую информацию. Обмен сообщениями в блоге и привлечение подписчиков может помочь вам укрепить свой авторитет в этой области.
10. Начните с работы, не связанной с программированием
Если у вас уже есть навыки работы с компьютером, вы можете сначала попытаться устроиться на работу, не связанную с программированием, чтобы получить опыт и перейти к работе по программированию.Некоторые альтернативные вакансии, которые следует рассмотреть, включают:
- Техническая поддержка: Работая в качестве технической или ИТ-поддержки, вы поможете пользователям преодолеть технические проблемы, используя компьютерную систему или программное обеспечение.
- Тестировщик программного обеспечения: При тестировании программного обеспечения вы убедитесь, что программа работает должным образом, от мобильных приложений до внутренних программ.
- Ввод данных: При вводе данных вы просматриваете, систематизируете и вводите данные в компьютерную систему или цифровую базу данных.
11. Расширьте свою стратегию поиска работы
Если вы заинтересованы в работе в определенной компании, исследуйте ее, чтобы узнать, нанимают ли они программистов без ученой степени. Узнайте больше об образовании их нынешних сотрудников, чтобы определить свой уровень. Вы также можете попробовать встретиться и пообщаться с другими программистами, чтобы узнать, где они работают и нанимают ли они программистов без ученой степени.
Как получить первую работу разработчика за 5 простых шагов | Эрик Эллиотт | JavaScript Scene
* Помните, я только что закончил школу.Правда, я впервые написал код более 10 лет назад, но мой «опыт» заключался в создании глупых игр и бездельничании над хобби-проектами.
** Как крутые дети разрабатывали пользовательские интерфейсы
Это резюме помогло мне взять интервью, но они не прошли так хорошо.
Мое первое собеседование по коду
Впечатленный моим удивительным списком ключевых слов навыков , я пошел на свое первое собеседование с кодом, чувствуя себя полностью довольным. Интервьюер взглянул на мое резюме и сказал: «Возьмите этот лист бумаги и напишите класс на C ++, в котором будет храниться отсортированный список имен.У него должно быть два метода: добавить
и список
».
Мое сердце упало сквозь пол. Когда я добавляю новое имя в список, я должен вставить имя так, чтобы оно было отсортировано в алфавитном порядке по фамилии …
Я был уверен, что смогу легко сделать это с помощью простых функций в C, но, честно говоря, я был довольно новичком в C ++ в время. Каков был синтаксис класса снова? Как определить методы? Мне нужно виртуальных методов
или статических методов
или общедоступных
или что? Какие были отличия?
Конечно, если бы я был дома со своей книгой по C ++, я мог бы просто перейти к примеру и проверить это, не беспокойтесь! Когда я кодирую, у меня всегда под рукой есть справочники.Это совершенно несправедливо! Я знаю, что мог бы справиться с этой работой, если бы мне просто разрешили ознакомиться с книгой.
А ЧТО? !!! Кто в здравом уме кодирует НА БУМАГЕ ?! Шутки в сторону? Дайте мне компьютер и книгу, и я сделаю это в кратчайшие сроки.
Я сдался и покинул интервью, чувствуя себя ПОЛНОСТЬЮ РАЗБИРАЕМЫМ.
Вернуться к доске для рисования.
Давайте поговорим обо всем, что не так с моим первым резюме по программированию. Каждый опытный менеджер по найму может заметить громкое резюме за много миль.Я никого не обманывала.
Совет по резюме: Надувание резюме, чтобы восполнить недостаток опыта, вам не поможет. Тебе будет больно. Если вы младший разработчик, приобретите его: «Младший разработчик со страстью к обучению!»
Если бы мне пришлось оценивать свои навыки со всеми этими вещами в то время по шкале от 1 до 10, я бы оценил их так:
- Photoshop: 8
- ACiDDraw: 3
- 3D Studio Max: 2
- Актуальные навыки графического дизайна: -10
- BASIC: 8
- QBASIC: WTF? Группа с Бейсиком, проблемка.
- Паскаль: 8
- ASM: 6
- Машинный язык x86: 1 (возможны только крошечные, элементарные программы)
- C: 6
- C ++: 1
- Пакетная партия MS DOS: 9
- Perl: 3
- AutoLISP : 2
Подсказка к резюме: Если вы оцените себя ниже 5 по любому навыку, не включайте это в свое резюме.
Я был мастером Photoshop. Я потратил на это много времени и действительно хорошо разбирался в функциях и меню, но, поскольку я ужасный дизайнер , все технические ноу-хау в Photoshop не очень помогут моему работодателю.Зачем заставлять себя разочаровывать людей (включая себя)?
После некоторой жестокой честности посмотрим, что у нас осталось:
BASIC, Pascal, ASM, C, MS DOS Batch
Совет по резюме: Если никто не нанимает для этого, а вы просто хвастаясь бесполезным навыком, оставьте это в своем резюме.
Теперь мы подошли к Паскалю, ASM и C.
Я не хочу сказать, что другие мои навыки не были ценными . Но перечисление всех моих навыков / попутных интересов без разбора определенно не помогло менеджерам по найму понять мои основные компетенции или то, чем я действительно хотел заниматься.
Теперь рассмотрим навыки по релевантности. Я считал, что Паскаль был в основном языком обучения, и он все еще использовался, но на рынке труда его приходилось меньше. Я действительно хотел получить работу по кодированию на C. В то время нужно было вручную оптимизировать много программного обеспечения в сборке, когда есть горячие точки, которые нуждаются в оптимизации, поэтому сборка все еще была полезным навыком:
А, намного лучше . А теперь оно уместится в небольшом резюме в верхней части моего резюме:
Страстный младший разработчик программного обеспечения, владеющий C, ASM и Pascal.
На новой должности вас будут просить писать код на месте каждый день. Вы должны быть готовы доказать, что можете это сделать, когда придете на собеседование.
Мое второе интервью по программированию
После пересмотра резюме я был в гораздо лучшем положении, чтобы пройти собеседование. Я был достаточно уверен в C, x86 ASM и Pascal, что, если бы они попросили меня написать код на бумаге или на доске без каких-либо доступных книг, я мог бы это сделать.
Мое второе собеседование по программированию сильно отличалось от первого.Когда генеральный директор проводил для меня экскурсию, его неожиданно отозвали, и он оставил меня тусоваться с другими разработчиками. Когда он вернулся, я был занят, помогая им. Меня наняли на месте, я осталась там до конца дня, а на следующее утро первым делом пришла на работу. Лучшее интервью на свете.
На этой работе мне пришлось использовать C, Delphi (в основном Pascal ++) и C ++. Здесь же я впервые познакомился с Java и, в конце концов, с новым классным языком веб-сценариев в браузере под названием JavaScript.Я понятия не имел, насколько это будет важно в то время.
Как я смог сразу же начать вносить свой вклад во время моего второго собеседования по программированию? Я пришел подготовленным. У меня были навыки, необходимые для немедленного воздействия.
Дело в том, что вы узнаете большую часть того, что вам нужно знать, чтобы быть продуктивным на работе, но печальная реальность такова, что работодателям все равно. Они хотят, чтобы вы сразу взялись за дело, даже будучи младшим разработчиком начального уровня.
Если вы только что закончили буткемп разработчиков или у вас меньше года или около того опыта, это действительно нереалистичное ожидание, но если вы хотите получить работу и избежать размывания, это то, что вам нужно. быть готовым к.Прежде чем приступить к собеседованию, вам нужно узнать как можно больше.
Новому выпускнику учебного лагеря, вероятно, понадобится пара месяцев полного рабочего дня для создания приложений, чтобы действительно достичь желаемых работодателей темпа производительности.
После того, как вы пройдете примерно 1000 часов обучения по упражнениям по коду и практическим проектам, вам потребуется еще около 320 часов для создания более сложных приложений на пределе ваших возможностей.
Что я имею в виду под «более сложными приложениями»? Я имею в виду, что это должны быть более крупные проекты с пользовательскими логинами (желательно без пароля) и платформой приложений (я рекомендую React + Redux.Angular 2 также популярен. Если вы используете Angular 2, проверьте ngrx / store).
Нужны идеи для приложений? Ознакомьтесь с разделом «Лучший способ научиться программировать — это писать код: изучать архитектуру приложений путем создания приложений».
В лучшем случае вам понадобится как минимум 1320 часов практики, чтобы действительно подготовиться к вашей первой работе по программированию.
Помимо умения создавать настоящие приложения, вам также необходимо произвести впечатление на устном собеседовании и хорошо понимать некоторые основные фундаментальные концепции программирования.
В общем, это означает, что вам нужно будет прочитать несколько книг и сообщений в блогах, или посмотреть видео, или пройти несколько курсов. Но не учись бесцельно. Вы должны иметь в виду направление. Ознакомьтесь с «10 вопросами для собеседования, которые должен знать каждый разработчик JavaScript» и серией моих сообщений в блоге «Освойте интервью по JavaScript».
Изучите общие вопросы, задаваемые на собеседовании, и подойдите к собеседованию с хорошим пониманием концепции. Это означает, что вам нужно будет изучить каждую концепцию и немного попрактиковаться в ее применении в реальном коде.
Например, когда интервьюер спрашивает: «Что такое закрытие?» вы должны не только знать определение, но и уметь перечислять несколько вариантов использования замыканий и объяснять, почему они полезны.
Ожидается, что дизайнеры и фотографы придут с портфолио: набором образцов проектов, которые они завершили, чтобы продемонстрировать качество своей работы.
В наши дни менеджеры по найму все чаще ждут того же от разработчиков. Для нас будет чрезвычайно полезно, если мы сможем просмотреть какой-то код, который вы уже написали.Ваша учетная запись GitHub заполнена учебными проектами и небольшими приложениями для практики? Большой!
Это дает нам хорошее представление о том, где вы находитесь с точки зрения развития ваших навыков. Если у вас нет учетной записи GitHub, и вы никогда не публиковали исходный код публично и не участвовали в каких-либо проектах с открытым исходным кодом, это тоже кое-что говорит нам о вас.
Может быть, вы думаете, что у вас нет времени. Как вы думаете, вы единственный человек с семьей или единственный человек, подписавший соглашения о неразглашении с компаниями и написанный код, которым мы не можем делиться?
Нет.Время ценно и для всех остальных. Но ваша карьера важна. Важно продемонстрировать свою приверженность и свою страсть. Если у вас нет портфолио, на которое мы могли бы взглянуть, это определенно красный флаг. Может быть, ты недостаточно увлечен? Может быть, вам на самом деле не нравится , чтобы кодировать достаточно, чтобы заниматься этим в свободное время? (В этом случае вам следует подумать о том, чтобы найти карьеру, которая больше соответствует вашим интересам и увлечениям).
Может быть, вы думаете, что я сужу вас несправедливо.Реальность такова, что и другие тоже. Некоторые выбросят ваше резюме прямо в корзину, если не увидят ссылку на GitHub. Вы действительно хотите рискнуть?
Перестаньте оправдываться и выкроите время. Это твоя карьера. Это то, на что вы собираетесь тратить большую часть своего бодрствования в своей жизни. Отнеситесь к этому серьезно. Включайтесь в работу. Сделай это.
Разыгрался стереотип социально некомпетентного компьютерщика. Те дни прошли. Это не значит, что нужно быть экстравертом.Это означает, что вы всегда должны относиться к другим людям с уважением.
Вам нужно уметь заводить друзей, сотрудничать и хорошо себя преподносить. Если вы хотите быстро завести друзей, научитесь распознавать возможности и проявлять благодарность за них. Выражение признательности другим людям — вероятно, самый быстрый способ добиться их расположения.
Учитесь и практикуйте сочувствие. Сделайте это частью вашего личного бренда. Сочувствие — самый важный навык, которым может обладать разработчик программного обеспечения.Без него у вас ничего нет.
Как вы без сочувствия поставите себя на место пользователя программного обеспечения? Как вы начнете понимать потребности бизнес-команды, своего менеджера или коллег? Если вы не можете понять, что нужно другим людям, зачем им это и как вы можете работать с ними, чтобы удовлетворить эти потребности, жизнь станет для вас намного труднее.
Сочувствие — это то, что вы можете практиковать. Когда вы общаетесь с другими, особенно если вы не согласны, сделайте сознательное усилие, чтобы поставить себя на их место.Постарайтесь понять, почему они чувствуют то же, что и они, и чем вы можете помочь.
Управляйте своим личным лифтом. Узнай свои сильные стороны. Что вас отличает? Как можно хорошо представить себя в первые несколько секунд? Каждый раз, когда вы переходите с одной работы на другую, встречаетесь с новыми людьми или беретесь на работу по контракту, вам придется продавать себя.
Признайте, что в современном обществе у каждого есть личный бренд, независимо от того, осознанно вы думаете об этом или нет.Это отражается в ваших социальных сетях, в том, как вы выражаете себя через стиль и в том, как вы общаетесь.
Если у вас будет личный бренд, вы можете владеть им, формировать его и управлять им. Каким человеком ты хочешь быть? Каким бы вы хотели, чтобы окружающие видели вас? Подумайте об этом. Составьте список черт, которыми вы хотите быть известны, а затем займитесь их развитием и практикой.
Убедитесь, что они видны каждый раз, когда вы общаетесь с другими.
Сочувствие — самый важный навык разработчика. Практикуйте это.
- Раскройте свое резюме: Вы — младший разработчик, любящий учиться. Собери это. Используйте это в своих интересах. Команды разработчиков должны нанимать младших разработчиков. Ваша неопытность — часть вашей ценности.
- Практика: Настоящая, осознанная практика с лазерной фокусировкой и планом игры. Вам нужно потратить около 1000 часов на упражнения по кодированию и еще 320 часов или около того на создание реальных приложений .Сделайте это, и вы будете готовы к большинству проблем программирования в реальном времени, с которыми вам придется столкнуться на собеседовании.
- Учеба: Читайте книги. Посетите онлайн-курс. Самое главное, ознакомьтесь с типичными вопросами на собеседовании и будьте готовы их выполнить.
- Создайте портфолио: Помимо того, что это отличный инструмент для оценки уровня ваших навыков, если у вас нет портфолио, он заставит менеджера по найму задаться вопросом, насколько серьезно вы относитесь к своей карьере в области развития или насколько вы увлечены о программировании.Пора перестать оправдываться и сделать это. Это отличное место, где можно разместить на практике те приложения, которые вы собираетесь создавать. (См. №2).
- Развивать человеческие навыки: Сочувствие — самый важный навык для разработчиков программного обеспечения. Может быть, самый важный навык в жизни. Практикуйтесь, учитывая точку зрения других людей. Вы создадите более удобные приложения и улучшите отношения с коллегами и руководителями групп.
Как получить работу программиста без опыта
Когда у вас нет опыта, найти работу может быть чрезвычайно сложно.
В прошлом посте мы говорили о том, как получить работу программиста в процессе стажировки, но это не всегда вариант.
Но не стоит терять надежду. Если вы не можете пройти стажировку и у вас нет опыта, вы все равно можете устроиться на работу.
Независимо от того, делаете ли вы карьерный переход или ищете первую работу программиста после колледжа, существует множество компаний, которым нужно найти программиста, и я собираюсь показать вам, как их добиться.
Этот пост не столько о том, как устроиться на работу инженером-программистом, сколько поможет вам подготовиться к получению работы без какого-либо или очень небольшого опыта.
В следующем посте мы подробно рассмотрим, как лучше всего подать заявку и найти работу — независимо от того, опытен вы или нет.
Прежде чем вы начнете подавать заявку, вам нужно научиться продвигать себя как талантливого разработчика, и именно об этом и идет этот пост.
Самый большой риск для компаний: выяснение того, как найти хорошего разработчика программного обеспечения
Давайте начнем с обсуждения самого большого фактора риска для большинства компаний, когда дело доходит до найма разработчика программного обеспечения.
Вы знаете, что это такое?
Ну, будучи по обе стороны стола несколько раз и будучи владельцем бизнеса, я могу сказать, что в большинстве случаев это нанимает кого-то, кто на самом деле не знает, как кодировать
Наем кого-то, кто не иметь большой опыт разработки программного обеспечения — или действительно плохо умеет кодировать — на самом деле добавляет отрицательной ценности и может стоить компании даже больше денег, чем просто выплата зарплаты.
В таком случае лучше вообще никогда не нанимать этого человека.
Когда я работал в Hewlett Packard, частью моей работы было собеседование с «первоклассными» программистами на C ++, чтобы они попали в нашу команду. Эти программисты присоединились бы к моей команде проверенных первоклассных разработчиков на C ++, чья работа заключалась в отладке самых сложных проблем и сортировке их для решения командой разработчиков продукта.
Часто я сидел за столом для собеседований и смотрел резюме якобы «опытного программиста на C ++» с более чем 15-летним опытом, и я задавал им один простой вопрос о C ++, но они не могли » Я не отвечаю.
Один простой вопрос.
Я попросил их написать код, и у них было 100 оправданий, почему они не могли написать код прямо сейчас или почему их код для простой задачи не работал.
Это должны были быть опытные разработчики.
Помните, у этих людей были отличные резюме, они прошли мимо HR, прошли техническое собеседование по телефону, и теперь сидели передо мной, отчаянно пытаясь обмануть меня , заставив поверить в то, что они действительно знают, как код.
Почему я поднимаю этот вопрос?
Потому что я хочу подчеркнуть, что любой хороший технический интервьюер видел все это до и нанял достаточно плохих программистов, чтобы они знали, что их основная задача — доказать, что вы на самом деле не умеете программировать.
Любая компания, в которой вы хотели бы работать, будет максимально защищать себя от найма разработчиков, не умеющих писать код.
Это одна из причин, почему — несмотря на то, что на это жалуются очень многие разработчики программного обеспечения, — так много компаний проводят собеседования по программированию на доске.(Одного из них действительно сложно обмануть.)
Преодоление этого риска: как получить свою первую работу в области разработки программного обеспечения
Куда я иду со всем этим?
Простой. Если у вас нет опыта, ваша основная стратегия получения работы программиста — доказать, что вы умеете программировать и что это не чушь.
Все остальное, о чем я говорю в этом посте, будет основано на той идее, что вы хотите уменьшить этот риск — страх нанять младшего разработчика без опыта — насколько это возможно.
Не все опрашивают потенциальных разработчиков так усердно, как я, но я могу сказать вам, что даже самый тупой интервьюер заподозрит способности человека, у которого нет вообще никакого опыта программирования в своем резюме.
На самом деле, вы, вероятно, вообще не пойдете на собеседование, если не поймете, как внушить достаточно уверенности в своих способностях или компетенции кодирования, чтобы в первую очередь преодолеть этот серьезный недостаток.
Итак, наша основная задача по содействию успешному поиску работы — сделать так, чтобы четко прояснила для любой компании, которая рассматривает вас на должность, что, даже если у вас нет прямого опыта работы, вы являетесь опытным программистом. , и у вас есть внешнее доказательство того, что вы умеете кодировать.
Это то, что поможет вам попасть в дверь.
Иметь присутствие в сети
Прежде всего, вы должны иметь какое-то присутствие в Интернете.
Первое, что собирается сделать потенциальный интервьюер, когда вы собираетесь получить работу, — это ввести в Google ваше имя.
На самом деле менеджер по найму, получивший ваше резюме, вероятно, сделает это еще до того, как вы приблизитесь к собеседованию. И то, что они ищут, хорошо подходит как с точки зрения культуры, так и с точки зрения ваших технических навыков.
Будет действительно плохо, если первое, что всплывет, — это ваш снимок с вашей неосмотрительностью, которую вы совершили с публичным мочеиспусканием во время весенних каникул на Пасифик-Бич, а затем фото в Facebook, на котором вы стоите с бочонком и переворачиваете птицу.
Будет действительно хорошо, если появится ваш профессиональный блог , где у вас будет куча статей о конкретных технологиях разработки программного обеспечения, на которых вы специализируетесь, и, похоже, вы постоянно обновляете его.
Каждый разработчик программного обеспечения должен вести блог.
Неважно, опытный вы разработчик или только начинающий. Вы должны делиться тем, что вы изучаете и пишете о выбранной вами специальности в области разработки программного обеспечения.
Если у вас его еще нет, подпишитесь на мой бесплатный курс о том, как создать блог.
Я не собираюсь вдаваться в подробности создания блога и специализации здесь, но я слышал все отговорки, которые только можно придумать, относительно того, почему у людей нет блога.Итак, позвольте мне сказать, независимо от опыта, независимо от того, считаете ли вы, что вам нечего сказать, просто сделайте это.
По крайней мере, блог покажет, что у вас есть некоторая страсть и преданность своему интересу к разработке программного обеспечения, и что вы из тех людей, которые любят учиться и помогать другим.
Помимо блога, также помогает всплывать другие полезные сведения, когда ваше имя введено в Google.
Учетная запись Twitter, возможно, страница в Facebook, вклад в проект с открытым исходным кодом или что-то еще, что показывает, что вы активны и участвуете в сообществе разработчиков программного обеспечения, будет иметь большое значение для того, чтобы помочь вам завоевать доверие, несмотря на отсутствие опыта .
Я настоятельно рекомендую вам ввести в Google свое имя и посмотреть, что из этого выйдет.
В современном мире это ваше настоящее резюме, независимо от того, какое резюме вы создаете.
Имейте портфолио
Наличие онлайн-присутствия — это первая статья из серии «Как получить работу программиста», но без опыта вы, вероятно, также захотите иметь немного больше содержания.
Если вы ДЕЙСТВИТЕЛЬНО хотите получить работу по кодированию без опыта, действительно неплохо иметь портфолио некоторых работ, которые вы проделали , которое показывает, что вы знаете, как кодировать, и которое также дает пример ваш код.
Это значительно снизит риск, который возникнет у потенциального работодателя при приеме на работу кого-то, у кого нет опыта.
Если потенциальный работодатель видит код, который вы написали, и проекты, которые вы создали, особенно на конкретном языке программирования, в котором он нуждается, он может быть более уверен в том, что вы хотя бы имеете некоторое представление о том, что вы делают и, вероятно, могут написать для них код.
Теперь невозможно доказать, что вы написали код сами или что это даже ваш код, но если у вас есть приличный портфель проектов, которые вы создали, это становится все более и более правдоподобным.
Я настоятельно рекомендую создавать небольшие проекты, пока вы учитесь программировать или после того, как научитесь программировать, и демонстрируя свои способности, написав все приложение от начала до конца.
Вы можете разместить эти проекты в Интернете с помощью таких сервисов, как Github.
На самом деле, стоит уделить время разговору о Github, который может выступать в качестве онлайн-портфолио и уже используется для оценки способностей даже опытных программистов.
Github — это онлайн-репозиторий с открытым кодом для многих проектов кода, особенно проектов с открытым исходным кодом, основанных на системе управления версиями Git.
Но сегодня это гораздо больше.
Многие разработчики программного обеспечения оцениваются по их профилю на Github , который показывает, в какие частные проекты и проекты с открытым исходным кодом они вложили код, какие проекты они создали, как часто они фиксируют код и насколько популярен их код.
Использование Github — один из тех способов доказать, что у вас есть способности, когда у вас нет реального опыта работы.
Если бы я начинал как разработчик программного обеспечения начального уровня без опыта, я бы сделал свой профиль Github максимально впечатляющим.
Ваш профиль на Github может по сути служить онлайн-портфолио для вашей работы.
Даже если вы не используете Github, у вас все равно должно быть портфолио с вашими работами.
Еще один отличный способ получить опыт программирования — это создать реальных мобильных приложения , которые можно развернуть в одном из магазинов мобильных приложений.
Это действительно легко сделать сегодня для любого, и есть множество преимуществ, помимо простого создания портфолио для себя.
Вы также можете заработать немного денег и, возможно, даже сможете создать свой собственный побочный бизнес — подробнее об этом ниже.
Я бы хотел иметь в своем портфолио не менее 3-4 приложений или проектов, которые вы создали.
Они не обязательно должны быть большими, но и не должны быть полностью тривиальными.
Постарайтесь продемонстрировать свое мастерство в технологии, в которой вы стремитесь получить работу.Это также помогает показать некоторую способность кодирования делать что-то вроде вызова веб-службы или использования базы данных.
Вы также можете включить модульные тесты или автоматические тесты какого-либо типа, чтобы показать, что у вас есть возможность писать тестовый код.
Вы захотите продемонстрировать все свои способности с этими примерами проектов в своем портфолио.
Также может быть хорошей идеей принести свой ноутбук на собеседование с одним из этих проектов, который уже загружен, чтобы вы могли показать интервьюеру код, который вы написали, и объяснить, почему вы разработали вещи именно так и как вы создали одно из приложений в вашем портфолио.
Честно говоря, Я бы не стал сегодня заниматься разработкой программного обеспечения без какого-либо портфолио. Я думаю, что это лучший способ продемонстрировать свои умения, потому что по большей части это неопровержимое доказательство того, что вы знаете, что делаете.
Создайте свою собственную компанию
Многие люди смеются, когда я говорю им об этой идее получения опыта, которого у вас нет, но это совершенно законно.
На самом деле гораздо больше компаний, чем вы думаете, на самом деле управляется одним человеком или скелетным штатом сотрудников или подрядчиков, работающих неполный рабочий день.
Нет абсолютно никаких причин, по которым вы не можете создать собственную компанию по разработке программного обеспечения , разработать приложение, продавать или распространять это приложение и называть себя разработчиком программного обеспечения, работающим в этой компании.
Вы можете делать это одновременно с созданием портфолио и обучением программированию.
Если бы я начинал сегодня, я бы сформировал небольшую компанию, заполнив форму LLC или даже просто форму DBA (Doing Business As) (вам даже не нужно юридическое лицо), и я ‘ Я создам одно или два приложения, которые войдут в мое портфолио.Затем, , я опубликую это приложение или приложения в магазине приложений или каким-либо образом продам их в Интернете.
Я создал небольшой веб-сайт для своей компании по разработке программного обеспечения, чтобы он выглядел еще более законным.
Затем, указав в моем резюме , я указал компанию и свою роль разработчика программного обеспечения.
Хочу подчеркнуть, что это никоим образом не лжет и совершенно законно. Слишком много людей думают слишком узко и не осознают, насколько это жизнеспособный и совершенно разумный вариант.
Я бы ни в коем случае не выступал за ложь.
Если вы создаете приложение и создаете свою собственную компанию по разработке программного обеспечения, нет причин, по которым вы не можете называть себя разработчиком программного обеспечения для этой компании и помещать этот опыт в свое резюме — мне все равно, что кто-то говорит.
Итак, если вас спросят о компании на собеседовании, вам нужно быть честным и сказать, что это ваша собственная компания и что вы создали ее сами.
Однако вам не нужно добровольно предоставлять эту информацию.
Я не думаю, что быть единственным разработчиком программного обеспечения собственной компании — это тоже вред.
Я бы предпочел нанять человека, который начал заниматься самостоятельно, который создал собственную компанию по разработке программного обеспечения, создал приложение и выставил его на продажу, чем кого-то, кто просто работал на кого-то еще в своей карьере.
Я понимаю, что не все работодатели будут так думать, но многие будут. Вы, наверное, удивитесь, сколько.
Фактически, Simple Programmer буквально так начал.
Подготовка к собеседованию
Любой, кто ищет работу, должен подготовиться к собеседованию, но тем, у кого нет опыта, следует сделать это особенно, потому что вас будут судить гораздо более жестко, и вам придется отвечать на гораздо более сложные вопросы .
Итак, сделайте свою домашнюю работу над каждой возможностью найти работу. Уделите много времени подготовке к собеседованию. изучите вопросы, которые вам могут задать, и проведите имитацию собеседований с друзьями, родственниками или тем, кто готов вам помочь.
Возьмите фотоаппарат и запишите себя во время интервью.
Воспроизведите его и посмотрите, как вы выглядите и звучите.
Возьмите книгу типа Cracking the Coding Interview и убедитесь, что вы можете пройти любое собеседование по кодированию, которое получите.
Вам нужно будет действительно проявить себя, поэтому вам нужно быть более подготовленным.
Когда у вас нет опыта, вы начинаете с явного недостатка, поэтому вам придется очень много работать, чтобы преодолеть его на собеседовании.
Создайте свою сеть
Это еще одна из тех вещей, которые должен делать каждый, кто ищет работу, но вам особенно нужно это делать, если у вас нет опыта.
Вот один из лучших советов, которые у меня есть о том, как получить работу в сфере программного обеспечения без опыта: убедите кого-нибудь выстрелить в вас и дайте вам шанс , потому что либо они знают и любят вас, либо они знают кого-то, кто будет ручаюсь за тебя.
Вот почему чрезвычайно важно регулярно посещать общественные мероприятия, такие как встречи или организации разработчиков, и начинать формировать прочные связи.
Усердно работайте над созданием сети с людьми, которые работают в различных компаниях, в которых вы, возможно, захотите найти работу.
Опять же, это еще один способ преодолеть недостаток отсутствия опыта.
Если бы я начинал без опыта, я бы тратил дополнительные усилия на создание сетей.
Предложить работу бесплатно
Я немного углубляюсь в тактику здесь, так как это применимо в основном к тем, у кого нет опыта, и я не собираюсь рассказывать об этом в следующем посте о поиске работы, но я не собираюсь Не хочу упускать это из виду.Один действительно хороший способ устранить риск для компании, которая рассматривает возможность найма вас, когда у вас нет никакого опыта, — это просто предложить работу бесплатно или, что еще лучше, предложить гарантию возврата денег за вашу работу.
Я знаю, это звучит безумно — и я признаю, что это немного сложно осуществить.
Вы, вероятно, не собираетесь использовать этот подход, когда будете проходить обычный процесс резюме / собеседования, но если вы работаете через свою сеть или обращаетесь напрямую и через неформальный процесс собеседования, вы действительно можете рассмотреть это тактика.
У вас должно быть большой уверенности , чтобы осуществить это, хотя .
Вы должны спроецировать идею, что вы настолько уверены в своем успехе, что стоит рискнуть и что вы даже готовы работать бесплатно или с гарантией возврата денег, чтобы доказать это.
Вы должны быть довольно настойчивыми и мыслить нестандартно — как я уже сказал, это вряд ли сработает в типичном процессе резюме / собеседования.Однако , если вы нестандартный мыслитель и склонны к продажам или с очень высокой харизмой , вы можете заставить это работать .
На самом деле, если вы сделаете это достаточно уверенно, вас могут даже нанять без необходимости работать бесплатно или предлагать гарантии. Простое предложение такого рода может вселить в потенциального работодателя достаточную уверенность в ваших способностях, и он будет готов рискнуть и сразу же нанять вас.
Как я уже сказал, это маловероятно, но я слышал множество историй о разработчиках программного обеспечения, успешно применяющих эту тактику.
Кроме того, если все остальное не работает и вы в отчаянии, что вам терять ?
Предложение поработать над небольшим проектом
Если предложение работать бесплатно или с гарантией возврата денег кажется слишком смелым, дерзким или рискованным — или, возможно, всем сразу, — существует уменьшенная версия той же идеи, которая может помочь снизить риск для работодателя, дав вам возможность проявить себя перед приемом на работу.
Сначала вы всегда можете предложить работу подрядчиком или консультантом на очень небольшом проекте, чтобы продемонстрировать свои способности .
Опять же, это потребует по крайней мере некоторого нестандартного мышления, но если вы предложите это правильно — особенно компании, которая «не нанимает сейчас», — вы, возможно, сумеете это осуществить.
Фактически, многие компании сначала нанимают сотрудников в качестве временных подрядчиков, чтобы «протестировать» их .
Другой вариант этой же тактики — набраться опыта, выполнив действительно дешевую внештатную работу.
Вы можете зарегистрироваться на таком сайте, как Upwork.com, чтобы работать фрилансером и делать ставки на вакансии.
Если вы готовы работать по очень низкой ставке, вы можете получить работу даже без опыта.
Возможно, вы рассчитываете зарабатывать 25 долларов в час, выполняя работу по программированию. Вы всегда можете предложить работу за 5 долларов в час, чтобы набраться опыта.
Проявите некоторую уверенность. Допустим, вы обычно берете 25 долларов в час и можете выполнять свою работу так же хорошо, как и тот, кто берет эту плату или выше, но вы пытаетесь получить некоторый опыт, поэтому вы готовы работать по гораздо более низкой ставке.
Я даже нанимал на Upwork фрилансеров, которым явно не хватало опыта , но их процент был настолько низким, и они так стремились получить опыт, что я решил дать им шанс.
По очень низкой ставке, я решил, что мне нечего терять, и если они окажутся хорошими работниками, я получу чертовски выгодную сделку.
Это не обязательно должно быть Upwork. Я дал интервью Маркусу Бланкеншипу, и он рассказал о том, как, когда он только начинал заниматься веб-разработкой-фрилансером, он работал по смехотворно низкой ставке, просто чтобы набраться опыта.
Пока вы представляете свое предложение эффективно и готовы к значительному сокращению заработной платы, вы можете обменять меньшую зарплату на опыта, что будет гораздо более ценно в долгосрочной перспективе.
Работа в почтовом отделении
Я не всегда советую использовать тактику почтового отделения, потому что это может привести к тому, что вы застрянете в роли, которую вы не хотите выполнять, и в некоторых случаях может быть трудно перейти на должность разработчика программного обеспечения. организации. Иногда, однако, это лучший выбор, когда вам не хватает опыта и вам нужно вмешаться.
В начале моей карьеры у меня было очень мало опыта, и безумное увлечение наймом из-за бума доткомов только что закончилось.
Было сложно устроиться на работу по разработке программного обеспечения.
Я пытался устроиться на множество разных вакансий, у меня даже было несколько собеседований, но через три месяца у меня не было никаких реальных перспектив.
Наконец, я решил позвонить своему приятелю, который работал в HP, и посмотреть, есть ли какой-нибудь способ вернуть меня туда.
Он сказал, что у него нет работы по разработке программного обеспечения, с которой он мог бы мне помочь, но им нужен специалист по контролю качества, и он был почти уверен, что сможет найти мне эту работу, если я этого захочу.
Я знал, что не хочу участвовать в контроле качества, но мне казалось, что когда я буду работать в HP, у меня будет больше шансов получить там работу по разработке программного обеспечения, поэтому я взялся за эту работу.
У меня не заняло много времени, прежде чем я начал помогать одному из программистов, сидевших рядом со мной, и через некоторое время меня перевели на должность разработчика программного обеспечения и, в конце концов, повысили.
Даже если это не идеально, вы можете начать с другой должности в компании и продвинуться до роли разработчика программного обеспечения.
При этом, конечно, возникают проблемы, и трудно заставить кого-то изменить свое отношение к вам, если вы входите в определенную роль и теперь хотите перейти к разработчику программного обеспечения. Тем не менее, если у вас нет опыта, этот метод может сработать.
Это хотя бы поможет вам войти в дверь.
Получить сертификаты
Я не слишком разбираюсь в сертификатах, но я думаю, что они становятся гораздо более ценными, когда у вас нет реального опыта работы.Если вам интересно, как заняться разработкой программного обеспечения без ученой степени (или большого опыта), то получение сертификата может быть хорошим шагом.
Получение сертификатов не докажет, что вы что-то знаете, и не гарантирует вам работу, но это еще один способ уменьшить некоторую неопределенность, которая может возникнуть у потенциального работодателя при приеме на работу кого-то, у кого нет опыта.
В какой-то момент моей карьеры мне не хватало опыта работы с .NET, но я действительно хотел получить какую-то роль.NET, потому что мне нравился C #, и я думал, что это будущее.
Проблема заключалась в том, что, хотя у меня был некоторый опыт работы с C ++, никто не хотел нанимать меня на работу в .NET — тем более, что у меня в то время не было высшего образования.
Итак, что я сделал?
Я получил все сертификаты .NET, какие только мог.
У меня есть MSCD, затем MCAD и даже MCDBA для хорошей оценки.
У меня были почти все сертификаты разработчика, которые вы могли получить от Microsoft.
В течение года меня перевели на должность .NET, несмотря на реальный опыт использования этой технологии.
Теперь, как я уже сказал, это может не сработать для вас, но я не думаю, что это может повредить, особенно когда вам не хватает опыта.
Будьте настойчивыНаконец, помните, что скрипящее колесо всегда получает смазку.
Раньше я ставил внизу своей электронной подписи: «Я — скрипящее колесо», чтобы напомнить всем, что я буду продолжать нападать на вас, пока вы не дадите мне то, что я хочу.
Я обязан своим жизненным успехом больше настойчивости, чем чему-либо еще.
Если у вас нет опыта, вы должны восполнить его смекалкой.
Будьте предприимчивым человеком, который не принимает «нет» в качестве ответа, и люди, вероятно, в конечном итоге дадут вам шанс — опыт или нет.
Многие люди боятся следить, опасаясь, что они упустят свои шансы или будут раздражать.
Быть надоедливым. Это лучше, чем быть забытым.
Кроме того, если вы достаточно настойчивы и делаете это так, чтобы это как можно меньше раздражало, вы произведете впечатление человека, жаждущего и нетерпеливого.
Я был на обоих концах.
Я обработал 10 писем, прежде чем получил положительный ответ от человека, с которым пытался связаться.
Я также получал электронные письма с просьбой уделить мне время, которые я явно игнорировал, пока шестой или седьмой не заставил меня обратить внимание и осознать, что с таким настойчивым человеком, возможно, стоит потратить некоторое время.
Если у вас нет опыта, вам придется как-то его получить.
Не сдавайтесь. Продолжайте следить. Продолжайте делать то, что делаете, и в конце концов вы найдете перерыв.
Как стать инженером-программистом (без степени CS) в 2021 году
Вы хотите узнать, как стать инженером-программистом, но у вас нет лет, чтобы посвятить изучению CS в университете? Что ж, хорошие новости: вы можете стать разработчиком программного обеспечения без высшего образования!
Неважно, возвращаетесь ли вы на работу или застряли в карьере, которая вам не нравится (администрация, операционная деятельность, банковское дело и т. Д.), стать разработчиком программного обеспечения вполне в ваших силах, если вы готовы усердно трудиться.
Согласно US News, разработчики программного обеспечения получают среднюю зарплату 107 510 долларов в год, а уровень безработицы составляет 1,4%, что делает эту карьеру одной из самых прибыльных технологических профессий. Кроме того, эта профессия обеспечивает баланс работы и личной жизни выше среднего.
Более того, Бюро статистики труда прогнозирует, что в период с 2019 по 2029 год темп роста составит 22%.Между тем средний рост по всем профессиям составляет 4 процента. Это означает 124 500 вакансий.
И знаете что? Несмотря на позитивный прогноз и изобилие возможностей, только 3% выпускников колледжей изучают информатику и информатику. Как вы можете видеть на изображении ниже, в 2020 году было 1,4 миллиона компьютерных рабочих мест по сравнению с 400000 студентов CS.
Вы понимаете: навыки программирования могут обеспечить большую финансовую безопасность, а также гибкость в повседневной работе. Но как получить навыки разработчика программного обеспечения, не просидев четыре года на курсах CS? И что еще более важно, как получить работу программиста без ученой степени и начать этот прибыльный карьерный путь инженера-программиста?
Хорошие новости: это вполне возможно! Это 16-шаговое руководство приоткроет завесу и покажет вам, как стать инженером-программистом без степени CS. Так что читайте дальше!
Раскрытие информации: я горжусь сотрудником некоторых ресурсов, упомянутых в этой статье.Если вы купите продукт по моим ссылкам на этой странице, я могу получить небольшую комиссию за то, что направлю вас. Спасибо!
Содержание
Что такое инженер-программист?По определению, инженер-программист — это тот, кто пишет код программных продуктов (видеоигры, операционные системы, приложения, функции, роботы и т. Д.).
💻 Чем занимается инженер-программист?
- Проектирование, создание и тестирование программных приложений
- Понимание требований и решение проблем с помощью кодирования / технологий
- Использование языков программирования для преобразования инструкций в то, что компьютер может понять
- Может программировать что-то с нуля или сотрудничать с командой разработчиков разработчиков, или улучшить / отладить существующий код
- Возможно, потребуется работать с другими профессионалами, например.грамм. UX-дизайнер, графический дизайнер, менеджер по продукту, технический писатель
Как и в любой другой должности, специфика работы программиста зависит от требований каждой компании.
Инженер-программист против разработчика ПО
Есть ли разница между инженером-программистом и разработчиком программного обеспечения? Не совсем. Эти термины в значительной степени взаимозаменяемы, и компании склонны рассматривать их как одно и то же.
Когда вы ищете работу по разработке программного обеспечения, обязательно ищите и просматривайте объявления как «инженер-программист», так и «разработчик программного обеспечения», чтобы получить максимальные результаты.Некоторые компании даже называют эту должность «инженером по разработке программного обеспечения».
Рабочие привилегии разработчика программного обеспечения
Помимо удовольствия от работы, карьера инженера-программиста обычно имеет ряд дополнительных преимуществ, подобных этим.
💰 Высокая зарплата (сколько зарабатывает программист?):
- Как инженер-программист, вы можете сразу же получать высокую зарплату
- Для тех, у кого опыт работы менее года = 102 447 долларов в год, в среднем
- Для тех, у кого более 10 лет опыта = 137 925 долларов в год , в среднем
🌴 / 🏠 Возможности удаленного / WFH:
- Разработка программного обеспечения — это очень удобная удаленная работа, поэтому вы, вероятно, сможете работать из дома хотя бы часть времени.
- Еще до Covid, WFH как разработчик считался нормальным, поскольку 86% разработчиков работали удаленно иногда и почти одна треть работает на дому полный рабочий день
👖 Временная рабочая среда:
- Наряду с гибким расписанием роли разработчика программного обеспечения часто сопровождаются удобной повседневной рабочей средой.
- Многие инженеры-программисты пользуются чрезвычайно гибкими графиками; многие вакансии начинаются не раньше 10 утра или позже или позволяют выбирать свой собственный график
Кто не хочет высокооплачиваемую и гибкую работу, верно? Часто это сценарий «вы можете выбрать только один», но разработка программного обеспечения дает вам лучшее из обоих миров.
☝️ Вернуться к началу
Дорожная карта: как стать инженером-программистом без высшего образованияПрежде чем мы начнем, поймите, что следующие шаги дорожной карты инженера-программиста предназначены для тех, кто ищет постоянную работу (я сокращенно FTJ) в качестве инженера-программиста.
Дорожная карта разработчика программного обеспечения будет менее полезной для человека с
👇.Но это все отличные вещи, к которым нужно стремиться, и остальная часть блога также полна контента по этим темам!
Теперь давайте рассмотрим 16 шагов, как стать инженером-программистом.
Первые шаги: подготовка к тому, чтобы стать инженером-программистом
Начало работы с правильной ноги может быть чрезвычайно полезным на вашем пути обучения инженера-программиста. Эти начальные шаги помогут сориентировать вас в правильном направлении, выбрать курсы разработки программного обеспечения и т. Д.
Шаг № 1. Четко сформулируйте свою конечную цель в разработке программного обеспеченияПерейти к новой карьере непросто. Но когда у вас есть в голове конечный пункт назначения, это очень помогает, когда вы натыкаетесь на неровности на дороге.Кристально чистая цель выглядит примерно так:
- «Я хочу работать разработчиком программного обеспечения в известной технологической компании».
- «Я хочу работать в новом стартапе в качестве инженера-программиста в отрасли, которую я обожаю».
- «Я хочу создавать что-то в команде и получать за это хорошие деньги».
Независимо от специфики вашей мечты, если вы хотите пройти все 16 шагов, вы ДОЛЖНЫ стремиться к конечной цели — стать штатным инженером-программистом.Это то, что будет двигать вас вперед, когда дела идут плохо.
Помимо самой роли в разработке программного обеспечения, подумайте о том, какой тип компании, отрасль, рабочая среда, корпоративная культура и т. Д. Вы ищете, если это возможно.
💡 Чтобы помочь вам найти роль, которая подходит именно вам, ознакомьтесь с курсом «Найди свою пригодность» от Break Into Tech — пошаговым руководством по поиску и позиционированию себя для идеальной технической работы.
Шаг № 2: Выберите хороший язык программирования для изученияПоначалу многие люди застревают, решая, какой язык программирования (и фреймворк) им следует изучить.Рубин на рельсах? Python и Django? СРЕДНИЙ стек? Так много вариантов, так мало времени.
Вот в чем дело: если вы хорошо знаете конкретный язык / стек, нетрудно перейти на новый. Это означает, что когда вы становитесь инженером-программистом, вашей первой целью должно быть просто понимание основ программирования. По сути, изучение , как , чтобы изучить навыки инженера-программиста.
Если у вас есть прочный фундамент, вы можете легко перейти на новые языки, фреймворки и технологии.Как говорит соучредитель Flatiron School Ави Фломбаум: «Самый важный аспект в том, что вы учитесь мыслить как разработчик».
Начать кодирование сейчас
Прекратить ждать и начать обучение! Получите мои 10 советов, как научиться программировать.
Успех! Теперь проверьте свою электронную почту, чтобы подтвердить подписку.
Все это говорит о том, что для начала вам следует сосредоточиться на одном языке / фреймворке.
При таком большом количестве языков бывает трудно понять, какой выбрать. Я рекомендую потратить некоторое время на изучение разных языков. Этот эпизод подкаста о выборе языка программирования — отличное место для начала.
Еще одна уловка — это реконструировать объявления о вакансиях. Для этого найдите вакансии на должности разработчика программного обеспечения вашей мечты на таких сайтах, как Indeed или LinkedIn. Изучите требования к навыкам, опыту и образованию и начните список вещей, которые вам нужно изучить и выполнить, чтобы претендовать на свою идеальную роль.
Для многих, кто задается вопросом «Что мне следует изучать, чтобы стать инженером-программистом?» , Python — отличный способ пойти.
Python удобочитаем и эффективен, поэтому с ним намного легче освоиться, чем с некоторыми другими языками. Он также имеет открытый исходный код, поэтому у вас будет бесплатный доступ ко множеству инструментов и сообществу других разработчиков. И, что, пожалуй, самое главное, он гибкий: язык используется множеством компаний (Google, Facebook, Netflix, Spotify и т. Д.)) и дает вам прочную основу для дальнейшего перехода на другие языки. Подробнее о том, почему Python — отличный первый язык.
Если вы все еще не знаете, с чего начать, хорошее практическое правило — начать с HTML / CSS и JavaScript, поскольку эти языки обеспечивают хорошее введение в программирование и веб-разработку. Java — еще один хороший вариант, если вы планируете заниматься внутренней разработкой.
Хотите освоить Python?
Тогда загрузите мой список моих любимых учебных ресурсов по Python.
Успех! Теперь проверьте свою электронную почту, чтобы подтвердить подписку.
Шаг № 3: Выберите платформу / курсСуществует так много классов и программ для разработчиков программного обеспечения, что бывает трудно выбрать. Вот несколько вопросов, которые помогут выбрать правильный вариант обучения инженера-программиста!
🖥️ Вы бы предпочли небольшие индивидуальные курсы / руководства по разработке программного обеспечения или большие программы для разработчиков программного обеспечения в стиле учебного лагеря?
Многие платформы онлайн-обучения имеют разные форматы курсов.Вы можете пойти с небольшими разовыми учебниками и курсами, которые научат вас основам навыков или языка программирования.
Или, для другого уровня выше, на некоторых платформах могут быть собраны коллекции курсов по разработке программного обеспечения, которые более подробно обучают вас навыкам. Например, на Coursera эти коллекции курсов известны как «Специализации».
На некоторых платформах также есть курсы в стиле буткемпов, которые являются очень всеобъемлющими и требуют больше времени. У Team Treehouse, например, есть Techdegrees.Вот 18 других онлайн-курсов для начинающих по кодированию.
📅 Вам удобнее проходить курсы для самостоятельного изучения или структурированные курсы с установленными сроками?
Некоторые курсы являются самостоятельными, что означает, что вы работаете с материалами в свободное время, а задания / викторины нельзя «сдавать» в определенное время; вы устанавливаете собственное расписание и обычно смотрите заранее записанные видео.
Другие ограничены по времени, что иногда может означать, что вы смотрите видео в прямом эфире или вебинары, сдаете задания и викторины по установленному графику и работаете со своими коллегами в более тесном сотрудничестве.
Лучший вариант для вас зависит от вашего предпочтительного стиля обучения.Например, если вам нужно больше подотчетности, лучше всего подойдет ограниченный по времени курс. Если у вас плотный график, вам нужно больше гибкости и вы хотите быть в курсе дел, лучше всего подойдет курс для самостоятельного изучения.
📚 Вы лучше учитесь с чтением, а не с видео? Если вы предпочитаете читать / книги видео и онлайн-материалам, ознакомьтесь с этим списком из 54 книг по программированию, которые помогут вам научиться программировать.
🔁 Готовы ли вы протестировать несколько курсов методом проб и ошибок? Может быть, попробуйте несколько (бесплатно), чтобы увидеть, что вы предпочитаете, прежде чем совершать коммит: Вот список из 101 места, где можно бесплатно научиться программировать.
Кроме того, ознакомьтесь с некоторыми из любимых платформ Learn to Code With Me, чтобы узнать об этом ниже.
Следующий этап: Learn smartПо мере того, как вы углубляетесь в свой путь обучения разработчика программного обеспечения, следующий раздел дорожной карты разработки программного обеспечения поможет вам максимально использовать этот процесс.
Шаг №4: Практикуйте навыки разработки программного обеспечения… и попрактикуйтесь еще
Что делает хорошего программиста? Это просто: хороший разработчик программного обеспечения — это просто тот, кто усердно работает над разработкой программного обеспечения каждый день! Хотя стек, который вы изучаете, не имеет большого значения, важно учиться на практике.Это означает, что вы должны посвятить немного реального времени совершенствованию вашего нового ремесла. Вы должны уделять обучению значительное количество времени каждый день, каждую неделю.
Вы не можете стать разработчиком программного обеспечения после 10 часов практики. Это просто невозможно.
⏰ Некоторые говорят, что для того, чтобы стать экспертом, нужно 10 000 часов. Теперь вам не нужно 10 000 часов практики, чтобы получить свою первую работу разработчика программного обеспечения. Но вам нужно посвятить серьезное время.
Приведу один пример: на прохождение учебной программы «Основы компьютерных наук для разработки программного обеспечения» на edX требуется около 4 месяцев (7–9 часов в неделю).
Чтобы мотивировать вас практиковаться, попробуйте выполнить задание # 100DaysOfCode. В этой задаче вы кодите минимум час каждый день в течение 100 дней и каждый день публикуете твиты с хэштегом # 100DaysOfCode, чтобы оставаться подотчетным. Послушайте этот выпуск подкаста с создателем испытания, чтобы узнать больше.
Посмотрите этот выпуск подкаста, чтобы узнать о стратегиях и системах управления временем для повышения продуктивности, чтобы практика программирования была увлекательной и последовательной.
Шаг №5: Используйте инструменты, которые используют настоящие разработчики программного обеспечения
Хотя бесплатные ресурсы, такие как Codecademy, великолепны, вы не находитесь в реальной среде, когда используете их.Вместо этого вы вводите текст прямо в веб-браузере и получаете оценку на основе викторины или другого интерактивного действия.
Это, безусловно, полезно как способ привыкнуть к кодированию и закреплению концепций в уме. Однако в реальном мире вы не будете так работать. Итак, что вы хотите сделать с самого начала, так это построить то, как строят настоящие инженеры. Вы хотите использовать инструменты, которые они используют. В будущем это упростит переход на штатную должность и присоединение к команде.
Но сложно понять, как настоящие разработчики создают и используют инструменты, которые используют настоящие разработчики, когда вы только начинаете. (Если вы похожи на меня, трудно даже понять, с чего начать.)
Хорошая новость заключается в том, что существуют программы, которые научат вас пользоваться этими инструментами, например Контроль версий с помощью Git, онлайн-курс на Coursera.
Его учебная программа затрагивает инструменты и процессы, которые настоящие инженеры используют каждый день, например:
Это позволит вам адаптироваться гораздо быстрее, когда вы окажетесь на настоящей работе, вместо того, чтобы освоить еще один крутой период обучения.
Еще один курс Git, который стоит посетить, — это Ultimate Git Mastery Course by Code With Mosh, который преподает инженер-программист с более чем 20-летним опытом работы в отрасли.
Шаг № 6: Прочтите код, написанный другими разработчиками программного обеспеченияЕще один важный аспект становления инженером-программистом — это научиться читать чужой код. Вы можете сделать это, просматривая репозитории GitHub и просматривая документацию.
👀 Иногда документация может быть неправильной… но исходный код никогда не лжет.Научившись читать этот код, вы сможете понять, что происходит и как работает программа. (Этот навык также важен, когда дело доходит до отладки, потому что вы сможете определить, какой части кода там не должно быть.)
Это умение часто упускают из виду, но оно действительно может принести вам пользу, если вы увидите, как работают опытные разработчики. Не делайте беглого беглого беглого просмотра кода. Погрузитесь в подробности, изучите все тонкости, наметьте функциональность и, наконец, воссоздайте ее, если сможете.Таким образом, вы сможете реконструировать существующую программу, что поможет вам лучше понять, как создать свою собственную.
Вы даже можете участвовать в проектах с открытым исходным кодом на GitHub. Внесение изменений в реальные проекты разработчиков и сотрудничество с сетью других разработчиков может помочь вам укрепить свою уверенность, ваше резюме, и ваше портфолио. Послушайте его подкаст, чтобы узнать, как найти свой идеальный первый проект с открытым исходным кодом.
Шаг № 7: Будьте в курсе (подкасты, новости, события, социальные сети и т. Д.))Еще один способ научиться умнее — регулярно слушать экспертов отрасли и погрузиться в мир кода. Это поможет вам быть в курсе новых разработок и выяснить, чему лучше всего научиться дальше.
Проведите пальцем по экрану, чтобы разблокировать — отличная, исчерпывающая книга о концепциях технологий и бизнес-стратегии, которые необходимо знать. Отличная отправная точка.
Tech News Briefing — отличный ежедневный небольшой подкаст, который дает вам краткую информацию обо всех важных технологических новостях, от новых гаджетов до потребительских тенденций и проблем в киберпространстве.10 минут, так что не так много времени.
Techmeme Ride Home — еще один отличный подкаст, который держит вас в курсе важных технических новостей и тем дня. 15 минут, и вы в курсе.
📰 Если вы не большой поклонник подкастов, попробуйте подписаться на несколько информационных бюллетеней. Вот несколько примеров, которые стоит попробовать:
- StrictlyVC: Предоставляет всю необходимую информацию о венчурной сцене в Кремниевой долине и за ее пределами.
- Информация: Платный сайт, но бесплатные рассылки. В центре внимания новости Кремниевой долины.
- Построен в Нью-Йорке: Они есть в разных центрах метро США, поэтому выберите ближайший к вам. Будьте в курсе последних технических новостей и тенденций.
- TLDR : ежедневный информационный бюллетень со ссылками и TLDR самых интересных историй в области технологий, науки и программирования
Кроме того, вы можете следить за лидерами технической мысли в Twitter или Instagram, присоединяться к соответствующим группам Slack в вашем городе и / или присоединяйтесь к группам на Facebook, чтобы сделать технологии частью своей повседневной жизни — пусть даже в незначительной степени.
Шаг № 8: Создание реальных проектов кодированияНе просто читайте учебные пособия и смотрите видео — примените свои навыки на практике. Решайте проблемы попутно, , как это делают обычные разработчики программного обеспечения. Делая это, вы не только продолжаете свое обучение, но и показываете потенциальным работодателям, что можете взломать его. (Потому что конечная цель — устроиться на работу и стать разработчиком, верно !?)
Вы можете создавать проекты в одиночку или в группе.
Например, к концу книги Mammoth Interactive Hello Coding: Anyone Can Learn to Code (170 часов) у вас будет много проектов, которыми можно похвастаться.На протяжении всего курса вы создадите несколько приложений. И это не просто скучные проекты по «заполнению пробелов»: они включают клон игры Flappy Bird, 3D-игру в пинг-понг, приложение погоды для iOS и приложение финансового калькулятора для Интернета.
С Techdegree Team Treehouse вы создадите 9–12 реальных проектов, которые дадут вам возможность попрактиковаться в том, что вы узнали, включая инструмент статистики баскетбола, игру по угадыванию чисел, приложение для хранения инвентаря и многое другое. Эти проекты будут проверены и оценены профессионалами отрасли или студентами Treehouse, чтобы вы не сбились с пути.
И если вам нужен JavaScript, у Zero to Mastery есть 20 проектов, которые вы можете создать и добавить в свое портфолио. Эти проекты — отличный способ повысить ваши навыки, превратив вас из новичка в уверенного разработчика, а возможность добавлять готовые проекты в свое портфолио — дополнительный бонус.
Чтобы начать добавлять проекты в портфолио, которое в дальнейшем можно отправлять потенциальным работодателям, создайте сайт. Kinsta и Bluehost — отличные варианты для размещения вашего сайта.
Шаг № 9: Убедитесь, что вы понимаете основные принципы CS
Инженеры-программисты часто должны хорошо разбираться в основах информатики. В отличие от веб-дизайнеров или даже веб-разработчиков, разработчикам программного обеспечения необходимо понимать алгоритмы и структуры данных, чтобы решать сложные проблемы с помощью кода.
Эти темы встроены в программу для тех, кто изучает в колледже степень CS / программного обеспечения. Однако инженеры-самоучки часто вообще не сталкиваются с этими темами.Усилия по их изучению могут дать вам реальное конкурентное преимущество. Эти темы особенно необходимы для прохождения технических собеседований (подробнее об этом позже).
➡️ Прочтите это руководство по алгоритмическому мышлению для начинающих, а затем прочтите об этих четырех структурах данных, которые должен знать каждый разработчик.
CS50 «Введение в информатику на edX» — это суперпопулярный комплексный курс компьютерной науки, который преподается Гарвардским университетом. Версия этого курса на территории кампуса на самом деле является крупнейшим курсом Гарварда.Он учит вас алгоритмическому мышлению и таким концепциям, как абстракция, алгоритмы, структуры данных, инкапсуляция, управление ресурсами, безопасность, разработка программного обеспечения и веб-разработка.
Шаг № 10: Накапливайте опыт с помощью дополнительных концертов или стажировок
Еще один способ пополнить свой портфель программирования и попрактиковаться в реальных проектах — это заняться технической стороной дела. Другими словами, зарабатывайте , а — вы учитесь программировать, вместо того чтобы ждать, пока вы станете полноценным инженером-программистом.Один программист даже заработал 5000 долларов за первый год обучения программированию!
Технические побочные выступления позволяют вам по-другому применить свои навыки. Часто вы можете быстрее учиться, выполняя , делая , вместо того, чтобы смотреть видео или учебное пособие. Кроме того, когда клиент ожидает работы, у вас будет больше мотивации для решения проблем и реализации проекта, в отличие от курса, где у вас минимальные внешние факторы, побуждающие к выполнению работы.
Дополнительная работа также может помочь вам узнать, какая «реальная» работа вам нравится (а какая нет), прежде чем вы получите работу на полную ставку.Вот еще несколько преимуществ начала выступления на технической стороне.
☝️ Вернуться к началу
Получите поддержку, чтобы дать себе больше шансов на успех
Трудные вещи (например, смена карьеры) становятся намного проще, если у вас есть надежная система поддержки. Вот несколько советов по его созданию!
Поиск сообщества, в котором можно поучиться, может принести успех вам как инженеру-программисту, особенно если вы только начинаете. Когда вы окружены сообществом единомышленников, у вас есть автоматическая система поддержки: группа людей, к которой вы можете обратиться, когда вы застряли или потеряете мотивацию.(И то, и другое может случиться с лучшими из нас!)
Персональные группы существуют, но с ними сложно координировать свои действия, и они доступны не во всех регионах. Но любой может присоединиться к онлайн-сообществу, и они не менее полезны.
Во время обучения в Launch School, онлайн-школе для инженеров-программистов, например, вы получаете доступ к форуму сообщества, где учащиеся Launch School делятся советами по учебе, создают учебные группы, помогают друг другу с проблемами и все остальное, что вам нужно. буду ожидать от специализированной школы.Вы также получите доступ к их чату Slack, где студенты и сотрудники общаются в течение дня. Не говоря уже о ежемесячных веб-семинарах в стиле встреч под названием «Tech Talks».
Zero to Mastery тоже похожа — более 150 000 студентов, выпускников, технических консультантов, наставников и инструкторов, зарегистрированных на их сервере Discord, имеют множество возможностей для общения и поиска необходимой поддержки во время учебы!
Шаг № 12: Развивайте свою профессиональную техническую сетьПо мере того, как вы узнаете, как заниматься программной инженерией, программировать, создавать проекты и т., вы должны медленно, но верно развивать свою профессиональную сеть.
Когда дело доходит до поиска отличной работы в 2020-х годах, нужно больше, чем просто подать заявку на работу в Интернете (что в наши дни может быть пустой тратой времени).
🤝 Вместо этого вы хотите построить сильную сеть. Начните с обращения к вашим существующим связям. По данным Jobvite, 40% новых сотрудников приходят по рекомендации сотрудников, что делает этот способ наиболее распространенным.
Помимо подключения к сети первого уровня, вы также можете получить представление о контактах второго уровня (друзья друзей).Цель состоит в том, чтобы организовать неформальные встречи за чашкой кофе с людьми, связанными с компаниями, в которых вы хотели бы работать, что наладит связи и иногда приводит к настоящим собеседованиям.
Еще несколько способов завязать новые знакомства без общего друга:
Примите участие и внесите свой вклад в сообщество разработчиков программного обеспечения и технологий, и на вашем пути почти неизбежно появятся возможности.
«Самый быстрый способ найти работу в сфере технологий» — это курс, который учит вас сетевым стратегиям, в том числе тому, почему вы должны посещать группы встреч, и о том, как лучше всего заявить о себе как о технаре.
Еще один хороший вариант? Break Into Tech’s Land — идеальная работа с мастер-классом LinkedIn. В нем рассказывается, как создать армию сторонников + заставить их работать на вас, получить реферала, который даст вам гарантированное собеседование, и использовать инсайдерскую информацию, чтобы улучшить ваше собеседование + переговоры.
Успех в поиске работы и прогресс в качестве инженера-программиста
Итак, вы накопили целый арсенал навыков инженера-программиста и наладили связи в отрасли. Как теперь устроиться на работу в программировании без ученой степени?
Шаг № 13: Освойте основы подготовки к собеседованиюПосле того, как вы начнете налаживать связи с коллегами и влиятельными лицами в этой области, пора подготовиться к подаче заявки на вакансии.(Однако, если вы установите действительно прочную связь, вы сможете получить личное направление и вообще пропустить этот шаг!)
Но прежде чем отправлять заявки или просить прямых рефералов, вам нужно овладеть тремя вещами: резюме, сопроводительные письма и свое присутствие в Интернете.
Даже в модернизирующемся мире резюме необходимо. Менеджеры по найму по-прежнему смотрят на них, чтобы получить представление о ваших навыках и опыте. Точно так же сопроводительные письма необходимы при подаче заявления на работу в Интернете; это ваша возможность привлечь чье-то внимание и произвести впечатление.
Это основы для разных отраслей. Но помимо резюме и сопроводительных писем, стоит также подумать о вашем присутствии в Интернете.
Это невероятно важно для всех, кто работает в сфере высоких технологий, и это то, что вы должны создавать и поддерживать в течение долгого времени, особенно как программист-самоучка. Ваш цифровой след имеет значение, потому что это то, что увидят рекрутеры и менеджеры по найму, когда они погуглит ваше имя, прежде чем пригласить вас на собеседование.
Ваше присутствие в Интернете как разработчика программного обеспечения состоит из нескольких вещей:
- Профиль LinkedIn
- GitHub
- Персональный веб-сайт (или сайт портфолио)
- Блог (который может быть дополнением к вашему личному веб-сайту)
Работодатели будут проверять их и формировать впечатления о вас на основе того, что они видят .Так что убедитесь, что впечатления остались хорошие! Когда вы пытаетесь выделиться как инженер-программист без ученой степени, ваше присутствие в Интернете может выделить вас.
Шаг № 14: Пройдите собеседование с инженером-программистомНаконец, само интервью. Большинство компаний начинают с отборочного собеседования, обычно проводимого в Интернете, дома. После этого следует телефонное интервью. Если вы справитесь с этими двумя, вы попадете на собеседование на месте.
В дополнение к стандарту «наибольшая сила / слабость и т. Д.так далее.» вопросы, вы должны быть готовы к техническим и поведенческим вопросам. Вас могут попросить создать проект, поработать над кодом или описать, как вы справлялись с трудными ситуациями в прошлом.
Одним из полезных ресурсов для консультации является книга Cracking the Coding Interview . Другой — это собственное подробное техническое руководство по собеседованию «Learn to Code With Me».
К счастью, вам не нужно готовиться самостоятельно. Например, в Interview Cake есть полный курс прохождения технического собеседования, включая более 50 часов практических вопросов.Вы узнаете, как быстро решать проблемы, с которыми никогда раньше не сталкивались (и получите предложения о более высокой зарплате на 30 000 долларов США).
Прочтите мой обзор Interview Cake.
AlgoExpert — это еще одна онлайн-платформа, которая помогает вам подготовиться к собеседованию по кодированию, предлагая 100 тщательно подобранных вопросов (на 9 разных языках) и более 70 часов видео-объяснений. Прочтите мой обзор AlgoExpert.
Еще один хороший вариант подготовки к собеседованию? Байт за байтом, с практическими вопросами для собеседования по кодированию, советами по поведенческому собеседованию и всем остальным, что вам нужно для успешного собеседования.
Еще одно: Skilled.dev. С видеообъяснениями, статьями и средой кода, в которой можно опробовать свои решения.
Шаг №15: Примите предложение о работе и официально станьте инженером-программистом!🎉 Поздравляю, вы взломали код того, как стать инженером-программистом, и впереди вас ждет захватывающая карьера!
После того, как вы пройдете серию собеседований и продемонстрируете свои новые навыки, получение предложения — лишь вопрос времени.И да, поначалу это может быть начальный уровень, но с чего-то нужно начинать! Обязательно ознакомьтесь с нашими 5 советами по ведению переговоров о заработной плате для инженеров-программистов.
По мере того, как вы продолжаете учиться и расти как разработчик, вы будете продолжать подниматься по карьерной лестнице программиста на все более и более высокие должности.
Шаг №16: Продолжайте учиться!
Дело в том, что технологии постоянно меняются, и вам нужно постоянно учиться, чтобы не отставать. Чтобы оставаться на вершине своих навыков, воспользуйтесь инструментом Skill IQ от Pluralsight, который представляет собой бесплатную викторину, в которой выявляются пробелы в ваших знаниях и сильные стороны.Другими словами, что вы уже хорошо знаете и какие есть возможности для обучения и роста?
Кроме того, будьте в курсе технологических тенденций с помощью отраслевых информационных бюллетеней, подкастов и социальных сетей.
☝️ Вернуться к началу
Часто задаваемые вопросы о том, как стать программистомТрудно стать инженером-программистом? Я действительно могу это сделать?
Краткий ответ: да. Это , а не , и я могу почти гарантировать, что вы иногда будете разочарованы.Но это абсолютно выполнимо. И вы, вероятно, даже сможете добиться всего этого самостоятельно, с помощью самообучения и нетворкинга. Многие люди успешно перешли в разработку программного обеспечения таким образом.
Можно ли быть программистом без ученой степени?
Чтобы быть разработчиком, вам совершенно не нужна степень. Многие люди достигли всего этого самостоятельно, благодаря самообучению и созданию сетей. (Курсы для начинающих по кодированию также являются хорошим вариантом, если у вас есть время и бюджет — вот 18 из лучших.)
Тонны гостей подкаста Learn to Code With Me рассказывают истории, демонстрирующие именно это!
- Майкл Пиментел прошел путь от стеклодува до разработчика программного обеспечения, не получив высшего образования и не посещая учебный курс.
- Джесси Мур получил работу младшего разработчика на полную ставку в небольшом городке в Монтане без высшего образования.
- Элвис Чидера сам научился программировать на телефоне Nokia и теперь работает старшим инженером-программистом. У него нет высшего образования.
Дело в том, что для большинства людей самостоятельное обучение все усложняет, будь то овладение навыками или поиск работы.
Есть ли учебный лагерь, который вы рекомендуете для разработки программного обеспечения?
Существует множество отличных курсов для начинающих по программированию, но специально для обучения инженеров-программистов я хочу выделить Launch School.
Программа для разработчиков программного обеспеченияLaunch School позволяет ускорить вашу карьеру в качестве инженера-программиста.Что действительно отличает программу Launch School, так это то, что она учит вас осваивать важные концепции разработки программного обеспечения, которые остаются прочными и последовательными даже при стремительном развитии технологий, поэтому вы на протяжении всей жизни приобретаете привычки, которые помогут вам добиться успеха. В конечном счете, их цель — не просто помочь вам найти одну работу, а помочь вам начать карьеру.
И цифры не лгут. За последние 3 года 100% выпускников программы приняли предложения о работе в течение 180 дней после выпуска.В 2018 году выпускники Capstone за 12 недель зарабатывали в среднем 122 316 долларов. Выпускники Launch School были наняты в ведущие компании отрасли, включая Intel, Peloton, HP и LinkedIn, а также в быстрорастущие стартапы.
Помимо чисел, один из лучших способов прочувствовать программу — это услышать мнение тех, кто делал это раньше. Большинство бывших студентов Launch School рассказывают о большом опыте участия в программе. Вот что сказали некоторые из них:
- «Launch School сделала не что иное, как радикальное преобразование моей жизни и начало моей карьеры.- Tannr
- «Я не могу порекомендовать запустить школу в достаточной степени. Честно говоря, я бы не стал заниматься нынешней карьерой и не был бы так увлечен ею, как сегодня, без всей тяжелой работы и самоотверженности, которые они вложили в разработку программы и ее постоянное улучшение ». — Стив
- «Школа запуска дала мне все основные инструменты, необходимые для создания значимых и полезных программных приложений. Если вы серьезно относитесь к обучению программированию и можете уделять время в течение длительного периода времени, эта программа для вас! » — Чарли
Если вы мечтаете стать разработчиком программного обеспечения и хотите найти самый прямой путь к достижению этой цели, вам определенно стоит посетить Launch School.
☝️ Вернуться к началу
Начать кодирование сейчас
Прекратить ждать и начать обучение! Получите мои 10 советов, как научиться программировать.
Успех! Теперь проверьте свою электронную почту, чтобы подтвердить подписку.
Что нужно, чтобы стать инженером-программистом? Сколько времени это занимает?
Количество времени, которое потребуется, чтобы получить работу инженера-программиста по пути самоучки, будет во многом зависеть от вашего стиля обучения, от того, сколько времени вы можете посвящать в день / неделю, независимо от того, есть ли у вас полный -урочная работа, семья, другие обязанности и т. д.Обычные периоды времени варьируются от 6 месяцев до примерно двух лет.
- Клеман Михайлеску прошел путь от программиста-новичка до инженера-программиста Google всего за 6 месяцев.
- Кристина Гортон была домохозяйкой в течение пяти лет, прежде чем заинтересовалась технологиями. Ей удалось повысить свои навыки и получить работу удаленного младшего разработчика всего за девять месяцев.
- Джош Кемп прошел путь от кузнеца и кузнеца до младшего разработчика всего за 9 месяцев (всего 827 часов обучения).
Помимо времени, вам понадобится внутренняя мотивация, страсть к программированию и дисциплина, чтобы продолжать работу даже в тяжелые времена.
Пришло время стать инженером-программистом?
Итак, вот оно — 16 шагов, чтобы стать инженером-программистом. Теперь единственное, что между вами и карьерой в разработке программного обеспечения — это работа и время, которые вам нужно потратить! Возможно, узнать, как стать программистом без ученой степени, не так просто, но, оглянувшись в конце концов на свой путь, вы поймете, что оно того стоило.
А теперь выходите и превратите сегодняшнее «Я хочу быть инженером-программистом» в завтрашнее «Я так счастлив, что сменил карьеру!» 🙌
Примечание: в этом посте есть партнерские ссылки.
Как стать программистом
Компьютерное программирование — быстрорастущая область, которая стала критически важной в нашем мире, управляемом технологиями. Программисты создают программное обеспечение и операционные системы, на которых полагаются все компьютерные системы, от настольных ПК до смартфонов, ноутбуков и других мобильных устройств.Они также тестируют программы на наличие ошибок, исправляют любые ошибки, которые могут появиться в коде, и записывают обновления для существующих программ.
Поскольку компьютерные программисты необходимы для всего, от веб-дизайна до мобильных приложений и видеоигр, существует множество вариантов карьеры, доступных любому, кто имеет опыт в этой области. Это идеальный выбор для тех, кто хорошо разбирается в математике и умеет работать с последовательными логическими процессами, от которых зависят компьютеры.
Компьютерное программирование фокусируется на использовании языков программирования, таких как C ++, Java или HTML, для создания различных типов программного обеспечения.Это более открытая область по сравнению с другими областями информатики, такими как компьютерная графика, которая фокусируется на изобразительном искусстве, графических изображениях и видео; компьютерная инженерия, которая фокусируется на проектировании и разработке технологий и оборудования; или компьютерная сеть, которая включает в себя связь между компьютерами, подключенными через локальную сеть и Интернет.
Найди свою идеальную степень онлайн-программирования!
Как стать программистом
Если вы хотите изучить компьютерное программирование, есть несколько ключевых шагов.Ваши цели могут различаться в зависимости от того, хотите ли вы сделать карьеру в области веб-дизайна, операционных систем, видеоигр или мобильных приложений, но планирование своего будущего важно независимо от того, какой путь вы выберете.
Чтобы стать программистом, нужно пять шагов:
- Решите, какой тип обучения вам подходит;
- Выберите лучшую специализацию / степень для ваших карьерных целей;
- Пройдите стажировку в технической сфере;
- Рассмотрите возможность получения сертификатов;
- Получите ценный опыт работы.
Шаг 1. Решите, какой тип обучения лучше всего подходит для вас
Сначала определите, какой тип обучения лучше всего подходит для вас. Доступно несколько вариантов, и лучший выбор часто зависит от человека. Некоторые люди лучше учатся в классе, в то время как другие могут предпочесть более непосредственное практическое обучение.
Вам следует подумать, какой из следующих вариантов лучше всего подходит для вашего личного стиля обучения.
Технический институт
Технический институт или профессиональная школа могут быть альтернативным способом узнать, как стать программистом.Одним из преимуществ является то, что получение степени в техническом институте обычно занимает всего два года вместо четырех лет, необходимых для получения степени колледжа. Это также сэкономит вам деньги на обучение, так как вы закончите свое образование раньше и сможете сразу же приступить к работе.
Еще одно ключевое отличие состоит в том, что технический институт сосредоточится исключительно на вашем обучении компьютерному программированию, без каких-либо дополнительных курсов, помимо вашей специальности. Для сравнения, четырехлетний курс обучения требует от студентов прохождения дополнительных общеобразовательных курсов по литературе, истории и искусству.Эти дополнительные курсы дают студентам более всестороннее образование и помогают предоставить им больше возможностей для карьерного роста, особенно если вы когда-нибудь когда-нибудь решите сменить карьеру в более позднем возрасте. Но если вы хотите получить более целенаправленное образование, которое по-прежнему сосредоточено на конкретных навыках, необходимых для изучения компьютерного программирования, тогда технический институт может быть лучшим выбором.
Колледж или университет
Традиционное высшее образование является наиболее распространенным выбором, и оно дает студентам наиболее всестороннее образование.Это также лучший выбор для студентов, которые хотят продолжить свое образование со степенью магистра. Более высокая стоимость обучения в четырехлетнем колледже компенсируется тем фактом, что выпускники колледжей, как правило, получают более высокую зарплату. Они также являются лучшим выбором для студентов, которые хорошо учатся в классе.
Получение степени колледжа также может предложить вам больше возможностей, когда дело доходит до выбора специальности или добавления второстепенной к вашей степени. Более широкий выбор вариантов может быть полезен учащимся, которые не уверены, какой путь им лучше всего подходит.Из-за пересечения областей обучения часто можно пройти курсы по множеству смежных дисциплин, прежде чем выбрать лучший для вас вариант.
Онлайн-курсы
Если вы предпочитаете работать из дома, вы также можете изучить программирование онлайн. Онлайн-диплом позволяет вам свободно вписывать учебные работы в свой график, что может быть идеальным для родителей или людей, которые работают полный рабочий день, пока ходят в школу. Самая важная вещь, о которой следует помнить при получении степени онлайн, — это убедиться, что вы посещаете аккредитованную школу, чтобы обеспечить принятие работодателем.
Лучшие онлайн-школы компьютерных наук включают университет Capella, который предлагает степени в области информационных технологий и системного развития; и Университет Гранд-Каньон, который предлагает степени в области компьютерного программирования.
Самостоятельное обучение программированию
Если вы целеустремленный начинающий, вы также можете попробовать научиться программированию дома. Интернет наполнен онлайн-учебниками, примерами кода на разных языках и другими бесплатными ресурсами, которые вы можете использовать. Следуя интерактивному руководству с практическими рекомендациями, вы можете стать программистом, обучаясь в своем собственном темпе и устанавливая свой собственный учебный план.
Вы можете научиться программировать дома, но этот вариант подходит не всем. Обучить себя компьютерному программированию из дома непросто. Это требует много времени, целеустремленности и упорного труда. Некоторым людям может быть сложно освоить навыки программирования без руководства учителя. Кроме того, опытное учебное заведение, вероятно, знает больше о лучших шагах и наиболее эффективных способах приобретения необходимых навыков. Возможно, вы захотите рассмотреть более традиционную форму обучения, если не уверены, что сможете сделать это самостоятельно.
Шаг 2: Выбор степени и специализации
Всестороннее образование имеет решающее значение для успеха в области компьютерного программирования. Принимая во внимание свои карьерные цели и количество времени, которое вы готовы посвятить образованию, решайте, какой уровень получить.
Диплом младшего специалиста
Диплом младшего специалиста может предложить вам базовое образование в области компьютерного программирования и может быть достаточным для того, чтобы вы начали работу в области программирования начального уровня. Однако для большинства должностей более высокого уровня потребуется более высокая степень.Возможно, вы захотите подумать о получении двухлетней степени, если хотите раньше устроиться на работу, а затем продолжить работу над получением более высокой степени позже.
Степень бакалавра
Степень бакалавра, рассчитанная на четыре года, лучше всего подходит для большинства базовых профессий в области программирования. Эта степень даст вам все навыки, необходимые для работы в различных областях программирования, и многие университеты предлагают различные специализации, такие как информационные технологии, сетевое администрирование или разработка программного обеспечения.Четырехлетняя программа также позволит вам получить общее образование в других полезных областях, таких как написание отчетов, публичные выступления и критическое мышление, которые могут быть полезными инструментами для укрепления вашей карьеры.
Степень магистра
Степень магистра — лучший выбор, если вы хотите максимально раскрыть свой карьерный потенциал. Получение степени магистра компьютерного программирования не только расширит спектр ваших навыков, но и повысит вашу ценность для потенциального работодателя.Программисты со степенью магистра обычно получают более высокую зарплату, и это предоставит вам больше возможностей для выбора карьеры. Кроме того, некоторые работодатели предлагают компенсацию за обучение, чтобы помочь своим сотрудникам оплачивать более высокую степень, поэтому получение степени магистра может быть тем, чем вы решите заниматься после того, как уже работаете в области программирования. Перед поступлением в магистратуру вам необходимо иметь степень бакалавра, но вы можете получить высшее образование в любой области, а не только в информатике.
Majors & Minors
Помимо принятия решения о получении степени младшего специалиста, бакалавра или магистра, вам следует подумать о конкретной специальности, которую вы хотите получить. Многие колледжи и университеты предлагают студентам на выбор различные варианты получения степени. Кроме того, вы можете подумать о добавлении несовершеннолетнего, чтобы дополнить свое образование дополнительными навыками, помимо самого программирования.
Большой выбор:
- Программирование / Разработка программного обеспечения: Классический выбор для начинающих программистов.Специалист по компьютерному программированию специализируется на различных компьютерных языках и разработке программного обеспечения.
- Информационные системы: Основное внимание уделяется системному администрированию и информационным системам и научит вас всему, что вам нужно знать о серверных сетях, базах данных и веб-дизайне.
- Компьютерные науки: Самый распространенный и обширный, фокусирующийся на программировании, математике, алгоритмах и структурах данных.
- Информационные технологии: Эта степень учит управлять данными, хранить их, систематизировать, анализировать и отображать для пользователей.Данные, которыми вы управляете, могут быть любыми: от информации об аккаунте, статистики, данных исследований и т. Д., А эффективное управление информацией может иметь решающее значение для процессов принятия решений во многих компаниях.
- Информационная безопасность: Основное внимание уделяется веб-безопасности и сетевой безопасности, а также способам защиты от различных угроз, таких как вирусы и другие типы кибератак.
Дополнительные несовершеннолетние включают:
- Математика: Математика имеет решающее значение в компьютерном программировании, а добавление дополнительных предметов по математике может дополнить ваши навыки программирования и помочь вам лучше решать задачи.
- Электротехника или вычислительная техника: В то время как компьютерное программирование фокусируется на разработке программного обеспечения, изучение инженерной мысли может научить вас больше в создании компьютерного оборудования. Это может дать вам более широкое представление о компьютерных системах в целом и улучшить ваши карьерные возможности.
- Искусство или музыка: Если вы хотите заниматься компьютерной графикой, визуальным дизайном или программированием аудио и видео, неплохо дополнить свои компьютерные навыки знаниями в области искусства и музыки.Таким образом, вы сможете объединить свои художественные таланты и навыки программирования для создания потрясающего цифрового искусства, графики для видеоигр и многого другого.
- Business: Несовершеннолетний по бизнесу может помочь вам понять цель разрабатываемых вами программ, например, если вы пишете программы для банковского учреждения или розничной компании. Понимание бизнеса также может помочь вам подняться до уровня управления и стать руководителем ИТ-отдела.
Шаг 3. Сертификаты
Наконец, вы должны подумать, хотите ли вы получить сертификат по программированию.Вы можете пройти сертификацию по определенному компьютерному языку, например C ++ или Java, или по определенным системам, например, став сертифицированным сетевым партнером Cisco или сертифицированным системным партнером Microsoft. Некоторым компаниям может потребоваться сертификация, прежде чем они наймут вас, в то время как в других случаях они откроют для вас больше возможностей и помогут вам максимально увеличить свой потенциальный доход. Сертификат также может быть полезен, если вы хотите изучить новый конкретный навык, например, изучить дополнительный язык программирования, чтобы расширить свой набор навыков.
Шаг 4. Пройдите стажировку в области технологий
Стажировка может стать отличным способом приобрести опыт программирования и помочь вам добиться успеха на рынке труда. Многие стажировки неоплачиваются, но если вы изучаете компьютерное программирование в колледже или университете, вы можете использовать стажировку для получения кредита на курс для получения степени. Стажировка также может научить вас практическим навыкам, выходящим за рамки того, что вы получите в процессе обучения. Этот опыт поможет улучшить ваше резюме и увеличит ваши шансы найти работу после завершения образования.
Стажировка по компьютерному программированию может быть хорошей возможностью изучить определенные языки программирования, которые используются в определенной отрасли. Например, стажировка по работе с технологиями баз данных может быть хорошим способом изучения SQL, а работа в веб-компании — это хорошая возможность изучить Java. Также может быть хорошей идеей пройти стажировку в технологической компании, например, в той, которая специализируется на сетях, веб-разработке или приложениях для смартфонов, а не в нетехнической компании, такой как банк или розничная корпорация.Хотя нетехнологическим компаниям по-прежнему нужны программисты и, вероятно, будут доступны стажировки, вы, вероятно, узнаете больше от компании, которая специализируется на программировании и технологиях.
Шаг 5: Получите ценный опыт работы
Построение карьеры компьютерного программиста начинается с приобретения некоторого раннего опыта работы. Большинство высокооплачиваемых должностей потребуют нескольких лет практического опыта, поэтому важно начинать составлять свое резюме как можно раньше.
Стажировка — это хороший способ накопить некоторый опыт, и она также может дать вам возможность найти более постоянную работу после ее завершения.Еще один хороший вариант для студентов — работа на территории кампуса. Многие университеты нанимают студентов на различные должности, такие как работа в сфере ИТ, веб-разработка и поддержка сети. Эти вакансии будут предлагать обучение без отрыва от производства в качестве дополнения к урокам компьютерного программирования, а вы получите практический опыт, который поможет вам найти работу на полный рабочий день после окончания учебы.
Другой вариант для человека со степенью компьютерного программирования — поиск работы внештатным сотрудником. Фрилансеры работают с клиентами над одним проектом или серией индивидуальных контрактов.Вы можете работать из дома, общаться со своими клиентами в Интернете и предоставлять им любые услуги программирования, которые могут им понадобиться. Возможно, вам удастся создать стабильную клиентскую базу или вы можете использовать свое свободное время, чтобы получить ценный опыт работы, который поможет вам впоследствии получить работу программиста на полный рабочий день.
Когда вы найдете стабильную работу программиста, вы сможете улучшить свои карьерные возможности, продолжив образование и обновив свои сертификаты. Если вы начинаете свою карьеру со степенью бакалавра, возвращение в школу, чтобы получить степень магистра, может помочь расширить возможности вашей карьеры или дать вам больше шансов на продвижение по службе.Вам также может потребоваться обновить свои сертификаты, поскольку компьютерное программирование — это быстро меняющаяся область, в которой каждый день появляются новые разработки. Возможно, вам потребуется выучить новые языки программирования или вы можете перейти в разные области, чтобы не ограничиваться одной карьерой.
Карьера программиста
Если вы все еще не уверены, хотите ли вы стать программистом, подумайте о перспективах карьеры.
По данным Бюро статистики труда, средняя зарплата программиста в 2015 году составляла 79 530 долларов.Лучшие 10% программистов зарабатывают более 130 800 долларов.
Количество рабочих мест в области компьютерного программирования, доступных в этой области, по прогнозам, сократится на 8% с 2015 по 2024 год, но в некоторых частях страны есть лучшие возможности по сравнению с другими. Калифорния, Техас, Нью-Йорк, Иллинойс и Нью-Джерси являются лучшими штатами для работы в области компьютерного программирования. В этих штатах самое большое количество рабочих мест и средняя заработная плата выше, чем в среднем по стране.
Эта карьера — отличный выбор для людей с хорошими навыками в математике, логике и решении задач. Во многих случаях он также позволяет людям работать из дома, отправлять работу онлайн или использовать Интернет для подключения к серверам, которые необходимо отладить. Однако, если вы плохо разбираетесь в числах и компьютерах или если офисная работа вам не нравится, это не будет для вас карьерой.
Связанные карьеры
Став программистом, вы также можете захотеть расширить возможности своей карьеры, используя возможности в смежных областях.Для каждой из этих областей обычно требуется степень бакалавра компьютерных наук, поэтому в зависимости от типа образования, которое вы получаете, вы также можете претендовать на работу в этих областях:
Найдите свою идеальную степень онлайн-программирования!
Связанные ресурсы
Бесплатные онлайн-курсы программирования
23 наиболее высокооплачиваемых рабочих места в STEM
Будут ли программисты иметь работу в будущем?
Мы вступили в эпоху технологий, и если в 60-е и 70-е годы программирование считалось «занятием компьютерных фанатов», то сегодня оно превратилось в одну из самых респектабельных и высокооплачиваемых должностей, которые только можно получить.Это также сектор, который быстро развивается, и почти все, что в последнее время было связано с прогрессом, также было связано с программированием. Замечательно. Но программисты не менее уязвимы, чем все остальные, когда дело касается потери работы. В этой статье мы задаем вопрос: «Будут ли программисты по-прежнему работать в будущем?»
Если вы хотите погрузиться в эти и многие другие будущие изменения, попробуйте нашу бесплатную пробную версию Futures Platform и получите доступ к базе данных сотен будущих явлений, созданных ведущими футуристами.
Будет ли у программистов работа в будущем?
По данным EDC, в мире насчитывается 23 миллиона разработчиков программного обеспечения. Ожидается, что к 2023 году это число вырастет до 27,7 миллиона. По данным Бюро статистики труда США, в период с 2016 по 2026 год ожидается рост числа инженеров-программистов на 24% — намного быстрее, чем у любой другой профессии в стране. Если посмотреть на эту статистику, можно подумать, что беспокоиться не о чем.
Однако некоторые обеспокоены тем, что программирование, как и любая другая работа, может быть устаревшим в будущем. Главный аргумент — это, как правило, ИИ и автоматизация: что, если ИИ может программировать другие вещи или себя? Что, если мы сможем автоматизировать большую часть того же кода, что и программисты сейчас? В некотором смысле беспокойство можно понять. Нам нужно только взглянуть на такие компании, как Wix и SquareSpace, которые позволяют любому создавать и «строить» веб-сайт без необходимости изучать HTML и CSS.Совершенно верно — сегодня, если вы хотите создать веб-сайт самостоятельно, дома, вы можете это сделать.
Программное обеспечение для веб-разработки, такое как Wix, позволяет пользователям создавать свои собственные веб-сайты, не зная о программировании (Источник: Wix.com)Хотя эти опасения имеют определенную основу, есть множество причин, чтобы отложить их на время.
Во-первых, мы давно занимаемся автоматизацией, а пока спрос на программистов только увеличился.Принимая во внимание программирование веб-сайтов с помощью HTML и CSS, правда, мы смогли автоматизировать некоторые из них. Но, во-первых, нельзя сказать, что эти услуги заменят кого-либо, кто в противном случае сам создал бы веб-сайт. Большинство людей, которым это выгодно, — это блогеры, онлайн-продавцы и т. Д., А не программисты. Вдобавок ко всему, несмотря на то, что эти сервисы хороши, существует множество настраиваемых функций, которые вы можете увидеть на Facebook, которые возникли в результате многолетних итераций и улучшения кода.Это должны делать люди, которые разбираются в продукте, клиенты и, по крайней мере, на данный момент, люди, умеющие программировать.
Во-вторых, хотя ИИ становится все более мощным, кому-то еще нужно его программировать. Хотя такие вещи, как машинное обучение, кажутся волшебными, как если бы ИИ сам программировал, они были бы ничем, если бы люди не работали над алгоритмами — изобретали их, улучшали и совершенствовали. Фактически, только в Google сейчас работает около 30 000 человек, которые работают над различными платформами искусственного интеллекта.
Наконец, появление новых технологий, таких как Интернет вещей, беспилотные автомобили, виртуальная реальность и т. Д., Представляет собой новый набор проблем, над которыми должны работать инженеры-программисты, ИТ-специалисты, системные инженеры и многие другие полевые специалисты. их. Если у нас нет всемогущего ИИ, потребуется много времени, пока он не поймет все сложности, связанные с различными возникающими технологиями, и сможет успешно решать их проблемы.
Это, конечно, не означает, что ИИ определенно не заменит программистов в будущем.Искусственный интеллект уже может кодировать, и он обязательно продолжит заменять рутинные задачи кодирования, точно так же, как технологии заменили несколько человеческих задач за последние несколько столетий, а за последние несколько десятилетий все больше. Тем не менее, чтобы «программисты стали устаревшими», потребуется гораздо более продвинутый искусственный интеллект или интеллект. И вполне возможно, что к тому времени мы, возможно, будем задавать этот же вопрос обо всех профессиях на Земле.
Однако, похоже, что в ближайшем будущем инженеры-программисты не останутся без работы.Код может измениться, языки могут измениться, и задачи могут измениться. Но сочувствие, необходимое для понимания того, какие черты лица хотят видеть люди, все же является человеческим качеством. А учитывая рост спроса на инженеров-программистов, по крайней мере, в обозримом будущем, если вы планируете сделать карьеру в этой сфере, можно сделать ставку, что это безопасный и хороший выбор.
Этот предмет вдохновлен работой, проделанной командой футуристов Futures Platform. В карточке феномена под названием «ИИ, который пишет сам» команда подробно объясняет концепцию Deepcoder — программного обеспечения ИИ, которое пишет код, копируя существующие сегменты, которые он может найти, и потенциально может заменить человеческий кодерский труд.
Команда также дает предварительную оценку влияния программного обеспечения, такого как Deepcoder, на будущее. На данный момент это явление определяется как «слабый сигнал» — это означает, что есть признаки новой зарождающейся тенденции, которая может оказать существенное влияние на будущее, но игнорируется основной аудиторией.
Откройте новую эру знаний о будущем и начните свою предвидение уже сегодня с бесплатной пробной версией Futures Platform. Futures Platform — это проверенное онлайн-решение для поддержки постоянного прогнозирования, разработки стратегии, управления рисками и новаторских инноваций.
Оставьте свой комментарий ниже:
9 Карьера в программировании для знатоков программирования
Вы всегда были очарованы тем фактом, что развлекательное мобильное приложение или сложная компьютерная программа сводятся к строке кода.Как связка букв, цифр и символов, собранных в идеальном порядке, может привести в действие всю программную систему.
Это любопытство побудило вас изучить некоторые из основных языков программирования и попробовать себя в искусстве программирования. Теперь вы начинаете думать, что можете расширить свои навыки самоучки и продолжить настоящую карьеру программиста.
Если описанный выше сценарий описывает вас, вам повезло! В мире технологий у вас есть много профессий в области программирования.Итак, хотите ли вы тратить целые дни на написание кода или хотите использовать свои знания программирования для принятия общих бизнес-решений, продолжайте читать, чтобы познакомиться с некоторыми из многих профессий программиста.
9 Рассмотрение задач компьютерного кодирования и программирования
Какие существуют виды программирования? Какие должностные обязанности задействованы? А чего вы можете ожидать от зарплаты компьютерного кодирования? У нас есть ответы на эти и другие вопросы.
Мы использовали программное обеспечение для анализа вакансий в режиме реального времени, чтобы изучить более одного.8 миллионов объявлений о вакансиях, в которых навыки программирования указаны в качестве предпочтения. 1 Эти данные помогли нам определить девять наиболее распространенных профессий в области программирования, которые следует учитывать. Узнайте немного об этих ролях и посмотрите, какая из этих работ по кодированию может вам понравиться.
1.
Разработчик программного обеспечения- Средняя заработная плата в 2019 году: 105590 долларов США 2
- Обязательное образование: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): 21 процент (намного быстрее среднего) 2
Разработчики программного обеспечения несут ответственность за создание и улучшение приложений для сотовых телефонов, планшетов и других мобильных устройств.Это идеальная карьера программиста для человека, который имеет менталитет «большой картины» и любит сотрудничать с другими, чтобы воплотить идеи в жизнь. Также важно знать основы программирования и математические способности.
Наиболее распространенные языки программирования для разработчиков приложений:
1- Java®
- JavaScript®
- Python®
Подробнее о роли разработчика программного обеспечения ЗДЕСЬ .
2.
Веб-разработчик- Средняя заработная плата в 2019 году: 73760 долларов США 2
- Обязательное образование: Диплом младшего специалиста 2
- Прогнозируемый рост занятости (2018-2028): 13 процентов (намного быстрее, чем в среднем) 2
Внешний вид и функции веб-сайта — прямой результат работы веб-разработчика. Любая карьера программиста требует терпения, но эта приносит больше удовольствия, чем большинство других.Веб-разработчики внимательно прислушиваются к потребностям своих клиентов и решают проблемы, чтобы предоставить им лучший веб-сайт для их бизнеса. В конце проекта у вас есть работающий, доступный веб-сайт, на котором вы можете продемонстрировать свой тяжелый труд. Веб-разработчики преуспевают, когда они могут показать портфолио своих работ и глубоко разбираться в кодировании.
Наиболее распространенные языки программирования для веб-разработчиков:
1Подробнее о роли веб-разработчика ЗДЕСЬ .
3.
Инженер по компьютерным системам- Средняя заработная плата в 2019 году: 88550 долларов США 2
- Обязательное образование: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): 9 процентов (выше среднего) 2
Инженеры компьютерных систем несут ответственность за поиск решений сложных проблем приложений, проблем системного администрирования или сетевых проблем.Они работают в тесном сотрудничестве с клиентами или внутренними заинтересованными сторонами, чтобы понять потребности системы, и сотрудничают с разработчиками для определения подходящих решений. Это еще одна карьера программиста, которая идеально подходит для профессионалов, разбирающихся в бизнесе.
Наиболее распространенные языки программирования для инженеров компьютерных систем:
14.
Администратор базы данных- Средняя заработная плата в 2019 году: 93750 долларов США 2
- Обязательное образование: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): 9 процентов (выше среднего) 2
Администраторы баз данных отвечают за обеспечение безопасности, организацию и устранение неполадок хранилища больших объемов информации для компаний в Интернете.Если вы любите анализировать и восстанавливать информацию, а также быстро решать проблемы, это может стать для вас карьерой программиста.
Наиболее распространенные языки программирования для администратора базы данных:
1- Python
- Ява
- Oracle® PL / SQL
Подробнее о роли администратора базы данных ЗДЕСЬ .
5. Аналитик компьютерных систем- Средняя заработная плата в 2019 году: 90 920 долларов США 2
- Обязательное образование: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): 9 процентов (выше среднего) 2
Аналитики компьютерных систем — это стратеги, отвечающие за объединение бизнеса компании и инициатив в области информационных технологий (ИТ).Они оценивают компьютерные сетевые системы и предлагают обновления для удовлетворения потребностей бизнеса. Чтобы добиться успеха в карьере программиста, вам необходимо хорошо разбираться в компьютерном кодировании, а также в деловой сфере.
Наиболее распространенные языки программирования для аналитиков компьютерных систем:
1Подробнее о роли аналитика компьютерных систем ЗДЕСЬ .
6.
Инженер по обеспечению качества программного обеспечения (QA)- Средняя заработная плата в 2019 году: 88550 долларов США 2
- Требования к образованию: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): 9 процентов (выше среднего) 2
Инженеры по обеспечению качества программного обеспечения находятся у истоков разработки программного обеспечения, документируя дефекты, разрабатывая тесты и сценарии, а также создавая руководства для нового программного обеспечения.Они также проверяют дизайн программного обеспечения на предмет функциональности и потенциальных проблем.
Наиболее распространенные языки программирования для инженеров по обеспечению качества программного обеспечения:
1Подробнее о роли инженера по обеспечению качества программного обеспечения ЗДЕСЬ .
7.
Аналитик бизнес-аналитики- Средняя заработная плата в 2019 году: 88550 долларов США 2
- Требования к образованию: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): 9 процентов (быстрее среднего) 2
Программирование — это бонус, но не столько необходимость для аналитиков бизнес-аналитики.Эта позиция предназначена для закулисного маркетолога, который собирает все неопровержимые факты о программных продуктах и тенденциях, чтобы определить, какое программное обеспечение может помочь в реализации бизнес-инициатив. Если вы цените основы программирования, но не хотите строить на этом всю карьеру, это может быть хорошей работой по программированию для вас.
Наиболее распространенные языки программирования для аналитиков бизнес-аналитики:
1Получите лучшее представление о мире аналитика бизнес-аналитики ЗДЕСЬ .
8.
Программист- Средняя заработная плата в 2019 году: 86550 долларов США 2
- Требования к образованию: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028): -7 процентов (ниже среднего) 2
Компьютерные программисты пишут программы и переписывают программы до тех пор, пока в них не будет ошибок. Они используют диаграмму рабочего процесса и формулы кодирования, пока не будет получена желаемая информация.Внимание к деталям и терпение выделят вас в этой карьере программиста.
Наиболее распространенные языки программирования для программистов:
1- Java
- JavaScript
- Microsoft C # ®
Чтобы лучше понять, что влечет за собой компьютерное программирование , ЗДЕСЬ .
9.
Сетевой системный администратор- Средняя заработная плата в 2019 году: $ 83510 2
- Требования к образованию: Бакалавриат 2
- Прогнозируемый рост занятости (2018-2028 гг.): 5 процентов (выше среднего) 2
Сетевые системные администраторы поддерживают вычислительную среду в своих сетях и предотвращают аварии путем резервного копирования данных.Обеспечение сетевой безопасности и предотвращение вирусов являются основными задачами, наряду с проверкой отсутствия ошибок в кодах и защитой как сети, так и оборудования компьютеров.
Наиболее распространенные языки программирования для сетевых администраторов:
1Подробнее о роли сетевого администратора ЗДЕСЬ .
Какие работы по программированию на компьютере привлекают ваше внимание?
Теперь, когда вы знаете, как можно извлечь выгоду из своих навыков программирования, пора начать использовать те фундаментальные знания, которые вы уже приобрели.Хотя для большинства этих профессий в области компьютерного программирования требуется степень бакалавра, даже степень младшего специалиста и некоторое создание портфолио могут помочь вам получить доступ к одной из этих вакансий в области компьютерного кодирования.
1 Burning-Glass.com (анализ 1800750 вакансий, требующих навыков программирования, 01 июня 2019 г. — 31 мая 2020 г.).
2 Бюро статистики труда Министерства труда США, Руководство по профессиональным перспективам, [информация о карьере по состоянию на июнь 2020 г.]. Данные о заработной плате представляют собой усредненный национальный заработок для перечисленных профессий и включают работников всех уровней образования и опыта.Эти данные не отражают начальную зарплату, и условия занятости в вашем регионе могут отличаться.
Oracle, Java и JavaScript являются зарегистрированными товарными знаками Oracle Corporation.
Python — зарегистрированная торговая марка Python Software Foundation.
PERL является зарегистрированным товарным знаком The PERL Foundation
ПРИМЕЧАНИЕ РЕДАКТОРА: эта статья была первоначально опубликована в декабре 2016 года. С тех пор она была обновлена для включения информации, относящейся к 2020 году.
.