О бедном 1Снике замолвите слово
fixin — 30.12.2013Часто доводится слышать в сети мнения, что 1С-ник - это не программист, а недоразумение - конфигураст, макросописатель, обновляльщик и т.п.
Похожий холивар есть у верующих, которые утверждают, что атеизм - это вид религии. Такое же массовое заблуждение.
Итак, давайте расставим точки над i и определимся все же - программисты 1С настоящие или второстортные?
Наглядный пример:
Для примера возьмем высококвалифицированного программиста 1С, получающего 4000$ в месяц, т.е. меня.
Какие знания мне требуется постоянно для работы:
01. Знание принципов построения реляционных баз данных.
Нормализация, связи, индексы.
02. SQL - язык межгалактического общения программистов баз
данных.
03. Basic-подобный язык 1С - пожалуй, самое простое в этом
наборе.
04. Объектную модель базы данных 1С, при которой с данными СУБД
можно работать как с объектами.
05. Объектную модель остальных программных компонентов 1С - работа
с файлами, с отчетами.
06. Реализованный в 1С библиотеку форм, работу и программирование
этих форм в парадигме Объект - Модель.
07. XML - без этого никуда, количество обменов данными в ERP всегда
велико. Сюда же DBF, CSV. Причем умение парсить и генерировать эти
форматы.
08. COM/OLE-технологии для интеграции с другими системами, обмена
данными и торговым оборудованием.
09. Принципы работы торгового оборудования и программного
взаимодействия с ним - кассы, весы, сканеры штрих-кода, датчики
отпечатков пальцев и т.п.
10. Технологии SOAP и HTTP-Request и понимание программного
взаимодействия с веб-сервисами.
11. Уверенные навыки администрирования SQL-сервера, лично я знаю MS
SQL и IBM DB. Потому что все серьезные и большие базы данных 1С
работают на SQL-серверах. Хотя иногда администрированием занимаются
администраторы, но чаще этим приходится заниматься 1Снику.
12. Программная работа с e-mail, FTP и sms - как для
информирования, так и для регулярного автоматического обмена
информацией между системами.
13. Навыки коллективной разработки, т.к. в 1С присутствует
разделение труда, используется своя CVS-технология, называющаяся
"хранилище конфигурации".
14. Понимание принципов работы трехзвенной системы "Клиент - Сервер
- СУБД", т.к. 1С в серьезных организациях работает в режиме
трехзвенки.
15. Понимание принципов параллельной работы, сущности транзакций и
блокировок, т.к. в серьезных организациях работает много
пользователей сразу.
16. Программисту 1С также требуется глубокое знание предметной
области, где он работает. Все знать нельзя, поэтому часто
программисты специализируются на бухгалтерии, управленческом учете,
автоматизации процессов или кадровом учете. Конечно, он не должен
знать все на уровне бухгалтера или кадровика (до уровня ПБУ и
КЗоТ), но понимание должно быть шире просто базовых представлений о
проводках и кадровых перемещениях.
17. Программист 1С должен справляться со сложными структурами
данных, скажем от 200 таблиц в СУБД. Такие масштабы не должны
пугать его, это нормальное явление.
18. Программист 1С должен уметь писать сложные отчеты, упорядочивая
данные из СУБД и речь идет не просто об обертке для SQL-запросов.
Отчетность часто сложная и требует для получения больших усилий и
нестандартных алгоритмов.
19. Знать объектную модель документов Office - Word, Excel и VBA
для них.
20. Знать основы usability, чтобы решения были удобны в
использовании пользователем и не требовали от него лишних,
ненужных телодвижений.
А судьи кто?:
Кого же противопоставляют программистам 1С?
1. Веб-программисты.
Когда мне понадобилось написать свой сайт, я сделал его, изучив My-SQL сервер и PHP с нуля за две недели. Хотел бы я посмотреть на веб-программиста, который бы научился сопровождать 1С за этот срок.
Веб-программирование - это едва ли не самое простое, что есть в программировании. Работа с формами - на уровне их кодировки в HTML, ООП даже и не пахнет обычно.
2. Драйверописатели.
Никак не могу признать крутыми программистами тех, кто пишут драйверы. Набор ситуаций там ограниченный, пространства для креатива - ноль. Любой код для работы с СУБД на порядки сложнее того, что наваяют на ассемблере эти программисты.
Не могу забыть, что как-то превозносили крутость некоего Альфа , что написал на ассемблере код защиты модулей 1С. Причем крутость объяснялась только тем, что он знал простейшие алгоритмы PGP-защиты. Т.е. не за программистское мастерство, а математические познания.
3. Программисты игр.
Если вы про игры для Android-маркета или для iPhone, я вас умоляю. Порог вхождения там специально делается минимально низким, чтобы таких приложений было побольше.
Если речь о серьезных играх, то там фигурирует разделение труда. Возможно, архитектор проекта еще и крут, но остальные - простые кодописатели, работа которых проста и необременительна.
4. Программисты комплексных приложений.
До того, как прийти в 1С, я работал над некоторыми проектами в различных организациях и получил представление о современной разработке сложных программ.
Например, я работал в компании, которая писала систему ПВО для Китая, где было много интеграции с картографической информацией. И что вы думаете? Работы программистов разделялись на очень прозрачные и понятные подзадачи. По сути, только небольшой костяк занимался "рулением" проекта, но они больше не программировали, а администрировали, выбирали структуры данных и алгоритмы.
5. Архитекторы программных проектов.
Видимо, это реально крутые ребята. Они управляют разработкой софта и выбирают направления развития и реализации конкретных задач.
Только вот их мало по сравнению со всей массой програмистов. Большинство просто быдлокодит.
У 1Сника больше шансов стать архитектором, т.к. он в самостоятельной работе часто принимает решения о том, как делать задачу, какие структуры данных выполнять и т.п.
6. Обновляльщики, конфигурасты и консультанты.
Почему-то сложилось мнение, что программисты 1С не пишут код, а только ставят галочки в настройках, обучают пользователей и обновляют программы 1С.
Это заблуждение, этим занимается низшая каста програмистов 1С - эникейщики. Но они есть в любом серьезном тиражном продукте.
Резюме:
Итак, мы определились, что программисты 1С круты, как бог. Если
у вас будет противоложное мнение, можете его засунуть
его себе в жопу высказать тут.
|
</> |