Pull to refresh

Comments 104

Все правильно от начала и до конца!
Самообразование нас спасет!
Можно и нужно получать опыт работы с первых курсов, и, как вы сказали, не бояться неудачи при поиске новой работы.
У меня ощущение, что в буржнете Вы через год обучения сео будете подымать больше, чем после многих лет обучения этому. Только в сео прибыль каждый месяц увеличивается, а тут…
Я очень люблю свою работу. Просто безумно рад, что я программист. :)
Так у автора цель не только в деньгах…
Вы с этим комментарием опоздали лет на 5.
UFO just landed and posted this here
UFO just landed and posted this here
Одно другого не отменяет: в ВУЗе кроме фундаментальных знаний неплохо бы и прикладные получать. А то выпускник ВУЗа получается на старте менее квалифицирован чем ПТУшник
Зато более универсален в перспективе.
Если у студентов нет желания и заинтересованности осваивать все эти «знания более высокого уровня абстракции», то сколько их не учи, они ничему не научаться. А, к сожалению, незаинтересованных студентов сейчас в вузах большинство (сам студент и сужу по своему кругу знакомых и сокурсников).

Более того, различным технологиям и языкам еще можно научиться, путем тупого выполнения заданий («лабораторных»), банальным кодированием, без особого осмысливания (чтобы поставили «зачет» или 3-4 на экзамене). Что касается таких вещей, как «Алгоритмы, структуры данных, теория графов, теория компиляторов», то их нужно понимать, применять на практике и закреплять. В идеале, изучение конкретных технологий должно идти совместно с изучением таких абстрактных вещей (во многих вузах так и есть), но без желания учиться это мало что даст.
ВУЗ должен давать знания из ПТУ + более широкие знания, что указали вы… в т.ч. и паттерны и подходы проектирования (последнее дают… где-то, кроме университета).
К сожалению, я не встретил ни одно преподавателя по программированию, алгоритмам и т.п., который дал бы мне по рукам за то, что писал тогда.
Если бы такому учили в пту, то птушного образования бы хватило за глаза 99% программистов.

Оставшийся 1% бы занимался поисков в гугл, операционой системе в ms или linux или писали системы типа фейсбука.
Мысли и идеи все верные, только если бы студенты действительно так мыслили, а то им сейчас по окончании института сразу подавай $$$. Да и обучаться из них почти никто ничему не хочет — в институте якобы хватило. Хотя ведь правда, что невозможно всему тому что Вы перечислили в начале статьи обучить, даже 10%.

Кстати, у нас к примеру все действительно дельные сотрудники выращены компанией из студентов 4-5 крусов. Сколько со стороны ни брали — почти никто не приживался (либо халтурили и их увольняли, либо сами уходили).
Студента главное заинтересовать, тогда все эти технологии он выучит сам, еще и преподавателя научит. Около года назад, вначале 4-го курса, я «взялся за голову» и начал изучать новые для меня технологии, до этого знал только PHP и немного SQL. Пошел на курсы по Java (сейчас вот заканчиваю), дома стал изучать C#, писал простенькие приложения, пробовал разбираться в F#.

Между делом, мы собрали команду на Imagine Cup (достаточно спонтанно все произошло), достаточно неплохо выступили для первого раза, даже заняли призовое место и прошли на следующий этап. При разработке проекта, приходилось осваивать новые для меня технологии (Silverlight, ASP.NET). Осваивая F#, выполнил задание по одному из учебных курсов. Преподаватель был в восторге, а я написал статью (за которую получил инвайт на хабр). После конкурса, подал заявку на участие в программе Microsoft Student Partners, ее положительно рассмотрели.

Сейчас я заканчиваю курсы по Java, причем вполне успешно. Курсы проводит одна достаточно известная компания, и по окончанию курсов, я скорее всего устроюсь туда на работу.
Проблема как раз в том, что есть студенты которых ничего не интересует. Они считают что отучившись 5-6 лет в институте они получили все необходимые знания и являются квалифицированными специалистами. Кстати именно так их во многих вузах называют при выпуске, что в большинстве случаев неверно, особенно если речь идет об IT-специальностях.
А здесь есть только 2 варианта: либо студент сам поймет, что ему это образование, эти знания, действительно нужны и заинтересуется в этом, либо появится преподаватель, который сможет заинтересовать студентов (по-моему, это как раз главная черта преподавателя-профессионала — умение заинтересовывать в своем предмете).
Насчет преподавателей — сложно поспорить. Я к сожалению видел только одного такого преподавателя (и то ещё в школе) по алгебре. Он, собственно, и заинтересовал меня еще тогда программированием и прочими вещами в этом направлении. Он умел сделать неинтересное захватывающим — действительно уникальная черта.
даже если они прилежно учились, в реальной работе от них толку примерно одинаково нисколько. Только опыт делает из студента профессионала.
К сожалению до некоторых это весьма сложно донести…
да проще простого: просто не взять на работу :)

