У нас есть ИТ-персонал из 5 человек:
Все пенсионеры работают в компании с 4-х лет и полностью преданы своему делу.
Помимо нашего онлайн-приложения для обмена фотографиями, мы получаем настольное приложение для Windows, которое позволяет записывать видео DVD со слайд-шоу, созданными с помощью онлайн-приложения. Он написан с помощью Zinc, альтернативы Adobe AIR, с некоторым кодом Imapi и FFMpeg.
В настоящее время это приложение является головной болью для всей команды, потому что оно содержит ошибки из-за технических ограничений Zinc. Поэтому мы хотим переделать его с нуля на C#, что позволит нам получить гораздо лучшее программное обеспечение.
А вот и настоящая проблема: мы не можем позволить себе нанять еще одного старшего инженера, и в настоящее время у нас нет собственных навыков работы с C#.
Вот несколько идей решения:
Должен признаться, ни один из них не делает меня счастливой. Что вы думаете? Любая инновационная идея?
Это звучит как классическое решение «сборка против покупки». Я бы порекомендовал собрать команду вместе, чтобы написать функциональную спецификацию того, как должно выглядеть ваше программное обеспечение, что оно должно делать, как оно будет установлено и как оно будет поддерживаться. Укажите заявление «Предпочтительная разработка на C# для обеспечения гибкости в будущем. Предложения по использованию альтернативных языков принимаются/не принимаются» (на ваш выбор).
Затем разошлите RFP в специализированные магазины и узнайте, сколько может стоить просто «купить». После того, как у вас будет эта цена, вы можете решить, строить или покупать. Если строительство все еще дешевле, функциональная спецификация, вероятно, все еще будет полезна.
Кроме того, убедитесь, что вы покупаете исходный код и авторские права. Адвокаты полезны для таких контрактов.
Могли бы вы использовать навыки ActionScript и Flex и сделать это в AIR?
В качестве вопроса управления проектом я бы рекомендовал нанять эксперта по краткосрочному контракту. Дает вам контроль, гибкость, возможность повторного найма в будущем и потенциальную передачу знаний за счет того, что этот человек находится в компании (особенно если люди из вашей команды могут скрывать / объединяться с ними).
Пара диких кадров:
Стажеры будут в доме достаточно долго, чтобы, если у вас есть наставник, вы вернули свою ценность?
Наставник, конечно, должен быть экспертом по C#, возможно, внештатным подрядчиком на полставки (в зависимости от того, сколько требуется наставничества).
Поставлены ли перед старшими разработчиками правильные задачи? Не мог бы ваш старший специалист по C# получить наставничество, чтобы освежить свои знания и помочь сблизиться со стажерами?
Если это необходимо сделать на платформе .NET, вы можете перейти на другой язык программирования.
Посмотрите таблицу поддерживаемых языков .NET framework .
Согласно этой таблице, .NET поддерживает язык Java, и у вас в команде есть специалист по Java.
Я не уверен, возможно ли программирование Java на платформе .NET. Возможно, вам стоит спросить об этом у программистов SE или у stackoverflow .
Если решение о смене языка программирования невозможно и вам нужно решить проблему нехватки навыков в вашей команде, я бы порекомендовал следующее:
На короткий срок:
На длительный срок:
Через некоторое время старший сможет работать с фрилансером, делая переход более плавным.
Найти летнего стажера в университете
Вместо того, чтобы нанимать эксперта по C#, возможно, стоит рассмотреть альтернативу найму еще одного стажера или найма студента на неполный рабочий день. Если вам это нужно для временного проекта, я считаю, что мотивированный и опытный студент может сделать работу так же хорошо, как и профессионал. Вы также можете предложить стимул нанять его / ее на полный рабочий день после завершения учебы. Контрактные соглашения могут отличаться от страны к стране, но расторжение студенческого контракта должно быть проще.
Что мы на самом деле сделали: мой коллега, ранее обучавшийся C#, обновил свои навыки C# и начал разработку новой версии программного обеспечения.
Мы запланировали проект таким образом, чтобы постепенно заменить различные элементы, написанные с помощью Zinc, кодом C#. Сначала часть для встраивания пользовательского интерфейса Flash, затем часть, используемая для захвата изображений из слайд-шоу, и, наконец, часть, объединяющая различные части системы, включая встроенный видеокодер FFMpeg с огромным туннельным эффектом.
Таким образом, мы можем поддерживать работающее программное обеспечение в каждый момент времени и в то же время постепенно улучшать его. А у моего коллеги больше времени для того, чтобы идти в ногу со временем, не занимаясь монолитным проектом.
В настоящее время проект находится на верном пути и успешно продвигается. Первые улучшения действительно многообещающие.
Джонни
Алексис Дюфреной
Марси
джморт253
Алексис Дюфреной
джморт253
technical management
илиsoftware management
вопрос. Но я также вижу, как это может быть вопрос в личку, и понимаю вашу точку зрения.Киино
мварк
Крис