Вариант эффективного интервью с web-программистом

Содержание
  1. Люди IT-Х, или Как эффективно работать с программистами
  2. Почему с программистами так сложно?
  3. Непрофильные задачи
  4. Формулировка задач
  5. Неполная информация о задаче
  6. Дистанция
  7. Завышенные требования
  8. Выгорание
  9. Добросовестность
  10. Результат
  11. Как стать профессиональным веб-разработчиком с нуля и найти первую работу
  12. Знакомьтесь – веб-разработчик
  13. Как стать веб-разработчиком
  14. HTML/HTML5
  15. CSS/CSS3
  16. JavaScript
  17. Программирование
  18. Базы данных
  19. 2. Прокачайте soft skills
  20. 3. Практикуйтесь
  21. 4. Станьте частью сообщества
  22. Где найти работу
  23. Итог
  24. Интервью с программистом: “Я думал, будет сложно, а оказалось, еще сложнее”
  25. С чего началось твое знакомство с этой профессией?
  26. Какие навыки для программиста самые важные?
  27. Говорят, что программист 60% рабочего времени проводит в Гугле, почему так?
  28. 4 апреля – международный день интернета. Если написать сегодняшнюю дату числами, получится 4.04 Дата праздника выбрана не случайно, число очень напоминает «ошибку 404». Как программисту, вам известно, что такое ошибка 404 и почему именно 404?
  29. Почему программисты не любятExplorer?
  30. Я знаю, что ты сейчас работаешь в компании «Купибилет» и занимаешься разработкой мобильного приложения. Сколько еще человек вместе с тобой работает над приложением?
  31. Какая позиция в команде самая важная?
  32. Ты так хорошо отзываешься о своей работе. Неужели все так идеально… Должны же быть и какие-то минусы. Что больше всего бесит тебя в профессии?
  33. Какое было твое самое большое заблуждение о программировании, когда ты начал учиться?
  34. Существует так много языков программирования. Они кажутся такими страшными и сложными. Расскажи, с каким языком лучше начать знакомство новичкам? Как вообще в них разобраться?
  35. Если я стану программистом, как понять, что я уже хороший специалист?
  36. Как собеседовать веб-программиста — Карьера на vc.ru
  37. Костяк программистов
  38. Процесс собеседования

Люди IT-Х, или Как эффективно работать с программистами

Вариант эффективного интервью с web-программистом

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

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

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

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

Почему с программистами так сложно?

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

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

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

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

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

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

Непрофильные задачи

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

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

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

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

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

При этом задачи для разработчика варьируются по уровню знаний.

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

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

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

Формулировка задач

Представьте, что вы говорите программисту: «Купи два пакета молока, если будут яйца — возьми десяток». Он приносит вам десять пакетов молока и сообщает что яйца были.

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

Чтобы избежать конфликта, следовало сказать: «Возьми два пакета молока и десяток яиц». Внимательно следите за построением предложений, на скорую руку написанный текст, скорее всего, приведет к путанице.

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

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

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

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

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

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

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

Неполная информация о задаче

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

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

Разработчик добавляет слайдер за 20 минут, и просит проверить, чтобы задачу можно было закрыть. При проверке:

  • Вы не в восторге от стрелок переключения слайдов и хотите точки.
  • Ваш SEO-специалист трубит тревогу что слайдер снизил скорость загрузки страницы, и позиции сайта упадут.
  • Контент-менеджер не видит, чтобы в админке можно было изменять и добавлять слайды.
  • Таргетолог жалуется, что слайдер слишком высокий на мобильном, и часть продающего текста уехала вниз из первого экрана.
  • Из отдела продаж заметили, что при размере окна браузера 1565х400 картинки не вписываются по ширине.
  • Ваш партнер сообщил, что на айфоне не работает свайп, а скорость автопереключения слишком низкая.
  • Ваш бывший программист написал, что библиотека, которую использовал исполнитель устаревшая, и много весит, ею уже никто не пользуется, надо поставить другую.

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

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

Вы не предоставили изначально все требования, а разработчик поленился сделать «как для себя».

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

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

Чем точней прописана задача, тем быстрей и качественней она будет реализована.

