article-spots
article-carousel-spots
programs
Технологии

«А с чего начать?» Какие знания необходимы начинающему разработчику

30 нояб. 2021

Сегодня рассмотрим интереснейшую тему. Мы уже публиковали технические статьи и по Java, и по структурам данных, и по алгоритмам. А зачем это всё? Сегодня мы постараемся приоткрыть завесу тайны и рассказать о том, что всё-таки нужно знать и уметь, чтобы начать свой путь в IT. Сложно ли это, нужно ли для этого иметь техническое образование и получится ли изучить необходимое? Давайте разбираться! 

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

Основы: алгоритмы и структуры данных 

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

Методологии разработки 

Большим плюсом будет знание методологий разработки. Их много. Но бóльшее количество крупных компаний работают по гибким методологиям разработки, или Agile. Наиболее популярные — Scrum и Kanban. Учитывая, что ваш путь в IT только начинается, вряд ли вам доводилось работать по таким методологиям, и их знание будет вашим преимуществом. 

Английский язык 

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

Soft Skills 

Следующий критерий — это soft skills («гибкие навыки»). Их ещё называют навыками межличностного общения и взаимодействия. Сфера IT подразумевает командную работу, а это значит, что вы будете взаимодействовать с другими людьми. Нужно понимать, что вы будете общаться с коллегами, а им должно быть комфортно общаться с вами. Это залог тёплой, дружеской атмосферы в команде, а это уже половина успеха.

Hard Skills 

Из технических знаний пригодится знание систем контроля версий. Они могут быть разные, например: Git, Subversion, Mercurial. Если у вас нет опыта работы хотя бы с одной из них, то это не проблема. Наиболее распространённой системой контроля версий является Git, и полный курс по её изучению длится около 3 часов. Также хорошо иметь опыт использования хотя бы одной профильной среды разработки, например: IntelliJ IDEA, Eclipse, Visual Studio Code, Web Storm, NetBeans. 

Пару слов о том, что нужно знать, если вы хотите стать Java-разработчиком. 

Что нужно знать начинающему Java-разработчику 

Если вы собираетесь связать свою жизнь с Java, в первую очередь вам нужно знать основы объектно-ориентированного программирования. Также хорошо бы разбираться в принципах разработки: SOLID, DRY, YAGNI и KISS. Важно иметь представление о том, что такое базы данных, какие они бывают и зачем вообще нужны. Нелишними будут основы многопоточной и конкурентной обработки данных в Java. Знание GoF-паттернов проектирования, а также базовые знания веб-разработки: HTTP, URL, какие запросы бывают, что такое сессия.  

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

Теперь коротко отвечу на вопросы, поставленные в начале:  

  1. Сложно ли это? Да, непросто. Если хочется «просто», возможно, это сфера не совсем то, что вы ищете.  
  2. Обязательно ли техническое образование? Чтобы стать разработчиком, техническое образование не обязательно. Образование играет роль, но оно в основном влияет на скорость понимания технических особенностей. 
  3. Получится ли? Да, если вы будете стараться. Всему, что я описал выше, можно научиться и на это не потребуется много лет.  


Главное — не бояться сложных задач. Помните: нет сложных задач, есть те, что требуют чуть больше времени на их решение.