Здарова, братан. Я инженер-программист. Чем я отличаюсь от обычных? Я программирую контролеры для различных заводов и предприятий и делаю ущербную интерфейс систем на тех же заводах.
Из этого вытекает ряд отличий от обычных программистов:
1) На эти заводы надо ездить
Если стереотипные программисты сидят в офисе или дома за компом, пишут проги и отсылают из заказчиками, то я после нескольких месяцев работы за компом собираю вещи и еду на завод. У меня даже каска есть.
ПНР (пуско-наладочные работы) – это самый трешняк. Сроки сжатые. Всё как всегда идет не по плану. Условия труда ужасные. Бывает, сидишь на каких-то коробках с ноутбуком в грязном углу и пытаешься что-то по быстрому наладить. Нахер вообще таким занимаюсь? Но за это, как минимум, доплачивают, а, в добавок, иногда интересно куда-нибудь сгонять, развеяться, отдохнуть от рутины. Я бесплатное (вернее за выплаты мне) прокатился от заполярья, до Волгограда. Как минимум, будет, что рассказать внукам.
2) Я почти не умею программировать
В классическом смысле этого слова. У систем автоматизации есть главный принцип: чем проще, тем лучше. Поэтому там до сих пор широко распространены графические языки программирования, типа релейных схем. Самые часты блоки это И, ИЛИ, НЕ. Всё нужно делать так просто, чтобы ошибок просто не могло быть.
Стремление к примитивности отражается и в графическом интерфейсе. Есть даже стандарт, по которому он рисуется. Всё всегда на сером фоне, никакой анимации (только если произошла авария), цвета объектов регламентированы, только 2D объекты (ТНН!!!). Всё это реально выглядит убого. Но оно должно быть понятно малообразованному персоналу – операторам.
Примитивизм во всем – главный девиз инженеров-программистов
3) Я разбираюсь практически во всём
Брюс Ли сказал: "Я не боюсь того, кто изучает 10,000 различных ударов. Я боюсь того, кто изучает один удар 10,000 раз". Так вот, он не боялся инженеров-программистов. Потому что мне приходится реально изучать тысячи всяких штук. Электротехника, базы данных, настройка различных операционных систем, программирование на различных языках, настройка сети, статистическая обработка данных, вибродиагностика (особенной чисто моей конторы), рисовать это убогие картинки в пейнте (да, я серьезно его юзаю), тех же контроллеров дофига и прогаются они по разному. Ощущение, что моя работа – это просто бесконечный поиск решения косяков в гугле и общение с тех. поддержкой.
Я не могу сказать, что я хоть в чем-то из этого я хорош. Но, пожалуй, мой главный скилл – это учиться новому. И это не просто слова из стремного резюме, а необходимы навык любого инженера.
4) У меня вышка
99% инженеров-программистов имеют вышки. Тут не получится самому выучить один язык и потом найти работу. Всё равны нужны знания в электротехнике, дискретной математике, теории автоматического управления, высшей математике. Всё это изучить самостоятельно реально сложно. Ну и плюс ко всему, именно в универе меня научили быстро изучать и разбираться в больших объемах информации.
Высшее техническое образование в России пока ещё не в такой сильной жопе как остальное. Держится оно в основном на энтузиазме преподавателей и осталось хорошим, не "благодаря", а "вопреки". Но ведь именно этим "вопреки" и славится Россия. Высшее техническое образование – это некий интеллектуальный ценз. Совсем дебил его всё-таки не получит. Даже за деньги.
Итог
Быть инженером-программистом – долго, трудно, стрессово, но всё таки очень увлекательно. Надеюсь, ты получил ответы на все неинтересующие тебя вопросы, друг?