Воспитание специалистов IT-индустрии

Статус: Offline
Реєстрація: 14.02.2008
Повідом.: 121
Воспитание специалистов IT-индустрии

Люди, которые являются на данный момент специалистами в области высоких технологий, говорят, что 99% их знаний, навыков - самостоятельный титанический труд. Ни для кого не секрет, что даже усердная учёба в харьковских ВУЗах по специальности "Системное программирование" не даст достаточного уровня знаний и навыков для выполнения реальных производственных задач.
Я - студент факультета компьютерных и информационных технологий, специальность системное программирование. Перешёл на 3 курс.
Меня интересует такой вопрос: как вырастить из себя хорошего специалиста, которого бы ценили?
Безусловно, я уже довольно долго, ещё со школьной скамьи, изучаю литературу, без которой сейчас никуда - мне знакомо перо Страуструпа, Шилдта, Либерти, Троелсена, МакКоннела. Но прихожу к выводу, что этого недостаточно. Отсутствие системы порождает сумятицу, прочитанные, но не использованные, не проверенные на практике "фичи" и "фенечки" языков забываются. Естественно, сильно сказывается отсутствие реальной практики. Учебные примеры не в счёт. Когда читаю тестовые задания для вакансий типа "С++ developer", то выясняется, что знаний основ недостаточно, так как эти задания обростают обилием технологий: для реализации нужно использовать ту или иную библиотеку, данные хранить в определённой базе, для общения с БД использовать такой-то интерфейс и так далее. Больше всего пугают именно кучи различных аббревиатур в названиях технологий. Например, тому же С++-разработчику в списке навыков приписывают MFC, VCL, COM, ATL, WTL, Win32API, XML...

Отсюда вопрос к действующим специалистам этой сферы: каким образом вы достигали мастерства? Как вы учились сами и как вас учили в IT-компаниях? Что вы посоветуете студенту-программисту?

P.S. Приношу извинения за сумбурный пост.
 
Имхо стать специалистом можно исключительно выполняя живые проекты.
А конкретными технологиями особо не заморачивайся - изучаются уже в процессе выполнения работы. Достаточно знать основыи владеть какой-то похожей технологией
 
Не будучи программистом, и то знаю большую часть из этих сокращений. То, что мастера знают, не пишут в учебниках для мастеров. Главное в любой сфере деятельности- а) мозги, б)интерес к ней, в) работать и работать. Один мой знакомый, перед тем, как идти на свое первое собеседование, у меня спрашивал, что такое pop3, smtp, http. Сейчас он держит свою локалку и обслуживает большие сети в супермаркетах.
 
Безусловно, я уже довольно долго, ещё со школьной скамьи, изучаю литературу, без которой сейчас никуда - мне знакомо перо Страуструпа, Шилдта, Либерти, Троелсена, МакКоннела.
Вау, який стиль! Особливо "перо Страуструпа", з яким, того ж, ви знайомі.
Я не одразу помітив у чому прикол! Респектъ (і рєпка)!
 
Автор, смотри, сейчас ситуация на рынке ИМХО такая, что нужны специалисты конкретного профиля. Поройся по сайтам поиска работы, поймешь, знание каких платформ/технологий обычно требуется "в нагрузку" к C++, если ты видишь свою дальнейшую карьеру именно как C++-ник. Оговорка эта неспроста, так как сейчас, насколько я знаю, спецы по "плюсам" нужны:

- Для поддержки существующего кода (самый скучный вариант, но легче всего найти такую работу для студента или выпускника без опыта)
- Кросс-платформенная разработка: ясное дело, требуется знание нескольких операционок и их особенностей, навыки разработки кросс-платформенных приложений
- Написание софта под мобильные устройства: соответственно, знание Symbian и/или Windows Mobile и навыки написания программ под эти ОС
- Игроделание: требуется знание 3D-графики, алгоритмов AI, векторной алгебры и матриц, DirectX/OpenGL...