после обивания порогов десятка контор обычно аппетиты уменьшаются и возникает некоторое понимание реального положения дел.
Обычно мы ищем людей на какие-либо должности через различные ресурсы/знакомых/партнеров, поэтому «не взять их на работу» на них никак не повлияет, так как они сами к нам не приходили. Другое дело, конечно, когда кто-то сам является на открытую вакансию.
Будьте асом и профессионалом в своем деле, да не просто профессионалом, а новатором, бешеным гением и тогда всякие грамматические ошибки будут иметь второстепенное значение… имхо
Точно не помню где, но когда-то я отвечал на похожий комментарий. Вы можете быть супер гением, но чтобы вас признали (поняли ваши идеи) вам их еще нужно преподнести. А тут уже будет играть роль и грамматика, и ваша способность говорить и изъясняться. Но, конечно же, остается вариант случайности, когда-то кто-то заметит и вы просто будете тихий гений где-то там. ИМХО, лучше все-таки иметь эти способности, опять же лишними не будут.
Вы знаете, очень неприятно получается, когда на какой-либо конференции выступает докладчик, профессионал в своем деле, опытный человек, но слушать его очень тяжело — в его речи часто проскакиывают «че», «ихний», «вылазеет» и др., неправильные ударения, всякие «ээээ» и «ммммм» через слово и так далее. И впечатление о человеке резко портится, не важно даже, о чем он говорит.
Отличная статья. Применима не только к IT, а к жизни в целом.
Саморазвитие, большой кругозор и умение принимать опыт неудач всегда выручит.
Очень жаль, что мне не попалась подобная статья еще в школе. Понимание того, что нужно постоянно крутиться в непосредственной близости от интересующей тебя тусовки (я имею в виду программерское сообщество), чтобы постепенно стать ее частью пришло только к четвертому курсу универа. Первое время все ждал, когда же это преподаватели научат меня, как стать программистом, потом понял, что не научат, а время уходит
Такие статьи нужно не просто прочитать, а осознать. Прочитав такую статью, школьник вряд ли поймет всю важность того, что в ней написано.
Прекрасно, когда уже будучи студентом, человек понимает чего он хочет, в какой сфере хочет реализовать себя! Однако сколько случаев, когда только после института человек понимает, что заниматься он хочет другим, особенно если «случайно» попадает на работу, деятельность в которой никак не пересекается с его основным образованием.
Интересно, спасибо.

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

А ещё с вот этим абзацем
>>Итак, что же, по моему мнению, нужно преподавать в университете?
проассоциировалась вот эта картинка: ymilij.ru/wp-content/uploads/2010/03/viuchit_cinkr_za_21_den.jpeg

:)
Из-за людей, которые мыслят как вы, сейчас я, студент 4-ого курса, должен разбираться с абсолютно ненужным мне говном, а именно ВЕБ-ТЕХНОЛОГИЯМИ НА ЯВЕ — Spring MVC, Hibernate и прочим. Все это безумие можно освоить самостоятельно недельки за две, если понадобится, а я очень надеюсь, что все-таки не понадобится.

Я утверждаю, что тратить студенческие годы на изучение преходящих модных технологий/«умных слов» по большей части бессмысленно и вредно.
а я в студенческие годы писал на turbo C сортировки массивов десятком способов. За 8 лет работы это пригодилось мне ровно 1 раз.
Это основы, их надо знать. Без основ и понимания элементарных алгоритмов получаются только быдлокодеры.
лучше б ООП преподавали. его пришлось понимать самому.
правда у меня специальность инженер-физик :)
А нам преподавали. На 1-м что ли курсе. Я тогда вообще ничего не понял. Точнее, что-то выучил, запомнил, но не понял. А понял только тогда, когда сам в нем покопался и стал применять на практике.
Оукей, и поэтому ВЫСШИМ ОБРАЗОВАНИЕМ нужно называть обезьянье копание в XML-конфигах под ОЧЕРЕДНУЮ платформу, которое просто взять и выкинуть уж точно?

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

Не нужно себя ставить выше преподавателя. Он не может 100% угадать, что вам нужно и что вам понадобится в жизни. Он просто пытается вам показать разнообразную жизнь. Кто-то это делает умело, кто-то не очень. Может быть 10% ваших одногруппников будут безумно благодарны вашему преподавателю только за то, что он дал им именно Spring MVC, ибо при помощи этих знаний они все устроились на работу.
Не нужно ставить преподавателя выше себя, это уж точно. И давать ему возможность «угадывать», как вы выразились, что мне нужно, а что нет.

Я так понимаю, ваш тезис можно выразить как «всяко не лишнем будет». Я утверждаю, что Spring MVC в моей жизни лишний.

Ктстаи, вот как на сайте нашего практикума формулируется происходящее, обратите внимание:
В рамках практикума студенты разрабатывают небольшое Web-приложение с использованием среды интеграции Spring и преобразователя реляционных данных в объектные Hibernate. Для разработки используются технологии Java EE, среда Eclipse, инструмент разработки тестов TestNG.
Нам преподавали Oracle + PL/SQL + Borland C++. Знаете, при помощи этих знаний я научился разрабатывать приложения на MFC + Access и C# + MS SQL. Просто нужно заменить язык, платформу, все остальное остается тем же. Главное научиться создавать.
И что? Вам это преподавали, вам это понравилось и помогло. Вы ожидаете, что тоже самое случиться и со всеми остальными? Что им нужно «заменять язык, платформу и все остальное» и быть счастливыми?

Главное научиться создавать.
Простите, создавать что? ПРИЛОЖЕНИЯ? Или даже ПРОДУКТЫ?
Нет, мне тогда это не нравилось. Я понимал, что Borland уже мертв. Тогда платформа была стара. Правда, один раз я на ней что-то заработал.

Создавать что-нибудь, что могли оценить другие, не важно что. Хоть какашку красивую навалите, главное чтобы в округе кто-нибудь мог оценить на отлично вашу работу ;)

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

у меня точно так преподавали asp.net и немного php, которые мне не думаю, что понадобятся и не сильно интересны, но тем не менее я уделили пару недель на этот курс. Разобрался в основах работы на других платформах, что думаю есть только плюс.

В свою очередь JavaEE мне как раз интересна, но т.к. об этом не говорят в вузе, приходится разбираться по большей части самому.
Лично я бы сказал огромное спасибо вашему преподавателю, если бы он преподавал в нашем вузе то, что преподают у вас.
Вам тоже не нравятся сортировки? Или что у вас преподают?
Мне не нравится, что у нас на модуль (1/2 семестра) всего 4 предмета, и что некоторые из преподавателей заинтересованны в предмете меньше, чем сами студенты. Сортировки и другие алгоритмы были на 1-2 курсах, но я бы не прочь прослушать этот курс еще раз, будь хороший преподаватель, который бы его прочитал…
Вышка? Какой факультет? И что вы сейчас проходите?
а я вообще не ходил на лекции по информатике. Все что надо было прочел в библиотеке в книгах Кнута. Вообще большинство лекций бесполезны на мой взгляд, т.к. являются не слишком удачной интерпретацией всем известных вещей, которые есть в каждом учебнике. Вот хорошие семинары — это да, очень нужно.
Ну, если бы вы внимательно читали статью, ты поняли, что автор как раз не считает правильным изучение подобных технологий в институтах.
Студенты часто говорят о том, что в университете преподают не то, что необходимо на практике. Сколько топиков мы видели в прошлом году на ресурсе хабрахабр об этом (я себя сдерживал, и не ответил ни на один).

