_Obelisk_ пишет: > > > Забавно, что почти все программисты у нас жалуются на управленцев. Это > подразумевает, что программисты знают как надо правильно управлять. Так > бы шли в руководители и показывали другим, как надо работать. Советы > давать все способны, а делом показать — "вот и нету вожаков". > С моей точки зрения, тенденция обвинять во всем руководство ничуть не > лучше сетования начальства на программистов, их нелояльность и т.п. > Проблемы есть с обеих сторон.
Ну да, только вот почему-то если корабль тонет, то виноват капитан, а
потом остальные. Что естественно. Права и ответственности людей сильно
разные.
Вот чего я не могу понять, так это глупости многих начальников в
программинге, которые ну никак не могут понять вышесказанного.
_Obelisk_ пишет: > > > Учиться и тем и другим. А так же поменьше качать права и валить друг на > друга ответственность.
Ну раскажите-ка об ответственности программиста, как вы ее видите.
_Obelisk_ пишет: > > > Т.е. нет плохих программистов, есть плохие руководители ? Сомневаюсь...
Вот таких бы точно на пару лет в армию отправлял бы поучиться. Там и
многому умному учат.
> > Не думаю, что есть гарантированные способы нанять абсолютно верных > девелоперов. Народ у нас наловчился дурить начальство, потому > отвественность лежит не только на руководстве. Да и хороший девелопер > может испортиться со временем.
Учиться, учиться и еще раз учиться. Книг по психологии, психологии
коллектива, управлению коллективом в инете валом.
Здравствуйте, Vzhyk, Вы писали:
>> Учиться и тем и другим. А так же поменьше качать права и валить друг на >> друга ответственность. V>Ну раскажите-ка об ответственности программиста, как вы ее видите.
да вообщем все взято из здравого смысла, да собственного опыта :
— не скрывать никаких проблем от начальства. Если что-то выходит из под контроля, сразу сообщать.
— не писать код тяп-ляп
— увидев багу в чужом коде — поправить, если знаешь, как править. Иначе создать case в bug-tracking системе, чтоб не забыть. Нормально реагировать на то, что кто-то может поправить баг у тебя
— делать нормальные коментарии
— помогать тестерам понять, как лучше тестировать то, что ты написал.
— конструктивно реагировать на замечания по code review
— если просят time estimation на задачу, не давать его с потолка
— не допускать того, чтоб реализация всякой вспомогательной функциональности превращалась в самоцель (скажем, создание своего генератора парсеров)
— заниматься самообразованием (проекту пойдет на пользу то, что девелоперы будут умнеть )
— делиться знаниями с другим людьми в команде, помогать новичкам и т.п.
— регулярно класть все изменения в систему контроля версий (чтоб не было такого, что долго что-то писал, потом винт накрылся и все потерялось)
— если из-за твоих изменений сломался nightly build, фиксить изменения в первую очередь
— если видишь, что где-то можно улучшить архитектуру — послать предложение архитекторам (вдруг они этого не заметили)
— критиковать начальство, если чуствуешь, что оно идет не туда
— ну и следовать всяким советам из мудрых книжек о паттернах, рефакторинге и т.п.
Здравствуйте, olegkr, Вы писали:
O>Здравствуйте, _Obelisk_, Вы писали:
_O_>>Я не руководитель, потому сужу с точки зрения девелопера. Ответственность лежит отнюдь не только на управленцах. Безответственность винзу ни к чему хорошему не приведет. O>Разумеется, только она разная. Ответственность девелопера в том, что бы сделать свою часть работы грамотно и в срок. Но он в принципе не может отвечать за весь проект в целом, только за реализацию какой-то части проекта.
ИМНО бессмысленно делить ответственность внутри проектной команды, выплавают все вместе, тонут тоже все вместе. IMHO ПМ должен быть таким же членом проектной команды как и все остальные.
BZ>а в MS Research интерны работают над компиляторами.
Вас, наверно, выгнали с ВМиК МГУ за то, что Вы не сумели компилятор сдать на 3 курсе? Теперь Вы так обижены на образование и на ВМиК в частности, так?
BZ> в МГУ есть лаборатория обработки изображений, где в частности занимаются видеокомпрессией (единственная известная мне лаборатория, находящаяся на мировом уровне)
Назовите, пожалуйста, публикации на мировом уровне этой самой лаборатории. Только не надо ссылки на Графикон и прочие местечковые конференции приводить.
Публикации Sigraph, ACM, IEEE. Иначе лично я буду считать ваши слова пустой болтовней.
BZ>поймите, это разные вещи. университет должен обучать "ракетным технологиям". если тебе интересна математика — ради бога, иди на мехмат. ВМК должен обучать именно информатике, в ней полно своих сложнейших задач, о которых нащи вузы даже не слыхивали
Некоторые из этих самых ВМиК МГУ сейчас успешно преподают в качестве teaching assistants в MIT и в упомянутом здесь Cornell. В американскую PhD (в том числе ведущих вузов) поступили все, кто хотел. Как же это они смогли, а, после МГУ-то и нашего "плохого" образования.
BZ>ещё раз: интернов учит их вуз так, что они способны работать над компиляторами, и они получают там практику именно как интерны: internship — это часть системы обучения.
Кончай позориться. Убого вылгядит, когда человек, отучившийся всего два года, вдруг рассуждает, где и как учат вузы.
Если бы доучился до 3 курса, то слышал бы о http://unicorn.cs.msu.su/6sem/statement.shtml
Здравствуйте, BulatZiganshin, Вы писали:
BZ>Здравствуйте, Ушастый Ёж, Вы писали:
УЁ>>Я изучал Java в университете. Со всякими дизайн паттернами, RMI, CORBA. На 4 или 5 курсе, не помню точно. На 2-3 был с++ и object pascal (читай delphi), на 1 — pascal.
BZ>каколй универ? практика была? что ещё изучали полезного, какой был процент такого материала?
Самарский Государственный Аэрокосмический Университет. Практика была конечно — лабы в огромном количестве. Из близкого к программированию были еще "методы параллельного программирования", но это было нужно для нашей специализации. Еще вспоминаю теоретический курс криптографии, теорию передачи сигналов (очень подробно о том, как работает ethernet на всех 7 уровнях), курс про компьютерные сети (для юных сисадминов), компьютерная графика (лабы на opengl писать приходилось, ну и конечно же ручками, т.е. по точкам, линии рисовать всех научили, и текстуры ложить тоже). Процент такого материала не большой, в основном классические предметы по специальности прикладная математика. Но собственно я не считаю что нужно было больше. Кроме того, больше было нельзя по ГОСТу
Здравствуйте, Ушастый Ёж, Вы писали:
УЁ>Самарский Государственный Аэрокосмический Университет. Практика была конечно — лабы в огромном количестве. Из близкого к программированию были еще "методы параллельного программирования", но это было нужно для нашей специализации. Еще вспоминаю теоретический курс криптографии, теорию передачи сигналов (очень подробно о том, как работает ethernet на всех 7 уровнях), курс про компьютерные сети (для юных сисадминов), компьютерная графика (лабы на opengl писать приходилось, ну и конечно же ручками, т.е. по точкам, линии рисовать всех научили, и текстуры ложить тоже). Процент такого материала не большой, в основном классические предметы по специальности прикладная математика. Но собственно я не считаю что нужно было больше. Кроме того, больше было нельзя по ГОСТу
Ну и конечно базы данных. Вложенные SQL запросы и хранимые процедуры всяко каждый написать попробовал. Про реляционную алгебру и говорить не буду. Еще была теория трансляторов и формальных грамматик, где было куча практики и каждый делал лабу по синтаксическому разбору всяких разных операторов и языков, на каких то лабах каждому выпал шанс поработать с юниксовыми сокетами, да и много чего еще было интересного (я половину прогулял — студенту на пиво денег надо, поэтому работать приходилось, код с утра до вечера писать Было время...
Здравствуйте, BulatZiganshin, Вы писали:
BZ>а в MS Research интерны работают над компиляторами. Яндекс вынужден сам обучать поисковым технологиям. в МГУ есть лаборатория обработки изображений, где в частности занимаются видеокомпрессией (единственная известная мне лаборатория, находящаяся на мировом уровне)
Да будем вам известно Не только лаборатория, а целый институт обработки изображений российской академии наук существует в стенах СГАУ (Самарский Государственный Аэрокосмический Университет). Не скажу за весь институт, но отдельные люди вполне на мировом уровне. Чтобы не переходить на личности, не буду называть имен
Здравствуйте, bkat, Вы писали:
B>Ну а как ты все же прокомментируешь вот этот список? B>http://www.cs.cornell.edu/Courses/ListofCSCourses/index.htm B>Ну не получится из меня спеца по яве или нету, даже если я прослушаю все курсы. B>Mожет это ВУЗ левый? Специально я его не искал.
Я бы не стал учиться в таком вузе. Нет фундаментальных курсов по математике и физике. Для умения вызвать апишную функцию этих знаний конечно не нужно, но чтобы стать "белым человеком и понять как устроен мир" — это необходимо.
Здравствуйте, Ушастый Ёж, Вы писали:
УЁ>Я бы не стал учиться в таком вузе. Нет фундаментальных курсов по математике и физике. Для умения вызвать апишную функцию этих знаний конечно не нужно, но чтобы стать "белым человеком и понять как устроен мир" — это необходимо.
Здравствуйте, BulatZiganshin, Вы писали:
BZ>так вот, речь в статье шла всё же не об элите, а о среднем классе программистов. и для них университетская программа — напрасная потеря времени, вуз должен готовить специалиста, работающего с mainstream технологиями, иначе после вуза он во-первых будет забывать весь тот ненужный багаж знаний, что ему впарили, во-вторых, его придётся доучивать тому, что реально необходимо. по моим лично оценкам, у нас даже в школе 50% "знаний" даются по прицниу сдал-и-забыл, а в вузах это уже доходит до 90%. вот и результат — выпускники знает всё что угодно, от философии Гегеля до векторного произведения кроме того самого j2ee, который — как это ни странно! — на самом деле нужен работодателям
Вот вы мне скажите. Ну прочитают в вузе студентам спецификацию J2EE вместо теории вероятностей и теории сигналов. На следующий день студент найдет себе работу по специальности. Это, безусловно, замечательно. Но через 5 (условно) лет про J2EE никто не будет даже вспоминать, и что делать этому горе-выпускнику? Правильно, идти _самостоятельно_ учить J3XX (условно). Вот мы и вернулись к тому, с чем боремся. Только при этом наш вчерашний выпускник будет думать не категориями аксиом, чисел, теорем, теорий, методов и прочих фундаментальных вещей, а категориями той единственной модели программирования, которая лежит в выученной им в университете J2EE. Плюс у такого выпускника будет отсутствовать культура самообразования. К чему все это приведет? Правильно, к тому что мы сейчас видим и называем емким словом "индус". Индусы замечательно проходят интервью, знают все самые последние технологии, их огромное количество, найти на проект 100 индусов — дело одного дня. Но как только наступает день сдачи первой итерации — начинаются больше проблемы, которые очень часто становятся видными только после выхода продукта в продакшен.
Здравствуйте, bkat, Вы писали:
УЁ>>Я бы не стал учиться в таком вузе. Нет фундаментальных курсов по математике и физике. Для умения вызвать апишную функцию этих знаний конечно не нужно, но чтобы стать "белым человеком и понять как устроен мир" — это необходимо.
B>Ты про http://www.cs.cornell.edu/Courses/ListofCSCourses/index.htm ? B>Ну это ведь только список читаемых курсов по computer science. B>По математике и физике есть другие списки читаемых курсов.
Тогда пардон. Невнимательно смотрел что за список.
Здравствуйте, bkat, Вы писали:
B>Это был обязательный курс? Наверняка это был спецкурс для желающих. B>Я лично не против таких курсов. B>Но откуда они появятся в России, где хай-тека кот наплакал.
Откуда в России появится хай-тек, если действительно топовых программистов в России не готовят?
B>Курс по PlayStation3 пришел ведь от бизнеса. B>Читать же в России курс по PlayStation3 — это тоже трата времени B>и пустое теоретизирование, потому что в российском бизнесе это никому не нужно.
Ну не нужно — значит не нужно.
_Obelisk_ пишет: > V>Ну раскажите-ка об ответственности программиста, как вы ее видите. > > да вообщем все взято из здравого смысла, да собственного опыта :
[много строчек скипнуто]
А работать когда при этом???
Posted via RSDN NNTP Server 2.1 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Ушастый Ёж, Вы писали:
УЁ>Вот вы мне скажите. Ну прочитают в вузе студентам спецификацию J2EE вместо теории вероятностей и теории сигналов.
и второе. тут мне придётся немного погрузить вас в историю. первыми применениями компьютеров были всевозможные расчёты, главным образом физических процессов. тогда, в 40-50-е годы, сформировалась отрасль знаний о применении компьютеров в таких расчётах, состоящая из мат. наук цикла матана — матан, теорвер, диффуры, тфкп и т.п., выч. математики и мат. физики
выч. математика стала первой дисциплиной из формирующейся Computer Science, которую можно перевести на русский язык как "информатика". Тогда же, в 40е-50е годы, появилась кибернетика — наука об управляющих системах в живых существах, обществе и инженерии (втч. компьютерах). у нас большим её поклонником был Глушков, который в 60е-70е годы бился над созданием ИИ. В 71-м году был образован фак. ВМК МГУ, и его название состояло, как видите, из выч. математики и кибернетики — двух наиболее заметных у нас тогда применений компьютеров, одно в настоящем, другое — в будущем
в 60-е годы на западе и в 70-е в СССР основное применение компьютеров перешло в сферу бизнеса и стало связано с обработкой больших объёмов информации. Computer Science стала разрастаться преимущесьтвенно за счёт других направлений, помимо выч. математики. Кибернетика так и осталась игрушкой. В этих условиях само по себе название ВМК является архаичным — бизнесу/народному хозяйству почти не нужны специалисты по выч. математике!!
но суть дела конечно не в названиях. дело в том, что у нас в те 40е-50е годы сформировалась мощная научная школа, которая и пришла на эти новые факультеты, заполнила их. это были профессора, хорошо ращзбирающиеся в выч. математике, но не новых отраслях CS — они уже были слишком стары для этого. Что в результате произошло? совершенно естественная вещь для советсвкой системы — не рынок, не бизнес, не нарождное хозяйство диктовало им свои условия, а они диктовали свои! в результате этого вот уже сколько? — почти 40 лет — факультеты ВМК по всей старне продолжают печь совершенно ненужных (в таком кол-ве) специалистов по выч. математике. просто потому, что старым пердунам, которые там получили свои профессорские должности, это удобно. и обязательную программу обучения для любого ВМК в нашей стране формируют тоже они — динозавры-профессора из МГУ и прочих крупнейших вузов
а вам в качестве наркоза подсовывают старинные горные легенды о том, что ненужную математику учат просто чтобы научить думать, что главное — фундаментальные знания (почему-то математики, а не CS)
на западе же математики учат математику, а компьютерщики — именно CS. тут приводили программу корнельского университета, и я могу утверждать что во-первых, это действительно необходимые для работы программиста знания (в отличие от тфкп и диффуров), во-вторых, что их освоить самостоятельно ничуть не легче, чем университетсткие разделы математики и физики (и не сложнее — всё зависит от того, к чему у вас способности)
тем же, кто "учился" в наших вузах, остаётся только одно — брать программу зарубежных вузов и осваивать CS самостоятельно. иначе так и будете всю жизнь вёдра подавать, ожидая пока диффуры вам пригодятся
_Obelisk_ пишет: > > — не скрывать никаких проблем от начальства. Если что-то выходит из под > контроля, сразу сообщать. > — не писать код тяп-ляп > — увидев багу в чужом коде — поправить, если знаешь, как править. Иначе > создать case в bug-tracking системе, чтоб не забыть. Нормально > реагировать на то, что кто-то может поправить баг у тебя > — делать нормальные коментарии > — помогать тестерам понять, как лучше тестировать то, что ты написал. > — конструктивно реагировать на замечания по code review > — если просят time estimation на задачу, не давать его с потолка > — не допускать того, чтоб реализация всякой вспомогательной > функциональности превращалась в самоцель (скажем, создание своего > генератора парсеров) > — заниматься самообразованием (проекту пойдет на пользу то, что > девелоперы будут умнеть ) > — делиться знаниями с другим людьми в команде, помогать новичкам и т.п. > — регулярно класть все изменения в систему контроля версий (чтоб не было > такого, что долго что-то писал, потом винт накрылся и все потерялось) > — если из-за твоих изменений сломался nightly build, фиксить изменения в > первую очередь > — если видишь, что где-то можно улучшить архитектуру — послать > предложение архитекторам (вдруг они этого не заметили) > — критиковать начальство, если чуствуешь, что оно идет не туда > — ну и следовать всяким советам из мудрых книжек о паттернах, > рефакторинге и т.п.
Знаете, что мне это напомнило: "Кодекс строителя коммунизма".
А жизнь (проектов) она гораздо разнообразнее обычно.
Кстати, в своей жизни я видел только 1 из сотни программистов, которые
поступали наоборот.
З.Ы. Ну и где выше об "А так же поменьше качать права и валить друг на
друга ответственность."? Ты просто подменяешь понятия.
Здравствуйте, Кэр, Вы писали:
Кэр>Здравствуйте, bkat, Вы писали:
B>>Это был обязательный курс? Наверняка это был спецкурс для желающих. B>>Я лично не против таких курсов. B>>Но откуда они появятся в России, где хай-тека кот наплакал. Кэр>Откуда в России появится хай-тек, если действительно топовых программистов в России не готовят?
Вы путаете теплое с жидким. Думаю, что IT уже лет 10 как не rocket science в массе своей. В отличие от, скажем, биотека и медицины.