WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 || 3 |

«коммивояжер» вполне может быть «звездой» компании-работодателя, но только в том случае, если основная деятельность компании – не разработка ПО.

Недостатки:

несмотря на то, что специалисту известны многие технологии и языки программирования, его квалификация в отношении каждого конкретного инструмента может быть совершенно различной: от достаточно глубокого знания то поверхностного (на уровне написания программ типа «Hello, world!»), поэтому действительно сложная задача, требующая применения конкретного инструмента и знания его нюансов, может быть для программиста-коммивояжера неразрешимой;

по каждой отдельно взятой технологии или языку программирования «коммивояжеры» редко достигают той глубины знания, которой обладают специализированные «шахтеры»;

у подобных специалистов часто возникают проблемы с поиском работы, поскольку а) им интересно многое, но не что-то одно конкретное и б) могут присутствовать внутренние сомнения относительно профессиональной пригодности для данной конкретной вакансии;

могут испытывать трудности в части профессионального роста, потому что часто непонятно, «куда стоит расти».

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

В качестве еще одного примера можно привести парадигму «Рантье».

Слово «рантье» (фр. rentier от rente – рента) обозначает человека, живущего на проценты с отдаваемого в ссуду капитала или на доходы от ценных бумаг.

В случае программиста-рантье речь идет о человеке, создавшем некоторый продукт и впоследствии получающим от него доход. Способы извлечения дохода могут быть разными: обучение работе с этим продуктом, создание компании, продающей и развивающей этот продукт, выполнение коммерческих заказов, то есть разработки нового ПО на базе данного продукта и т. д.

Имеет смысл говорить даже не об однозначном соответствии специалиста той или иной парадигме, а о размере той и иной доли «шахтера», «коммивояжера» и т. д. (в частности, каждый программист в определенной мере мечтает стать «рантье»). На то, каким специалистом в области разработки ПО может стать человек, оказывают влияние многие факторы:

его темперамент, как именно и когда он начал программировать, какой инструмент разработки был у него первым и так далее. К этому не имеют никакого отношения уровень интеллекта, наличие способностей и предрасположенности к занятиям программированием – можно быть как плохим «шахтером», так и плохим «коммивояжером». В данном случае важен ответ на вопрос: что именно введение понятия «парадигма специалиста» дает для организации учебного процесса Подход на основе парадигмы специалиста Предлагаемый подход не имеет ничего общего с преподаванием «для одаренных» или «в расчете на средний уровень». Дело в том, что работающие «шахтеры» и «коммивояжеры», уже получившие некий опыт практической деятельности, ретроспективно по-разному оценивают смысл и пользу от различных дисциплин и видов занятий, имевших место при обучении по специальности в вузе. По-разному отвечают они и на вопросы о своей работе.

Табл. 1.

Примеры ответов программистов, преимущественно подпадающих под разные парадигмы специалиста, на вопросы о работе и обучении Примеры ответов Вопрос «Шахтер» «Коммивояжер» Как вы можете «Я – системный программист, «В настоящее время я – ведущий научный сотрудник охарактеризовать свой специализируюсь на C++, но знаю и Центра анализа и управления рисками ВНИИ ГОЧС рабочий профиль, то применяю несколько других языков. МЧС России1, занят разработкой прикладных есть своими словами Что касается областей деятельности, научных методик, моделей и т. д., а также описать, чем то у меня их две основных: мобильная автоматизацией, то есть разработкой ПО для занимаетесь на разработка (телефоны, смартфоны, расчетов и анализа согласно этим методик и другим сегодняшний день коммуникаторы и прочее) и серверная научным результатам. Задачи возникают разные: от Какое ПО используете и разработка для высоконагруженных разработки простых вычислительных программ до разрабатываете, каковы решений. В ходе карьеры я чередовал программ составления отчетов на базе анализа Ваши функции эти области, на последнем месте же я больших объемов данных и имитационных моделей, их фактически сочетаю. В настоящее поэтому применяются разные инструменты: от C++ и Федеральное государственное бюджетное учреждение «Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России» (федеральный центр науки и высоких технологий).

