Pull to refresh

Comments 30

Просто программирование, как и многие другие специальности, требует определенного скалада характера. Как, например, работа врачом. Недостаточно просто решить для себя «я буду программистом». Надо этой идеей, в какой-то мере, заболеть. Тогда и книги Гради Буча читаются как захватывающая беллетристика. Да, собственно, главный залог успеха в любой сфере деятельности — заболеть идеей. Ничто так не помогает в учёбе, как искренний интерес к предмету изучения.
Основная причина в том, что клуб бесплатен.
«Почему так трудно стать программистом?»
Я верно понял автора, что врачом, пилотом, связистом стать проще?
А вы задумайтесь — что создают врач, пилот или связист? Может тогда будет понятнее.
Они выстраивают правильные и безопасные взаимосвязи.
Теоретически в будущем продукты труда программистов смогут заменить большинство врачей, пилотов и тем более связистов.
Программисты, создавая новую программу автоматической диагностики пациента или программу автопилота для авиалайнера должны очень хорошо изучить предметную область, т.е. по сути стать врачами, пилотами или кем-то там еще.
Вот почему стать программистом так сложно — мало того что надо иметь специфический багаж знаний и уметь его применять, так надо еще и уметь быстро изучать различные предметные области и т.с. перевоплощаться в представителей различных специальностей. Есть еще только одна группа людей, занимающаяся примерно тем же — это писатели, режиссёры, актеры и другие представители шоу бизнеса. Вот только из-за плохого романа или плохого фильма не будут умирать люди как в случае с плохим автопилотом или неправильно поставленным программой диагнозом.
Т.е. возвращаясь к вашему вопросу, если допустим даже теоретически — программист ну или точнее его продукт может заменить того же пилота (обратное не возможно даже теоретически ) — то кем сложнее стать программистом или пилотом?
Вы говорите не о программистах, а о бизнес-аналитиках. Этим людям не нужно уметь программировать, им нужно уметь написать техническое задание.
Я верно понял автора, что врачом, пилотом, связистом стать проще?

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

На мой взгляд очень огромное количество людей пробует себя в качестве программистов. Я случайно выделил эту закономерность когда начал вести блог по программированию и выяснилось, что наиболее востребованные заметки связаны с классическими решениями известных задач. Я как-то от балды написал решение задачи Дейкстры «Спящий парикмахер» задач просто стала хитом англоязычного интернета она попала топ гугла и когда в один из дней почитать решение пришло аж 22 человека из… Монголии я просто чуть не прослезился за братьев монголов.

С нашего курса более 100 человек после пятидесяти знаю прграммируют четыре человека, включая меня… не густо, но слава богу и так.
И в щщи с вертушки преподу с кафедры математики, который все 2 года лечил нас тем, что не бывает хороших программистов, не знающих матана.
А инженер в области программирования может состояться без математики? :-)
Вполне. Главное не спасовать,, когда математика потребуется :)
Хм, в теории вы правы, но лишь от части
— процент не спасовавших — очень мал, эта статья тому подтверждение
— люди не обладающие знаниями просто не могут решить задачу где нужна математика, проблема в том что ни кто им не скажет — сначала выучи вот эти термины и знаки, потом матанализ вот от сюда до сюда, потом… а они предоставлены сами себе, в итоге за много лет работы в области я видел лишь одного человека который смог проковырять этот слой и составить для себя «картину мира математики» и подобрать адекватное решение.
В лучшем случае они обладают отрывочными и разрозненными сведениями которые не сведены в общую картину. Хотя очень часто даже те отрывочные сведения наполнены слоями дезинформации которая воспринимается как истина.
Из моей недавней практики — один менеджер с 20 летним опытом разработки недавно убеждал коллег, что нужно использовать нейронные сети для обнаружения сбоев в боевом процессе и восстановлении на лету. Когда задал вопрос — «Что в вашем понимании нейронные сети ?» получил массу незабываемого опыта.
По своему опыту скажу, что даже обладая знаниями не всегда можно заставить программу делать то, что нужно. Если требуется решить задачу, выходящую за пределы «обычных» и хорошо изъезженных вопросов аля пройти собеседование (например, сортировка) очень трудно разработать сложный алгоритм, потому что результат работы сложно проверить, т.к. любому результату нельзя доверять. Если тестовые данные не совпали с результатом, то непонятно — это результат правильный, а мои тестовые данные неверны или результат неверный, а тестовые данные верны? И даже если тестовые данные совпадают с результатом, то не ошибся ли я везде — и в тестах и в алгоритме? Простите, что отвожу беседу немного в сторону, но что по этому поводу вообще можно сказать? (Как-то даже не знаю, может ли математика сказать что-то вообще? как-то всё запутано...) :)
И здесь помогут знания, не навыки, а именно знания — ведь проблему можно видеть с разных сторон, подбирать разные инструменты, делать кросс-проверки результатов разными инструментами, по сути уже вести исследования.
К сожалению приобритение знаний в «бою» дорогое удовольсвтвие, а уж тем более фундаментальных.
А если у человека есть боевые навыки которые его спасали N раз то при изменении конфигурации навыки уже не работают, нужны знания чтоб правильно и быстро оценить изменения и найти адекватное решение, ведь не заново навыки приобретать же на каждую ситуацию :-)
Что вы имеете в виду под «состояться»? Можно со знанием математики на уровне 5-го класса средней школы быть востребованным и высокооплачиваемым профессионалом в области автоматизации бизнеса, например. Это считается за состоятельность?
… и огромное желание зарабатывать в будущем хорошие деньги ...

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

