Я уже говорил, что в средих и более компаниях в северной Америке программисты ничего не решают. Они превращены в простых исполнителей, с которыми даже редко советуются. Исполнители проекта редко общаются друг с другом и все общение идет через менеджеров проектов, которые превращаются в передастов.
Я не общаюсь и с Web программистами. Я кстати Application Developer и разрабатываю код и библиотеки, которые пишутся в cs файлы. Все, что должно писаться в виде HTML кода и JavaScript в нашей компании пишут Web программисты, кроме проекта над котором работаю я. В нашем проекте программисты пишут все и обращаются к Web программерам только в случае крайней необходимости. Когда же приходится поработать некоторое время над другими проектами, то мне приносят готовый HTML код от Web программиста и я дописываю для него только C# код.
Все общение между программистом C#, веб программистом и дизайнером всегда идет через менеджера проекта, который должен подтверждать наши действия. Ведь каждое наше действие – это трата времени, которое стоит денег. Если нужно добавить какую-то кнопку, то я должен направить запрос менеджеру проектов, а тот уже направляет задание Web программисту. Если бюджета не хватает на то, чтобы рисовать новую кнопку, то он просто отпихивает мой запрос и говорит – используй тупую ссылку.
Основная задача менеджера проектов – следить за тем, чтобы проекты были выполнены в срок и без превышения бюджета. Но помимо этого они еще и становятся прослойкой между программистом и клиентом. Я никогда не общаюсь с клиентами напрямую, поэтому со своим кривым английским работаю над сайтом компании с миллиардными оборотами. Я общался с представителями клиента только на пьянках, когда они приезжали к нас из США и мы сидели в ресторанах. По работе все идет через менеджера.
Когда менеджер проектов хороший, то с ними работать приятно, и они реально помогают. Мне повезло и у нас в компании менеджеры прекрасно понимают, что они в программировании полные идиоты и постоянно консультируются с нами. Хуже, когда попадается выпендрежник, который ничего не знает, но выпендривается. Вот увидел он где-то на сайте фишку и начинает ее тупо тулить в проект, да еще и требует, чтобы она была выполнена за 3 часа и не превысила бюджет.
Лично я согласен с тем, что программисты не должны ничего решать в своих проектах. Оно им и не нужно. Если кто-то считает себя богом и именно он должен решать все, то с такими замахами будут проблемы при работе в команде. Менеджер проекта отвечает за успех проекта и программисту брать на себя эту ответственность на фиг не нужно. Когда программист работает один, то он отвечает за все, но когда над проектом работает команда, то программист должен отвечать за свой код, а не следить за всем проектом. Пусть за проектам следят менеджеры.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Почти, что конвеер получается, где каждый занят своим делом. Но все равно наверно возникают ситуации когда хочется перетереть с веб-программистом напрямую, без посредников.
А как насчет бюрократии? Есть у вас такое? Думаю чем длиннее цепочка между заказчиком и исполнителем тем больше волокиты при принятии решений.
Отличный пост. Читал с удовольствием.
Идейка на будущее
В свободное время читаю твою книжку по PHP. Так как я пока только изучаю веб-программирование, то мне, например,хотелось бы увидеть в книжках следующие темы:
1. язык PHP, естественно (с самых основ);
2. в мельчайших подробностях описанный реально работающий сайт (от проектирования до разработки) со всеми функциями (cms, новостной блок, гостевая книга, rss, система регистраций и т.д.) или несколько сайтов, но разного направления.
3. выбор хостинга (нюансы), резервное копирование сайта;
4. инструменты и программы для веб-разработчиков;
5. работа в команде, работа программером за бугром;
и т.д. и т.п.
Такую книгу я бы купил не задумываясь...
Интересный пост.
Единственное прошу пояснить как добавление кнопки может так серьезно влиять на бюджет?
В Web проектах кнопки часто приходится рисовать, а тут без дизайнера никуда. Плюс кнопка же должна что-то делать, а не просто висеть, поэтому написание логики зависит от сложности действия. А раз есть кнопка, нужно и тестирование. Вот так и разбухает бюджет
Как раз придётся завтра рисовать эту пресловутую кнопку в Photoshop'е самому. Кстати у меня на работе и вёрстку и разработку функционала мы делаем сами.Порой приходится также делать дизайнерские прибабахи, но на бюджете это никак не сказывается :) Кстати,Михаил, есть такой вопрос.В нашей фирме задание каждому раздаётся через электронную систему тасков, программер жмёт кнопку "Старт" и работа пошла, выполнил задача жмёшь "Выполнил". Таким образом менеджер следит кто когда и чем занят, и у кого на что сколько времени ушло. А у вас в компании как есть нечто подобное?
У нас хуже. У нас пришел к тебе тикет с заданием, ты нажимаешь кнопку "Пошел работать". Закончил рисовать кнопку, делать логику и пулять на сервер, нажимаешь "готово". Время, которое ты потратил на работу списывается на проект умноженный на нормочас. В штатах нормочас идет от 100 до 200 долларов и если ты рисовал кнопку, прописывал код, закидывал в репозиторий и пил чай в течении часа, то проект тут же дорожает на 100-200 баксов. Вот так бюджет проекта и исчезает.
Если система тасков считает работу, но не считает стоимость того, чем вы занимались, то можете удалить ее с диска, толку от нее ноль. Или сами умножайте часы на бабки.
А по завершении проекта менеджер смотрим - осталась ли компания в прибыли или все деньги ушли на рисование кнопок.
Интересно, а очень крупные компании типа Blizzard, наверняка используют похожие технологии в разработке, при этом проекты у них могут не выходить годами - там неограниченные бюджеты? Как ты считаешь?
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.