Дистанция

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

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

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

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

Завышенные требования

20% усилий дают 80% результата. Идеальный результат редко достижим, и чем ближе результат к идеальному, тем больше будет стоить выполнение задачи. Достижение 99 баллов Page Speed для мобильной версии сайта может стоить $1000, а 80 баллов для того же сайта — $100.

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

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

Выгорание

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

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

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

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

Добросовестность

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

  • Оценку стоимости работы от других программистов, и если сумма значительно отличается в обе стороны, то задать уточняющие вопросы о причине.
  • Проекты в портфолио. Обратите внимание на описание работ, так как загрузить скриншоты может каждый, а грамотное описание требует опыта.
  • Активность профиля на github.com. История вовлечения в разработку проектов покажет опыт фрилансера, а если это еще и Open Source проекты, то это подскажет что программист в первую очередь любит свою работу и участвует в развитии сферы.

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

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

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

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

Результат

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

Если подготовка к этому этапу шла заранее — подробно согласовывалось ТЗ, обсуждались прототипы и решались всплывающие в ходе работы вопросы, то экзамен станет приятным праздником.

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

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

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

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

Источник: https://Freelancehunt.com/blog/kak-effektivno-rabotat-s-proghrammistom/

Как стать профессиональным веб-разработчиком с нуля и найти первую работу

Вариант эффективного интервью с web-программистом

Итак, вы решили или задумались о том, чтобы стать веб-разработчиком. Интерес рациональный:

  • веб-сайты и веб-приложения не теряют актуальности;
  • самые востребованные IT-профессии относятся к веб-разработке;
  • заработная плата в отрасли достигает 300 000 ₽;
  • в сети достаточно ресурсов, чтобы научиться всему самостоятельно.

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

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

Знакомьтесь – веб-разработчик

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

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

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

  1. FrontEnd Web Developer (фронтенд-разработчик) – занимается всем, что видят пользователи: внешним представлением сайтов и приложений, версткой, элементами интерфейса.
  2. BackEnd Web Developer (бэкенд-разработчик) – отвечает за логику работы сайтов и приложений, а также обмен данными с удаленным сервером.

Профессионалов, освоивших оба направления, называют Full-Stack Web Developer (фулстек разработчик). Но начинать лучше с чего-то одного. Выберите:

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

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

Как стать веб-разработчиком

В зависимости от специализации вам понадобится различный набор навыков.

HTML/HTML5

HTML (Hyper Text Markup Language) – язык для отображения данных на сайте. Без него веб-страницы напоминают текст в «Блокноте». Заголовки, списки, таблицы, изображения, кнопки, формы и т. д. – всё это HTML.

HTML5 – последний стандарт языка, поддерживающий ряд важных возможностей. Например, вставка аудио и видео, технология drag-n-drop, векторная графика в SVG, геолокация и т. п.

CSS/CSS3

CSS (Cascading Style Sheets) – способ придать сайту единое оформление, не используя лишний код. Это подобие библиотеки стилей, где вы описываете характеристики визуальных элементов. Например, цвет кнопок или шрифт текста.

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

JavaScript

JavaScript – язык программирования, который оживляет сайты, делая их интерактивными. Слайдеры, всплывающие окна, анимация текста, «живой» поиск, мини-игры – всё это реализуется с помощью этого языка.

Три перечисленных столпа фронтенд-разработки (HTML, CSS, JavaScript) часто включают в один курс. Вот подходящие учебные материалы:

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

  • Vue.js. Самый простой в изучении фреймворк. Активно развивается, подходит для небольших проектов.
  • React. Разработка . Используется для более крупных проектов, требует большего времени для вхождения. На нем, например, сделан фронтенд нашего сайта.
  • Angular. Содержит много готовых решений, включая элементы дизайна, подходит для крупных проектов.

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

Программирование

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

1. PHP – основа основ динамических сайтов, 79% всех сайтов работают на нём. Сколько вариантов отображения может иметь главная страница интернет-магазина? С одним товаром в корзине, с двумя товарами, для Москвы, для Новосибирска, если вход в аккаунт выполнен или не выполнен и т. п. – создавать под каждый случай отдельный HTML-файл было бы невыносимо.

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