время основную часть рабочего программ, написанных с нуля или на базе библиотек времени я уже не пишу код, а ставлю (например, Pilgrim 5), до Microsoft Access с Visual задачи другим программистам, Basic for Applications и геоинформационных систем провожу оценку и планирование (например, esri ArcGIS в прошлом ArcView). По ходу работы, а также разработку карьеры долгое время работал в сфере ИТархитектуры». образования, успел получить также опыт работы системным аналитиком (разработка систем дистанционного обучения), техническим писателем, специалистом технической поддержки».

Перечислите, «Языки: «Языки:

пожалуйста, С++ – владею достаточно хорошо, C++, C# - на сегодняшний день это два основных технологии, языки, основной рабочий инструмент; инструмента, владею уверенно;

методики и т.д., Python – знаком в общих чертах, на VB, VBA – в прошлом приходилось работать которыми вы владеете, уровне написания несложных довольно часто, так что знание уверенное, на и степень, в какой скриптов для обработки текстовой сегодняшний день применяются эпизодически владеете.

информации; при необходимости;

Test Driven Development – разработка, управляемая тестами. Процесс разработки ПО, базирующийся на многократном повторении очень коротких циклов разработки (создание провального теста, определяющего нужный функционал, написание кода, позволяющего программе пройти этот тест, рефакторинг кода).

Perl, PHP – когда-то был знаком, но Java, JavaScript, Perl – в прошлом приходилось знания остались в прошлом; применять несколько раз;

C#, Java - знаком в самых общих Python, PHP, Ruby, COBOL и еще с десяток чертах. языков – базовые теоретические знания или Технологии: навыки на уровне написания программ «Hello world»! мобильная разработка – Windows Технологии:

CE / Smartphone / Mobile, PalmOS, Symbian, Brew; компьютерная графика и интерактивные приложения – OpenGL, DirectX (достаточно серверная разработка – Unix/Linux:

давно не приходилось этим заниматься), но pre-fork, threading, sockets, знания и навыки практической разработки разработка приложений для работы обширные;

под высокой нагрузкой;

имитационное моделирование – Pigrim 5;

SQL – в общих чертах, на уровне стандарта SQL’92. разработка на платформе Microsoft Office (в том Методики: числе сложных больших приложений, таких как графические конструкторы) – Access, Visio, Предпочитаю итерационную Excel, Word.

модель, TDD2, раннюю Методики:

интеграцию».

Проектирование взаимодействия «по Куперу» [14], водопадная или итерационная модель разработки в зависимости от размера проекта.

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

Какие дополнительные «Знаком с теориями проектирования «Аналогично, плюс SW-CMM3, COCOMO4, ITILзнания и навыки (не ПО, управления жизненным циклом (хотя в противовес стандартам на интерфейсы касающиеся программных продуктов. Немного считаю стандарты на процессы сомнительными с непосредственно знаком с теориями управления точки зрения полезности), метрики ИТ-услуг».

кодирования) у вас качеством, а также с управлением имеются рисками».

Capability Maturity Model for Software – модель зрелости процессов разработки программного обеспечения.

COnstructive COst MOdel – алгоритмическая модель оценки стоимости разработки программного обеспечения.

IT Infrastructure Library – библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в области информационных технологий.

Как эти компетенции «До вуза я знал Паскаль и немного C, «До вуза я знал восемь диалектов Бейсика (Spectrum, приобретались по ходу в самых общих чертах представлял, Yamaha, G-BASIC, QuickBASIC и несколько других).

жизненного пути, что такое Ассемблер. В институте В институте изучил Паскаль, C, затем C++, начиная с вуза изучил C++ – это собственно Ассемблер, общие вопросы, связанные с разработкой основное, что пригодилось в БД, минимум по метрикам ПО, зачатки Perl. Во дальнейшем. Помогли также общие время обучения самостоятельно освоил Java, знания по теории баз данных (БД) и JavaScript, разработку приложений под Windows SQL. (WinAPI, MFC – это было в 1996 году, так что была Первая серьёзная работа познакомила необходимость осваивать самостоятельно, многие меня с Perl, PHP и веб-технологиями в тогда еще ограничивались программами под DOS), целом (в вузе тогда этого почти не Delphi, позднее Visual Basic. Волей случая я преподавали, а преподаваемое было в столкнулся с геоинформационными системами, минимальном, не годном к простой интерес заставил изучать DirectX, а работа употреблению объёме). Затем над диссертацией через несколько лет – привела к следующая работа была уже после изучению имитационного моделирования (Pilgrim 5), окончания института – там я начал OpenGL и всего, что связано с графикой в общем и с применять познания в C++ и визуализацией в частности.

