Я давно хотел найти себе работу связанную с разработкой CAD программ. Потому, что мне это интересно и потому, что имею большой (20 лет) опыт в этой сфере. И 2010 году осуществилась моя мечта и я получил даже больше чем хотел.

И первое время я просто бился в экстазе. Любимая работа, возможность работы на дому. У меня были грандиозные планы! В самом начале я набросал себе этот план в письменном виде 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)


  1. pipyakin
    14.10.2018 22:18
    +2

    Странно, что вы это не понимали надцать лет назад.


    1. dom3d Автор
      14.10.2018 22:19
      -1

      Я до сих пор очень наивный и верю в чудеса.


      1. Alexufo
        14.10.2018 22:43
        -1

        и правильно делаете


        1. dom3d Автор
          14.10.2018 23:00
          -1

          Спасибо за поддержку.
          Странно, что статью сильно минусуют.
          Я 6 раз прекращал, типа успешную восходящую карьеру.
          Получается, что в большинстве случаев работал там где мне нравится.


          1. Alexufo
            14.10.2018 23:10
            +3

            Это просто. Минусуют потому что жалуетесь и не сохраняете нейтралитет. В правилах хабра не разрешается жаловаться. Проявили слабость и не рассказали ничего трансцендентного про коллег и фирму, а только о своей персоне и мечте. Значит вы не стали волшебником в своем возрасте, а если нет — то не бейте реальностью. Программисты могут испытывать неудачи — но подавать признаки слабости — нет. И текста маловато. Это означает, что вы хотели выговориться, а не поделиться чем-то. Ну народ чует манипуляцию. Не отвечаете ожиданиям, кароч. Но мне нормально. Мне это близко.


            1. dom3d Автор
              14.10.2018 23:19
              +2

              Спасибо за ценный опыт.
              Действительно получилось, что я жалуюсь на судьбу.
              А на самом деле у меня сейчас самое счастливое время.


            1. Moskus
              15.10.2018 07:09

              На Хабре совершенно нормально делиться собственными впечатлениями и переживаниями, но только при условии, что они — не первое и не единственное, что содержится в статье, а первое — это некая полезная информация, анализ некой ситуации. Есть, конечно, любители «железной непредвзятости и объективности», которые любое проявление эмоций минусуют, но это все же не норма.

              А вот сплошное нытьё, еще и про каких-то людей, о которых никто не знает, никого не интересует.


              1. dom3d Автор
                15.10.2018 09:22

                Спасибо, мне не хотелось сильно критиковать руководство фирмы за то, что продукт перестали покупать. А когда то Cobalt-3D был новаторской программой и некоторые решения лицензировались такими как AutoCAD.


          1. DaneSoul
            15.10.2018 01:40
            +4

            Статью минусуют, потому что там очень много неизвестных никому персоналий и не ясной частной ситуации и очень мало некого обобщенного универсального опыта, который можно было бы для себя почерпнуть. То есть по прочтении только крутится мысли «о чем это все? кто все эти люди? и зачем я это все читал?»


            1. Moskus
              15.10.2018 07:05

              Не «мало» обобщенного универсального опыта, а вообще нет. Единственный упомянутый факт, который не имеет отношения только к конкретным личным «приключениям» автора — это азбучное определение Product Manager-а, которое и так все знают.


            1. dom3d Автор
              15.10.2018 09:13

              Спасибо, все понял.
              Я и сам об этом думал после того как уже разместил запись.


  1. werklop
    15.10.2018 14:30
    +2

    как обычного программиста (team lead)
    — кажется, вы что-то путаете, тимлид совсем не обычный программист, это полуменеджер уже, т.е. среднее между программистами и ПМ-ом


    1. dom3d Автор
      15.10.2018 14:47

      Спасибо за замечание.
      Я как раз и был типа тим лидом или руководителем проекта или главным разработчиком продукта для 2-х платформ Win/Mac. Типа, потому что 2 года работал один а до меня на проекте было 10 человек.


  1. dom3d Автор
    15.10.2018 17:20

    Спасибо за отзыв. Тестировщик у нас был (он наверное и сейчас работает) очень хороший. После он даже сам начал собирать сборки для всех платформ и инсталляторы.


  1. Shiny2
    15.10.2018 17:20
    +1

    Интересное наблюдение, что главный продакт это тестировщик. Но в целом это не так плохо и это наверное мечта любого тестировщика. Для вас он тестировщик а для обычных пользователей с форума по Кобальту это супер адвансед юзер и просто высший свет. Я обращался в своё время в 3D комьюнити и знаю что чтобы знать досконально 3D приложение нужно немногим меньше ума чем знать язык, плюс нужно обладать специфическими скилами 3d шника. А Кобальт наверно один из самых продвинутых 3d пакетов. Продолжайте писать. разработка инструментов это одно из самых благородных програместских занятий.


    1. dom3d Автор
      15.10.2018 18:50

      Спасибо за хороший коммент.
      Вы все правильно написали. Программу Кобальт давние пользователи любят и признавались в этом владельцу фирмы со слезами на глазах. Но после того как (до 2007 г.) ушел главный разработчик Team Olson, качество разработки очень сильно упало. А на первых порах даже ушло в минус. Кобальт крашился со страшной силой. После индийских программистов и фрилансеров пришлось долго выискивать баги. И мне в том числе досталось. Но продажи упали до нуля. А Team Olson сделал программу Shark и она развивается.


      1. Shiny2
        16.10.2018 10:36
        +1

        Обьясните, какой смысл вводить в стабильный 3D пакет новые фичи. Я сам был долгое время юзером 3d max, и не мог нарадоваться на стабильную 10 версию. После неё стоило остановиться, но Автодеск всё гнало вперёд свой паравоз и год за годом релизило сырые тормозные версии. Когда всего то нужно довести до идеального состония стабильную версию. Так же интересен какой стек вы используете для написания cad приложений. Как вообще происходит рендер вью порта. Это нечто типа цикла while, который каждый проход вконце отрисовывает стейт приложения на экран или нечто иное? Так же как у вас происходит Undo(Ctrl-Z)? Как реализовано сохранение и чтение файлов. Сколько процессов, на каких языках и зачем запускает приложение во время работы.


        1. dom3d Автор
          16.10.2018 12:45

          В программе Cobalt3D и Дом-3D графический вывод устаревший 20-летней давности OpenGL-1.0.
          Команда Undo в виде стека, который сохраняет в оперативной памяти копии объектов или параметры для преобразований. Например, при движении сохраняется матрица.
          Некоторые программы сохраняют свой стек на диске.
          Все реализовано в одном процессе.
          Все написано на языке C++.

          В программе Cobalt3D я пробовал организовать мультипоточность (для прорисовке сцены), но ядро ASIC старое и иногда крашилось. А может у меня мало опыта было.

          Не понял последнюю фразу — и зачем запускает приложение во время работы.

          — По поводу новых фич — это очень хороший вопрос!
          Некоторые пользователи просят. Типа вот в SolidWork есть и нам надо.
          Получается крысиные гонки. Но самое плохое, когда уходит главный разработчик с железной волей и своим видением будущего.
          Мы знаем случаи когда пользователи программы Cobalt3D используют и SolidWork.


        1. dom3d Автор
          16.10.2018 12:50

          Как вообще происходит рендер вью порта. Это нечто типа цикла while.
          Нет, обрабатывается цикл сообщение от ОС. При вызове рисуется сцена.

          В программе 3D-Coat графика реализована на современном уровне и уже есть многопоточность и использование CUDA.

          Я мечтаю о том прекрасном будущем когда графика 3D-Coat будет реализована в программе Дом-3D. И не только графика а весь каркас приложений. Моя будет только геометрия.


          1. Shiny2
            16.10.2018 13:21

            А что насчёт геометрии? Используются ли шаблоны(Templates), какой либо обобщённый подход? Какова главная фича вашего геометрического движка?
            > Нет, обрабатывается цикл сообщение от ОС. При вызове рисуется сцена.
            Это что-то типа таймера? ФПС одинаковый на всех машинах? Либо ос говорит когда карта закончила отрисовывать ОпенЖЛ буфер? Как в этом случае слушаются юзер ивенты, если вы говорите что приложение работает в одном потоке.


            1. dom3d Автор
              16.10.2018 13:34

              У программы Дом-3D свое ядро геометрического моделирования.
              Библиотека STL используется. Не понял, почему это вас интересует. Или вы их также не любите как я.
              Или вы про другие шаблоны.
              Какова главная фича геометрического движка?
              Наверное, то что я сейчас внедряю в программе 3D-Coat — кинематические поверхности.
              Самая главная (любимая) фича еще не написана, но уже стоит в плане разработок.


              1. Shiny2
                16.10.2018 13:44

                В чём отличие от NURBS?


                1. dom3d Автор
                  16.10.2018 14:36

                  NURBS — это более продвинутый тип поверхности.
                  Но, у меня нет библиотеки для ее использования.
                  У меня используется кубический сплайн, кривая 2-го порядка и Безье.


          1. FadeToBlack
            16.10.2018 14:51
            +1

            На мой взгляд, графика не есть проблема Дом3д. пользовательский интерфейс — вот где нужно как следует навести порядок


            1. dom3d Автор
              16.10.2018 15:59

              Интерфейс тоже 25-летней давности.
              Многое еще позаимствовано от API Motif и программы Unigraphics.


              1. FadeToBlack
                16.10.2018 19:08

                Когда мы делали свою программу, мы смотрели на Arcon.


                1. dom3d Автор
                  16.10.2018 21:27

                  Какую вы делали программу?
                  Вы об этом где нибудь писали?


                  1. FadeToBlack
                    17.10.2018 06:03

                    1. dom3d Автор
                      17.10.2018 09:50

                      Вау!
                      Так мы с Вами полные коллеги!
                      Я Вас категорически приветствую. Приятно встретить родственную душу.
                      Улыбаюсь, сейчас посмотрим на продукт Вашего творчества.


                      1. FadeToBlack
                        17.10.2018 10:48

                        так я Вам так в личку и написал )


  1. Shiny2
    16.10.2018 13:43

    > Библиотека STL используется. Не понял, почему это вас интересует. Или вы их также не любите как я.
    Да, я про неё. Поясните, почему не любите STL. Интересно как она себя показывает на подобных проектах с ярым применением математики.


    1. dom3d Автор
      16.10.2018 14:34

      Поясните, почему не любите STL.
      Это у меня осталось от использования в старой Visual Studio V-6.0
      Там были ужасные сообщения от компилятора.
      Проблем от ее использования не знаю.


  1. Whuthering
    16.10.2018 15:26
    +1

    Бизнес, да и вообще, любые деловые отношения взрослых людей, строятся на четких договоренностях. Поэтому не совсем понятно, откуда у вас вообще взялись иллюзии вида «я хотел, а они не хотели».
    Если хочется стать менеджером проекта или руководителем разработки, то нужно устраиваться на должность менеджера проекта или руководителя разработки. Или хотя бы устраиваться на то, что предложили, но сразу обсудить возможность ротации позиции в будущем в зависимости от результатов, или хотя бы просто, раз это так важно, еще на этапе заключения контракта узнать, как в компании с карьерно-профессиональными перспективами, от каких факторов они зависят, и какие планы на будущее в целом умеет руководство, и уже в зависимости от всего этого принимать решение, идти туда, или нет.
    Если у вас есть какая-то разработка, и вы считаете что возможно взаимовыгодное сотрудничество по этой теме, то это, опять же, обсуждается или сразу на начальном этапе работы, или когда будет подходящий момент.
    А так всё со стороны выглядит немного странно, типа «мне никто ничего не обещал, но я надеялся, а в итоге не получилось, ну я обиделся и ушел».


    1. dom3d Автор
      16.10.2018 15:54

      Спасибо за комментарий развернутый.
      Все правильно написано.
      Но, вы не поняли, что я написал, вернее мою главную мысль.
      У программы Cobalt-3D нет главного архитектора или менеджера. Это серьезная проблема.

      На тему возможного сотрудничества я общался и с исполнительным директором и с владельцем фирмы. Честно говоря, не сильно то и настаивал на своем. Типа вентилировал возможность такового.