JavaRush/Java блог/Random/Кофе-брейк #12. Стереотипы, от которых программисту лучше...

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

Статья из группы Random
участников

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

Источник: 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). Большинство приложений, которые вы напишете, будут работать клиент-серверным способом, когда запрос передается по сети на сервер. Суть в том, что вы должны понимать основы работы с сетью, чтобы разрабатывать и поддерживать ваше приложение.
Комментарии (11)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
27 февраля 2020, 23:23
очень даже!
Vladimir Galkov
Уровень 30
21 февраля 2020, 12:02
ну тут так ... 1. поскольку программирование есть computer science на границе математики и ЛИНГВИСТИКИ, то незнание английского и не понимание немного других языков косвенно говорит прямо текущих способностях в программировании. это навык который неизбежно развивается параллельно. Как часть абстрактного мышления. 2. интровертом можно не быть, но проблема тогда в том, что интровертом вы станете. конечно вам скорее всего не удастся донырнуть до аутизма, но способность/навык концентрироваться на задаче, подбирая абстрактные модели для её решения вместо соскакивания на другие мысли, отдых или мечтания, юмор и т.д. однозначно лет за 5-7 сделают из вас интроверта. Сама способность не отмазываться этими стереотипами и продолжать заниматься интеллектуально сложным делом и есть инроверсия :))))
Justinian Judge в Mega City One Master
22 февраля 2020, 13:23
насколько я понимаю, с точки зрения психологии, экстраверт от какой-то работы интровертом не станет. Фокусированность на чем-то одно и интроверсия разные вещи. Могут быть исключения, но это нужно чтобы человек испытал сильнейший стресс и его психофункциональное состояние было просто уничтожено, если человеку сломать хребет об колено и его личность в какой-то мере разрушиться, тогда возможно да, можно стать интровертом и то, это еще нужно изучить разницу между сломленным экстравертом и интравертом. Программирование практически рай для интровертов, я знаю очень многих программистов, попытался вспомнить ярко выраженного экстреверта хотя бы одного....ну одного еле вспомнил, что до программирования был экстравертом, что проработав сколько там лет - 10-13, он не поменялся, хотя с кода не вылазит, пусть и дослужился до тимлида, но он прежде всего техническим специалистом остается. Интроверты могут болтать радостно, легко вступать в контакты, быть непосредственны, их может быть очень много, экстраверты могут сидеть неподвижно, вчитываться, вдуматься, молчать сутками, зажатыми. Интроверсия и экстраверсия имеет внешние признаки, по которым часто путают, но прежде всего это способ взаимодействия с внешним миром, а это базис, и он всегда внизу, и когда мы видим какие-то признаки, которые могут указывать на принадлежность к тому или иному типу, это следствие базисов, а не причина. Не один раз с профпсихологами разговаривал на эту тему, что интересно, если человеку без профильных знаний дать задание определить кто интроверт кто экстраверт, очень многие ошибаются, я с психологами в компаниях не раз проворачивал такую штуку, люди путают внешние признаки с внутренним базисом. И хоть 90%+ как по мне в профессии интровертов, думаю экстравертам будет нормально, с них хорошие потом менеджера пойдут по ветке ам-пм-сто, да и сама работа программиста содержит и коммуникацию с заказчиками/внутрикомандную, есть где им развернуться.
Vladimir Galkov
Уровень 30
22 февраля 2020, 17:57
Мозг человека - гибкая машина, подстраивающаяся под спектр решаемых в жизни задач. Я тут о том, что если для решения задач, нужно систематически. много лет, выдавать рациональные решения, т.е. встроить между инстинктивной реакцей-ответом на возбуждение - процесс торможения (головную кору, вторичная система подбора решения, рацональный выбор), - то он постепенно между почти всеми эмоциональными-инстинктивными реакциям встроит "прерывание" и вызов процедуры рационального выбора ответа с игнориорваниеи инстинктивного. Это и есть интроверсия. Только воспитанная не в ясельном возасте случайно, а натренированная упорными тренировками в годы, когда мозг уже не так пластчен. Но конечно, торможение корой "ответа" ("прерывание") не значит, что рациональным ответом в не которых случаях будет тот же самый что и раньше. только выдаваться он будет не безусловно, а после прохождения "проверки". проанализируйте как вы отвечаете девушке на ВНЕЗАПНЫЙ вопрос типа "ты меня любишь?" быстро и без самокопаний что нужно сказать или с обдумыванием вопроса? если с обдумыванием - вы уже на пути к интроверсии. С другой стороны это такой же обратимый процесс, так как не используемые нейронные связи отмирают, соответственно и связи с "прерываниями" исчезают, если ими не пользоваться и процесс откатывается на базовые настройки :) например тот же женский вопрос очень быстро вернётся в правильное русло после некоторых неудач с обдумыванием даже у махрового интроверта. ;) и определить так интроверсию даже у себя лично будет нереально.
Justinian Judge в Mega City One Master
22 февраля 2020, 18:43
Мозг гибкая штука. Личность нет. Иначе мы бы сегодня были одними, посмотрели фильм стали бы маньяком, улыбнулась девушка на улице стал шизофреником, пришел домой впал в психоз, утром проснулся и как ничего не бывало. То что мозг подстраивается под решение задач, безусловно, это как мы тренируем мышцы, тренируем ССС и тд. Это сверху. Но от тренировки мы не сможем увеличить рост в три раза, и у нас не вырастет рука. Есть базис. Есть надстройка. Наш психотип коммуникации с обществом это наш базис. То как мы адаптируемся к обстоятельствам, это надстройка. Последний абзац как раз хорошо иллюстрирует это, о чем я раньше и говорил, о том что интроверты могут себя вести не как интраверты, а экстраверты вести себя как интраверты, но это снова-таки наносное. Вообще, психология это неточная наука, идеи апробируются, дискутируются, видоизменяются, любые разделения всегда будут условны. Но интроверсия/экстраверсия как способ человека коммуникации с внешним миром , как свойство характеристика не меняется. В процессе работы можно получить что-то наподобие мимикрии, комплекса привычек, как хорошо было показано в примере насчет женского вопроса. Интровертом был, интровертом остался. А жизненный опыт может научить человека мгновенно переключаться , реагировать, вести себя как экстраверт в конкретной ситуации, но это внешнее поведение субъекта. Как например певцы не владеющие языком могут очень хорошо спеть на любом языке, они просто повторяют звуки (поведение мышц вокального аппарата) носителя языка. Но сами носителем языка не являются. Так и окружающая среда,меняет нас, действительно, устанавливаются новые цепочки реакций, но личность остается. Как я уже писал, нужно что-то очень травматичное чтобы загнать экстраверта в интроверсию, либо ну ооочень долгое воздействие внешней среды, а интроверта в экстраверсию разве что психопатологическое состояние может загнать и то надо подумать. Я приводил конкретный пример тех кого знаю лично, все осталось при них.
Justinian Judge в Mega City One Master
22 февраля 2020, 18:48
но в таком обсуждении, прежде всего конечно нужно договориться про терминологический аппарат и провести его синхронизацию. Я рассматриваю интроверсию/экстраверсию именно в первоначальном значении Юнга/Айзенка, я не рассматриваю ее в более широком значении как совокупность определенных реакций человека, которые естественно зависят от того что и как мы делаем. Мое мнение, личность остается личность. У меня например есть дети, и я в первую же секунду как увидел, на лбу было видно характер какой. Прошли года, а мне нечего особо добавить к тому , что я увидел как человек родился на свет. Дополнить есть, но суть осталась та же, генетика, специфические нейронные цепочки выстроенные, общая канва осталась и останется на всю жизнь. У меня есть братья и сестра, мы совершенно разные, и кого только как жизнь не бросала, сильно изменились за все это время, но канва снова-таки же осталась. Базис личности без сильных травмирующих и разрушающих личность фактор, не меняется, или меняется как камень, ну ооочень медленно. А надстройки разной глубины, безусловно, могут меняться очень сильно. Можно заставить медведа играть на баяне, одевать кафтан, нафантазируем, даже говорить можно научить, но он останется косолапым медведом. Характер, темперамент, фундаментальные характеристики личности безусловно могут меняться со временем, но в разной степени скорости, интроверсия/экстраверсия это очень базисная штука которая ооочень глубоко , ну оочень глубоко. До нее добраться и менять...можно сделать амбиверта, натренировать что отличить не будет возможно, такое возможно. Но очень редко, и то, внутри человек останется принадлежать к тому типу которым был. Иначе было бы прикольно..интроверты могли бы ставать экстравертами и наоборот, но все что мы можем это лишь адаптироваться, уменьшая негативные стороны своего типа, и работая над позитивными
Vladimir Galkov
Уровень 30
22 февраля 2020, 20:21
"личность" ещё более гибкая вещь. но это можно только увидеть. словами не очень описать: лет через 10 вы, обращаясь к собственным мыслям увидите, что этот "вы" совсем другой человек, другая личность, которая, живя бы параллельно, абсолютно иначе вела бы себя и разговаривала и с вами(почти самому себе) тоже. вы даже не смогли бы найти взаимопонимание с ней по общепрожитым вопросам или по любым другим, окажись параллельно в одной комнате. :))))))
Justinian Judge в Mega City One Master
22 февраля 2020, 20:42
Снова-таки, вопрос терминологического аппарата, да, конечно есть такая штука, мне уже сорокет почти, и конечно многое чего поменялось, взаимопонимание адекватному человеку найти несложно с другим, собой тем более, но многое меняется, но это снова-таки что? Наносное. Но в целом ты прав конечно, личность это гораздо более гибкая штука, поскольку включает себя много чего, здесь мне нужно было подобрать другое слово. Спасибо за разговор, было приятно пообщаться и очень познавательно, выражаю свое интровертное спасибо :) Желаю успехов, с таким аналитическим аппаратом и личными качествами :D думаю успех не заставить себя ждать, все будет зависеть только от желания, удачи)
Vladimir Galkov
Уровень 30
22 февраля 2020, 20:56
и тебе успехов! :) а я как бы уже программист и сто лет :) просто с перерывами... на строительство сетей связи, так что за последние 11 лет руководства и пусконаладки сетей сильно просел как специалист... а собеседования вещь коньюктурная и запросто можно не пройти элементарные глупости, имея за плечами хоть сколько работающих проектов. надо побаловаться. а тут очень удобно. Ещё раз - успехов :)
Денис
Уровень 12
20 февраля 2020, 21:26
Стереотипы, от который программисту лучше отказаться
21 февраля 2020, 07:48
Спасибо, поправили)