Учебные материалы:

  • Курс PHP для начинающих
  • Обновляемый учебник PHP

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

Учебные материалы:

3. Ruby – еще один высокоуровневый язык, который используется для быстрого прототипирования крупных проектов. Известная платформа бронирования жилья Airbnb и сервис для стартапов Kickstarter написаны на Ruby.

Учебные материалы:

  • Бесплатный курс по Ruby Романа Пушкина
  • Викиучебник Ruby

4. JavaScript – на нем можно писать не только фронтенд, но и бэкенд. Для этого нужно познакомиться с программной платформой Node.js. Она позволяет использовать JavaScript не только в интернет-браузере, но и где угодно ещё.

Каждый из перечисленных языков используется не сам по себе, а как язык фреймворка: для PHP это обычно Laravel или Symfony, для Python это Django или Flask, Ruby стал особенно известен из-за Ruby on Rails, а у JavaScript каждый день появляются новые решения: Express.js, Next.js, Meteor.js и т. д.

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

Базы данных

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

Учебные материалы:

2. Прокачайте soft skills

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

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

Учебные материалы:

  • Большая подборка материалов по развитию soft skills

3. Практикуйтесь

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

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

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

4. Станьте частью сообщества

Знаете, что говорят разработчики о хорошей технологии (например, фреймворке)? «У нее большое живое сообщество». Здесь любят коллективный труд и взаимную поддержку.

С любыми вопросами отправляйтесь по этим ссылкам:

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

Для получения новых знаний подпишитесь на каналы Telegram:

Где найти работу

Если вы не сторонник full-time или хотите пройти «боевое крещение» на фрилансе, поищите проекты в нашей публикации «Где программисту искать удаленную работу?»

Вакансии веб-девелоперов также размещают здесь:

  • HeadHunter
  • Хабр Карьера
  • StackOverflow, раздел Jobs
  • SuperJob

Создавая резюме для новой профессии, используйте универсальную формулировку «Junior Web Developer». В скобках добавьте «FrontEnd» или «BackEnd», в зависимости от специализации. Так работодатели увидят, что вы претендуете на стартовую позицию, и поймут, чем хотите заниматься.

Следующие ступени карьерного роста – Middle Web Developer (ставка 50 – 200 тыс. ₽) и Senior Web Developer (ставка 120 – 250 тыс. ₽). При смене компании с повышением позиции будьте готовы не только показать портфолио, но и выполнить тестовое задание. Часто оно проверяет знание нужных фреймворков и типичных задач – отличный стимул освежить и расширить навыки.

Итог

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

Для тех, у кого нет времени самостоятельно искать и изучать материалы, есть более простое решение. Пройдите курс факультета Веб-разработки GeekBrains и получите готовую базу навыков. В качестве бэкенда на курсе изучаются язык PHP и фреймворк Laravel, для фронтенда – фреймворк React.

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

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

Интересно, хочу посмотреть

Источник: https://proglib.io/p/kak-stat-professionalnym-veb-razrabotchikom-s-nulya-i-nayti-pervuyu-rabotu-2020-07-19

Интервью с программистом: “Я думал, будет сложно, а оказалось, еще сложнее”

Вариант эффективного интервью с web-программистом

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

С чего началось твое знакомство с этой профессией?

В 11 классе мои друзья позвали меня на курсы программирования от Samsung. Там я научился основам этого ремесла. Меня это, действительно, увлекло, и затем я поступил в Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева в Красноярске.

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

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

Я устроился на работу и съехал от родителей в один день. Этот день я не забуду никогда.

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

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

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

Интерес, который будет заставлять тебя изучать какие-то новые фишки.

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

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

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

Говорят, что программист 60% рабочего времени проводит в Гугле, почему так?

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

Каждый клик на странице, каждая картинка, каждый переход и анимация – всё прописывается несколькими членами команды. Если хорошенько приглядеться, у каждого сайта, у каждой организации можно найти свои оригинальные «фишечки», которых нет у других.

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

Поэтому иногда надо искать ответы в интернете, «гуглить», так сказать. Часто это занимает гораздо больше времени, чем написание кода.