MFC/WTL/Win32 API - имхо, уже немножечко "атавизм":
я бы не стал писать прикладное приложение с нуля на C++, это неоправданно дорого. Исключение, как я уже говорил, игры (но там нужно в основном Win32 API, и то в ограниченных объемах), и графические системы CAD/CAM (но и там я бы на "плюсах" писал только критичные по производительности куски, в основном связанные опять же с вычислениями и графикой). Так что если такое пишут в требованиях, то это либо означает поддержку существующего кода, либо HRы "перестарались"

XML знать-таки полезно, на каком бы языке не программировал.

А вот VCL - это вообще из области Delphi, по-моему...
 
Учебные примеры не в счёт. Когда читаю тестовые задания для вакансий типа "С++ developer", то выясняется, что знаний основ недостаточно, так как эти задания обростают обилием технологий: для реализации нужно использовать ту или иную библиотеку, данные хранить в определённой базе, для общения с БД использовать такой-то интерфейс и так далее. Больше всего пугают именно кучи различных аббревиатур в названиях технологий. Например, тому же С++-разработчику в списке навыков приписывают MFC, VCL, COM, ATL, WTL, Win32API, XML...

Отсюда вопрос к действующим специалистам этой сферы: каким образом вы достигали мастерства? Как вы учились сами и как вас учили в IT-компаниях? Что вы посоветуете студенту-программисту?

P.S. Приношу извинения за сумбурный пост.

Почитай Скотта Майерса - его книги не такие толстые, как у обладателей перьев, ;) зато содержат именно описания пролем и способов их решения. Кстати, собеседования любят проводить именно по вопросам из его книг "Эффективное использование С++" и "Наиболее эффективное использование С++".
VCL - это вообще-то библиотека написанная на Object Pascal и используется в Delphi и C++ Builder. Которые для программирования для забугорных заказчиков, насколько мне известно, сейчас не используются.
Новые проекты на С++ под винду делаются, только пишутся они не на MFC, а на ATL/WTL.
IMHO, C++ под винду умер. Зато он жив под другие ОС ;)
Linux, Symbian, частично Mac OS X... Под макось GUI вообще делается на Objective-C. Так что думай, решай.
Я бы вообще советовал забить на MFC,ATL,WTL,COM, а учить С++ применительно к *NIX: QT4, WxWidgets, pthread, CMake(система сборки программ).
Или уже тогда C#/.NET, ASP.NET, XML или Java...
 
А почему в перечне не упомянуты сопровождение и разработка всяких банковско-бухгалтерских-erp-прочих систем?
не самое интересное занятие, но, имхо, самое живое и самое высокооплачиваемое на украине.

В связи с надвигающимся банковским кризисом-можно остаться без рабочих мест, пока выучишься
 
MFC/WTL/Win32 API - имхо, уже немножечко "атавизм":
я бы не стал писать прикладное приложение с нуля на C++, это неоправданно дорого. Исключение, как я уже говорил, игры (но там нужно в основном Win32 API, и то в ограниченных объемах)
ебать копать, винапи в основном для игр? я под столом! обічное окно без него не отрисуеш, да и не только для

моё мнение, винапи как азбуку нужно знать
 
ебать копать, винапи в основном для игр? я под столом! обічное окно без него не отрисуеш

Я говорил, что для игр как раз не нужно знать WinAPI "как азбуку" - работа с графикой, звуком, устройствами ввода и сетью, как правило, идет уже через DirectX. Работа с файловой системой - через стандартные потоки ввода/вывода, в худшем случае - через функции CRT. Разве что memory-mapped файлы городить... То есть, на долю WinAPI остается создание основного окна, цикл обработки сообщений, еще, возможно, таймеры (из того, что навскидку могу вспомнить).

Вот про знание GDI/GDI+ соглашусь, впрочем, я и с самого начала писал, что графика - это как раз одна из тех вещей, знание которой пригодится. Даже в .NET, там все равно везде в System.Drawing GDI-шные уши торчат :)

А вот написание чисто прикладных программ (банки, бухгалтерия и т.п.) на C++ - ИМХО чисто местный СНГшный маразм. Аргументирую:

Вероятность поиметь себе на задницу геморрой с чисто C++-сными тонкостями (утечки памяти, непреднамеренное разрушение объектов, указатели в "левые" области памяти), особенно не читав Мейерса - явно выше среднего, кода для создания современного пользовательского интерфейса понадобится тоже гораздо больше, чем в том же .NET или Delphi, с COM-объектами заморочек добавляется еще больше (а без COM с тем же ADODB не поработаешь), а выигрыш-то в чем?
 
oldcolony сказав(ла):
В связи с надвигающимся банковским кризисом-можно остаться без рабочих мест, пока выучишься
какой такой банковский кризис надвигается?
 
какой такой банковский кризис надвигается?

Новости читайте.Да и чисто логически, оглянитесь вокруг и пройдитесь по улице-такое количество банков в нищей стране может прибыльно работать? Да и не для того они создавались, раскрутить и продать, щас процесс пошел в нисходящую ветвь траектории, как МММоиды в свое время. Но это уже не в тему.
 
Не забывй правильно питаться и жить в своё удовольствие. Люби жену и детей. И вообще будь добрым и веселым. А то перья Страуструпа ничего, кроме гемороя, не дадут.
 
Alipapa

подпись рулит :))
 
Я говорил, что для игр как раз не нужно знать WinAPI "как азбуку" ....
говорил ті то что говорил

MFC/WTL/Win32 API - имхо, уже немножечко "атавизм" ... Исключение, как я уже говорил, игры (но там нужно в основном Win32 API, и то в ограниченных объемах

уві не телепат
 
Ребята, вы немного отклонились от темы. Меня интересовало именно то, как именно вы себя обучали, как из вас "делали" специалиста в ваших конторах.
 
Ребята, вы немного отклонились от темы. Меня интересовало именно то, как именно вы себя обучали, как из вас "делали" специалиста в ваших конторах.

а что здесь писать, если уже написали: I.Jones Имхо стать специалистом можно исключительно выполняя живые проекты.
я полностю согласен, а покачто мож ковырять основы.. а еще чуть незабыл, как с 2-м родным..(т.е. с англ.)
 
Безусловно, я уже довольно долго, ещё со школьной скамьи, изучаю литературу, без которой сейчас никуда - мне знакомо перо Страуструпа, Шилдта, Либерти, Троелсена, МакКоннела.
Правильно-правильно... "Студенты, не читавшие Страуструпа, к работе с клавиатурой не допускаются" :D

Вероятность поиметь себе на задницу геморрой с чисто C++-сными тонкостями (утечки памяти, непреднамеренное разрушение объектов, указатели в "левые" области памяти), особенно не читав Мейерса - явно выше среднего
Ух ты. Т.е. читаешь Мейерса - и ты просто гуру, не читаешь - все, писец, промахи по указателю, мемори-лики и т.д. И как мы раньше жили без Мейерса...

Ребята, вы немного отклонились от темы. Меня интересовало именно то, как именно вы себя обучали, как из вас "делали" специалиста в ваших конторах.
К сожалению, мой опыт несколько бесполезен, ибо я из того поколения, которое действительно "сделало себя само" в плане программирования. "Живые проекты" уже советовали, могу к этому добавить: чтобы участвовать в живых проектах - соглашайся работать "за еду".
 
я бы сказал, только начав делать проекты. Книжки читать и HelloWorldы делать - это совсем не то.

Возьми и поставь себе задачу.
Скажем веб разработка - клон ХарьковФорума. 1 в 1.
По мере ее решения, ты постигнешь большую часть нужного тебе в этой сфере.
 
romziki
почему тогда не воспользоватся прогой --> Teleport Pro
для более точного клона ХФ
)))))))))))))))))))))))))
 
Чото мне думается, что для форума брался готовый движок.
 
Назад
Зверху Знизу