Итак, что же, по моему мнению, нужно преподавать в университете? Студентам понадобятся знания языков программирования, потому C#, Java, C++, ASM (а что, всякое возможно, может и такая работка попадется). Затем студентам нужно уметь создавать клиентские приложения, следовательно, WinForms, WPF, MFC. Веб-разработка: PHP, ASP.NET, ASP.NET MVC (ASPX/Razor). Данные нужно хранить: SQL-92, TSQL (MsSQL), PL-SQL(Oracle), MySQL, PostgreSQL. Ну не напрямую же от студентов будут просить связываться с БД, следовательно: ORM, Hibernate, NHibernate, Entity Framework, Linq-To-SQL, ADO.NET. Вокруг у нас еще технологии: Silverlight, WCF, WF, знания SOA. Еще нужно знать некоторые фреймворки разработки: Sharepoint, Microsoft CRM, SugarCRM. А стоп, мы же говорили о веб-программировании: XML, XHTML 1.1, HTML 4, HTML 5, CSS 2, CSS 3, XPath, XSLT, ну и куда же без JavaScript. Ну и основы, основы: Continuous Integration (CC.NET, nAnt, TeamCity, TFS); знакомство работы с репозиториями CVS, SVN, Git, Mercurial, TFS; паттерны: GoF, MVC, MVVM, MVP. Еще нужно знать разные оболочки разработки, инструментарии (Debuging, Profiling), и до кучи умные слова: TDD, IoC, Scrum, Agile и т.п.
Дальше:
А теперь, еще раз взгляните на мой список. Практически все эти технологии связаны между собой Microsoft (80%), ну так сложилась моя карьера. Это всего лишь Microsoft. Ruby разработчик напишет другой список, а разработчик Embedded устройств напишет свой (они будут, конечно, как-то пересекаться с моим). Более того, я тут, практически, еще не писал версии платформ. Когда текущие первокурсники окончат университет, этот список так же можно будет подправлять и изменять. Так что же в действительно нужно рассказывать в университетах? Именно то, что сейчас и рассказывают. Не больше, не меньше. Какая разница, какое подмножество вам расскажут из множества IT, и сколько. 100% покрыть не получится – это точно, даже 10%, а разница, что один университет рассказывает 0,0005%, а другой 0,0006%, небольшая. Есть основы, их рассказывают во всех университетах, их и должно хватать. Зависит, конечно же, от преподавателей, как они подаются.
Выходит, автор сам себе противоречит? Мой эмоциональный выпад был адресован именно фразе "что же, по моему мнению, нужно преподавать в университете".
Ну, вначале он сделал предположение, а затем опроверг его. Это распространенный литературный прием. Не помню только как он называется :)
Спасибо, да. Я тоже не знаю как называется этот литературный прием, но я его использовал. :)

Мне тоже показалось что хабраюзер sbos не совсем понял то что я хотел донести.
Похоже, автор перемудрил сам себя. Ему нужно переформулировать посыл. Иначе довольно много людей бросят читать после этой самой фразы со словами КГ/АМ. Я, кстати, в их числе. в комментариях уже прочёл, что автор на самом деле так не думает, но желания продолжить чтение так и не появилось…
Извините конечно, но у меня не было интереса заинтересовать всех. Я хотел выразить свои мысли. Нравятся они вам или нет — это другое дело. Но я написал именно так, как считал нужным.
Да не проблема. Мне-то что. Я немного о другом — чтобы определить понравились мысли или нет, нужно хотя бы прочитать. Ваша же форма выражения того, что здесь назвали предположением, отпугивает от дальнейшего прочтения. И, как показывают комментарии, не меня одного. Причём с одной и той же формулировкой — этому нужно учить в ПТУ :). Я только об этом.
Таки подозреваю, что хоть вам и не хотелось уж прямо всем понравиться (что нормально), но донести мысли хотелось до максимально широкой аудитории. Нет? :)
Мне кажется, что тот кто хотел прочесть и так прочтут. А моя статья построенна на моем выступлении. Так просто получилось, писал со слайдов. Мне было важно показать именно то, что этого множества очень много (правда на слайде и в живую это сделать намного проще).
Для тех кто читает, а не пролистывает все понятно.
Хотя на самом деле не согласен с автором. Преподают сейчас фундаментальное программирование, а нужно фундаментальный процесс разработки.
Например:
Есть несколько методологий разработки ПО (waterfall, agile, scrum, kanban). Описываем общее и различия, фиксируем названия этапов!
Дальше есть несколько этапов разработки, помните мы их описывали когда проходили методологии? Теперь поподробнее как эти этапы могут быть реализованы (проектирование, программирование, тестирование, ...) и их взаимосвязи в разных методологиях.
Дальше изучаем язык программирования, а помните у нас были этапы разработки? Вот Какие есть инструменты для этого языка, какие подходы реализованы внутри языка, какие с помощью библиотек, какие сторонними приложениями.
Теперь другой язык, то же самое только другие инструменты. Какие отличия?
По идее эти 3 курса должны вести 3 человека которые плотно работают друг с другом и разбираются в разработке на уровне Архитектора или Тим Лида, они не должны учить программированию! Каждый курс постоянно должен закреплять в мозгу студента связь между смежными курсами.
Параллельно! ведется курс по основам языка и программированию, вести должны математики (структуры и алгоритмы) и программисты (конкретный язык во всех деталях).
Отдельно ведется курс по разработке ПО (на стыке 1 и 2 блока), на группу дается задание (можно open source) они проходят полный цикл на определенном языке за семестр. План и прочее делают сами, преподаватель выступает в роли ментора, во время практики собирает информацию о ходе проекта и дает подсказки, во время лекций анализ ошибок и поиск решений.
Но! реально больше чем половине студентов это не нужно, половина преподавателей этого не знают или уже далека от этого. Про себя несколько раз порывался вернуться в университет на аспирантуру (попытаться реализовать что-то подобное в мини масштабе), но ни денег ни времени на это нет. Печально.
Тут есть еще самое большое НО, чтобы так все было идеально нужно, чтобы преподаватели договорились между собой о том, кто за кем ведет и какие курсы. У нас же немного по-другому, идет просто битва за часы, кто себе чего нахапал, а потом уже думают, что будут преподавать на том, что отхапали.
Я об этом тоже много думал, когда преподавал в университете, что у нас просто преподавтели не могут договориться о том, что кто будет преподавать. Поэтому я всегда свои курсы начинаю с того, узнавая, что они уже прошли, что им преподают и только потом подстраиваю под них свои лекции/практику, чтобы дать им что-то новое, а не зачитать еще одно второй раз.
Для каких специальностей?
инженер-программист? Может даже техник-программист (ПТУ или техникум?).
Речь, вроде, шла об университетах. Для компьютер-сайнс зачем это?
Речь о специальности математик-программист в университете
Я бы еще хотел добавить про важность различных конкурсов, сорвенований, мероприятий — то, о чем недавно писали. Это лишний повод, мотивация для студентов изучать новые для них технологии, работать в команде, создавать свои проекты и доводить их до конца.
Мотивировать можно только тех студентов, которые пошли на эту специальность осознанно. Тех кого запихнули родители на что-то кроме пива и клубов мотивировать довольно сложно.
Очень банально и очень правильно :). За исключением одного момента

>> Cкажите, что готовы год просто за бесплатно разбирать задачи, пытаться решать и т.п.
Думаю в большинстве фирм очень удивятся, если к ним придет студент и скажет «Давайте я тут у вас посижу, задачки порешаю забесплатно». Толковый студент 4-го курса уже вполне может приносить пользу бизнесу и получать за это зарплату, хотя возможно и ниже рынка.
По поводу последнего абзаца. Если топик читают студенты, приходите к нам работать :)(http://habrahabr.ru/company/dataart/) У нас как раз сейчас набор практикантов (Java, .NET). Подробности в личку
Я бы в список того, что нужно изучать в самом начале добавил бы: алгоритмизацию и структуры данных, ассемблер (чтобы студенты понимали, что происходит в компьютере на самом деле), операционные системы (там же межпроцессорное и межпоточное взаимодействие).
Считаю, что в универе нужно давать в первую очередь базу и обзор, чем можно программисту потом заниматься. А всякие фреймворки он потом выучит сам (или на первой работе).
А вот когда это есть, уже можно давать всё остальное (если на это остаётся время).
Еще один «учитель» жизни, который сославшись на невнятные потуги предыдущих ораторов, «открывает истину» студенту. Студент если ты хочешь кушать и покупать новые ямобилки, то все очень просто. Открываешь ххешечку внимательно изучаешь, кто сейчас востребован на рынке (я уже поискал за тебя, да- да это все те же java, C# и php программисты). Смотришь, что же сейчас на этих языках делают, а делают в основном для C# допилку под всякие шарепоинты, навижины и прочие аксапты, смотришь остальные языки, php можешь не смотреть на нем клепают гостевухи =) Итак выбор языка произведен, теперь выбираешь специализацию, то есть тебе надо определиться что ты будешь допиливать. Теперь идешь в книжный и отваливаешь пару кило рублей за две книги (одна по языку, другая по продукту который будем пилить). Дома ставишь виртуалочку с платформой, читаешь книги, лепишь кнопки, после того как осилишь литературу, на той же ххешечки запиливай резюме, скинь пару десятков тысяч, так как нет опыта работы и вперед на собеседования. Если ты думаешь, что все конторы которые ищут программистов это респектабельные крутые заведения с массажными креслами и корпоративами на багамах, то не боись таких минимум, а половина требований к познаниям той или иной технологии просто не нужны (hr скопипастил из похожей вакансии конкурентов). Если ты все сделал правильно, то через 4 месяца ты уже будешь просиживать штаны в конторке из 30 человек, совладелец который по чистой случайности начальник главснабрыбконтроля и срочно требуется наконец-то модернизировать документооборот управление по уходу и прикорме рыб, если все пойдет нормально через пол годика начинай жаловаться на большие объемы работы и загруженный график, возьмешь себе коллегу из группы и станешь ВЕДУЩИМ ПРОГРАММИСТОМ. Так что дерзай, главное ничего не боятся, а после того как ты окунешься в мир российского it, то поймешь, что Кнутов, Торвалдсов и прочих Сысоевых единицы, а за ширмой даже самой респектабельной компании могут сидеть сферические дураки.
Почему нет, тоже вариант.
Есть небольшая проблема только у таких людей. После того, как они поработают у себя в такой песочнице (даже ВЕДУЩИМ ПРОГРАММИСТОМ), если они постараются устроиться на работу в хорошую софтверную компания, кроме как смеха он больше ничего не заработает. Так как обычно такие люди крутятся толькр у себя в песочнице, им не интересно, что там делают окружающие, какие паттерны используют, как облегчают свою работу и т.п. По крайней мере, я часто сталкивался с таким. Надеюсь что такой процент знакомых в таких ситуациях — это только случайность.
Ну, образование действительно всё-таки не самое хорошее.
Я понимаю, первый курс, но самый конец — а на контрольных задания вроде «Напишите программу на C#, находящую сумму всех отрицательных чисел лежащих на главной диагонали квадратной матрицы».
Сразу начинаешь задумываться, а будет ли что-нибудь полезное дальше? :)
Согласен, но это для нас сложно, а для среднего потока — это хорошая задача. Мне и в школе было скучно на математике и информатике. И в универе на многих предметах я скучал.
Но все же, вы сами можете усложнить свою задачу. Хотите изучить JS — напишите решение на JS. Хотите изучить формочки — сделайте на WinForms и т.п.
А может хоть в каких-нибудь московских/питерских ВУЗах не так, кто-нибудь в курсе?
Ну не хочется тратить время на это.
Дальше ничего полезного не будет, скажите спасибо, что c# а не паскаль или бейсик. Выше читайте мой каммент, хотите сладких зарплат делайте сами, ждать что на четвертом курсе к вам в группу придут из Ораклов и АйБиемов с предложениями мест в силиконовой долине и килозарплатами в долларах не стоит.
а Вы пытались начать изучать программирование сразу с c#?
Вот моя цепочка в программировании черепашка лого -> паскаль -> дельфи -> с++ -> php|perl не пошло дальше начальной литературы -> тудум божественный Python
тогда какого лешего Вы пишете «скажите спасибо, что c# а не паскаль или бейсик»? где логика?
Я считаю (и это подтверждается моим опытом преподавания программирования), что начинать с паскаля (и бейсика) намного проще.
я учился писать с С++ а также ООП на С++. Далее php, C# — как с куста. C# (Java) это отличный язык для изучения программирования. Забивать голову функциональным программированием — переучивать в дальнейшем очередных говнокодеров.
оО а при чем тут функциональное программирование??
>> функциональным программированием
Процедурным, наверное?
Могу сказать так: сейчас преподаватели ориентируются на средних студентов. Если всем рассказывать сразу всякие крутые полезные штуки, то успевать будут единицы, а остальные — не понимать вообще ничего, ибо понять что-то сложное, не понимая простого — нереально.
И не бросайтесь фразами «образование действительно всё-таки не самое хорошее», на первом курсе-то.
Не будет.
«Полезное дальше» нужно разрабатывать по вечерам и выходным, самому, без пряников и оценок.
А кто-нибудь задумывался о конце карьерного роста? Ну это когда вам 55, за новыми технологиями вы уже не поспеваете, молодежь подтрунивает, а на работу таких старых компьютерщиков не берут?
Я надеюсь к тому времени (к пенсии) скопить денег и открыть маленькую домашнюю кофейню где-нибудь в европе :)
пока не задумывался, я то уж слишком молод, чтобы сейчас об этом думать. Все таки 26 совсем не возраст. Но вообще, если так прикинуть, то наверняка захочется найти себя в чем-то другом. Как написали выше — так же кафешка или еще чего.
Вроде и все хорошо, но:

> WinForms, WPF, MFC. Веб-разработка: PHP, ASP.NET, ASP.NET MVC (ASPX/Razor). Данные нужно хранить: SQL-92, TSQL (MsSQL), PL-SQL(Oracle), MySQL, PostgreSQL. Ну не напрямую же от студентов будут просить связываться с БД, следовательно: ORM, Hibernate, NHibernate, Entity Framework, Linq-To-SQL, ADO.NET. Вокруг у нас еще технологии: Silverlight, WCF, WF, знания SOA. Еще нужно знать некоторые фреймворки разработки: Sharepoint, Microsoft CRM, SugarCRM

Это же типичный набор индуса-аутсорсера, которому будут аутсорсить переписывать кривые формочки написанные другими индусами. Бросайте нафиг. Марк Цукенберг прекрасно обошелся без майкрософта.

Или. как кто-то писал, лезьте в СЕО и рекламу, там непуганных клиентов-идиотов море, правда и конкурентов тоже много.

> Вы же знаете, что есть такая профессия, как специалист по юзабилити? Этот тот человек, который прочитал очень нудный документ о том, какие должны быть формочки в Windows7, а так же обладающий небольшими познаниями в психологии.

Не читайте. Читайте Apple HIG и книги Алана Купера.

Ну и последний совет про работу правильный. Если попадете в правильную компанию (не к индусам-аутсорсерам), вы там столько научитесь, что сами за 5 лет не освоите. для дизайнеров вроде такой компанией раньше была студия design.ru.
Это же типичный набор индуса-аутсорсера, которому будут аутсорсить переписывать кривые формочки написанные другими индусами. Бросайте нафиг. Марк Цукенберг прекрасно обошелся без майкрософта.
Согласен, в статье совершенно зря забыты стартапы. А ведь там и проекты в разы интереснее, и опыта набираешься быстрее / значительно больше.
Знаете, студента, который организует свой стартап или даже сможет присоединиться к стартапу — не нужно учить. Он сам кого угодно научит.
>Это же типичный набор индуса-аутсорсера, которому будут аутсорсить переписывать кривые формочки написанные другими индусами. Бросайте нафиг. Марк Цукенберг прекрасно обошелся без майкрософта.

