Чем полезна работа программиста


описание, плюсы, минусы, где получить, какие предметы сдавать

Профессия программиста имеет несколько направлений, и программист, как правило, работает только одном из них

iOS-разработчик обычно не пишет приложения для телефона с операционной системой Android, его поле битвы – iPhone. И наоборот Android-разработчик сторонится любых гаджетов с надкусанным яблоком на логотипе. Программисты обоих направлений владеют полным циклом создания приложений для своей операционной системы. Конечно, находятся профи, которые смогут написать программы сразу для обеих ОС. Только вот учиться придётся очень долго: принципы работы и языки программирования совершенно разные. Можно чувствовать себя, как рыба в воде. Но не каждой рыбе одинаково хорошо и в пресных, и в соленых водоёмах.

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

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

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

Любой продвинутый школьник грезит профессией Game Developer'а. Самому кодить игры — о чем ещё можно мечтать? Подразделяют таких программистов на разработчиков компьютерных и мобильных игр.

10 эффективных способов стать хорошим программистом

Хороший программист - это тот, кто всегда смотрит в обе стороны, прежде чем перейти улицу с односторонним движением. ~ Дуг Линдер

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

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

1.Работа по основам

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

2. Начните ставить вопросительные метки (как, что) с каждым набором кода, который вы пишете

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

3. Вы узнаете больше, помогая другим

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

4. Напишите простой, понятный, но логичный код

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

Хороший код - это лучшая документация по себе.Когда вы собираетесь добавить комментарий, спросите себя: «Как я могу улучшить код, чтобы этот комментарий не нужен?» ~ Стив МакКоннелл

5. Потратьте больше времени на анализ проблемы, вам понадобится меньше времени на ее устранение

Уделите больше времени пониманию и анализу проблемы и поиску решений для нее. Вы обнаружите, что все остальное довольно легко сделать. Проектирование не всегда означает использование языков и инструментов моделирования, это может быть так же просто, как смотреть на небо и обдумывать решение в уме.Те, у кого есть привычка нажимать на клавиатуру (для кодирования), в тот момент, когда возникает проблема, обычно заканчиваются чем-то другим, чем требовалось.

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

6. Будьте первым, кто проанализирует и пересмотрит свой код

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

7. Не отчаивайтесь, глядя на меняющийся мир технологий

За эти периоды в ИТ-индустрии я встречался со многими людьми, которые либо разочарованы своей работой, либо даже бросили ее в поисках новой работы, заявив, что хотят учиться и работать в сфере новейших технологий.Я не вижу проблем с этим стремлением, но первое неправильное слово - «новейшие технологии». То, что мы слышим каждый день и имеем в виду, это новые инструменты, API, фреймворки и другие средства, которые появляются каждый день, чтобы сделать программирование проще и быстрее. В любом случае это будет продолжаться в мире технологий. Но нужно понимать, что ядро ​​и базовые технологии меняются гораздо медленнее, чем фреймворки, инструменты и API вокруг них. Это похоже на море, где поверхностная вода движется очень быстро, но глубина относительно спокойная и концентрированная, и здесь выживает большая часть водных организмов.Так что почувствуйте себя в этой глубокой воде и рядом с основными технологиями. Для е. грамм. В корпоративном мире Java существует множество веб-фреймворков, и каждые две недели появляются новые. Но основные концепции взаимодействия клиент-сервер на основе запросов, шаблона MVS, фильтров / сервлетов / JSP, объединения ресурсов, синтаксического анализа XML и т. Д. Остаются прежними. Так что потратьте больше времени на изучение этих основных понятий, а не на беспокойство о том, чтобы когда-либо менять фреймворки и инструменты вокруг них. Поверьте, с базовыми концепциями вам всегда будет легче изучать новые фреймворки, инструменты и API.

8.Работы долго не работают

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

9. Читать документацию

Одна из основных привычек хорошего программиста - это чтение большого количества документации. Это могут быть спецификации, JSR, документы API, учебники и т. Д. Чтение документов поможет вам создать ту важную основу, на которой вы будете программировать наилучшим образом.

10. Вы также можете узнать код других людей

Я общался с некоторыми отличными программистами, у которых на самом деле все время есть исходный проект Java в своей среде IDE, и я читал / ссылался на него в повседневной работе.Они делают это не только для того, чтобы удовлетворить свой аппетит к знанию основ, но и для того, чтобы научиться писать хорошие программы. Чтение и ссылки на надежный и известный открытый исходный код или код вашего старшего руководства также могут помочь вам улучшить ваше программирование.

И последнее, не указанное выше: не сравнивайте себя с другими

Ваше сравнение себя с другими приведет только к развитию негативных чувств и нездоровой конкуренции. У каждого есть свои сильные и слабые стороны.Более важно, чтобы мы понимали свое и работали над этим. Я много раз видел, что так называемые «программисты-финансисты» (принципиально сильные программисты) также совершают глупые ошибки. Итак, проанализируйте себя, перечислите области, в которых вы хотите улучшить, и работайте над этим. Программирование - это настоящее развлечение, наслаждайтесь.

Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям. ~ Мартин Фаулер

Из http: // ashisharya2003.blogspot.com/2010/12/10-effective-ways-to-become-good.html

.

7 важных советов для более быстрого обучения программированию

Независимо от того, получаете ли вы степень в области компьютерных наук, ветеран, использующий GI Bill для выбора своей следующей миссии, начинающий разработчик-самоучка или студент учебного лагеря по программированию, овладение навыками программирования - это постоянная борьба. Чтобы помочь вам в обучении - любезно предоставлено инструкторами Coding Dojo - , вот семь советов, как научиться программировать быстрее.

1. Учитесь на практике. Всегда играйте с кодом при изучении

С каждым новым предметом, чем раньше вы начнете играть с кодом, тем быстрее вы выучите данные концепции. Даже если вы пролистаете целую главу чтения и такая тема, как циклы for, кажется простой - чтобы обезьяна могла это сделать - вы все равно будете чесать голову, когда вам будет предложено реализовать код впервые. Вы подумаете: «Погодите, а что это был за синтаксис?» Как говорится, нужно «использовать это или потерять», потому что, несмотря на развитие технологий, эта старая пословица верна при обучении программированию.

Совет: создавайте проект по мере изучения материала.Персональный проект часто является лучшей отправной точкой.

2. Изучите основы долгосрочной выгоды

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

Подсказка: прочтите эту отличную статью о 5 основных концепциях любого языка программирования

3. Код вручную. Он оттачивает мастерство, и он понадобится вам, чтобы получить работу

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

4. Обратитесь за помощью. Вам понадобится

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

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

Подсказка: Stackoverlfow и обучение программированию - это золотая жила для помощи в онлайн-программировании.

5. Поищите дополнительные ресурсы в Интернете. Огромное количество контента

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

Совет: не стоит недооценивать возможности поиска.

6. Не читайте просто образец кода. Повозитесь с этим!

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

7. Делайте перерывы при отладке

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

Заключение: сохраняйте спокойствие и продолжайте кодировать

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

Почувствуйте, что быть разработчиком - это то, что вам нужно делать, и задаетесь вопросом: «Стоят ли этого учебные курсы по программированию?» Не ищите ничего, кроме Coding Dojo.Мы - единственный учебный курс, который обучит вас 3 стекам, используемым лучшими компаниями мира за 14 недель. Просто подайте заявку сейчас (это займет всего 2 минуты) - консультант по приемной комиссии свяжется с вами, чтобы узнать, подходит ли вам Coding Dojo.

.

Как устроиться на работу программистом

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

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

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

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

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

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

Если вы только начинаете, обязательно прочтите мою запись в блоге «Как я начал изучать программирование на Android», потому что там я говорю именно об этом. Если вы не разработчик Android, вы все равно можете прочитать этот пост, потому что принципы те же.А теперь к списку:

Блог о том, что вы изучаете

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

