И первое время я просто бился в экстазе. Любимая работа, возможность работы на дому. У меня были грандиозные планы! В самом начале я набросал себе этот план в письменном виде Cobalt Next Steps.
В конце прошлого года, в Киев приезжал Robert Bou — владелец компании Ashlar-Vellum с женой Julie. И во время обеда я ему заявил, что за 2 года ничего не сделал для развития программы Cobalt-3D. Я специально немножко преувеличил для доходчивости. Он конечно же обиделся и сказал мне, что я обещал сделать архитектурный модуль для программы TurboCAD за один месяц, а делал его целый год.
Что же за иллюзии были у меня, спросит нетерпеливый читатель?
Иллюзия была в том, что я думал, что представляю какую то ценность для кампании и что то из себя значу в глазах руководства фирмы.
Честно говоря, я уже давно понял отношение руководства фирмы к программистам. Ведь главный разработчик программы ушел из фирмы примерно 7 лет назад побив горшки с Робом и получив в качестве отступного свою долю в $3 млн.
Для развития любой программы нужен Product Manager. Часто главный разработчик и могут быть в одном лице, если это маленькая программа.
У любого продукта должен быть Product Manager, который имеет видение по развитию продукта. Этот человек говорит программисту что нужно делать. Или ставит задачу или разрабатывает задание на разработку.
The Product Manager will research and identify customer needs in current and new markets, and determine key functionality for our product portfolio.
В русском языке Product Manager — это торгаш. Поэтому прошу не путать.
Product Manager — это человек, который хорошо знает рынок, потребности заказчиков и выбирает нишу для своего продукта. И он конечно же должен продумать направление для рекламной кампании. Фактически этот человек является самым главным после директора по всем вопросам, которые касаются его продукта.
Так вот, самое смешное заключается в том, что у нашей программы нет уже давно такого человека. У нашей фирмы есть несколько программных продуктов. Есть владелец и генеральный директор, есть исполнительный директор.
Есть команда, которая занимается программой Cobalt. В этой команде есть программисты, тестировщики, служба технической поддержки и технический писатель и дизайнер.
Начальник над этой командой — директор Владимир, сказал мне что наш генеральный доверяет нам и мы сами разрабатываем стратегию и согласовываем с ним. У нас работает коллективный разум.
Владимир в программе не разбирается и не вникает в процесс разработки. Директора наши больше занимаются финансами.
Оказалось в реале, что самый главный в техпроцессе создания продукта это тестировщик.
Честно говоря, я лелеял мысль постепенно захватить власть в свои руки и стать этим самым самым главным человеком по программе — Product Manager. Оказалось, что я еще должен оправдать доверие и завоевать это место под солнцем.
А я не хочу оправдывать чужие ожидания и завоевывать место под солнцем. Ибо у меня есть свои ожидания и планы и я полагаю, что уже занял свою нишу.
Буду откровенным до конца. Я хотел со своей собственной программой Дом-3D интегрироваться в кампанию Ashlar-Vellum. Моя программа имеет свое собственное ядро и занимает совсем другую нишу (дешевую) на рынке.
А меня хотели использовать как обычного программиста (team lead). А обычных программистов в Киеве тысячи — как собак нерезаных.
Проработав 4 года я ушел из фирмы по собственной инициативе.
Просто не мог работать, конфликтов не было.
P.S.: Если будет интересно, то я продолжу и напишу почему пока я не достиг успеха с программой Дом-3D. Сейчас я работаю на проект 3D-Coat.
Комментарии (34)
werklop
15.10.2018 14:30+2как обычного программиста (team lead)
— кажется, вы что-то путаете, тимлид совсем не обычный программист, это полуменеджер уже, т.е. среднее между программистами и ПМ-омdom3d Автор
15.10.2018 14:47Спасибо за замечание.
Я как раз и был типа тим лидом или руководителем проекта или главным разработчиком продукта для 2-х платформ Win/Mac. Типа, потому что 2 года работал один а до меня на проекте было 10 человек.
dom3d Автор
15.10.2018 17:20Спасибо за отзыв. Тестировщик у нас был (он наверное и сейчас работает) очень хороший. После он даже сам начал собирать сборки для всех платформ и инсталляторы.
Shiny2
15.10.2018 17:20+1Интересное наблюдение, что главный продакт это тестировщик. Но в целом это не так плохо и это наверное мечта любого тестировщика. Для вас он тестировщик а для обычных пользователей с форума по Кобальту это супер адвансед юзер и просто высший свет. Я обращался в своё время в 3D комьюнити и знаю что чтобы знать досконально 3D приложение нужно немногим меньше ума чем знать язык, плюс нужно обладать специфическими скилами 3d шника. А Кобальт наверно один из самых продвинутых 3d пакетов. Продолжайте писать. разработка инструментов это одно из самых благородных програместских занятий.
dom3d Автор
15.10.2018 18:50Спасибо за хороший коммент.
Вы все правильно написали. Программу Кобальт давние пользователи любят и признавались в этом владельцу фирмы со слезами на глазах. Но после того как (до 2007 г.) ушел главный разработчик Team Olson, качество разработки очень сильно упало. А на первых порах даже ушло в минус. Кобальт крашился со страшной силой. После индийских программистов и фрилансеров пришлось долго выискивать баги. И мне в том числе досталось. Но продажи упали до нуля. А Team Olson сделал программу Shark и она развивается.Shiny2
16.10.2018 10:36+1Обьясните, какой смысл вводить в стабильный 3D пакет новые фичи. Я сам был долгое время юзером 3d max, и не мог нарадоваться на стабильную 10 версию. После неё стоило остановиться, но Автодеск всё гнало вперёд свой паравоз и год за годом релизило сырые тормозные версии. Когда всего то нужно довести до идеального состония стабильную версию. Так же интересен какой стек вы используете для написания cad приложений. Как вообще происходит рендер вью порта. Это нечто типа цикла while, который каждый проход вконце отрисовывает стейт приложения на экран или нечто иное? Так же как у вас происходит Undo(Ctrl-Z)? Как реализовано сохранение и чтение файлов. Сколько процессов, на каких языках и зачем запускает приложение во время работы.
dom3d Автор
16.10.2018 12:45В программе Cobalt3D и Дом-3D графический вывод устаревший 20-летней давности OpenGL-1.0.
Команда Undo в виде стека, который сохраняет в оперативной памяти копии объектов или параметры для преобразований. Например, при движении сохраняется матрица.
Некоторые программы сохраняют свой стек на диске.
Все реализовано в одном процессе.
Все написано на языке C++.
В программе Cobalt3D я пробовал организовать мультипоточность (для прорисовке сцены), но ядро ASIC старое и иногда крашилось. А может у меня мало опыта было.
Не понял последнюю фразу — и зачем запускает приложение во время работы.
— По поводу новых фич — это очень хороший вопрос!
Некоторые пользователи просят. Типа вот в SolidWork есть и нам надо.
Получается крысиные гонки. Но самое плохое, когда уходит главный разработчик с железной волей и своим видением будущего.
Мы знаем случаи когда пользователи программы Cobalt3D используют и SolidWork.
dom3d Автор
16.10.2018 12:50Как вообще происходит рендер вью порта. Это нечто типа цикла while.
Нет, обрабатывается цикл сообщение от ОС. При вызове рисуется сцена.
В программе 3D-Coat графика реализована на современном уровне и уже есть многопоточность и использование CUDA.
Я мечтаю о том прекрасном будущем когда графика 3D-Coat будет реализована в программе Дом-3D. И не только графика а весь каркас приложений. Моя будет только геометрия.Shiny2
16.10.2018 13:21А что насчёт геометрии? Используются ли шаблоны(Templates), какой либо обобщённый подход? Какова главная фича вашего геометрического движка?
> Нет, обрабатывается цикл сообщение от ОС. При вызове рисуется сцена.
Это что-то типа таймера? ФПС одинаковый на всех машинах? Либо ос говорит когда карта закончила отрисовывать ОпенЖЛ буфер? Как в этом случае слушаются юзер ивенты, если вы говорите что приложение работает в одном потоке.dom3d Автор
16.10.2018 13:34У программы Дом-3D свое ядро геометрического моделирования.
Библиотека STL используется. Не понял, почему это вас интересует. Или вы их также не любите как я.
Или вы про другие шаблоны.
Какова главная фича геометрического движка?
Наверное, то что я сейчас внедряю в программе 3D-Coat — кинематические поверхности.
Самая главная (любимая) фича еще не написана, но уже стоит в плане разработок.
FadeToBlack
16.10.2018 14:51+1На мой взгляд, графика не есть проблема Дом3д. пользовательский интерфейс — вот где нужно как следует навести порядок
dom3d Автор
16.10.2018 15:59Интерфейс тоже 25-летней давности.
Многое еще позаимствовано от API Motif и программы Unigraphics.FadeToBlack
16.10.2018 19:08Когда мы делали свою программу, мы смотрели на Arcon.
dom3d Автор
16.10.2018 21:27Какую вы делали программу?
Вы об этом где нибудь писали?FadeToBlack
17.10.2018 06:03dom3d Автор
17.10.2018 09:50Вау!
Так мы с Вами полные коллеги!
Я Вас категорически приветствую. Приятно встретить родственную душу.
Улыбаюсь, сейчас посмотрим на продукт Вашего творчества.
Shiny2
16.10.2018 13:43> Библиотека STL используется. Не понял, почему это вас интересует. Или вы их также не любите как я.
Да, я про неё. Поясните, почему не любите STL. Интересно как она себя показывает на подобных проектах с ярым применением математики.dom3d Автор
16.10.2018 14:34Поясните, почему не любите STL.
Это у меня осталось от использования в старой Visual Studio V-6.0
Там были ужасные сообщения от компилятора.
Проблем от ее использования не знаю.
Whuthering
16.10.2018 15:26+1Бизнес, да и вообще, любые деловые отношения взрослых людей, строятся на четких договоренностях. Поэтому не совсем понятно, откуда у вас вообще взялись иллюзии вида «я хотел, а они не хотели».
Если хочется стать менеджером проекта или руководителем разработки, то нужно устраиваться на должность менеджера проекта или руководителя разработки. Или хотя бы устраиваться на то, что предложили, но сразу обсудить возможность ротации позиции в будущем в зависимости от результатов, или хотя бы просто, раз это так важно, еще на этапе заключения контракта узнать, как в компании с карьерно-профессиональными перспективами, от каких факторов они зависят, и какие планы на будущее в целом умеет руководство, и уже в зависимости от всего этого принимать решение, идти туда, или нет.
Если у вас есть какая-то разработка, и вы считаете что возможно взаимовыгодное сотрудничество по этой теме, то это, опять же, обсуждается или сразу на начальном этапе работы, или когда будет подходящий момент.
А так всё со стороны выглядит немного странно, типа «мне никто ничего не обещал, но я надеялся, а в итоге не получилось, ну я обиделся и ушел».dom3d Автор
16.10.2018 15:54Спасибо за комментарий развернутый.
Все правильно написано.
Но, вы не поняли, что я написал, вернее мою главную мысль.
У программы Cobalt-3D нет главного архитектора или менеджера. Это серьезная проблема.
На тему возможного сотрудничества я общался и с исполнительным директором и с владельцем фирмы. Честно говоря, не сильно то и настаивал на своем. Типа вентилировал возможность такового.
pipyakin
Странно, что вы это не понимали надцать лет назад.
dom3d Автор
Я до сих пор очень наивный и верю в чудеса.
Alexufo
и правильно делаете
dom3d Автор
Спасибо за поддержку.
Странно, что статью сильно минусуют.
Я 6 раз прекращал, типа успешную восходящую карьеру.
Получается, что в большинстве случаев работал там где мне нравится.
Alexufo
Это просто. Минусуют потому что жалуетесь и не сохраняете нейтралитет. В правилах хабра не разрешается жаловаться. Проявили слабость и не рассказали ничего трансцендентного про коллег и фирму, а только о своей персоне и мечте. Значит вы не стали волшебником в своем возрасте, а если нет — то не бейте реальностью. Программисты могут испытывать неудачи — но подавать признаки слабости — нет. И текста маловато. Это означает, что вы хотели выговориться, а не поделиться чем-то. Ну народ чует манипуляцию. Не отвечаете ожиданиям, кароч. Но мне нормально. Мне это близко.
dom3d Автор
Спасибо за ценный опыт.
Действительно получилось, что я жалуюсь на судьбу.
А на самом деле у меня сейчас самое счастливое время.
Moskus
На Хабре совершенно нормально делиться собственными впечатлениями и переживаниями, но только при условии, что они — не первое и не единственное, что содержится в статье, а первое — это некая полезная информация, анализ некой ситуации. Есть, конечно, любители «железной непредвзятости и объективности», которые любое проявление эмоций минусуют, но это все же не норма.
А вот сплошное нытьё, еще и про каких-то людей, о которых никто не знает, никого не интересует.
dom3d Автор
Спасибо, мне не хотелось сильно критиковать руководство фирмы за то, что продукт перестали покупать. А когда то Cobalt-3D был новаторской программой и некоторые решения лицензировались такими как AutoCAD.
DaneSoul
Статью минусуют, потому что там очень много неизвестных никому персоналий и не ясной частной ситуации и очень мало некого обобщенного универсального опыта, который можно было бы для себя почерпнуть. То есть по прочтении только крутится мысли «о чем это все? кто все эти люди? и зачем я это все читал?»
Moskus
Не «мало» обобщенного универсального опыта, а вообще нет. Единственный упомянутый факт, который не имеет отношения только к конкретным личным «приключениям» автора — это азбучное определение Product Manager-а, которое и так все знают.
dom3d Автор
Спасибо, все понял.
Я и сам об этом думал после того как уже разместил запись.