4 апреля – международный день интернета. Если написать сегодняшнюю дату числами, получится 4.04 Дата праздника выбрана не случайно, число очень напоминает «ошибку 404». Как программисту, вам известно, что такое ошибка 404 и почему именно 404?

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

Многие компании на своих сайтах делают эти страницы «красивыми». Авторские страницы 404 – это правило хорошего тона веб-разработки. Они есть и у Гугла, и у Яндекса, и у и у Фейсбука. Некоторые компании прячут в них свои «пасхальные яйца».

Почему программисты не любят Explorer?

Это распространенный стереотип. На самом деле Explorer не так уж и плох, просто раньше он был намного медленнее других браузеров. А еще старая версия не поддерживает многие современные разработки. Однако есть и новый Explorer, он называется Microsoft Edge. Да-да, это по сути тот же самый браузер, только он быстрее и лучше. Хотя я все равно предпочитаю Яндекс или Google.

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

У нас две команды. Одна работает над приложением на IOS – это смартфоны компании Apple, другая – над приложением на Android-устройствах. Я отношусь ко второй команде. Мы работаем вчетвером, но занимаемся только написанием кода. Еще есть много других специалистов, по-разному важных для поддержания приложения.

Какая позиция в команде самая важная?

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

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

Мне больше по душе отвечать только за свою часть работы).

Ты так хорошо отзываешься о своей работе. Неужели все так идеально… Должны же быть и какие-то минусы. Что больше всего бесит тебя в профессии?

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

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

Не люблю откладывать работу в долгий ящик.

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

Есть еще одна вещь, но это не совсем бесит, скорее просто не очень нравится. У каждого программиста, в том числе и у меня, есть свой особый “почерк”. Как я уже говорил ранее, все со временем приобретают свою манеру написания кода.

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

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

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

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

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

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

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

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

Но оказалось, что тут больше работы с приложениями. Хотя меня это не сильно разочаровало, мне все равно нравится моя профессия.

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

Я знаю всего два языка: java и kotlin. Мне для работы этого вполне хватает. Начал я программировать с Java. Он довольно старый и в андроид разработке сейчас не используется. Котлин – официальный и главный язык для андроида. Он более емкий, лаконичный, для восприятия он понятнее и так сказать «красивее».

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

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

Если я стану программистом, как понять, что я уже хороший специалист?

Надо дать свой код нескольким знающим людям.

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

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

Источник: https://oknanews.info/intervju-s-programmistom/

Как собеседовать веб-программиста — Карьера на vc.ru

Вариант эффективного интервью с web-программистом

Я Морозов Андрей владелец аутсорсинговой компании FIRECODE, мы занимаемся веб-разработкой на Битрикс и Laravel. Сейчас наш штат это более 50 веб-разработчиков различного уровня и экспертизы.

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

Костяк программистов

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

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

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

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

Какие возможны проблемы при найме крутого специалиста:

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

Процесс собеседования

Этап 1 — Знакомство с компанией

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

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

Самое плохое собеседование — это когда кандидат приходит на собеседования, его сажают в комнату, здороваются и задают сразу вопросы.

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

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

Но перед тем, как тестировать кандидатов на собеседовании мы протестировали своих сотрудников, и тест действительно показал людей, которые были с нами не на “одной волне”, вскоре этих людей мы уволили или они сами ушли. Решение по увольнению мы не принимали на основании теста, а тест лишь подтвердил наши намерения.

На тест отводиться 30 минут, хорошим результатом считается ответ на 13 и более вопросов по первой части, и по второй части необходимо 6 из 8 ответов.

Этап 3 — Тест на техническую часть

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

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

Этап 4 — Интервью с упором на ответы теста

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

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

ССЫЛКА НА ОПИСАНИЕ ГРЕЙДОВ

Этап 5 — Домашнее задание

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

Такой подход к собеседованию позволяет выбрать самых компетентных специалистов. Свои требования к грейдам мы составляли исходя из требованиям, которые предъявляют к нам наши клиенты, а нашими клиентами являются топовые ит-компании.

Источник: https://vc.ru/hr/78362-kak-sobesedovat-veb-programmista

Все HR- сотруднику
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: