Как выбраться из теоретика и стать практиком?
Прочли много книг, накопили немало знаний, но все еще не можете стать практиком? "Пиши код" – лишь один из советов. У нас их больше.
Решение задач и написание приложений, даже самых простых, требует сообразительности. Чтобы мыслить как программист, нужно развивать это самое мышление.
Мы подготовили ряд материалов, которые помогут стать практиком в области разработки.
Сайты с задачами
Есть 27 сайтов с задачками для оттачивания навыков программирования. Большинство из этих ресурсов до сих пор актуальны. Это хороший способ развить навыки разработки, чтобы перестать бояться кода.
А как насчет спортивного программирования? Вот 5 ресурсов для решения задач, которые потребуют от вас лишь знания английского языка. Преимущество таких порталов в том, что хороший рейтинг можно демонстрировать рекрутерам, соревнование с другими программистами подарит ощущение конкуренции как на рынке труда, а разнообразие задач позволит обогатить свой багаж знаний и использовать его в реальной жизни.
Логическое мышление
Можно отлично знать теорию, но все равно обладать страшной неуверенностью, что и мешает стать практиком. Преимущественно в ступор приводят задания, которые мы видим впервые в жизни. Для этого следует развивать логическое мышление.
- Логика в программировании: логические задачи с собеседований – настоящий Клондайк, "приютивший" задачи, которые так полюбились рекрутерам.
- Еще одна статья с вопросами, ориентированными на логическое мышление, и ответами на них.
- А вот список математических и логических задач из собеседований в Google, Microsoft, Apple и Adobe.
- 15 интересных задач, которые могут встретиться на особо креативных собеседованиях.
Алгоритмы
Часто при найме на работу используют абстрактный язык программирования, чтобы просто удостовериться, что человек понимает алгоритмы. Без этого путь в мир программирования заказан, ведь постоянно довольствоваться готовыми решениями из туториалов не получится.
Вам повезло: у нас есть книги, которые помогут быстро разобраться, что к чему.
- Стивен С. Скиена – Алгоритмы. Руководство по разработке
- Сергей Панасенко – Алгоритмы шифрования. Специальный справочник
- Роберт Седжвик – Фундаментальные алгоритмы на С++.Часть 1-4
- Роберт Седжвик – Фундаментальные алгоритмы на С++. Часть 5
- Генри С. Уоррен мл. – Алгоритмические трюки для программистов
- Джордж Хайнеман, Гари Поллис, Стэнли Селков – Алгоритмы. Справочник с примерами на C, C++, Java и Python
Еще есть полезные видеокурсы, такие как этот, представляющий собой введение в алгоритмы, и этот, в котором автор разбирает алгоритмы и структуры данных.
Собеседование
Другое дело – собеседование: это генеральная проверка всего, что вы знаете и не знаете. Фактически мы к собеседованию уже подготовились: осталось показать себя на деле.
Во-первых, зарегистрируйтесь на GitHub, если еще этого не сделали, и начните заполнять свой график. Да, это тот самый пункт, который гласит "Пишите код". Старайтесь писать его ежедневно. Ссылка на профиль прилагается к резюме по своему желанию или же по требованию работодателя.
Не удивляйтесь, если на собеседовании последуют вопросы по вашим проектам, и авторство придется подтверждать не только теоретически, но и практически (например, решая аналогичные задачи).
Подготовиться к собеседованию и неожиданным вопросам поможет эта статья. Не забудьте грамотно составить резюме и наполнить "портфель".
Удачи!