Вообще-то, это «типичный набор» стартапов в районе Сиэтла, открытых бывшими MS-работниками.
Если бы вы были Марком Цукенбергом, я бы вас послушал. А так не вы, не я не знаем что слушал он в своем университете.
В таком свете, обязательно пересмотрю свои позиции на самообучение. Их нужно чуть-чуть скорректировать в нужное русло. Спасибо за статью.
UFO just landed and posted this here
UFO just landed and posted this here
Вы конечно все красиво пишите, но извините, как вы обучите «нужно понимать каркасы GUI приложений и паттерны проектирования, лежащие в их основе» без показа на примерах, без использования реальных рабочих технологий? На пальцах?

Мне, например, в высшей математике всегда не нравилась эта абстракция «а давайте решим этот пример», а зачем нам его решать? Какой смысл, что за задача? Благо, к более старшим курсам начинаешь понимать зачем это, откуда пошло, но и то, по большому счету только от того, что сам интересуешься.
Вот, думаю, с IT та же картина. Парят про какие-то алгоритмы сортировки, а где собственно задача-то? Где потребуется студенту решать такое, что приходят какие-то 10 чисел и их нужно отсортировать?

Вот пример. Нужно научить студента работать со строками. Пускай нужно заменить пробелы на %20. Рассказываем зачем это вообще нужно, немного знаний про веб-программирование, и они хоть начинают понимать, что они делают и для чего. Другое дело задача — есть строка, нужно все а заменить на б. Понятное дело, что у студента нет интереса, он не понимает что он решает.
UFO just landed and posted this here
UFO just landed and posted this here
Ну значит не правильно программа построенна. Вот еще пример. Одно время я вел факультативные занятие у школьников 5-7 классы по математике. Задачи вроде «У покемона Васи скорость полета 50 км/ч...» решались в 100 раз лучше чем «Из пункта А выехал поезд со скоростью 50 км/ч». Просто потому что их интереснее читать, и как для них кажется идет решение актуальных для них задач.
если бы в музыкальной школе нам давали изучать актуальные произведения, я бы в 10 раз активнее учился и намного лучше бы умел играть в конце концов.