познакомился с разработкой ПО под Работа в ИТ-образовании требовала широкого круга мобильные платформы. Потом новая знаний – декан отвечает за специальность, значит в работа – снова C++ и новые той или иной мере должен разбираться или хотя бы мобильные платформы. Потом смена иметь представление по всем вопросам, которые отрасли – разработка под Unix/Linux, затрагиваются учебным планом. Знания в области институтские познания к этому управления проектами, разработки документации, моменту практически забылись, технической поддержки потребовались уже на восстанавливал заново. Ну и следующей работе».

нынешняя работа – тут объединились мобильные платформы и серверная разработка. Руководить учился самостоятельно».

Что на ваш взгляд было «На мой взгляд, много в нашем «Сейчас, ретроспективно кажется, что наибольшая неправильным в обучении было лишнего, и многого проблема – отсутствие реальных задач. И дело не учебном процессе вуза явно не хватало. Самое неприятное, только в постановке: реальная задача всегда что не хватало многих вещей, которые комплексная – нужно не только разработать могли бы быть наиболее качественно алгоритм, но организовать взаимодействие с БД, освоены именно в институте – т.е. в создать интерфейс пользователя, вписать коллективе и в искусственных разработанное в какую-то уже имеющуюся систему, условиях. обеспечить вывод в файл определенного формата, Что было лишнего – явно лишние приложить к программе ту или иную документацию предметы, которые далеко не всем и т. д. В реальных условиях существуют и пригодятся или которые достаточно ограничения на условия, в которых задача решается:

легко изучить самостоятельно. жесткое ограничение по срокам, когда приходится Примеры: основы документирования выбирать инструмент, исходя из того, как можно ПО (далеко не всем нужен этот решить задачу более быстро, а не более эффективно;

формализм, легко изучить самому, без работа в команде – распределение функций; работа практики моментально забывается), только с определенными инструментами или экспертные системы (слишком узкая наоборот выбор инструмента, технологии по специализация, мало кому нужно), определенным критериям и т.д. Не могу сказать, что метрология и качество программного я получил в вузе хоть какое-то представление обо обеспечения (практической пользы всем этом».

мало, без практики моментально забывается) и т. д.

С другой стороны, не хватало технологии разработки ПО, разработки через тестирование (TDD), освоения средств для работы в команде, принципов рефакторинга и т.д. То есть нас очень мало готовили к реальной программистской работе в команде. Почти не объясняли, что такое качественный код, и как его писать».

Что в вузе было «Хорошо преподавали базовые «Вуз дает систему знаний. Например, есть действительно знания. Основы программирования, кодирование – скажем, это основной рабочий конструктивного аппаратную часть, C++, отрезок. А есть какие-то виды работы, аспекты слева, компьютерную графику и т. д.». справа, до и после этого отрезка. Вуз позволяет получить такое системное представление о работе программиста. При этом конкретная система знаний, выстроенная вузом, может быть удачной или неудачной с точки зрения характера и конкретного места работы будущего специалиста, но, по крайней мере, система есть, а значит проще добавлять в нее новые знания, сохраняя интегрированное представление об области деятельности в целом».

Как вы выбираете свою «Как правило, выбор обусловлен «Возможно два варианта: либо анализируется стратегию обучения, то насущной необходимостью. То есть текущая предметная область и те задачи, которые есть язык, технологию, появляется конкретная задача – я ищу приходилось и приходится решать – происходит источник, которые в Интернете рекомендации по изучение подходящих для этого инструментов, либо следует изучить литературе, достаю, читаю, сразу же просто выбираются новые интересные технологии в начинаю применять. После решения расчете на то, что и они могут пригодиться (в конкретной задачи, если интересно, научной деятельности часто приходится применять продолжаю углублённое изучение». что-то новое или даже старое для новых задач)».

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

культурология, разносторонне».

Pages:     | 1 || 3 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.