Стереотипы, от которых программисту лучше отказаться

Источник: Freecodecamp Есть ли у вас все то, что необходимо программисту? Весьма вероятно, что ваш ответ будет основываться на наборе стереотипов и заблуждений. Давайте рассмотрим несколько вещей, которые, согласно стереотипам, должны быть у программиста, но на самом деле совсем не обязательны. Кофе-брейк #12. Стереотипы, от которых программисту лучше избавиться и навыки, без которых не обойтись - 1

Особая предрасположенность

Забудьте о вещах из разряда «хорошо бы иметь». Люди, которые хотят стать разработчиками, совершенно не обязательно должны быть гениями или даже математиками. Вам не нужно иметь особый склад ума или какой-то особенный мозг. Программирование это навык. Такой же, как игра на гитаре или способность пробежать марафон. Для выработки этого навыка нужно программировать. Уделять этому время и тратить на это силы. Нужно учиться у других. Это навык, который прямо зависит от того, сколько усилий вы приложите.

Быть специалистом по компьютерам

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

Иметь диплом по компьютерным наукам. Иметь диплом вообще

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

Наличие новейшего компьютера и (или) дорогостоящего софта

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

Хороший уровень английского языка

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

Быть фанатом компьютеров. Быть геймером

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

Быть интровертом

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

Быть молодым

Чтобы работать в сфере IT, не обязательно быть молодым. Чтобы стать хорошим программистом, тоже не обязательно начинать этот путь в юности. Я начал учиться в 39 лет и получил свою первую работу в 40. А кроме меня есть множество других людей разного возраста, которые тоже успешно совершили подобный переход. Учиться никогда не поздно. И менять карьеру – тоже. Кроме того, компании, стремящиеся нанимать исключительно молодых людей, все равно вряд ли являются хорошим местом работы.

Быть мужчиной

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

10 навыков, которые должен освоить разработчик в 2020 году

Источник: Dev.to Если вы хотите достичь успеха в разработке, вам необходимо владеть навыками, которые отличают новичка от middle-программиста. В этой статье я поделюсь 10 навыками, с которыми, как я полагаю, вам нужно ознакомиться в этом году. Этот список ни в коем случае нельзя считать полным, но он даст вам хорошую отправную точку для дальнейшей учебы.

1. Контейнеры (Docker и Kubernetes)

В 2020 году каждый программист, инженер-разработчик, data scientist и даже team-lead должен знать о контейнерах, таких как Docker и Kubernetes. С их помощью вы не только сможете тестировать приложения в единой среде, но и упростите процесс их развертывания. Благодаря Docker вы можете быстро развернуть приложение со всеми средствами поддержки зависимостей, и вам не нужно беспокоиться о масштабируемости. Контейнеры делают это автоматически. Если вы изучите Docker и Kubernetes, вы станете более востребованным специалистом.

2. Облачная платформа (AWS, Google Cloud или Azure)

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

3. Структуры данных и алгоритмы

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

4. Инструмент контроля версий (Git)

Вы должны научиться работать с инструментами контроля версий, такими как Git и SVN. К счастью, Git и GitHub доминируют на рынке, и поскольку более 70% компаний используют Git, вы можете ограничиться изучением только этого инструмента. Но не забывайте, что вам придется также ознакомиться с продвинутыми концепциями управления версиями, такими как ветвление и слияние, а также с работой в командной строке и с использованием GUI.

5. Текстовый редактор

Не было ни одного дня, когда бы я на работе не использовал текстовый редактор. Он остается одним из важнейших инструментов любого программиста. В основном я использовал NotePad в Windows и VIM в Linux, но в настоящее время у вас есть много вариантов с расширенными редакторами, такими как Sublime и NotePad ++, которые имеют функции, подобные IDE.

6. IDE (VSCode или IntelliJIDEA)

Для Java-программистов есть три основных IDE на выбор, такие как Eclipse, NetBeans и IntelliJIDEA. Я предпочитаю Eclipse, но и IntelliJIDEA совсем неплох.

7. Базы данных и SQL

SQL – это классика, этот язык существует уже более 30 лет, и я думаю, что еще будет использоваться примерно столько же. Учитывая вездесущность баз данных, от программиста ожидают, что он умеет работать с базами данных; знает, что также стандартизация и дизайн таблиц, а также знаком с SQL. Существует много баз данных, таких как Oracle, MySQL, Microsoft SQL Server, PostgreSQL и т.д. Достаточно знать хотя бы одну. Также вы должны уметь вставлять, обновлять, удалять данные и писать запросы SQL для их получения.

8. UNIX (Linux)

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

9. Объектно-ориентированный язык программирования (C++, Java или Python)

Конечно, вам не обойтись без знания объектно-ориентированного языка программирования, такого как C++, Java или, возможно, Python или JavaScript . Вы можете выбрать все, что захотите, но мое личное предложение состоит в том, чтобы вы знали хотя бы Java. С него легко начать, и поэтому он будет правильным выбором для новичка.

10. Основы работы в сети

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