ваше бы отношение к задачам в «массы»!
Ам… респект за статью) Но, всё происходит иначе:
Некоторый студенты:
«А я пошла сюда назло родителям...» (Бред...)
«А я очень хорошо в гуманитарых разбираюсь...» (И правда ведь рабирается… Схватывает налету, но....)
«А мне декан понравился, него такие усики....» (...o_O… WTF?)
«Пошли в баскет порубаем у нас сегодня тренька...» (Спортсмены… Александров писал о таких… =\)

Так вот) Программа в вузах у нас хорошая. Да, правда — Очень хорошая. Она даёт студентам полный простор для творчества в виде достаточно большого количества свободного времени, которое каждый может растасовать сам, на свой лад. Что собственно и происходит.

ПОВТиАС содержит в себе стандартный набор: С > C++ > Data Structures > System (Всё остальное кажется или невменяемым или малоприменимым). В принципе этого достаточно чтобы начать уже что-то писать в стиле ОП_ОП и двигаться дальше, но… см начало кОммента. =)

Получаем проблему: студент вроде бы умный и вроде бы даже учится на 3+ курсе. Мозги у него варят, но чего-то совсем не соответствуют специальности. Вопрос как приучить любить?

Примерное решение:
1) Для noob-ов:
Ситуация в том, что хотя и владея некоторыми приёмами ООП и структурки человеку как правило просто непонятны возможности даваемые той или иной технологией и её ограничения. Да в мире делают сайты, пишу программы, но… как-то лень/друзья/семья (нужное подчеркнуть/дописать).
Вариант для преподавателя один: попытаться показать какие-то интересные стороны применения программирования. Допустим через те же презентации. Причём показать не сам алгорим (сортирвка/поиск/еще что-то более страшное), а саму идею (веб-сервис/полезная программа/наладчик/клиент субд) и технологию при помощи которой всё это было сварганено. Результаты:
if (I_like_it)
{ Запуск процесса обучения }
else
{ Продолжит батонить как и раньше }

2) Для тру-программеров:
Аналогично п.1. С одной поправкой на то, что у этих есть опыт, и как правило реальный, да и ещё с кучкой проектов за плечами. Уже что-то писали, что-то умеют, что-то пишут. Как правило плюются на «тяжелые» задачки в виде курсачей с ненужными им технологиями, которые как считают отнимают их время. Требуют живого общения и корректировки задач под их «индивидуальность»: курсовые по темам которые им интересны, консультации в более-менее свободной форме. Результаты я думаю очевидны.
Второе письмо хоть и в официальном стиле написано, но в нём ошибка на ошибке. Не понимаю как у вас в школе твёрдая четвёрка была.
C#, Java, C++, ASM, WinForms, WPF, MFC, PHP, ASP.NET, ASP.NET MVC (ASPX/Razor). SQL-92, TSQL (MsSQL), PL-SQL(Oracle), MySQL, PostgreSQL. ORM, Hibernate, NHibernate, Entity Framework, Linq-To-SQL, ADO.NET. Silverlight, WCF, WF, SOA. Sharepoint, Microsoft CRM, SugarCRM. XML, XHTML 1.1, HTML 4, HTML 5, CSS 2, CSS 3, XPath, XSLT, Continuous Integration (CC.NET, nAnt, TeamCity, TFS); CVS, SVN, Git, Mercurial, TFS; паттерны: GoF, MVC, MVVM, MVP. TDD, IoC, Scrum, Agile

А вавилонская башня всё выше и выше.

Ruby разработчик напишет другой список, а разработчик Embedded устройств напишет свой

Программисты теперь не понимают друг друга.
Разве что внутри одной организации, и то не всегда.
«программист, переходя дорогу с односторонним движением, смотрит в обе стороны»
А разве не все так делают? оО
Правильная мысль об ориентации на результат.
Сам выбрал, где хочешь работать. Пришел в компанию — узнал, что нужно им от тебя.
И вот ты сам знаешь точно, что тебе нужно учить чтобы получить эту работу.
Договориться с компанией о том, что доучившись и выполнив определенные задания они тебя берут.
Компании хорошо — специалист выгрызает свой гранит в нужной для них форме.
Человеку хорошо — он получает ту самую уверенность в завтрашнем дне.
Конечно может быть форс-мажор, но лучше иметь бутерброд, чем ничего. Просто учить, все подряд что может пригодиться нет ни времени, ни желания.
Sign up to leave a comment.

Articles