Зато, в универе на первых двух курсах отсеялись до 90% будуших «ай-ти-шников» (отсеялись, именно как «ай-ти-шники», диплом то получили). А потому, что шли на модную профессию. Или, были такие сокурсники «на экономиста/юриста/менеджмент было дорого поступать, поэтому мы пошли на программистов». Многих просто «привели родители».
Заранее извиняюсь, если обижу, но!
Возможно, ваша программа обучения просто построена не идеально, и вам нужно ее скорректировать, тогда и результаты будут другие?
Хотя это не отменяет того, что людям, не привыкшим к работе с абстракциями тяжело перестроиться и начать понимать, для чего все вот эти придуманные вещи нужны.
Конечно, надо делать поправку на мотивацию и бесплатность курсов. Но если такая низкая результативность — возможно, сама методика обучения не фонтан? Любой современный язык — это дикое наслоение абстракций, через которое трудно продраться до написания хоть какого-то кода. Вспомним старое доброе процедурное программирование, бейсик, паскаль, бесплюсовый С. Освоить их, что-бы написать программку в пару сотен строк кода — не так уж сложно. А освоив — можно говорить о классах, шаблонах и инкапсуляциях. А не наоборот.
В быту и обычной жизни всё это никак не используется.

Это как посмотреть. Я вот с утра выполняю кучу процедур — погладить штаны, взять из холодильника напиток на работу, посмотреть прогноз, одеться в уличную одежду в соответствии с прогнозом, взять сумку, ключи от квартиры и машины, убедиться, что ничего не забыл (элементарная проверка CRC по количеству вещей в кармане), на выходе закрыть дверь. И так каждый день. Это и есть цикл. Да программирование оно вообще везде, только без компьютеров. Их надо просто увидеть. Так что программирование — это упорядочивание мышления, а в остальном, всё верно.

Я бы добавил, что программирование оно не как физкультура. Смог поднять 10 кг яблок, поэтому подниму и 10 кг железа и 10 кг резины и пр. А вот научился программированию на JavaScript, а вот Java придётся осваивать заново. Быстрее, конечно, чем JavaScript, но всё равно не быстро. Третий язык уже быстрее, 10-м языком можно уже за день начинать писать полноценную программу. Но пока до абитуриентов дойдёт, что мыслительный процесс, которому они учатся полгода или год на самом деле можно уложить в день пройдёт время, иногда и не один год.

1. «Это всего 1 процент, а не 9, как гласило прочитанное когда-то мной исследование.» — может быть, исследование говорило о возможности вообще, если профессии человек обучается в молодом возрасте, а не о возможности перепрофилироваться в зрелые годы, когда способность к обучению резко падает.

2. «В быту и обычной жизни всё это никак не используется.» — алгоритм «чистить картошку»:

while (не кончилась картошка) 
{ 
    возьми следующую картошину; 
    почисти ее;
    помой ее;
    положи в кастрюлю; 
}


Алгоритм «варить картошку», с таймером:

CreateTimer(каждые 5 минут);
....
OnTimer()
{
    проткни вилкой картошку;
    if (протыкается легко) { DeleteTimer; Выключить огонь; exit("кушать подано, садитесь жрать пожалуйста"); }
}
У вас переполнение кастрюли и очистки заняли весь стол.
Ответ всем: алгоритмы учебно-показательные и не претендуют на: полноту, многопоточную безопасность, кроссплатформенность, оптимальное использование жены, видеокарты или нескольких ядер, а также сложность O(log(N)).
В условие надо добавить "&& в кастрюле есть место"
image
Кастрюля «упадёт» при переполнении. Но придётся ловить «исключение».
Профессию «Программист» преподают в техникумах, так что трудно или нет — понятие слегка растяжимое.
В целом мнение в данной статье, довольно таки реалистичное.

В практике видел два случая, Доктор стал хорошим программистом, просто решил в 30 сменить род деятельности,
видел пару примеров люди заканчивали технические специальности где то рядом с программированием. дальше работа не по профессии, и потом приход в Айти=) второй шанс
Sign up to leave a comment.

Articles