Моя конфигурация
- Дима Зорин, 35 лет
- Работаю и создаю программы более 15 лет
- Первую программу создал на полурабочем IBM PC у друга. Потом был доступ к Pentium *286 и сопутствующим книгам. Чуть позже чудом появился свой Celeron уже с Win95. На нем я «изобрел» под DOS функцию для генерации случайных чисел, потому что тогда еще плохо знал английский и в документации к FoxPro не нашел в словаре слова «random». Позже оказалось, что стандартная функция работает по тому же принципу. С тех пор увлекаюсь информатикой как личным интересом
- Мои профессиональные интересы
- Инструменты разработки (включая структуру и лексику языков программирования)
- Автоматизация (нажал кнопку, сделалась полная резервная копия сайта с БД в архиве с датой и залита сама на другое облако)
- Функциональные технические интерфейсы пользователя (элементы управления, хороший UI / UX)
- Системное программирование (ASM, работа с оборудованием, WinAPI)
- Математика (с недавнего времени; причины ниже)
- Hardware & Software
- Умею быстро принимать решения, но думаю и работаю медленно. Хорошо справляюсь с долгосрочной работой (кропотливая ответственная работа, когда важно будущее проекта в перспективе), а не срочной (костыли и замазывание дыр)
- Свободно читаю английские тексты, понимаю речь, но отвечать и думать на английском не умею, и в рабочее время пока не планирую
- Спустя 15 лет сидячей работы я ставлю свое здоровье гораздо выше заработка. Лучше буду голодать, чем убивать себя на стуле в предприятии, которая «мы работаем как все, почему вам нужны какие-то особые условия?»
- Спустя 15 лет интересной работы с разным опытом я ставлю возможность поддержания своих навыков гораздо выше, чем возможность их применения. Лучше буду дома «клепать сайты», имея возможность выделять себе часы на запись скринкастов, обдумывание своих и анализ чужих идей, настройку инструментов и сценариев разработки, чтение полезных книг, улучшение рабочего места и т. д. и т. п., чем получать деньги за результат любой ценой и с принципом «хоть трава не расти»
- Опыт
- В 1999-м году у меня был огромный интерес к компьютерам (и мечта понять, как они работают и как создавать программы). А в 2000-м году мне было страшно за свое будущее (мне было 16 лет, я рос в небогатой семье и неразвитом городе). В силу этих причин я учился на программиста сам, по книгам, какие были (интернет появился гораздо позже)
- К 2005-му году я улучшил свой опыт и навыки. Поэтому, показав свои проекты, нашел работу в Москве и продолжил свое развитие
- В 2008-м я работал на должности архитектора программного обеспечения и занимался руководством IT-проектов (промышленная разработка и производство на заказ собственного оборудования, создание отдельных алгоритмов / библиотек / фреймворков, готовых программных решений разной сложности)
- Мои профессиональные проблемы
- Мои знания требуют перестройки
- Информатика – мой личный интерес, хобби и дело всей моей жизни с тех пор, как у меня появился доступ к компьютерам, программам и книгам по этой науке. Но у меня нестандартное образование и мышление. Всему, что я знаю, я учился сам по доступным мне источникам информации и через реальный практический опыт. Увы, математика, в отличие от информатики, стала моим увлечением лишь недавно. Проблема в том, что я слишком поздно понял две вещи: что математика на самом деле из себя представляет, и что доступная мне ранее программа обучения имеет недостатки и нанесла моей жизни существенный вред
- Начиная с школы, учеба шла по схеме «Выучи сегодня вот эти 10 чужих инструментов, которые придумали другие люди, и получишь пять. А завтра мы вывалим еще один мешок». Я слишком долго доверял чужим знаниям, и конечно же хотел хороших оценок. Поэтому пытался учиться строго по программе, которую дают. А надо было делать другое: надо было учиться вырабатывать свои решения, свой материал и создавать свои логические инструменты, пока есть время и возможность для этого. Эта ошибка стоила мне очень дорого, и я считаю ее единственной своей неудачей в жизни. Но влияние ее огромно. Только недавно я понял, что математика – это наука о мышлении, логике и ясности, а не свалка готовых чужих формул для заучивания. И что я сам могу создавать свою математику
- Поэтому сейчас у меня крайне негативное отношение к любой «зубрежке», если это не подкреплено личной работой по полученным знаниям. Очень жаль, что современное количество технологий оставляет мало ресурсов для такой работы и специалист может легко и незаметно для себя превратиться в энциклопедию, без навыка создавать свои мысли
- Мои знания требуют приведения к современным «стандартам»
- Зато думать своей головой у меня за годы карьеры получалось в информатике. Вот уж где я дал волю своему логическому мышлению. Увы, это тоже вызывает проблемы. Приведу для примера личный анекдот:
- На собеседовании:
- — Расскажите что-нибудь о "Dependency Injection"
- — Не знаю такого термина
- Вернулся домой. Гуглю. Кладу руку на лицо. Выясняется, что я всю жизнь учил ООП как инструмент уменьшения и управления зависимостями между объектами и абстракциями. А для кого-то ООП это просто объекты. И для одного из распространенных «рецептов» управления зависимостями, который я применял всю жизнь, есть название, которое я не знаю
- Аналогично, в нулевых, у меня не было интернета и возможности прочитать книгу «большой четверки» (GoF). Но я сам во время практической работы выработал шаблоны модель-представление-контролер (MVC), машину состояний (state machine), посредник (mediator), декоратор (decorator) и пр. Только у меня не было готового каталога рецептов, и не было для них красивых названий. Зато мои решения выработаны практическим трудом. Они для меня естественны и слишком очевидны. Но мой личный опыт и навыки позволяли мне решать инженерные задачи своей головой. И благодаря такому мышлению я умею быстро изучать новые нужные инструменты и получать нужные навыки во время работы, если это требуется.
- Тем не менее, сейчас я учусь правильно объяснять, чем же я занимался все мои годы в карьере. А также занимаюсь глобальным наведением порядка в своих знаниях, чтобы привести их к общим понятиям, понятным всем
- Карьерная стагнация
- В карьере я надеялся, что рост в должности до архитектора или ведущего специалиста поможет мне расширить свои знания и навыки. Но и здесь все не так просто. Составление заданий для коллег отнимает бо́льшую часть времени. Необходимость принимать ключевые решения по всем технологиям заставляет изучать их в большом объеме и в сжатые сроки, а это формирует кучу поверхностных текучих знаний, которые быстро приходят и быстро уходят. Налаживание работы коллектива, взаимодействие и направление сотрудников на «путь истинный» имеет гораздо больше общего с психологией, чем с информатикой и математикой. Тестирование всего и вся лечит человеческий фактор и решает проблемы разработки чрезмерно сложных систем. Зачастую работа программистом вообще никакого отношения не имеет к науке об информатике. Люди в этой профессии решают бизнес-задачи, но далеко не всегда могут оттачивать мастерство
- Я готов помогать решать общие бизнес-задачи. Я люблю свое дело и хочу, чтобы это оно продолжалось. Но теперь я не хочу мешать мух с котлетами, поэтому мне важно, чтобы работа сопутствовала профессиональному росту, а не плавному деградированию и стагнации