Переходя к делу, давайте рассмотрим, какие навыки вам понадобятся, чтобы получить работу своей первой мечты. Жульничать не нужно, это не математика и мы не найдем одного простого рецепта, который однозначно ответит на этот вопрос. Каждая компания, технология или даже город, в котором вы ищете работу, представляют собой совершенно разные ситуации, и, конечно же, требования будут немного разными. Тем не менее, есть набор базовых навыков, которые должен приобрести человек, поступающий на работу в качестве программиста.
Мы рекомендуем использовать видео канал как дополнительный ресурс для тех, кто проходит обучение по видео курсам ITVDN. Все видео на канале в свободном доступе. На видео канале ITVDN собраны видео с конференций, вебинаров, встреч с разработчиками. Также вы найдете на нашем канале дополнительные учебные материалы по темам, которые не рассматриваются в наших видео курсах.
Что должен знать начинающий разработчик
На мой взгляд, такими безусловными основами являются:
1. Объектно-ориентированное программирование
Большинство ИТ-проектов выполняется на языках, поддерживающих объектную ориентацию. У вас есть лучший шанс начать с них, и поэтому вам нужно знать хотя бы основы этого подхода. Лучше всего начать с основных понятий, таких как: класс, объект, наследование, абстракция, полиморфизм, инкапсуляция и т.д.
Однако простого знания объектно-ориентированного программирования недостаточно. Вы также должны уметь использовать их на практике, т.е. переносить ситуации из повседневной жизни в иерархию классов и отношений между ними. Сделайте себе упражнение и попробуйте спроектировать библиотеку, мебельный магазин или что-то еще. Всего одно такое упражнение позволит закрепить полученные знания на практике.
2. Основы любой базы данных
Трудно представить более сложную систему без базы данных. Вы должны где-то хранить данные. Конечно, вы можете начать с хранения информации в обычных файлах, но вы быстро столкнетесь с многочисленными ограничениями и техническими трудностями.
Стоит изучить основы любой базы данных. Даже если у вас работает другой движок базы данных, вам будет намного легче изучить его на основе сходства, чем если бы вы начали с нуля.
Начните с основных операций, таких как SELECT, INSERT, UPDATE, JOIN и т. Д.
3. Система контроля версий GIT.
К счастью, забыты времена хранения отдельных версий приложения в отдельных датированных каталогах. Большинство команд уже давно перешли на GIT или хотели бы сделать это в ближайшем будущем. Если вы хотите эффективно работать над проектом, вам следует изучить основы любой системы управления версиями, желательно GIT, поскольку она является самой популярной на сегодняшний день.
4. Независимость и поиск информации
Младшие и старшие должности различаются в основном уровнем независимости. Вначале, конечно, никто не требует, чтобы вы все делали сами. Однако имейте в виду, что новый сотрудник, особенно без опыта, — это большие затраты для компании (или, если хотите, вложения). Поэтому умение разбираться с собой и искать информацию — очень ценные качества.
Прежде чем обращаться за помощью к коллегам, убедитесь, что ответа на ваш вопрос нет в документации, первой странице результатов Google, переполнении стека и т. Д.
На практике другие разработчики обычно очень помогают и готовы ответить на всевозможные вопросы — это еще одна вещь, за которую мне очень нравится эта индустрия. Однако постарайтесь не злоупотреблять помощью других — давайте просто уважать друг друга. У каждого свои задачи и свои проблемы. Если кто-то помогает вам, он не сможет выполнять свои обязанности в это время.
5. Мягкие навыки
Да, это тоже очень важно!
Никто не любит работать с самодовольными и неприятными людьми. Даже программистам иногда приходится общаться с другими людьми, и пробелы в технических навыках обычно легче восполнить, чем изменить характер человека.
Говорят, мы ведем дела с людьми, которые нам просто нравятся. Поскольку мы проводим много времени с коллегами, никого не должно удивлять, что мы хотим провести это время хорошо, с людьми нужного уровня.
6. Как минимум один завершенный проект.
После многочисленных разговоров с людьми, начинающими карьеру в ИТ, я понял, насколько важно реализовать хотя бы один ИТ-проект от самого начала до его конца.
Если вы не реализовали ни один проект продуктивно, вы еще не знаете, какова жизнь дизайна. Только доведение хотя бы одного проекта от начала до самого конца и сбор мнений реальных пользователей дает полное и правдивое представление о работе программиста.
Это не должно быть большим делом. Все, что вам нужно сделать, это завершить выбранный вами проект. Я гарантирую вам, что вы будете удивлены огромным количеством вещей, которые вам пришлось сделать и узнать, и о которых вы даже не думали в начале проекта. Это также отличная возможность добавить в свое портфолио проектов свое резюме .
7. Знание технологий
Я намеренно упомянул этот навык в конце, чтобы четко привлечь ваше внимание к оставшимся моментам. Программисты очень часто переоценивают так называемые жесткие навыки. Конечно, знание хотя бы одного языка программирования необходимо для того, чтобы вообще думать о программировании. Однако без других упомянутых здесь компетенций мы мало что сделаем.
Для программиста технология — это рабочий инструмент, который он должен использовать как можно лучше. Это знания, основы которых относительно легко освоить, но даже после нескольких лет активного программирования вы все равно можете обнаружить некоторые палки, о которых вы никогда раньше не знали.
Начните с основ синтаксиса вашего любимого языка программирования, такого как Java . Вы должны хорошо владеть переменными, условными операторами, логическими и арифметическими операторами, структурами данных и т.д.
8. Умение решать проблемы и их декомпозиция.
По моим наблюдениям, у начинающих программистов масса проблем еще до написания кода. Понимание проблемы и последующее ее разбиение на более мелкие задачи, чтобы их можно было легко решить, — один из ключевых навыков, без которого вы не сможете справиться с более крупными задачами.
Чтобы научиться этому, вам просто нужно попрактиковаться в этом навыке. Решая все более сложные задачи, вы научитесь улавливать соответствующие закономерности и отношения, чтобы легко решать даже сложные проблемы.
Это все, что мне нужно знать?
Точно нет! Однако это отличная отправная точка для дальнейшего углубления ваших знаний. Однако такой багаж навыков и опыта должен позволить вам совершенно конкретно подумать о том, чтобы приступить к своей первой работе или стажировке. Лучше всего продолжить обучение с реальными проектами и постепенно повышать уровень сложности.
Со своей стороны, желаю вам настойчивости и самоотречения в углублении ваших знаний. Удачи. Также помните, что я могу помочь, если вам нужно.