Re[6]: Дополнение
От: vdimas Россия  
Дата: 26.09.06 13:12
Оценка: 268 (20) +4
Здравствуйте, Kisloid, Вы писали:


K>Опять началось, мы "элита", круче нас бывают только яйца, а всем остальным программирование не осилить и даже и не пытайтесь. Если бы у всех программистов было такое мнение, программисты бы вымерли как вид.


А они и вымирают... У меня есть база из более сотни резюме, десятки интервьюировал... Было очень печально, знаешь ли. В то самое "наше время", когда та самая трава была зеленее, в IT шли именно фанаты, у нас на потоке из 100 человек было около 20-ти, которые очень неплохими спецами становились к 5-му году обучения. Сейчас из того же потока выходит в лучшем случае 1-2 "увлеченных"... Остальные воспринимают IT-отрасль как нечто обыденное, типа как мы в дестве не удивлялись, почему показывает телевизор.

1-2 из 100 — это не просто мало, это, к сожалению, ниже той самой "критической массы". Ниже той отметки, когда создается сообщество людей, объединенных по интересам, где рулит здоровая конкуренция, где студенты обучают и стимулируют друга на порядок лучше всякого института. В общем, кому повезло пройти через это в ВУЗах, тот понимает.




В 9-м классе к нам привезли "Корветы". Я купил книжку по Бейсику, посидел немного в командной строке Бейсика и... потерял покой и сон на несколько дней. К тому времени я уже успел увлечься цифровой электроникой, знал как работают регистры там, автоматы и прочее. Не только собирал чужие схемки, но и составлял уже свои... Но я даже боялся себе представить сложность микросхемы, которая так "умно" общалась бы со мной в этой командной строке. Купил книгу по устройству ЭВМ, проглотил за раз и ПОНЯЛ (тут нужен смайлик, характеризующий нирвану и обалдение одновременно). И мне полегчало, ибо представить автомат (процессор) который выполняет только операции типа сложить/отнять/сравнить/перейти представлялось куда более простой задачей. Следующим естественным шагом была сборка "Ленинград-1" (советский ZX-Spectrum), зачитка и ручной (!!!) дизасемблинг ПЗУ... Ибо все-равно как-то с трудом представлялось, что с помощью таких простых операций процессора можно получать такие сложные в итоге программы, типа интерпретатора Бейсика. Попросил у мамы-медсестры "бесконечную" обойму бумаги от кардиографа, взял таблицу кодов, и примерно 4 метра бумаги надезисассемблировал вручную, пока не понял принцип... (Кстати, второй моей программой на Бейсике была попытка написать дизассемблер... про существование готовых узнал чуть позже, а потому свой остался недописанным)

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




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

И тут надо не список технологий давать, как этапы роста сознания, а нечто вроде последовательности собственных открытий и внутренних ощущений, которые потом будут влиять на принимаемые решения, типа:
— сначала понял, что программы — дело сложное
— потом опять понял, что все оказалось еще на порядки сложнее
— потом понял, что оно всегда глючит
— потом понял, что глючит не только у тебя, но и у всех... и где-то полегчало
— потом понял, что твои программы должны работать в окружении десятков других программ... вспомнил, что все они априори глючны — и снова становишься мрачнее (взрослеешь)
— потом понял, что "надежная связь" — это несочетаемый набор звуков, в природе не встречается
— потом вспомнил, что заказчикам на этот факт наплевать
— потом понял, что увлекся фреймворками, а воз и ныне там (решение конкретных задач)
— потом понял, что ни на что никогда не хватает ни времени, ни ресурсов... с болью в сердце понимаешь как "ПРАВИЛЬНО" расставлять приоритеты... короче, обрастаешь цинизмом как мхом... всегда четко знаешь, что гонишь лажу (на 14-й год работы!), но в душе по детски надеешься, что "когда-нибудь" у меня будет возможность все делать "как надо"...
— потом понимаешь, что чем дальше, тем меньше шансов застать эти светлые времена... Толпы "современных программистов" требуют слишком много внимания, а других нет и не предвидится И весь этот описанный алгоритм они проходить совершенно не хотят (чуть что — рыскают носом в и-нете, куда бы переместить свою пятую точку в более спокойное место), им даже наплевать на факт существования каких-там ступеней роста... Ты им эти тонкости построения современного мира жуешь и в рот ложишь, и то, не все глотают... И ты за них потом ищешь их баги, причиной которых чаще всего является не отсутсвие знаний по конкретной технологии, а искаженное представление о современных системах в целом.

Пользуясь случаем отмечу, что последний пункт — объяснение того, почему в спорах, типа "надо ли все знать и понимать до самого низа, и не является ли оперирование абстракциями достаточными", я четко придерживаюсь позиции "1-НАДО, 2-НЕ ДОСТАТОЧНО". Даже пользуясь современными "полностью абстрактными" ФП, надо четко представлять, как оно работает, дабы писать адекватные программы. Даже в Прологе, вершине всех абстракций, надо четко понимать, почему можно получить прирост быстродействия на порядок, если просто в системе правил поменять пару из них местами (хотя с математической точки зрения ничего не меняется)...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.