Написал небольшое эссе о своей работе, не знаю в юмор или «О работе». Многое из написанного у самого вызывает улыбку, хотя это правда (субъективная конечно).
Захотелось узнать, что же программист должен делать на работе и что ему в итоге приходится делать. Тема наболевшая (для меня), т.к. все же считаю, что программист должен программировать.
Вначале ситуация. Занимаюсь разработкой программных продуктов. Это основная деятельность… по крайней мере мне так хочется думать. ? Конторка небольшая. Программистов двое ?. Но на самом деле:
• Анализ объектов автоматизации на стороне заказчика;
• Написание технического задания
• Общение с представителями одного заказчика, которые и сами понимают, что не понимают, что они хотят ?
• Проектирование архитектуры приложения;
• Разработка пользовательского интерфейса (даже логотип фирмы пришлось в фотошопе разработать, который на визитках и буклетах присутсвует, но это не оплачивалось).
• Контроль качества кода;
• Иногда написание инструкции пользователя и технорабочего проекта;
• Выбор инструментария разработки;
• Разработка новых программных продуктов;
• Постоянные (параллельные) доработки в других программах, что конечно отвлекает от новой разработки;
• настройка и поддержание почтового сервера и брендмауэра (хотя думаю это дело системных администраторов);
• премии, о которых много говорится, но которых не видели, оказывается зависят от сдачи проекта, причем оказывается программист должен презентовать заказчику программу и обеспечить ее сдачу и в случае если программист «пропихнёт программу», то премия будет, хотя я думаю это дело менеджера.
• Консультации/общение с заказчиками;
Все это усугубляется тем, что директор давно уже не программист (писал в DOS на FoxPro и поэтому до сих пор считает себя программистом), и у него любая задача, выполняемая программистом «это просто» и «должна быть сделана вчера», причем не особо интересует, что разработчик, по его же распоряжению отвлекается на другую задачу. Т.е. объяснить ему, что задача будет решаться 3 дня, а не 5 мин. дело невозможное. Для примера, он не понимает почему при запросе на СУБД 5 записей возвращаются дольше, чем 200 (естественно разные ХП вызываются). ? Мотивация обычно заключается в долгом и нудном рассказе о бизнесе и как это важно для фирмы. С фразами «кто, если не ты?», «чем ты то можешь обяснить?», «Как так?» и т.д.. В целом много забавного происходит, но и раздражает так же… вот поэтому и хочу узнать у общественности — нормальная/обычная ситуация? И как ее можно исправить? ? Сменой работы?!
Ну это типично для маленьких контор или небольших IT отделов в не IT компании. Так, что меняй работу... И главное в резюме отрази свой "дополнительный" опыт.
PS А зп ниже рынка? Может в будущем твоя контора разрастется, а ты там будешь уже не просто программистом. Хотя с таким директором ...
Re[2]: Чем должен заниматься программист на работе?
Я тоже так думаю, т.е., что эти типично для небольших контор. Задал себе вопрос, про карьеру... нда надо менять... наверное уже давно надо менять было...
Частный случай:
Вот сейчас долго рассказывал про бизнес, что нужно ему встретится с каким-то крутым директором
и надо сделать программу для демонстрации сегодня, хотя в планах было к вечеру завтра.
И склоняли к выбору решения — отменить ли ему встречу или он на словах будет рассказывать и, что мы работаь не хотим и т.д. Во время "беседы" смешно было неоднократно. Ну емое, сказал бы "Ребята, ну дано сделать! Ну понимаю, что работать придется больше, ну я доплачу там $$$! Сделаете?!". Все! А так про бизнес и про бизнес....
BB>Здравствуйте, danshar, Вы писали:
D>>[Вы писалиВы писалиВы писалиВы писалиВы писалиВы писалиВы писали]
BB>Ну это типично для маленьких контор или небольших IT отделов в не IT компании. Так, что меняй работу... И главное в резюме отрази свой "дополнительный" опыт.
BB>PS А зп ниже рынка? Может в будущем твоя контора разрастется, а ты там будешь уже не просто программистом. Хотя с таким директором ...
Судя по количеству подобных историй на тему "Брали программистом, а работать приходится программистом-эникейщиком", ситуация довольно типичная. При поиске работы, имеет смысл, например, на собеседовании пообщаться с аналитиком, архитектором, техническим писателем и т.д., которые работают в той команде (с той командой), где планируется работать. И если таковых не оказывается — делать соответствующие выводы ("Кто, если не ты?"). А если таковые имеются, но Вы понимаете, что Ваши навыки в этом вопросе выше, чем их — тоже делать определенные выводы (это еще вопрос, что хуже — отсутствие, например, системного администратора или его наличие, но "лучше бы не было").
Здравствуйте, danshar, Вы писали:
D>Написал небольшое эссе о своей работе, не знаю в юмор или «О работе». Многое из написанного у самого вызывает улыбку, хотя это правда (субъективная конечно). D>Захотелось узнать, что же программист должен делать на работе и что ему в итоге приходится делать. Тема наболевшая (для меня), т.к. все же считаю, что программист должен программировать. D>Вначале ситуация. Занимаюсь разработкой программных продуктов. Это основная деятельность… по крайней мере мне так хочется думать. ? Конторка небольшая. Программистов двое ?.
Нормальная ситуация для маленькой конторки. Лечится уходом в большую — там будут свои заморочки.
Полезно поработать и там, и там, а потом можно открывать свою фирму.
Re[2]: Чем должен заниматься программист на работе?
Здравствуйте, Maxim Golov, Вы писали:
MG>Здравствуйте, danshar, Вы писали:
D>>Написал небольшое эссе о своей работе, не знаю в юмор или «О работе». Многое из написанного у самого вызывает улыбку, хотя это правда (субъективная конечно). D>>Захотелось узнать, что же программист должен делать на работе и что ему в итоге приходится делать. Тема наболевшая (для меня), т.к. все же считаю, что программист должен программировать. D>>Вначале ситуация. Занимаюсь разработкой программных продуктов. Это основная деятельность… по крайней мере мне так хочется думать. ? Конторка небольшая. Программистов двое ?.
MG>Нормальная ситуация для маленькой конторки. Лечится уходом в большую — там будут свои заморочки.
MG>Полезно поработать и там, и там, а потом можно открывать свою фирму.
Свою — это очень хорошо! А какие заморочки в большой?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[3]: Чем должен заниматься программист на работе?
Здравствуйте, danshar, Вы писали:
MG>>Нормальная ситуация для маленькой конторки. Лечится уходом в большую — там будут свои заморочки. MG>>Полезно поработать и там, и там, а потом можно открывать свою фирму.
D>Свою — это очень хорошо! А какие заморочки в большой?
В большой — обычно узкая специализация. Если раньше ты мог напрямую общаться с заказчиками и пользователями, то в большой между конечным пользователем и конечным программистом находится толстый-толстый слой посредников, который работает как испорченный телефон. Поэтому если в малой конторе ты худо-бедно но мог решать "правильную" проблему, то в большой — шансов на это гораздо меньше (по крайней мере это будет зависить уже не от тебя). Кроме того меньше свободы в выборе технических решений: над программистом сидит архитектор, над которым более главный архитектор, над которым еще более главнее и в конце концов самый главный архитектор, который "писал в DOS на FoxPro и поэтому до сих пор считает себя программистом".
Здравствуйте, dshe, Вы писали:
D>В большой — обычно узкая специализация. Если раньше ты мог напрямую общаться с заказчиками и пользователями, то в большой между конечным пользователем и конечным программистом находится толстый-толстый слой посредников, который работает как испорченный телефон. Поэтому если в малой конторе ты худо-бедно но мог решать "правильную" проблему, то в большой — шансов на это гораздо меньше (по крайней мере это будет зависить уже не от тебя). Кроме того меньше свободы в выборе технических решений: над программистом сидит архитектор, над которым более главный архитектор, над которым еще более главнее и в конце концов самый главный архитектор, который "писал в DOS на FoxPro и поэтому до сих пор считает себя программистом".
Нда! Видишь ли, а в конечном случае ведь этот "главный" архитектор и будет не прав, если заказчик не захочет продолжить сотрудничество?! Или свалят на конечных исполнителей? Ведь "по бумагам" можно будет увидеть, что именно аналитики и/или архитекторы были не правы?! В моем случае и пользовательский интерфейс сам проектируешь, а отом "ты же понимаешь? пользователь по другому видит".. а как он видит никто не знает...
Напрягает, то, что как бы не упирался — все равно хотят большего
Re[5]: Чем должен заниматься программист на работе?
D>Нда! Видишь ли, а в конечном случае ведь этот "главный" архитектор и будет не прав, если заказчик не захочет продолжить сотрудничество?! Или свалят на конечных исполнителей? Ведь "по бумагам" можно будет увидеть, что именно аналитики и/или архитекторы были не правы?! В моем случае и пользовательский интерфейс сам проектируешь, а отом "ты же понимаешь? пользователь по другому видит".. а как он видит никто не знает...
"Свалят на исполнителей" всё реже и реже прокатывает. Видишь ли, бизнесу совершенно неинтересно, главный ли архитектор ошибся, или "не главный". Владелец компании, если он не дурак, разберется в проблеме и уволит именно того, кого надо было уволить. Если он "промахнется", да еще несколько раз подряд, фирма развалится, так что, даже хорошо, если из нее уволят раньше, чем она пойдет ко дну.
Отсюда, делаем вывод. Если "главные архитекторы" все дураки и кроме DOS/FoxPro ничего не знают, то... их уволят. Если их не увольняют, значит, похоже, вовсе не в них загвоздка.
В больших компаниях далеко не в этом проблема.
А в том, что там всё решает политика. Подковёрные игры, "административные решения", слухи... все, как в большом государстве. Причем, если фирма российская, то тут еще хуже, ведь правила игры у нас не определены и каждый как хочет, так и...
Большинству программистов заниматься мерзкой политикой противно. Не лежит к этому душа. Вот в этом и есть проблема больших контор.
А поработать хотя бы в одной большой конторе обязательно нужно. Чтобы просто понять — в мире людей рулит политика. И именно за политику платят деньги.
Честно говоря, не знал, что можно по другому Разве бывает так, что "разработчик" всегда выполняет только 1 функцию — "писать код", а остальное все разпределено по каким-то другим абстрактным людям? Я думаю, это сферический конь в вакууме не больше не меньше. Реально все обстоит обычно как ты и написал, у меня, например, еще больше обязанностей, вот неполный список
1) Собственно писать код проекта
2) Deployment всего что можно и не можно на stage и production сервера
3) Тестирование всего что можно на dev, stage, production
4) Общаться с заказщиком, выяснять ТЗ, сроки, баги, изменения, просто его развлекать и т.п.
5) Писать ТЗ, если его нет (english)
6) Писать пользовательскую документацию по тому, что уже сделанно, но небыло ТЗ (все делалось по логам MSN, например). Доки все на английском.
7) Искать в сети бесплатные и платные контролы, компоненты, инструменты для реализации очередных "гениальных идей" заказщика, тестить их, писать сравнительные отчеты, тестовые приложения.
8) Придумывать и раздавать таски команде
9) Писать отчеты по сделанным таскам и исправлениям
10) Ставить и настраивать весь рабочий софт на нескольких компах: своем и нескольких машинах заказщиков
11) Проводить рефакторинг кода
12) Писать code review членов команды и вообще проекта
13) Проводить оптимизацию (производительность) созданных приложений и сайтов
14) Изучать новые технологии, инструменты, писать тестовые приложения
15) Иногда — ковыряться в контенте ЦМС, делая работу Content writer'а.
список можно продолжать еще больше... Главное, чтобы оплату не задерживали, ИМХО, а насчет обязанностей — что сказали то и делаешь.
Re[2]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали:
D>Честно говоря, не знал, что можно по другому Разве бывает так, что "разработчик" всегда выполняет только 1 функцию — "писать код", а остальное все разпределено по каким-то другим абстрактным людям? Я думаю, это сферический конь в вакууме не больше не меньше. Реально все обстоит обычно как ты и написал
+1.
Мечта быть "чистым программистом" — утопия. Да даже если и есть фирмы, предлагающие такую работу — я лично бы обходил такое за километр. Ибо для меня это — деградация в кодера, оторванного от реалий жизни... в того самого сферического коня...
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Re[2]: Чем должен заниматься программист на работе?
А человек, который минус поставил высказаться не желает ? Или он и есть тот самый сферический конь — идеальный програмист, который только пишет код целый день и все?
Re[3]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали: D>А человек, который минус поставил высказаться не желает ? Или он и есть тот самый сферический конь — идеальный програмист, который только пишет код целый день и все?
Выскажусь, коль желаешь
D>1) Собственно писать код проекта D>7) Искать в сети бесплатные и платные контролы, компоненты, инструменты для реализации очередных "гениальных идей" заказщика, тестить их, писать сравнительные отчеты, тестовые приложения. D>9) Писать отчеты по сделанным таскам и исправлениям D>11) Проводить рефакторинг кода D>13) Проводить оптимизацию (производительность) созданных приложений и сайтов D>14) Изучать новые технологии, инструменты, писать тестовые приложения
По этим пунктам согласен на 100% D>12) Писать code review членов команды и вообще проекта
Что значит "вообще проекта"? Но с большего согласен D>8) Придумывать и раздавать таски команде
Team Lead, PM — согласен, но речь в топике идет про "простого" программиста? D>2) Deployment всего что можно и не можно на stage и production сервера D>10) Ставить и настраивать весь рабочий софт на нескольких компах: своем и нескольких машинах заказщиков
Достаточно часто нет специально выделенного человека для этих нужд, так что скорее согласен. Хотя если развертывание системы весьма сложно и клиентов не 1-2, то, на мой взгляд, лучьше иметь отлеьного человека для этого. D>3) Тестирование всего что можно на dev, stage, production
Если это нормальное функциональное тестирование, то отдельный тестер должен быть. D>4) Общаться с заказщиком, выяснять ТЗ, сроки, баги, изменения, просто его развлекать и т.п.
Отдельный человек, который имеет понятие о бизнесе, для которого пишеться приложение. D>5) Писать ТЗ, если его нет (english) D>6) Писать пользовательскую документацию по тому, что уже сделанно, но небыло ТЗ (все делалось по логам MSN, например). Доки все на английском.
Лучьше чтобы это делал человек, который общался(п.4), но в конкретном случае — это ты так что все совпадает D>15) Иногда — ковыряться в контенте ЦМС, делая работу Content writer'а.
То что именно тебя нагружали — это не значит, что так хотя бы у 90% программистов
Можно я сделаю предположение? Ты работаешь, скорее всего, в фирме не IT направления и у тебя в подчинении 2-3 разработчика, а проект небольшая система для внутренних нужд?
... << RSDN@Home 1.2.0 alpha rev. 772>>
Re[4]: Чем должен заниматься программист на работе?
D>>12) Писать code review членов команды и вообще проекта D>Что значит "вообще проекта"? Но с большего согласен
это значит — моя команда не единственная, кто пишет код, есть еще америкосы. Они пишут так, что не хочется даже файл открывать, но это тоже одна из моих обязаннотей — смотреть на их код иногда, искать "плохо пахнущие" места, хотя я бы сравнил это (в тернимах "пахнущего кода)" с затяжным нырянием в деревенский туалет без биозащиты...
D>>8) Придумывать и раздавать таски команде D>Team Lead, PM — согласен, но речь в топике идет про "простого" программиста?
ну я тим-лид по сути, но в принципе оффициально — "разработчик".. Developer точнее.
D>>2) Deployment всего что можно и не можно на stage и production сервера D>>10) Ставить и настраивать весь рабочий софт на нескольких компах: своем и нескольких машинах заказщиков D>Достаточно часто нет специально выделенного человека для этих нужд, так что скорее согласен. Хотя если развертывание системы весьма сложно и клиентов не 1-2, то, на мой взгляд, лучьше иметь отлеьного человека для этого.
развертывание достаточно сложно — всего больше 10 немаленьких сайтов ну и dll куча проектов и еще всякое консольное.. А насчет нанять человека — ну по идее этим должен заниматься асмерикос — ПМ наш, но ему лениво. А остальные не умеют ни 2) ни 10). Или не хотят. Для дева есть Nant скрипты (я написал, когда понял, что руками это пол-дня развертывать). Но на другие сервера автоматизировать не удалось.
D>>3) Тестирование всего что можно на dev, stage, production D>Если это нормальное функциональное тестирование, то отдельный тестер должен быть.
Нет, тестирование не нормированное, без системы, но т.к. другого нет, то лучше я потестю, чем на продакшен зальется ошибка.
D>>4) Общаться с заказщиком, выяснять ТЗ, сроки, баги, изменения, просто его развлекать и т.п. D>Отдельный человек, который имеет понятие о бизнесе, для которого пишеться приложение.
О да Бугога... Тот для кого пишется приложение не может сформулировать и 15 слов внятно, обычная история. Ну а мне как тиму надо общаться с ПМом — иначе просто команда не будет знать, что делать. Так что без этого нельзя.
D>>5) Писать ТЗ, если его нет (english) D>>6) Писать пользовательскую документацию по тому, что уже сделанно, но небыло ТЗ (все делалось по логам MSN, например). Доки все на английском. D>Лучьше чтобы это делал человек, который общался(п.4), но в конкретном случае — это ты так что все совпадает
Конечно. Хотя 5) мог бы и америкос сделать, но лениво, опять же. 6) — кроме нас это никто не сможет сделать просто-напросто.
D>>15) Иногда — ковыряться в контенте ЦМС, делая работу Content writer'а. D>То что именно тебя нагружали — это не значит, что так хотя бы у 90% программистов
ну в предыдущей моей конторе было почти так же, так что — не знаю, не знаю...
D>Можно я сделаю предположение? Ты работаешь, скорее всего, в фирме не IT направления и у тебя в подчинении 2-3 разработчика, а проект небольшая система для внутренних нужд?
Проект — большой коммерческий торговый портал со сложной админкой и кучей наворотов, фирма — IT что ни на есть, насчет команды — в точку.
Re[5]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали: D>>Team Lead, PM — согласен, но речь в топике идет про "простого" программиста? D>ну я тим-лид по сути, но в принципе оффициально — "разработчик".. Developer точнее.
Часто программистами называют anykey'щиков, но от этого программистами они же не становятся . Я свои замечания исходя из того что программист — это именно рядовой разработчик.
На мой взгляд, ты все-в-одном(программист, TL, тестер, техписатель и еще). Обычно такое происходит на небольших(или вялотекущих) проектах или для экономии средств
Здравствуйте, danshar, Вы писали:
D>В целом много забавного происходит, но и раздражает так же… вот поэтому и хочу узнать у общественности — нормальная/обычная ситуация? И как ее можно исправить? ? Сменой работы?!
Это типичная ситуация для случаев когда руководитель плохо разбирается в программировании и совершенно не умеет управлять проектами в софтверной области.
Человек попросту пытается управлять тобой как получается, плохо при этом представляя зачем он это все делает, его цель нагрузить тебе какойнить фигни чтобы ты не задавал неудобных вопросов, а там ты сам уж какнибудь разберешься и сделаешь чтото такое что нужно. Часто такие люди любят такую тактику, как рассказывать какуюто ахинею до тех пор пока у слушателя крыша не начнет ехать и он не начнет сердится и пытаться объяснить что к чему, он будет спорить, но на самом деле мотать на ус, т.е. узнавать таким своеобразным образом что к чему. Прямо спросить, видимо гордость не позволяет
Общаться с такими людьми вредно для психики
По сути работа с таким руководителем заключается в том что все будешь делать ты, а все бонусы будет получать он, тебе же наоборот будут доставаться все шишки, которые такой человек умело переложит на тебя
Мой совет — иди в нормальную софтверную компанию...
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[6]: Чем должен заниматься программист на работе?
Здравствуйте, Dziman, Вы писали:
D>Часто программистами называют anykey'щиков, но от этого программистами они же не становятся . Я свои замечания исходя из того что программист — это именно рядовой разработчик. D>На мой взгляд, ты все-в-одном(программист, TL, тестер, техписатель и еще). Обычно такое происходит на небольших(или вялотекущих) проектах или для экономии средств
Ну, проект-то большой и невялотекущий. Тут наверняка из-за экономии средств все... Но мне з\п платят исправно, а большее меня не касается Судя по тому, что заказщики довольны, такой расклад их устраивает (по крайней мере, пока что). В принципе я даже не знаю, что лучше — все время только кодить по строгой спецификации или же заниматься каждый день чем-то новым. Кодинг задалбывает, честно говоря.
Re[2]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали:
D>1) Собственно писать код проекта
Согласен.
D>2) Deployment всего что можно и не можно на stage и production сервера
Не согласен. Это зависит от вида создаваемого софта.
D>3) Тестирование всего что можно на dev, stage, production
По большей части тестеры должны этим заниматься.
D>4) Общаться с заказщиком, выяснять ТЗ, сроки, баги, изменения, просто его развлекать и т.п.
При производстве коробочного (а не заказного) софта с кастомерами имеют дело аналитики, product mangement, FAEы (field application engineer-ы) и архитекторы (хотя они не всегда). Потребности кастомеров так же выявляются путем анализа их enhancement request-ов и на таких мероприятиях, как user group conference.
D>5) Писать ТЗ, если его нет (english)
Зависит от ситуации и используемой методологии разработки.
D>6) Писать пользовательскую документацию по тому, что уже сделанно, но небыло ТЗ (все делалось по логам MSN, например). Доки все на английском.
Технические писатели должны писать документацию. Девелоперы и архитекторы оказывают помощь в виде консультаций.
D>7) Искать в сети бесплатные и платные контролы, компоненты, инструменты для реализации очередных "гениальных идей" заказщика, тестить их, писать сравнительные отчеты, тестовые приложения.
Это должно быть некоторым образом регламентировано ибо все сторонние продукта надо проверять на то, какая у них лицензия и можно ли их использовать в коммерческих целях.
D>8) Придумывать и раздавать таски команде
Обычно это делает PM или team leader.
D>9) Писать отчеты по сделанным таскам и исправлениям
Зависит от организации процесса работы. Написание отчетов не должно занимать больше времени, чем собственно имплементация таска.
D>10) Ставить и настраивать весь рабочий софт на нескольких компах: своем и нескольких машинах заказщиков
Зависит от типа производимого софта. В нормальных случаях это задача tech support-а.
D>11) Проводить рефакторинг кода
Угу, согласен, если рефакторинг одобрен.
D>12) Писать code review членов команды и вообще проекта
Зависит от размера проекта. Миллионы строк кода не всегда проревьювишь в одиночку Ревьювить код должны senior-ы и архитекторы.
D>13) Проводить оптимизацию (производительность) созданных приложений и сайтов
Если это необходимо. Самовольно затеянная оптимизация кода посреди проекта ни к чему хорошему не приведет.
Душа обязана трудиться! (с) Н.Заболоцкий.
Re[6]: Чем должен заниматься программист на работе?
Здравствуйте, Dziman, Вы писали:
D>На мой взгляд, ты все-в-одном(программист, TL, тестер, техписатель и еще). Обычно такое происходит на небольших(или вялотекущих) проектах или для экономии средств
Такой "мастер на все руки" — обычная практика в небольших фирмах. И дела у этих самых фирм идут прекрасно, и проекты бьют фонтаном. Ибо иначе у маленькой фирмы просто быть не может — тогда она просто сдохнет. А "вялотекучесть" — это в основном удел больших компаний, с их "чистыми", "настоящими" программистами.
Я сам работал последние годы в небольшой фирме, сейчас вот перешел тоже в небольшую, и моя следующая будет тоже небольшая. У меня достаточно знакомых, работающих на "гигантов", и после их рассказов я понимаю — моей ноги там в жизни не будет. Маленькие фирмы рулят не по-деццки
Все вышеизложенное относилось к Германии, хотя, думаю, в софтовой сфере в России ситуация ненамного отличается.
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Re[4]: Чем должен заниматься программист на работе?
Здравствуйте, dshe, Вы писали:
D>В большой — обычно узкая специализация. Если раньше ты мог напрямую общаться с заказчиками и пользователями, то в большой между конечным пользователем и конечным программистом находится толстый-толстый слой посредников, который работает как испорченный телефон.
У большой конторы как правило и заказчиков много, и тебе не нужно вникать в потребности конкретного заказчика, просто потому что это невыгодно.
D>Кроме того меньше свободы в выборе технических решений: над программистом сидит архитектор, над которым более главный архитектор, над которым еще более главнее и в конце концов самый главный архитектор, который "писал в DOS на FoxPro и поэтому до сих пор считает себя программистом".
Не знаю. В тех больших конторах, которые я знаю, ничего подобного нет (хотя, в IBM наверное что то похожее имеется, но тут я точно не знаю). Как правило одним конкретным проектом занимается сравнительно небольшая команда. Сверху могут спускать какие то моменты, связанные с методологией и используемым инструментом. И то — это не обязательно, бывает что и в этом каждая конкретная команда имеет определенную свободу выбора.
... << RSDN@Home 1.2.0 alpha rev. 800 on Windows Vista 6.0.6001.65536>>
[проп]
И как ее можно исправить? ? Сменой работы?!
Меняй. Хотя с моей колокольни -- такая работа позволяет набраться опыта почти во всех областях. И если человек не определился — что же ему больше нравится -- прогаммерить, писать доки, анализитровать, тестить и т д -- то такая работа как раз для него. Ели начало парить -- меняй незадумываясь.
Моя разведка меня бережёт
Re[5]: Чем должен заниматься программист на работе?
Здравствуйте, AndrewVK, Вы писали:
AVK>Не знаю. В тех больших конторах, которые я знаю, ничего подобного нет (хотя, в IBM наверное что то похожее имеется, но тут я точно не знаю). Как правило одним конкретным проектом занимается сравнительно небольшая команда.
политика становится все более горячей чем ближе ты находишься к топ-менеджменту, на задворках политику не заметишь, чем выше взабрался по карьерной лестнице, тем больше приходится окунаться в "политику"
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[6]: Чем должен заниматься программист на работе?
Здравствуйте, _Morpheus_, Вы писали:
_M_>политика становится все более горячей чем ближе ты находишься к топ-менеджменту, на задворках политику не заметишь, чем выше взабрался по карьерной лестнице, тем больше приходится окунаться в "политику"
Выше по карьерной лестнице, это уже не конечный программист, а совсем другие люди.
... << RSDN@Home 1.2.0 alpha rev. 820 on Windows Vista 6.0.6001.65536>>
Список выполняемых мною задач далеко не полностью был приведен (это по фразе "еще больше обязанностей..."). Стоит упомянуть, что даже, методику создания и внешний вид сертификационных документов пришлось мне оформлять. Что уж никак к программисту не относится.
Если же на тему "Честно говоря, не знал, что можно по другому" Жаль, что незнали, а вот судя по форуму и общения с коллегами — большинство знает и понимает, чем должен заниматься программист. Так, можно докатиться, до того, что программисту и полы мыть нужно, т.к. "ПМ лениво" уборщицу искать.
Вы слишком узко смотрите на круг задач выполняемых программистом. Как я вижу, программист в небольшой конторке, не только пишет код, но может и проектировать архитектуру приложения и БД, следить за качеством кода, рефакторить, документировать.
Но написание ТЗ, установка программного обеспечения у заказчика, консультации заказчика, поездки и трата
времени на совещания, постоянные телефонные переговоры, администрирование почтового и прокси сервера (которые вообще к разработке отношения не имеют) и многое другое.
К тому же если за это не платят и сроки выставляются исходя из того, что никаких посторонних отвлечений нет.
И если я шел на Win-разработку, но умею писать под Web — это не значит, что без дополнительной оплаты я должен писать для конторы и под Web, после фразы "кто если не ты".
И постоянные рассказы про бизнес. Про как это важно для бизнеса фирмы. По мне так все равно сколько на этом заработает фирма (директор), если же фирма не в состоянии платить оплату труда — переход в другую фирму. Да и занимаясь таким множеством задач не реально качественно выполнять каждую из них и совершенствовать свое мастерство в программировании и смежных направлениях.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[2]: Чем должен заниматься программист на работе?
Здравствуйте, _Morpheus_, Вы писали:
_M_>Это типичная ситуация для случаев когда руководитель плохо разбирается в программировании и совершенно не умеет управлять проектами в софтверной области. _M_>Человек попросту пытается управлять тобой как получается, плохо при этом представляя зачем он это все делает, его цель нагрузить тебе какойнить фигни чтобы ты не задавал неудобных вопросов, а там ты сам уж какнибудь разберешься и сделаешь чтото такое что нужно. Часто такие люди любят такую тактику, как рассказывать какуюто ахинею до тех пор пока у слушателя крыша не начнет ехать и он не начнет сердится и пытаться объяснить что к чему, он будет спорить, но на самом деле мотать на ус, т.е. узнавать таким своеобразным образом что к чему. Прямо спросить, видимо гордость не позволяет _M_>Общаться с такими людьми вредно для психики
_M_>По сути работа с таким руководителем заключается в том что все будешь делать ты, а все бонусы будет получать он, тебе же наоборот будут доставаться все шишки, которые такой человек умело переложит на тебя
_M_>Мой совет — иди в нормальную софтверную компанию...
Спасибо. Пожалуй, очень точная характеристика. Даже не видя описал такой тип людей... супер!
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[2]: Чем должен заниматься программист на работе?
Здравствуйте, Schtirliz, Вы писали:
S>Меняй. Хотя с моей колокольни -- такая работа позволяет набраться опыта почти во всех областях. И если человек не определился — что же ему больше нравится -- прогаммерить, писать доки, анализитровать, тестить и т д -- то такая работа как раз для него. Ели начало парить -- меняй незадумываясь.
Так, то оно так, но если нравиться программировать, проектировать (архитектура) и заниматься аналитической деятельность (ТЗ). Но не писать доки, тестировать. Думается, что некоторая часть проблемы кроется в непонимании (мною и руководством) границы обязанностей и отвественности.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[3]: Чем должен заниматься программист на работе?
Здравствуйте, danshar, Вы писали:
D>Так, то оно так, но если нравиться программировать, проектировать (архитектура) и заниматься аналитической деятельность (ТЗ). Но не писать доки, тестировать. Думается, что некоторая часть проблемы кроется в непонимании (мною и руководством) границы обязанностей и отвественности.
проблема вся кроется в том что у тебя на шее ездит манипулятор
Избежать таких людей не так просто, как может показаться на первый взгляд
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[4]: Чем должен заниматься программист на работе?
Здравствуйте, _Morpheus_, Вы писали:
_M_>проблема вся кроется в том что у тебя на шее ездит манипулятор _M_>Избежать таких людей не так просто, как может показаться на первый взгляд
Слушай, опять ты в точку! Именно манипулятор! Причем при общении, как хорошо и как бы классно работник не выполнил свою работу все равно остается ощущение, что руководитель хотел что-то иначе и лучше. А вот избежать их никто и не думает, что просто. Может подойти с другой стороны? Не избегать, а "работать" над ними? Я вот в диспутах постоянно привожу аналогии ассоциируя разработку программного продукта с более доступными пониманию сложными системами — автомобилями. Это ему понятней. Но заметил, что когда такой "манипулятор" уже "в тупике" и аргументов нет, начинается "катание ваты" — "посмотри как другие?" или "ну а мне, что сказать?".
У тебя, думаю, также есть или был опыт взаимодействия с подобной категорией людей? Как решал?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[3]: Чем должен заниматься программист на работе?
Здравствуйте, danshar, Вы писали:
D> Список выполняемых мною задач далеко не полностью был приведен (это по фразе "еще больше обязанностей..."). Стоит упомянуть, что даже, методику создания и внешний вид сертификационных документов пришлось мне оформлять. Что уж никак к программисту не относится. D>Если же на тему "Честно говоря, не знал, что можно по другому" Жаль, что незнали, а вот судя по форуму и общения с коллегами — большинство знает и понимает, чем должен заниматься программист. Так, можно докатиться, до того, что программисту и полы мыть нужно, т.к. "ПМ лениво" уборщицу искать.
Ну не надо все упрощать до уборщика Конечно, некоторые пункты из того, что вы написали, да и из того, что я написал, напрямую с разработкой не связанны, но большая часть времени все-таки в разработке проходит. Остальное можно рассматривать как доп. опыт. Вот если неотносящиеся к разработке вещи станут доминировать — тогда уже есть смысл подумать о смене места.
D>И если я шел на Win-разработку, но умею писать под Web — это не значит, что без дополнительной оплаты я должен писать для конторы и под Web, после фразы "кто если не ты".
Какая еще доп. оплата за web? Платят за 8-ми часовой раб. день, 5 дней в неделю. То, что вы знаете и win и web — только вам в плюс, но как это связанно с доп. деньгами — не понятно. Сказал начальник — напиши ASP.Net сайт — ты пишешь. Сказал — сделай быстренько win-приложение — пишешь его, в чем пробелма? Если это не выходит за рамки 8-ми часов и 5 дней. В таком ключе давайте может будем требовать за написание SQL запроса по 100 баксов дополнително (это ведь не C#, а другой язык), с CSS файла по 50 (тоже не C#), а с консольного Win32API приложения — по 200 (ну я же ASP.Net программер — дайте мне бабла за то что заставили писать на WinAPI )? Я уж не говорю о тарифах за VB или PHP например. Как вам идея? Одно дело, если вы не знаете этот язык/тенологию, но вас просят на нем написать — тогда вопрос возникает — а почему хотят чтобы вы этим занялись, если опыта у вас с этим языком нет. А если знаете (опыт был), то в чем проблема — непонятно.
D>И постоянные рассказы про бизнес. Про как это важно для бизнеса фирмы. По мне так все равно сколько на этом заработает фирма (директор), если же фирма не в состоянии платить оплату труда — переход в другую фирму. Да и занимаясь таким множеством задач не реально качественно выполнять каждую из них и совершенствовать свое мастерство в программировании и смежных направлениях.
Если проблема в размере з/п, надо валить оттуда, конечно, и искать место новое, где з/п вам подойдет. С этим согласен Насчет качественного выполнения множества задач — ну конечно занимаясь одной какой-то областью большего достигнешь, чем если заниматься всеми сразу, но зато интересно изучать много новых вещей, кому что, ИМХО.
Re[4]: Чем должен заниматься программист на работе?
Согласен, что упростил, но зачем Вы привели такой длиный пример с тарифами на разработку?! К тому же он гротескный.
Насчет — непонятно. Это любмое слово моего руководителя. Но это лирическое отступление.
Можно согласится, что 8 ч. при 5 дн. Но с одной стороны, если писать качественно в эти сроки не уклыдываешься (+ рефакторинг),
а с другой стороны я получил знания по Web за "свой счет", тратил на это свое свободное время, почему я должен "отдавать" свой опыт и знания за просто так? Почему бы работодателю не доплатить за время которое я тратил? Причем задач на текущих проектах у меня хватает, поэтому пусть нанимает специалиста по Web. Причем, если смотреть по планке зп, то специалист на рынке по технологии/языку A стоит дороже чем B. Так почему специалист должен продавать свои знания/умения дешевле? Да и когда я переключаюсь на задачи над другими проектами коллеги, то скучают, ну т.е. зп то идет у них на время, а делать нечего не надо.
И отрыв/перебразывание с одного проекта на другой отвлекает от сосредоточения на решаемой задаче. И великолепно, если руководитель это понимает и учитывает. Мой руководитель этого не понимает.
ЗП — это тоже показатель. Конечно, если бы меня ЗП устраивала и устраивала степень вменяемостти руководителя это было бы хорошо. Но далек мой руководитель от ИТ сферы и судит о сложности задачи как пользователь — по внешнему виду. Чего стоят постоянные рекомендации — "А чем ты можешь объяснить, что не хочешь до начала проекта отрисовать все формы проекта и дизайнере?" Про наследование он не знает и непонимает даже после рассказов.
P.S. Сложилось впечатление, что Вы занимаетесь удаленной работой?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[4]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали:
D>Какая еще доп. оплата за web? Платят за 8-ми часовой раб. день, 5 дней в неделю. То, что вы знаете и win и web — только вам в плюс, но как это связанно с доп. деньгами — не понятно. Сказал начальник — напиши ASP.Net сайт — ты пишешь. Сказал — сделай быстренько win-приложение — пишешь его, в чем пробелма? Если это не выходит за рамки 8-ми часов и 5 дней.
Взяли тебя полы мыть за 50$ в месяц. А ты оказывается еще и win/unix админ и программер на брейнфаке. Давай ка в течении 8 часов и полы мой, и 1000+компов вин компов саппорти и 200+ юникс серверов поддерживай и у тебя в конце месяца сдача проекта на брейнфаке! И за те же деньги...
Тебе не приходит в голову что разная работа по разному оплачивается?
D>А если знаете (опыт был), то в чем проблема — непонятно.
Ты на своей текущей работе тоже разнорабочим работаешь? За те же деньги?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Чем должен заниматься программист на работе?
Здравствуйте, danshar, Вы писали:
D>Можно согласится, что 8 ч. при 5 дн. Но с одной стороны, если писать качественно в эти сроки не уклыдываешься (+ рефакторинг), D>а с другой стороны я получил знания по Web за "свой счет", тратил на это свое свободное время, почему я должен "отдавать" свой опыт и знания за просто так? Почему бы работодателю не доплатить за время которое я тратил? Причем задач на текущих проектах у меня хватает, поэтому пусть нанимает специалиста по Web.
ну это спорно, от ситуации зависит.. Например, контора знает, что вы и в win и в web умеете, но проект дали только по win. А потом вдруг просят — отвлекись от проекта и сбацай быстренько сайт на ASP.Net. Вполне нормально. Если человек получил опыт работы с web, работая в этой конторе и хочет, чтобы это дополнительно оплачивалось — ну надо тогда попросить з/п повысить, мотивируя это тем, что ты вырос как разработчик и что ты хочешь привести з/п в соответствие с этим (ориентируясь на текущий рынок). Я так и делаю. Но с другой стороны, если изначально было известно про человека, что он умеет: win, web, sql и еще много чего, то не надо удивляться, что когда-нить попросят что-нить из этого продемонстрировать (вот тут уже неуместно просить каких-то доп. денег).
D>ЗП — это тоже показатель. Конечно, если бы меня ЗП устраивала и устраивала степень вменяемостти руководителя это было бы хорошо. Но далек мой руководитель от ИТ сферы и судит о сложности задачи как пользователь — по внешнему виду. Чего стоят постоянные рекомендации — "А чем ты можешь объяснить, что не хочешь до начала проекта отрисовать все формы проекта и дизайнере?" Про наследование он не знает и непонимает даже после рассказов.
Ну при таком подходе — да, тяжело.. Я поэтому и пишу, что ваша проблема совсем не в выполняемых работах, а в руководителе и з/п. Выходит, что лучше поменять место. А то народ тут пытается доказать, что разносторонняя работа это ненормально и плохо... Код тупо писать от 10 до 18 — вот что плохо, ИМХО.
D>P.S. Сложилось впечатление, что Вы занимаетесь удаленной работой?
да, команда распределенная (3 разные страны).
Re[6]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали:
D>Но с другой стороны, если изначально было известно про человека, что он умеет: win, web, sql и еще много чего, то не надо удивляться, что когда-нить попросят что-нить из этого продемонстрировать (вот тут уже неуместно просить каких-то доп. денег).
Пардон, если я умею пилотировать стелс и при этом работаю программером нифига неуместно просить меня летать на бомбере за те же деньги.
Уместно будет лишь то направление, на которое человек пришел работать. То, что он умеет кроме прямых служебных обязанностей — за дополнительные деньги.
Применительно к первоначальному посту — веб и десктоп разумеется достаточно близки (впрочем все равно разница есть) так что тут разница невелика.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[3]: Чем должен заниматься программист на работе?
Здравствуйте, danshar, Вы писали:
D>Здравствуйте, Schtirliz, Вы писали:
S>>Меняй. Хотя с моей колокольни -- такая работа позволяет набраться опыта почти во всех областях. И если человек не определился — что же ему больше нравится -- прогаммерить, писать доки, анализитровать, тестить и т д -- то такая работа как раз для него. Ели начало парить -- меняй незадумываясь.
D>Так, то оно так, но если нравиться программировать, проектировать (архитектура) и заниматься аналитической деятельность (ТЗ). Но не писать доки, тестировать. Думается, что некоторая часть проблемы кроется в непонимании (мною и руководством) границы обязанностей и отвественности.
Если очень надо — я растусовать могу границы и обязанности. Но нужно знать очень много информации о компании и само собой не на форуме об этом беседовать. Есть различные специфики. Судя по описанной щанятости -- компания небольшая. Отсюда и такая вот винегрятина.
Моя разведка меня бережёт
Re[6]: Чем должен заниматься программист на работе?
Здравствуйте, Davader, Вы писали:
D>Здравствуйте, danshar, Вы писали:
D>>Можно согласится, что 8 ч. при 5 дн. Но с одной стороны, если писать качественно в эти сроки не уклыдываешься (+ рефакторинг), D>>а с другой стороны я получил знания по Web за "свой счет", тратил на это свое свободное время, почему я должен "отдавать" свой опыт и знания за просто так? Почему бы работодателю не доплатить за время которое я тратил? Причем задач на текущих проектах у меня хватает, поэтому пусть нанимает специалиста по Web.
D>ну это спорно, от ситуации зависит.. Например, контора знает, что вы и в win и в web умеете, но проект дали только по win. А потом вдруг просят — отвлекись от проекта и сбацай быстренько сайт на ASP.Net. Вполне нормально. Если человек получил опыт работы с web, работая в этой конторе и хочет, чтобы это дополнительно оплачивалось — ну надо тогда попросить з/п повысить, мотивируя это тем, что ты вырос как разработчик и что ты хочешь привести з/п в соответствие с этим (ориентируясь на текущий рынок). Я так и делаю. Но с другой стороны, если изначально было известно про человека, что он умеет: win, web, sql и еще много чего, то не надо удивляться, что когда-нить попросят что-нить из этого продемонстрировать (вот тут уже неуместно просить каких-то доп. денег).
D>>ЗП — это тоже показатель. Конечно, если бы меня ЗП устраивала и устраивала степень вменяемостти руководителя это было бы хорошо. Но далек мой руководитель от ИТ сферы и судит о сложности задачи как пользователь — по внешнему виду. Чего стоят постоянные рекомендации — "А чем ты можешь объяснить, что не хочешь до начала проекта отрисовать все формы проекта и дизайнере?" Про наследование он не знает и непонимает даже после рассказов.
D>Ну при таком подходе — да, тяжело.. Я поэтому и пишу, что ваша проблема совсем не в выполняемых работах, а в руководителе и з/п. Выходит, что лучше поменять место. А то народ тут пытается доказать, что разносторонняя работа это ненормально и плохо... Код тупо писать от 10 до 18 — вот что плохо, ИМХО.
D>>P.S. Сложилось впечатление, что Вы занимаетесь удаленной работой?
D>да, команда распределенная (3 разные страны).
Нет контора меня брала для MS SQL Server 2k+VB6, но давно это было. Знания web не описывались в резюме и были приобретены паралелльно с работй за счет своего освободного времени. Кстати, а если для web нужно писать на другом языке программирования?! Тут может несколько обескураживает, отсутсвие четких границ в обязанностях. Допустим сидишь решаешь задачу. Задача сложная поэтому — творческий процесс. И тут могут позвонить и сказать "чем ты можешь обяснить, что у нас интернета нет?!". Конечно, меня вырвали из контекста решаемой задачи и то, что мне чтобы опять вникнуть в проблему нужно время мало кого интересует — интересуют сроки. Потом начинается часовая возня с интернетом в ходе которой выясняется, что интернет есть, просто не работает smtp и проблема не наша, а провайдера и мне нужно звонить провайдеру и долго решать с ними вопрос. Нда, контора маленькая, но не так, чтобы и кузнец и жнец и на игре дудец.
Здравствуйте, AndrewVK, Вы писали:
_M_>>политика становится все более горячей чем ближе ты находишься к топ-менеджменту, на задворках политику не заметишь, чем выше взабрался по карьерной лестнице, тем больше приходится окунаться в "политику"
AVK>Выше по карьерной лестнице, это уже не конечный программист, а совсем другие люди.
Плох тот солдат, который не мечтает стать генералом (с).
Re[7]: Чем должен заниматься программист на работе?
Здравствуйте, CreatorCray, Вы писали:
CC>Пардон, если я умею пилотировать стелс и при этом работаю программером нифига неуместно просить меня летать на бомбере за те же деньги.
Уместно, неуместно. Откажись или выстави свои условия, делов то.
... << RSDN@Home 1.2.0 alpha 2 rev. 840 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
_M_>>политика становится все более горячей чем ближе ты находишься к топ-менеджменту, на задворках политику не заметишь, чем выше взабрался по карьерной лестнице, тем больше приходится окунаться в "политику"
AVK>Выше по карьерной лестнице, это уже не конечный программист, а совсем другие люди.
а речь шла исключительно о конченых программистах?