29 Dec 2010

eldhenn: (Default)
Когда деревья были большими, а вычислительная техника - ещё большей, составление отчёта по некоторой области ... производства, народного хозяйства, да чего угодно, требовало скилла. Надо было знать, где лежат (как получить) исходные документы, исходная информация, где лежат (как получить) промежуточные сводки, в частности, сводную информацию за прошедшие периоды, и самое главное, надо было знать, как совместить эту информацию и получить осмысленный результат. Фактически, интеллектуальная деятельность (применение знаний из области народного хозяйства) и рутинная деятельность (поиск информации и сложение чисел) были неразделимы.

Сейчас мы живём в 21 веке. Десяток, а то и два, три десятка тех больших компьютеров сейчас умещаются в каждом мобильном телефоне. Не говоря уже про рабочие станции. Жёсткий диск на среднем домашнем компьютере может вместить данные по разведению козлотуров в Биробиджанском районе начиная с царя Петра. Поэтому - машина должна работать, а человек думать. Фактически, это так и есть - все данные уже хранятся в электронном виде. А отчётность составляется по-прежнему как в Средние века - ручным сложением. В лучшем случае - перебивкой данных из базы в Ёксель. Называется это почему-то аналитикой...
Должно же быть так - специалист по предметной области должен совместно с IT-специалистами создаёт ПО, которое способно создавать любые необходимые отчёты. От IT требуется техническая работа - как написать ПО, как взять данные из БД, как вывести результат пользователю, от специалиста-предметника требуется собственно аналитика, механизм обработки этих данных. А специалист, ответственный за некий сектор работы предприятия ("менеджер") должен пользоваться этим ПО, составлять запросы и самостоятельно получать отчётность. А не работать передастом и получать за это зарплату.
eldhenn: (Default)
Несколько слов о сабже. Я не знаю, чему и как надо учить детей (или не детей). Но я думаю что знаю, что они в итоге должны знать и уметь.

Итак, компьюьтерно грамотный:
- на бытовом уровне понимает MVC. То есть различает хранилище данных, представление данных и обработку данных. А не называет всё вместе (+ Windows) "программой".
- после чтение документации способен написать простой скрипт на bash, на cmd или на чём-либо ещё, простом и тупом. Нет, писать cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' совершенно необязательно, но задача "с помощью ImageMagick отресайзить новые фотографии и закинуть их по ssh на вторую машину" не должна представлять принципиальной сложности. Желательно - уметь писать какие-то простые скрипты с использованием шаблонов. Цель - понимать основные принципы автоматизации (MVC, повторное использование кода, шаблоны как шаблон проектирования, простите за каламбур)
- умеет пользоваться машинным поиском. Умеет задавать вопросы поисковым системам, понимает их отличие от вопросов людям.
- разбирается в терминологии. Не называет модальное окошко с информационным сообщением и кнопкой "ссылкой". Знает основные принципы построения интерфейсов программных продуктов - кнопки, статусные строки, панели, меню, модальные и немодальные окна, поля ввода, read-only поля ввода
- на бытовом уровне понимает технологию клиент-сервер
- на бытовом уровне знает что такое "протокол взаимодействия", "интерфейс". После изучения документации способен писать VBA-подобные скрипты.
- отличает синхронное взаимодействие от асинхронного
- понимает, чёрт возьми, различие между данными и их представлением
- на бытовом уровне знает, что такое ОС, что такое драйвер, что такое прикладная программа, что _означает_ установка и настройка ОС и чем они отличаются
- разумеется знает из каких частей состоит современный компьютер, не путает компьютер с дисплеем, принтером, системным блоком, знает о различии оперативной и долговременной памяти. Ориентируется в устройствах и технологиях хранения данных (как минимум должен отличать НЖМД, НГМД, флеш-память и лазерные диски).
- общие принципы устройства файловых систем (файлы, каталоги, ссылки, права)
- понимать принципы разделения прав доступа к информации
- знать понятие "конфигурация ПО", понимать что эта конфигурация отличается от ПО и от механизма его работы, но используется механизмом.

На первый взгляд всё.
Что не обязан знать - особенности настройки драйверов, строение TCP и Ethernet-протоколов и их различие. Двадцать пять языков программирования со всеми их особенностями. Различать функциональное, объектное и процедурное программирование. Последовательность накатывания фикс-паков на Oracle или WebSphere. Повторюсь, совершенно не обязан уметь писать однострочник на Perl или форк-бомбу на bash. Если однажды увидит форк-бомбу и додумается как её запустить - молодец, наука будет.

Profile

eldhenn: (Default)
Элдхэнн

Tags

September 2022

S M T W T F S
    123
45678910
11121314151617
181920 21222324
252627282930 

Expand Cut Tags

No cut tags