LG.BALUKATION's Weblog

Ничего, это тоже кое-что… А при желании из него можно сделать что угодно

О настоящем программировании

Posted by LG.BALUKATION на 2008/07/19

Недавно прочёл на DTF интересную статью «Программист в большой компании»

Лично мне эта тема весьма близка, т. к. всего год назад я получил свой диплом и работаю программистом всего несколько больше полугода.

Но как там и сказано, ещё во время обучения я заметил, что лекции большей частью не учат разработке софта, они лишь дают некие знания синтаксиса пары-тройки языков, чтоб писать абы что и кое-как. С такими знаниями вполне можно решать примитивные учебные задания, но что-либо более-менее реальное уже вызывает большие проблемы.

На втором курсе у нас была практика по Алгоритмизации, там надо было написать 4 программы, каждая в среднем строчек на 200-300. Задачи были весьма простые, типа не сложной обработки текста или реализации чего-нить вроде сложения двоичных чисел. Дык большая часть студентов вообще смутно себе представляла как надо делать программу — они могли записать код по готовому алгоритму, но придумать что-нить самим и отлаживать это для некоторых было очень сложно.

То, что было потом вообще жесть — курсе на третьем/четвёртом, мы делали по Теории Разработки Программных Продуктов практику, на которой писали некую «большую софтину», разбитую на несколько модулей и, в идеале, разрабатываемую командой. После этого мы примерно семестр изучали как же писать такие проги — да, такой вот шикарный график был разработан тогда в ИСПО ГУАП.

Но если про разбивку задач на модули и кое-какие основы построения софта нам всёж рассказали, пусть и после того, как потребовали применить эту теорию на практике, то про командную разработку вообще почти ничего не было, так что наша команда (2-3 человека, каждый из которых нормально мог писать в одиночку) писала все большие проги (та практика, диплом и что-то ещё — курсачи вроде) всегда единолично — один чел писал софт, все вместе сдавали, а в следующий раз общую прогу писал уже другой чел. Просто потому, что мы весьма смутно се представляли конкретное взаимодействие при разработке :-?

Вот такие вот скромные курсы лекций читали нам, так же рассказывая об устройстве летательных аппаратов или например экологии…

Что же касается лично меня, то я старался параллельно заниматься самообразованием (быть может поэтому например лекции по ОСям, Паскалю/Дельфи и С/С++ не принесли мне новых знаний), так же со временем стал поглядывать на открытые разработки. Так что устроившись программистом, я уже хотяб более-менее знал как работать с SVN и кое-что представлял о системе сборки, не привязанной к какой-нить конкретной IDE.

Advertisements

комментариев 7 to “О настоящем программировании”

  1. prosolin said

    Самообразование рулит :-)

  2. Кудаж без него

  3. Load said

    Ну на программистов вообще вряд ли где-то нормально учат.. Наша система образования к этому не приспособлена, тут имхо надо предоставлять функциональную свободу студенту

  4. Я не видел проблемы в свободах, вроде как просили тока результат, ну иногда и средства ограничивали — например лабу по сям не принимали на паскале +)
    Но в тех же сях мы с одним челом как-то писали GUI на Win32 API, в то время, как остальная группа возилась с консолью — нам вот было просто интересно попробовать, ну мы и сделали «нормальный фейс». Компили кста тож свои притащили, поновее допотопных борландовских.

    Просто забавно, вот скажем более-менее нормальную документацию по проекту яувиделтока на работе, по-учёбе мы хоть и проходили её, но ничегоболее-менее содержательного я там не видел.

    Или совместная разработка — всёж и впрямь не помешалоб в курсы по разработке софта включить CVS/SVN, чтоб студенты хоть на простых и безобидных примерах могли понять как оно работает и для чего нужно.

    А как насчёт систем сборки? Вродь ничего большего, чем проект в какой-нить конкретной среде разработки и не преподаётся, в то время как для программиста среда вообще не должна иметь значения — он должен знать общие принципыработы таких сред (например работу make для С/С++, что-нить вроде Ant для Java и т.п) и способен быстро разобраться с какой-нить ещё не знакомой ему.

  5. Load said

    Под «функциональной свободе» я подразумевая свободу выбора объекта углубленного изучения, сопровождаемая квалифицированной помощью.

  6. У вас ещё хорошая ситуация, по сравнению с системой обучения, в которой варился я. У нас преподаватели, ровно как и студенты вообще смутно себе представляли, что означает процесс разработки ПО. С другой стороны, важно поднять общий уровень мышления, научиться искать и находить ответы самостоятельно, ставить и решать задачи — что иногда и стимулирует университетское образование :). Жаль конечно, но вряд ли ситуация изменится. Так что самообразование в отрасли программинга неизбежно, и самое главное, что его процесс никогда не должен заканчиватся :).

  7. Ну что самообразование надо, это естественно — всёж надо развиваться в профессии. Просто приятнож когда и на лекциях можно полезные вещи услышать +)

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s