Вам может казаться, что вы слишком неопытны, чтобы вести блог по разработке программного обеспечения, но это неправильно. Независимо от вашего уровня навыков, вы всегда можете помочь другим, превратив полученные знания в учебные пособия и объяснения. Знаете ли вы, что мое самое успешное руководство по Youtube до сих пор - это 3-минутное видео под названием «Как заставить кнопку открывать новое действие»? Это настолько простое руководство, что любой, кто начал изучать программирование на Android 1 день назад, смог бы это сделать.Я даже ошибался в этом, потому что был таким нубом. Но ошибки - это хорошо, если вы учитесь на них, а обучение - отличный способ получить более глубокое понимание концепций, о которых вы говорите, потому что вы закрепляете знания и обнаруживаете, где у вас все еще есть пробелы.

Blogging также делает ваше имя известным и помогает вам общаться с другими. Первые предложения фрилансера я получил через несколько месяцев после запуска канала. Я не брал их, потому что сейчас хочу сосредоточиться на Coding in Flow, но как еще вы могли бы получить предложения о работе с опытом менее года? Люди доверяют мне, потому что они видят мои видео и им нравятся мои четкие объяснения.

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

Тем не менее, всегда будьте прозрачны в отношении вашего уровня навыков. Не пытайтесь никого обмануть. Я всегда ясно даю понять, что я сам новичок и что я создал «Программирование в потоке», чтобы превратить полученные знания в учебные пособия. И вы также должны быть честны относительно своего уровня мастерства.Как уже было сказано, вам не нужно быть специалистом, чтобы писать полезные статьи. Меньший опыт может быть даже преимуществом, потому что вы видите концепции глазами новичка и можете объяснить их так, как это понимают другие новички. Фактически, это один из самых распространенных комплиментов, которые я получаю под своими видео.

Чтобы создать блог, вам не нужно покупать домен и создавать собственный веб-сайт. Вместо этого вы также можете использовать такие сервисы, как medium.com.

Создать портфолио

Помимо написания об этом, демонстрация того, что вы на самом деле построили, - отличный способ доказать свое мастерство.В программировании для Android это, скорее всего, будет приложение (или несколько приложений) в Playstore. Таким образом вы также покажете, что можете довести дело до конца и что вы знаете, какие шаги необходимы для выпуска и поддержки реального продукта.

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

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

Сделать вклад в открытый исходный код

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

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

Сеть

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

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

Работа на арахис

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

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

Хорошо, это основная часть этого списка. Я хочу упомянуть еще кое-что, что еще больше поможет вам найти работу:

  • Правильно подготовиться к собеседованию. В Интернете есть видео и статьи по общим вопросам интервью.
  • Сосредоточьтесь на дисциплине / языке и не сбивайтесь с пути, когда вам скучно.Изучите то, что указано в описании должности, на которую вы хотите подать заявление. Когда вам станет скучно или вы расстроитесь, прочтите мой блог об установке на рост.
  • Как и GitHub, ваш профиль Stackoverflow с его балльной системой может работать как дополнительное портфолио.
  • Рассмотрите возможность получения сертификатов, например, Associate Android Developer Certification.
  • Подумайте о том, чтобы присоединиться к учебному лагерю по программированию, если вы хотите быстро прогрессировать. Однако это требует финансовых вложений и не обязательно, если вы можете учиться самостоятельно.

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

.

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

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

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

Но не стоит терять надежду. Если вы не можете пройти стажировку и у вас нет опыта, вы все равно можете устроиться на работу.

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

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

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

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

Самый большой риск для компаний: выяснение того, как найти хорошего разработчика программного обеспечения

Давайте начнем с разговора о самом большом факторе риска для большинства компаний, когда дело доходит до найма разработчика программного обеспечения.

Вы знаете, что это такое?

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

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

В таком случае лучше вообще никогда не нанимать этого человека.

Когда я работал в 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 электронных писем, прежде чем получил положительный ответ от человека, с которым пытался связаться.

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

Если у вас нет опыта, вам придется как-то его получить.

Не сдавайтесь. Продолжайте следить. Продолжайте делать то, что делаете, и в конце концов вы найдете перерыв.


.

Смотрите также