Страсть – это и причина, и награда
Я пришел в индустрию программного обеспечения около 20 лет назад. У меня было техническое образование, но компьютерного образования у меня не было.
Это было нормально не только потому, что я знал основы создания программного обеспечения (я был инженером-электронщиком), но и потому, что в моей стране наблюдался беспрецедентный бум аутсорсинга программного обеспечения из развитого западного мира.
Тогда знание кода не было обязательным требованием. Аналитических навыков, подобных SAT (вопросы с несколькими вариантами ответов) + базовый английский (собеседование) было достаточно, чтобы попасть в индустрию ИТ-обслуживания.
Я хорошо справился с тестом. Мне также удалось пройти собеседование, несмотря на то, что английский не был ни моим родным языком, ни основным языком обучения.
Я стал частью тогдашней высокооплачиваемой индустрии программного обеспечения. Годовая зарплата составляла 4500 долларов (да, годовая, по курсу 2000 года). Но это было больше, чем мог ожидать выпускник, особенно в стране, охваченной массовой безработицей.
Я понятия не имел, какую ценность я приносил:
- Мой работодатель, который брал на аутсорсинг программное обеспечение у офшорных (в основном американских) клиентов.
- Мой клиент — который доверил моему безликому профилю свой код на миллиарды в бизнесе
Что еще более важно, я понятия не имел, чем эти две вещи отличаются, а часто и диагонально противоположны.
Незначительная работа:
Мой первый проект состоял из технической мешанины:
- Отчеты Crystal и шаблоны матрицы собраний, которые создают оперативные отчеты/диаграммы в ответ на запросы SQL, запускаемые настольным клиентом. Единственный раз, когда для этого потребовался программист, было добавление нового поля в рамках усовершенствования функции восходящего потока, когда нам пришлось вмешиваться в SQL-запросы.
- Слой Business/UI, написанный на проприетарном интерпретируемом языке сценариев. Это было похоже на ViewModel в современной архитектуре. По задумке, большая часть работы, которую мы проделали, относилась к этому слою, потому что клиент хотел, чтобы его нетехнический персонал добавлял/менял экраны по своему желанию.
- Ядро: Написано на Microsoft Visual C++ (со множеством вызовов COM-интерфейса для удаленных объектов), которое…