Универ != учеба?

Всем привет.

В связи с приближением зимней сессии сознание студентов начинают посещать темные мысли на тему: «А надо или оно мне»? Меня эта эпидемия тоже не обошла стороной.

Так вот. В том году я поступил в один местный универ на Факультет математики и информатики, со мной туда поступила и моя надежда научиться чему-то новому в области программирования, да и стать нормальным программистом. Почему матфак? Мне просто не хватило баллов ЗНО, т.к. вместо подготовки я фрилансил на C# и изучал Python, да и наша школа не отличалась качеством обучения/подготовки. Первый год обучения шел нормально, нас пичкали кучей математики, гуманитарных наук и основам программирования на Си (с ним познакомился еще давно, когда пытался учился программировать микроконтроллеры), с математикой проблем тоже не было — матан и прочие радости мира математики я понимал и сдавал на отлично, а гум. предметы далеко не радость приносили. На втором году математики стало больше, она даже стала интересной! Но гум. предметов не убавилось, а качество преподавания программирования упало (на мой взгляд).

По сути, каждый год (иногда семестр) нас будут обучать другому ЯП. 1 курс — Си, 1курс 1 семестр — С++, 2 курс 2 семестр — хотят Delphi (0_o).
— Си нас учили более менее нормально;
— С++ учат странно, по сути, предмет называется ООП, но из теории ООП там только общий рассказ о инкапсуляции, наследовании и полиморфизме, нам просто показали как делать классы и всё. Задания для лабораторных вообще нарушают основные понятия ООП.
— Delphi не знаю как вообще должен будет вписаться в эту последовательность.

Как факт, ничего толкового пока не научили.
Гуманитарные науки просто забирают время, мноооого времени (как сами пары, так и подготовка к ним). Преподаватели требуют от нас многого, иногда появляется ощущение, что я филолог или историк, которому поставили в курс несколько пар программирования и математики. Второй раз уже на грани слететь со стипендии из-за плохих баллов по гуманитарным.

Как итог:
Полезное за 1,5 года в универе:
* немного рассказали о структурах данных
* понравилась математика
* один из преподов, который работает программистом, дал наставление в плане «что учить дальше (алгоритмы, юнит-тестирование и т.д.)»

Для чего я написал такую кучу текста? Сам не знаю, получилось многовато как-то, я всего лишь хотел спросить совета: что делать дальше?
Школа мне не так сильно мешала учиться. Программировать я стал меньше, времени тоже стало как-то меньше (да и после универа «убитый» прихожу домой)...

P.S. Месяц назад устроился на должность Python/Django разработчика в какую-то контору. Меня взяли на пол-ставки и без опыта работы с Django. Так что зп индусская, зато хоть какая-то разработка, и хоть какой-то опыт работы на реальных проектах

Спасибо за внимание.

P.S. Заголовок как-то не очень подобрал.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному1
LinkedIn

Найкращі коментарі пропустити

Сам отсидел в универе 4 года (на 5 курсе уже работал). Ходил на ВСЕ пары (включая бредовые лекции по гуманитарке вроде «культурологии» или «религиеведению»). Денег дома не было совсем (это были 90е), комп — Спектрум, Интернета не было даже в универе (разве что у ректора).
Первый мой совет — перечитай два раза эту фразу и повторяй почаще: ШКОЛА КОНЧИЛАСЬ !
Закончилась обязаловка, контроль дневника родителями и порка за прогулы. Взрослый человек сам решает что ему нужно!
Второй совет: в школе учат, в универе — учатся. Никому в ВУЗе не нужно что бы ты научился — им нужно получить зарплату, взятки, звания. Поэтому нужно не отсиживать пары, а выбирать что тебе интересно и нужно — и целенаправленно искать кто тебя может научить.
Третий совет: в институте можно посещать любые лекции! А не только своего курса и специальности. Не хватило балов поступить куда хотел? — можно все равно прийти и получить знания. Действительно хороших преподов и полезных лекций — единицы. Но они есть — и сидя на «гуманитарке» ты пропускаешь то, ради чего и пришел в ВУЗ.
Четвертый совет: найди себе научного руководителя! И чем раньше — тем лучше. В ВУЗах процент толковых студентов такой же низкий, как толковых преподов. Поэтому те преподы, которые все-таки чем-то занимаются очень рады «падаванам». Научный руководитель не только поможет с самообучением но и отмажет от бесполезных предметов.
Пятый совет: цени свое время. Оно стоит очень хороших денег. Если фрилансил — то знаешь цену. Посчитай, сколько ты теряешь на каждой бесполезной паре. Думаю за это время можно заработать на покупку сессии «оптом».
Вообщем относить к универу как к платной конференции: деньги все равно уплачены, но это не значит что надо слушать все доклады. Это ведь твои деньги — значить можно выбирать что тебе нравится. Или вообще забить и идти дальше работать.

Учите математику. Как можно лучше и больше. Особенно теорвер, статистику, алгебру и численные методы. Я очень жалею, что многое пропустил в универе в похожей ситуации.
Еще смотрите курсы на coursera и udacity, особенно по алгоритмам, machine learning и data science. Пробуйте все это на практике, если хватает времени и сил. Не увлекайтесь этой работой, она дерьмо, не гонитесь за деньгами, если есть возможность. Stay hungry, stay foolish, короче.

В духе заголовка: образование != образованность
А вообще я практически никогда не слышал, чтобы в универе научили реально нужным вещам. Да и людей, которые пошли работать на фундаменте, постороенном преподавателями тоже не встречал. Самообразование — наше все.

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

Итак, вопрос был

что делать дальше?

Вопрос очень хороший, и здесь уже много написали хорошего и разного.
Добавлю еще одно мнение.

1. 1.5 года университета уже позади. До бакалавра осталось еще 2.5, то есть на 40% дело сделано. Цель номер один — это не бросать учебу и получить диплом, желательно с хорошим средним баллом.

2. Факультет математический — это замечательно! Математика и мозги развивает, и преподавателей нормальных намного больше. Серьезно, это не минус, а плюс, тем более, что математика нравится. Я считаю, тут повезло.

3. Гуманитарные предметы — это нормально. В жизни есть еще вещи, помимо программирования. Почему бы не узнать о них чуть больше? Отдельный момент здесь — это английский язык. До чего гуманитарный предмет, а в то же время самый важный из всего, что можно выучить за время учебы. В вузах обычно преподают его плохо, но это не мешает учить его дополнительно самостоятельно. Найти хорошие курсы, разговорные клубы, читать книги, смотреть фильмы. Это цель номер два. Кстати, изучение иностранного языка — это очень приятное занятие, начиная с определенного этапа.

4. Программировать можно (и нужно) за пределами пар. Хороший вариант — найти одного толкового преподавателя, занимающегося чем-то интересным, прицепиться к нему и получить работу. Заняться этим уже сейчас, на втором курсе. Это цель номер три. Это решит вопрос написания бакалаврского диплома (все об этом будут думать на четвертом курсе) и может помочь в будущем (рекомендации, например). Один толковый преподаватель на факультете точно есть, и он будет рад стремящемуся к чему-то студенту. Вариант похуже — делать проекты для себя. Вариант еще хуже — найти работу.

5. В среднесрочной перспективе по результатам пунктов 1-4 понять, что хочется делать в жизни и на третьем-четвертом курсе принять решение о дальнейшем пути:
а) Поступать в магистратуру в вуз в Европе или США.
б) Продолжать обучение в магистратуре (если она будет) или на специалиста (если они еще останутся).
в) Решить, что хватит учиться и пойти работать.

Как-то так.

Многие могут тебя агитировать валить из универа — посылай нахуй. Доучивайся в универе.
Я только вчера вернулся с командировки из Берлина. Мне начальство и сотрудники там вовсю говорили про релокейт. Я вернулся, стал собирать инфу — оказывается, мой диплом там не пройдет эвалюацию, т.к. он был получен причудливым образом (долго рассказывать, в двух словах: переходил из бурсы в бурсу, там заочно, там очно, бакалаврский диплом получен в недоаккредитованом недоунивере и прочее). Вероятность того, что дадут блукарту с таким говном — 0%. Простую рабочую визу — 0.000000001%, т.к. у меня нет 30 лет ОР и я не директор гугла — никто не будет заниматься мной, собирая справки для визы.
В общем, пару дней назад я думал про возможность скорого релокейта, а сейчас я думаю о том, что я непротив был бы попробовать ввести в вену героин, кроме шуток...
Не ломай себе жизнь — дочислись в своем универе, а самоучек-джумловодов обходи стороной.

И о чем говорит этот комментарий?
О пользе вузовских знаний? Нет.
О пользе диплома, как гаранта качества обучения? Тоже нет.
О том, что у Украиниы прекрасное будущее в плане ИТ? Нет.
О том, что 5 лет в вузе — это получение фундаментального образования? И опять нет.

А если завтра в Германии (не в Украине, а в Германии) примут закон, по которому будут давать блюкарт без диплома, то ценность Украинских дипломов снизится до нуля? Тогда есть ли она изначально?

О том, что у Украиниы прекрасное будущее в плане ИТ? Нет.
И о чем говорит этот комментарий?
О том, что отсутствие диплома может стать проблемой для работы за рубежом. Да.
(у меня диплом есть, но из-за глупого недоразумения он не пройдет нострификацию в Германии).
А если завтра в Германии (не в Украине, а в Германии) примут закон, по которому будут давать блюкарт без диплома, то ценность Украинских дипломов снизится до нуля?
И сейчас дают. И H1b в США дают. Насчет первого подробностей не знаю, насчет последнего: готовы доказать, что у вас 15 лет ОР с помощью документов и звонков людям, с которыми вы работали 15 лет назад? А я не готов. И автор тоже не готов, как и многие другие люди.

Та вали звідти тим більше що, наскільки я зрозумів, ти вже можеш заробляти якісь бабки програмуванням.

Получи эту сраную бумажку чтобы соседям спокойно спалось — под боком же «дипломированный специалист».
Будешь пытаться выделиться из толпы другие будут считать тебя бараном — который не захотел протирать штаны на парах у " Василия Петровича" — который за 4000 грн должен тебе с бумажки читать бред.

Получи эту сраную бумажку чтобы соседям спокойно спалось — под боком же «дипломированный специалист».
Будешь пытаться выделиться из толпы другие будут считать тебя бараном — который не захотел протирать штаны на парах у " Василия Петровича" — который за 4000 грн должен тебе с бумажки читать бред.
Скорее, чувак сам поймет, что баран, когда захочет получить рабочую визу в нормальную страну

Так, універ не дорівнює знанням. Але це місце, яке в ідеалі повинно допомагати їх знаходити та давати напрямок для розвитку. Універ не навчить всьому сам, універське навчання потрібне, але не достатнє для освіти.

Потрібно також розуміти баланс між «це універ хріновий» і «мені тут нецікаво». Так, бувають хрінові універи, але тоді — не полінуйся, вибери те, що краще і де є надія справді щось отримати. Але також слід уважно проаналізувати і себе: чи не може бути, що при якомусь іншому суб’єктивному куті зору все не так погано і тут. Непоганий спосіб поміняти цей кут зору — це спробувати забігати наперед, вчити наперед те, що спитають лише пізніше (а можливо, і взагалі не спитають), тим більше, що філософія при самостійному вивченні виявляється не такою вже і муттю. Ще один спосіб змінити кут зору — це спробувати знайти в предметі щось несподіване, але таке, що зв’язане із тим, що цікаво саме тобі. Спробувати подивитись не тільки універську програму. а й ту саму Coursera, після якої багато «нудних» речей сприймаються зовсім по-іншому. Спробувати знайти людей, які цікавляться навколоуніверськими темами і можуть надихнути.

Здається, найбільша проблема тут в

после универа «убитый» прихожу домой
— при певному тонусі майже в будь-чому можна знайти щось цікаве; але потрібен саме цей тонус, який залежить від способу життя (спортзал, хоч трохи розминки, нормальний сон, нормальна їжа, дівчина, улюблене заняття). І так, одразу це не береться, над цим треба працювати також.

Якщо ж взагалі не виходить вписатись у поточну ситуацію, то можна спробувати кардинальний варіант (мені в свій час довелося вилетіти із фізфака, щоб почати хоч трохи розуміти, що я роблю і куди рухаюсь), але треба бути готовим пізніше відпрацювати все втрачене за подвійною ціною (я працював два роки, перед тим, як повернутись на кібфак на заочку, де я почуваюсь на своєму місці і розумію, чого я хочу і нащо я тут; проблема в тому, що я втратив багато часу і половина моїх однокласників уже також розбіглись по гуглофейсбуках, тоді як я тільки закінчую п’ятий курс). Як непоганий варіант — заочка із роботою (але без тонусу робота може бути такою ж обтяжливою). А, і ще універ навчив мене скромності — розуміти, що все не осягнеш і дещо треба просто здати, хай навіть у інших темах справді все чудово.

Воспринимаю диплом только как бумажку, которая теоретически сможет мне помочь при эмиграции на запад.

Проучился три курса в симферопольском ТНУ, потом перевелся в Киев в КНУ Шевченка. В обоих на специальности «информатика». Что там что там, знаний профильных практически не получил. Насколько устаревшие и бесполезные технологии там изучались я даже говорить не буду, там все очень плохо. Некоторые «среды разработки» нам приходилось запускать через ДОС-эмулятор, потому что Win XP их тупо не поддерживал.

Некоторые «среды разработки» нам приходилось запускать через ДОС-эмулятор, потому что Win XP их тупо не поддерживал.
типа это что-то плохое?

Зачем мне технологию, которая устарела настолько, что уже не запускается на современных ОС и не используется нигде?

о какой технологии вы ведете речь?

Я уже не помню точно, это на втором курсе было. Какая-то С-библиотека, написанная в середине 90-х, которая компилировалась на каком-то очень старом ДОС компиляторе, который, в свою очередь, не запускался нигде кроме этой самой ДОС. Хотя могу что-то путать, но смысл примерно такой.

Не счем поспорить, С действительно не запускается на современых ОС и не используется нигде.

Ну так взяли б і адаптували до сучасного C99, скільки б корисного досвіду можна було отримати в процесі.

Так, згоден. Але ми тут обговорюємо програму, яку дають нам викладачі, а не те, що ми можемо самі собі вигадати для навчання. В тому і є парадокс, що ми самі собі повинні шукати можливості для отримання досвіду, замість того, що нам дають у виші.

парадокс, що ми самі собі повинні шукати можливості для отримання досвіду
 — не бачу в цьому жодного парадоксу. Університет не призначений для впихування знань, він лише може допомогти в їх пошуку і дати основу.

Це не виправдовує той момент, що основу дають неактуальну і застарілу. Ось я про що. А з твоїм висловлюванням я, звичайно, згоден.

если есть планы в будущем эммигрировать, диплом ох как облегчит дело. Некоторые типы виз просто не доступны без ВО

А есть ли в данном случае разница между бакалавром и магистром? Очень интересно узнать.

Наличие магистра будет большим плюсом по сравнению с бакалавром в ряде случаев.
Например, в США магистры идут по EB-2, бакалавры по EB-3, разница в длительности процеса 1-2 года против 5-6 лет.

В моем ВУЗе на факультете Компьютерных технологий даже этого не было. За 1,5 года еще в начале 1-го курса преподавали самые основы по С++ (типы данных, условия...etc.), про ООП вообще молчу. На этом собственно и заканчиваются дисциплины хоть как-то связанные с
программированием.

В общем, думаю не стоит относится к ВУЗу, как к основному источнику знаний и ожидать от него какой-то особой поддержки со стороны преподавателей. ВУЗ скорее полезен в тренировке скорости реакции на происходящее вокруг, когда по всем дисциплинам постоянно задают новые задания и необходимо везде все успеть. За преподавателями приходится «бегать» по всему универу и никто лишний раз не спросит «А где лабораторные?». Это не школа, тут все иначе.

Следует заранее обдумать что ближе всего (из языков программирования), согласовав свое решение с прогнозами рейтинга языков программирования, для поиска оптимального варианта и уже отталкиваться от этого, развивая навыки тем же самообучением.

Сам пошел на втором курсе быдлокодить на .net(во избежания потенциального холивара к .net претензий нет). В итоге подзабил на учебу, computer science и все на свете. В один момент пришел в себя — а одногрупники уже по гуглофейсбукам разбежались. Пришлось садиться и восполнять пробелы в CS. В итоге тоже переехал но потерял несколько лет непонятно на что

Серьезное заявление. А разрешите полюбопытствовать, какой украинский вуз выпускает людей, которые могут попасть в Google/Facebook без опыта работы?

В «без опыта работы пошли работать эникейщиками» верится больше, чем в «по гуглофейсбукам разбежались».

В google/facebook достаточно много just graduated молодежи без опыта работы. Они просто прошли интервью. Что касается одногруппников, то некоторые во время учебы проходили еще интернатуру в США/Европе

Так что же это за волшебный украинский вуз, в котором отлично преподают Computer Science, и из которого народ толпами валит в интернатуру в США, да потом еще там и работать остается?

Эм, я не говорил что

отлично преподают Computer Science
Нормально преподовали математику и азы CS. Просто ребята смекнули и вместо того чтобы формошлепить как я, в свободное время колбасили олимпиадки и тп.
толпами валит в США
ну из 20 человек в группе уехало 10. Правда некоторые из них предпочли Швейцарию
волшебный украинский вуз
Ничего волшебного — просто КНУ Шевченка

У меня в группе тоже много уехало, но не сразу, а спустя несколько лет. Когда поднабрались опыта на реальной работе. ИМХО, это заслуга больше не вуза, а самих людей.

А как попали на собеседование? Резюме на сайт компании отправляли?

В основном через рефералки. Достаточно как то попасть первому

Найди себе девушку !!! может такой совет уже и был,но я поиском не нашел

Пойти на мат и жаловаться что мало программирования... Мсье знает толк.
Не могу с уверенностью посоветовать что делать дальше, но могу уверенно сказать, что факультетом ТС ошибся. Может поменять специальность? Нынче она вроде называется «Компьютерная инженерия» на факультете содержащем слова «информационные технологии», а в ней:
1. Основы программирования.
2. Алгоритмы и структуры данных (в максимальном объеме).
3. Дискретная математика.
4. ПТЦА.
5. Системное программирование.
6. Теория компиляторов.
7. Высокоуровневые языки (внезапно Java/C# являются частью ВТУЗовской программы)
8. Моделирование.
9. ООП(с UML и прочими радостями).
10. Базы данных (знание SQL проверял наш завкаф лично у каждого).
11. Web development(еще внезапнее HTML это тоже часть обучения!).
И еще куча программистких радостей которым почему-то никого не учат. Резонный вопрос всем критикующим систему образования: а вы на кого вообще учились? Может пора осознать что математика != программирование.

Пункты 1, 3 есть на математическом факультете. Пункты 2, 4, 6, 10, есть на coursera в вариате лучше, чем есть в большинстве украинских вузов. Пункты 7, 11 есть на coursera и udacity. Чтобы доучить приведенные вещи самостоятельно нужно полгода максимум.

P.S. В Украине неплохое классическое образование по фундаментальным дисциплинам. В условиях обилия различных MOOCов для программистов, на мой взгляд, лучший вариант — получить хорошее математическое образование и заполнить пробелы по computer science самостоятельно.

Я же не на чистую математику пошел, специальность «Информатика». Нам говорили, что это ничем не хуже «Программной инженерии» на ФКН, и даже лучше, ибо дают еще крутую математическую базу. Программированию нас учат преподаватели с того же Факультета комп. наук, программы почти 1 в 1, так что особой разницы между специальности нет, кроме того, что у них матан более урезан и т.д.

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

специальность “Информатика”
www.abiturient.in.ua/...iamki_magistr_1
Код специальности 6.040302 с припиской:
Спеціальності, за якими здійснюється підготовка професіоналів за освітньо-кваліфікаційним рівнем спеціаліста, магістра з присвоєнням кваліфікації вчителя або викладача вищого навчального закладу, за умови виконання психолого-педагогічної, методичної та практичної програми підготовки відповідно до галузевого стандарту педагогічної освіти.
Ты учишся на училку информатики, а не программиста. Отсюда и столько гуманитарного барахла.
Нам говорили, что это ничем не хуже “Программной инженерии” на ФКН
Сп...ли чтобы добрать людей.
Программированию нас учат преподаватели с того же Факультета комп. наук
Это ровным счетом ничего не значит. Преподам нужны академ часы — они их получают.
программы почти 1 в 1
Проверял? А насколько они соответсвуют требованиям мин. образования?
Ну а “древнеориентированность” преподов... это и так понятно.
Как и то, что тебе следует как можно быстрее валить из этого гадюшника, если конечно не нужна корочка училки информатики(в реале может пригодится).

Доброго дня, як Ваші успіхи через стільки років?

Привіт!

Десь в 2015 я пройшов на роботу в одну місцеву (відносно велику) компанію на джуна, спочатку пробував працювати і вчитись на денній формі, але їдея була така собі і наступного року я перевівся на заочну форму і ні про що не жалію. Вчився на математичному факультеті ЧНУ (Чернівці якраз). Зараз Senior Front-end, працюю напряму в стартапі з США, бо з ІТ ситуація в Чернівцях взагалі якась ніяка, тому до нас йти вчитись не радив би. Чисто що б я зробив інакше, коли вступав, то це б не парився про бали, а більше часу витрачав на ту ж англійську і програмування. Перші роки я вчився на 95+ балів з усіх предметів і це було не дуже добре, так як часу на саме програмування (заради якого я туди і вступав) було дуже мало, предметів з програмуванням теж було дуже мало.

Тому
— диплом заради тільки диплому, не рвати одне місце і не витрачати весь доступний час тільки на нього, бо більше в житті такої масси вільного часу для саморозвитку більше не буде (хіба що це якийсь крутий факультет в крутому універі, але мені ніколи і ніхто не запитував де я вчився і чи вчився взагалі)
— в ідеалі знайти якийсь парт-тайм
— першу роботу шукати в якомусь великому аутсорсі, коли буде відчуття того, що можна йти на мідла — змінювати компанію. Аутсорс навчить багатьом правильним речам, але зарплату вони нормально не піднямають, тому простіше отримати офер в іншу компанію. Якщо прям дуже сподобається перша компанія, то можна показати їм офер. Ну на цю тему багато чого написано, але в якийсь момент я проводив співбесіди джунам, яким давали зарплату більшу моєї в 2 рази :D
— англійська
— якийсь спорт, який допоможе уникнути проблем зі спиною, бо за 6 років сидячої роботи я більше не можу довго сидіти =) Половина знайомих, хто теж довго в ІТ теж. Ну це таке, крик душі

Обычно самое крутое, что есть в таких курсах — это название.

Теория компиляторов, например, может изучать грамматики, но за все время вы ни одного компилятора так и не напишите. И даже понятия не имеете как. Т.е. вы вроде бы и знаете что-то по этой теме, но полезного сделать ничего не можете.

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

UML в универе — это вообще песня. У самого был семестровый курс по UML. Сдать все сдали, но зачем и где его применять никто так полностью и не понял. Когда понадобилось на работе — нашел книжку, прочитал за выходные и отлично разобрался. С тех пор верю, что изучать предмет по паре в неделю — это идиотизм. Представте, что вы читаете 20 книжек одновременно. По 5 страниц из каждой в неделю. Разве просто удержать в голове то, что ты читал 3 месяца назад?

Высокоуровневые языки, Java окажется обзорным курсом по синтаксису Java. Уверен, что там нормально не учат многопоточность, нюансы синхронизации, модель «happens before», внутрнее устройство атомарных типов, не говоря уже про JEE. А значит шансы устроится Java Junior после этого курса раны 0.

Базы данных обычно сводится к определениям, нормальным формам и умению писать запросы. Проектирование баз никто не изучает. Базу в over 100 таблиц народ в глаза не видел. Хранимые функции и процедуры — тоже. Чем отличаются СУБД MSSQL, MySQL и Oracle народ не знает, чем InnoDB от MyISAM — тоже. База данных в одной кодировке, а запросы в другой — не не слышал.

Большинство вещей в вузе преподают ровно на том уровне, чтобы человек поверил, что что-то знает. Потом такие люди на собеседовании не могут связать двух слов и просят ЗП от 1000 баксов.

Пффф! Обзорный курс, да вам жирно повезло. Вот мы Java мы выучили за 1 лекцию! Это было как-то так : лекцию нам читали про какие-то отличия, а потом препод выдает: «Java очень похож на С++, так что теперь вы знаете Java!» Та-дам! :D до сих пор ржу, когда вспоминаю

Теория компиляторов, например, может изучать грамматики, но за все время вы ни одного компилятора так и не напишите. И даже понятия не имеете как.
Может быть, все дело в том, что где-то в MIT после лекции студенты шли и до ночи обсуждали какой бы еще диалект LISP запилить, а в украинском ПТУ шли в общежитие бухать. В итоге в конце курса одни смогли написать компилятор, а другие могли похвастаться только коллекцией стеклянных бутылок под кроватью.
Алгоритмы и структуры данных скорее всего окажутся изучением хештаблиц и нескольких сортировок. Студентам дадут лабы, которые никак не опираются на пройденный материал, они поскачивают из из интеренета и на этом все и закончится. Рассказать про алгоритмы — это одно, добится того, чтобы люди научились «алгоритмически мыслить» — это другое.
Чтоб научить людей алгоритмически мыслить, нужно будет задрачивать эту тему столько же, сколько задрачивают раскрытие скобок на уроках алгебры в школе. В данном случае это будет тратой времени, которого в таких количествах нет. Кому нужно будет — найдет дополнительные материалы, пойдет на топкодер и там получит практику.
Высокоуровневые языки, Java окажется обзорным курсом по синтаксису Java. Уверен, что там нормально не учат многопоточность, нюансы синхронизации, модель «happens before», внутрнее устройство атомарных типов, не говоря уже про JEE. А значит шансы устроится Java Junior после этого курса раны 0.
Видимо, все так же наивно предполагается, что студенты откроют книжку по интересующей теме и ознакомятся с боле глубокими вопросами
Чем отличаются СУБД MSSQL, MySQL и Oracle народ не знает, чем InnoDB от MyISAM — тоже
какая беда, студенты не умеют пользоваться гуглом, им нужен профессор чтоб рассказать в чем таки отличие между InnoDB и MyISAM

В гугле все можно найти, так что теперь в вузы не ходить что-ли?

Вуз дает видимость знаний — все очень и очень поверхностно. А люди, которые не применяли свои знания на реальных проектах, даже близко не представляют, насколько их знания мизерны.

Мені з моїм факультетом «Прикладної математики» пощастило більше, організувалася така собі «хунта» з молодих викладачів, які привязували програмування майже до всього))) Спочатку вчили Pascal, щоб підтянути тих, які були в програмуванні повні нулі, потім перескочили до Delphi, ну й далі вже почали серйозно вивчати C++, C# з .Net, Git, Web-програмування і основи Web-дизайну(HTML, CSS, Javascript), Java. Щодо БД, то вивчали їх в Firebird, але більша половина одногрупників писали курсові і з ADO.NET, і з MySQL також. Ну й паралельно ще алгоритми, компілятори, асемблери і т.п. вчили. Впринципі вже всі ми з другого курсу, в 18-19 років знали, що кому до вподоби і далі робили свій вибір до певного середовища з яким будемо працювати в майбутньому. Проблема була з англійською, з нового, то покращилась тільки технічна англійська мова і то з книжок кінця 2000-их. З моїм С1 після школи було дуже важко триматися на тому самому рівні, мовної практики на жаль не було взагалі, доводилось самому періодично вчитись.

Щодо заголовку:

Универ != учеба?
Університет — дуже хороша школа життя. Я не знаю, як би після школи з моїм паскалем і елементарним HTML без жодних інших навиків, вивчив ті всі технології які я знаю зараз на 4 курсі. В університеті я навчився вчитись, шукати і систематизовувати інформацію, спілкуватися з колегами, жити по розпорядку дня і правильно розподіляти свій час. Думаю заради цього й варто отримувати вищу освіту.

Вам действительно крупно повезло. Нашим молодым преподавателям не дают столько свободы. Им даже редко когда позволяют вместо кучи шаблонных и «сухих» лабораторных поделить нас на группы и дать нам какой-то модульный/семестровый проект. А ведь это интересная практика, как мне кажется — работа в команде, интересное задание.

В этом году нам повезло с криптографией, лектор молодой, и он же ведет у нас практику. Нас поделили на группы и каждой группе дали свой проект — программа для шифрования популярных форматов документов с помощью алгоритмов шифрования RSA и DES, яп можно было использовать любой. Так же нужно было писать отчеты о проделанной работе, посещать митинги, юзать git и т.д. Это было прикольно, но задание оказалось слишком простым, так что справилась наша команда с ним быстро. Ну и как всегда, из всей команды хоть что-то (точнее всё) делал я.

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

А так да, университет учит быстро находить решения проблем (особенно перед сессией), находить информацию (особенно на экзамене) и быстро ее обрабатывать (по стандарту, за 2 дня до экзамена выучить весь материал за семестр) :D Я шучу конечно, но доля правды в этом есть)

В духе заголовка: образование != образованность
А вообще я практически никогда не слышал, чтобы в универе научили реально нужным вещам. Да и людей, которые пошли работать на фундаменте, постороенном преподавателями тоже не встречал. Самообразование — наше все.

Тем не менее, необходимо знать различие между ссылкой и указателем... Этому там научат.
А также, иметь представление о «третьей нормальной форме»

*фейспалм*. Ок, час на указатели, час на 3НФ (хотя на этот счет не уверен).
Остальные 5 лет?

1) Ага, а я потом сижу правлю код таких вот фейспалмеров :\
2) Остальные 5 лет никто не мешает совмещать работу и учебу.

Или вы «Социальную Сеть» пересмотрели? :)

Остальные 5 лет никто не мешает совмещать работу и учебу.
Дык нафига, если с вашей точки зрения, нужно лишь 2 часа учебы?

Вы упоролись?
Это вы сказали, что час на указатели и час на 3нф.
Я высказался на поддержку ВО.

О, культуре общения вас тоже в ВУЗе учили?
Но смотрите — dou.ua/...c/11851/#593254 это вы запостили :)
Или вы просто не согласны с оценкой времени?

Это еще было культурно, не согласны с вами != не культурно.
Это я запостил, да, а вы почитайте, к какому комментарию это было сказано. Но для капитанов дальнего плавания поясню:
Цитата:

вообще я практически никогда не слышал, чтобы в универе научили реально нужным вещам.

Мой ответ был приведением элементарного примера, полезных вещей, которые там научат. Я не давал эстимейты, и до сих пор уверен, что ВО необходимо, будь ты хоть тракторист-магистр, но оно надо. Достаточно или нет, не стану говорить, здесь уже описали 100500 раз, мудро и доступно, что надо чтобы стать разрабом.

Вы влезли со своими 2мя часами, к чему — не понятно. Что вы хотите мне таки сказать?

и до сих пор уверен, что ВО необходимо, будь ты хоть тракторист-магистр, но оно надо.
Надо, потому что надо. Ок, я вас понял :)

ну ты видел куда ты шел ... теоретически в твоем случае нужно было идти на радиотехнику. кстати попробуй перевестись.

Я відучився, але диплом вже декілька років припадає пилом.. ні не у мене вдома, а в універі. Досі не забрав і часу на це немає. Досі не потрібен був і невідомо чи буде потрібен.

если не гуманитарный то както пригодится :)))

Не гуманітарій. Навряд пригодиться цей документ. На роботі не потрібно, у держструктури наче не збираюся.

Приблизно через 5 років диплом знищують! Чи щось такого. Якщо не забрати його з місця навчання.

Тоді спробую у найближчий час забрати, хоч мені розповідали, що в архіві він зберігається дуже довго. Не розумію, які взагалі можуть бути підстави знищенян чужих документів.

Почитав в Інтернеті. Як мені і розповідали — диплом зберігається в архіві. Він вважається моєю власністю і ніхто немає права його знищувати.
При нагоді заберу. Надіюся, що мороки із обхідними листами не буде.

Обходной — тот еще геморрой, например ездить в общагу и брать справку что я там не был. И в 5-ти читальных залах получить печать, что я их книги не брал. Бред и совок и это в 2010 году.

Як мені і розповідали — диплом зберігається в архіві. Він вважається моєю власністю і ніхто немає права його знищувати.
Это теоретически, а практически могут и потерять и ничего вы не сделаете, только новый заказывать через министерство.

Щодо обхідного згоден. Совковий бюрократизм страшний.
Якщо «загублять» — замовлять новий. Я почекаю, якщо потрібно буде ще)

Да, миру очень нужна еще одна тема о формальном образовании в ИТ.

Как говорил один из моих преподов, универ работодателю нужен не для того, чтобы верить, что тебя там чему-то научили, а для того, чтобы понять, что соискатель может 5 лет заниматься тем, что ему скажут.
Сначала мне это казалось смешным, а когда довелось n лет проработать в отрасли, оказалось, что не так уж он был не прав.
У меня много знакомых гениальных самоучек. Более того, в среднем мои знакомые самоучки талантливее, чем люди с корочкой. Но при этом многие из них реально не научились
1. работать в команде
2. делать то, что хочет работодатель, а не они сами.
Например, регулряно добавляют то, что считают лучше для проекта в обход требований заказчика, или просто отказываются выполнять пусть и не очень хорошее, но решение техлида.
итд итп.

1. работать в команде
Если под работой в команде подразумевается работа с группой, то я даже не знаю. Может это мне так «повезло», но у меня не группа, а арена какая-то: каждый хочет навредить другому, в идеале так, что кто-то вылетел с универа (трое уже). Если, например, спросить что-то, то в лучшем случае не ответят, или дезинформируют. Ну это еще ладно, я не понимаю, как можно отказываться от взаимовыгодных предложений? Я лучше знаю программирование, кто-то лучше знает историю культуры, если я предлагаю помочь с лабами, а взамен прошу помощи с докладом, то никто не соглашается, хотя это дало бы выиграш как в качестве так и во времени. Зато безвозмездно получить лабу хотят все.

Вот именно! В этом главная беда «совкового» образования, которое у нас до сих по осталось в школах и ВУЗах.
Людей учат делать то, что скажут, а не то, чего хотят они сами!
Вся эта система направленна на подготовку идеальных подчиненных. Это было понятно для совковой плановой экономике где все приказы спускали «сверху».
Но откуда теперь возьмутся предприниматели и бизнесмены?! Ведь для этого надо быть самому себе хозяином, а не ждать приказов.
Такое образования изначально убивает в детях инициативу. «Будь как все», «читай что сказали, а не что интересно», «все предметы одинаково важные: тройка по рисованию или музыке — уже не отличник». Вместо развития способностей и интересов к отдельным предметам школа клепает «буратин», которые должны знать все хотя-бы на уровне программы.
Следующий шаг — ВУЗ. И большинство школьников-"буратин" просто не знают чем именно они хотели бы заниматься и в какой ВУЗ идти! Они идут в ВУЗ потому что это следующий этап после школы что бы «учиться дальше».
А ведь человек должен идти в ВУЗ что бы научится именно тому, чему он хочет! Ведь ВУЗ не учит — он помогает учиться. Человек, которые пришел учиться сам не зная чему — ничему и не научится. Просто «прослушает» и получит «корочку».
И уж точно такой студент не будет делать что-то новое, не напишет фейсбук, не спаяет комп в гараже, не пойдет в стартап, не начнет свой бизнес. Ведь ВУЗ учит его:

5 лет заниматься тем, что ему скажут... работать в команде ... делать то, что хочет работодатель, а не они сами.
После ВУЗа такой студент пойдет по бодишопам и станет 23х летним синьором. И он точно не будет «добавлять то, что считает лучше для проекта», не будет спорить и проявлять инициативу, а будет годами сапортить унылый проект. И потом он станет 40-летним тех-лидом или менеджером, который все так же «делает что скажут».
Самая непреодолимая тюрьма — она в нашем сознании. И ее начинают строить родители, продолжают школа и ВУЗ, а заканчивают начальники — бюрократы.

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

Есть классная советская поговорка — «из хороших студентов получаются хорошие инженеры. И з плохих — хорошие начальники»

Не в IT, ИМХО.
На моем примате лучшими студентами были девочки-отличницы, потолок которых мануальный тестировщик.
Где-то с 3го курса почти все сообразительные студенты начинали подрабатывать по специальности, потому сессии закрывали, но не скажу, чтобы хорошо.

Ок, значит в ИТ из хороших студентов даже инженеров толковых не получается. Так и запишем.

Просто решил, что он круче техлида и плевать на остальную часть тимы.
Но виноват-то тут техлид!
Скорее всего он не захотел слушать девелопера и вникать в его предложение. Вместо того, что бы обсудить, покритиковать и подсказать — тупо отправил «писать что сказали» и на 2 месяца на человека забил! Какая же это вообще команда если один девелопер что-то делает 2 месяца и ни с кем из команды не пересекается? И где был ПМ, которые явно проглядел такой конфликт в команде?
В любом случае: девелоперы, которые пытаются сделать лучше, пускай даже «изобрести свой велосипед», — это именно то, что отличает наше ИТ от индусов, которые всегда делают тупо как скажут, не пытаясь вникать. Человек, который пробует, рано или поздно научится. Кто не пробует — так и останется формошлепом.

Да, тимлид там тоже эпично профакапил, когда не смог проконтролировать, соглашусь.
Вникал, архитектура обсуждалась всей тимой, довольно неплохой отмечу. Потому решение было достаточно взвешенное.

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

Иными словами получился классический Agile-case, коллективный факап есть, теперь начались поиски виноватого.

Там немножко иначе было. Человек отвечал за свою фичу, которая должна была писаться по оговоренной архитектуре, чтобы потом без боли заработать в проекте с остальным кодом и новыми фичами, которые параллельно писались другой частью тимы.
Человек на все вопросы лида отвечал — пишу. Иногда даже показывал демки. Формально конфликта не было, все были друг другом довольны. Проблема вылезла уже на этапе сбора всего вместе.

Ну все равно техлид виноват, потому что собирать фичи раз в 2 месяца это как минимум нереалистично. А то что не смог настоять на демонстрации что уже есть показывает недостаток качеств руководителя.

что делать дальше?
Прежде чем спрашивать что делать, определитесь сначала, что вы хотите получить в итоге.

Постарайся не бросать Универ — «корочка» всегда будет плюсом. К тому же, чаще всего, начиная с 3 курса, нет гум предметов.

у нас на третьем курсе ожидается
Філософія
Історія релігії
Основи економічної теорії
Політологія
Історія економічних учень
Факультет программной инженерии.

Мда... Это, мягко сказано, очень грустно...

Мда... Это, мягко говоря, очень грустно...

Это прекрасно, чувак. Как ты будешь торговаться о зарплате, не умея разговаривать и обосновывать(философия)? Как ты сможешь считать бабло будучи начальником, если не знаешь основ(основы экономической теории), политология, история экономических учений, история религии тоже пригодятся для общего развития.

Ну, если ты хочешь быть пролетариатом компьютера до конца дней — твоё право.

*Фейспалм*
Дааа, раскажи как звучит торг о зарплате с позиций метафизики нравственности Канта.

А работодатель ответит, что желание заполучить большую зарплату — это очень плохо по Фрейду

По Фрейду — это как раз хорошо и здраво.
Главное чтоб они не сцепились на тему что первично — жажда к власти ради секса, или жажда секса, как демонстрация власти.

Рассказываю. Работодатель говорит:"безнравственно просить большую зарплату в то время, как страна в кризисе/в Африке голодают дети" и т.п.
Надо же как то парировать, вот и...

Как ты будешь торговаться о зарплате, не умея разговаривать и обосновывать(философия)? Как ты сможешь считать бабло будучи начальником, если не знаешь основ(основы экономической теории)
Пфф, дядюшка Возген с рынка, никаких этих ваших ВУЗов не видевший и торгующий арбузами и мандаринками, даст фору в этих навыках очень легко.
если не знаешь основ(основы экономической теории), политология, история экономических учений, история религии тоже пригодятся для общего развития
Для общего развития еще пригодились бы основы кройки и шитья, теологии, японской каллиграфии, игры на бандуре, паркура и стенографии. Но ТС, вроде, за математикой и программированием учиться отправился.
Пфф, дядюшка Возген с рынка, никаких этих ваших ВУЗов не видевший и торгующий арбузами и мандаринками, даст фору в этих навыках очень легко.
как-то по интернету ходила байка, что на сдаче диплома одного студента-экономиста из какой-то малэнькой, но гордой южной страны, да! — попросили назвать функции денег в количестве пяти штук.
На что гордый горец ответил примерно — а чэго какиэ функции дэнэг? дэнги — ани ыли эсть, ыли ых нэт.

В мире слишком много людей, которые знают все 5 функций денег, но этих самих денег не имеют. Так что он был в чем-то прав.

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

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

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

Очень любил Философию, Историю экономических учений и Историю религии :-) Лишним не будет, в любом случае. Это же университет, а не институт.

Это же университет, а не институт.
Что вы этим хотите сказать?

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

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

После таких тем, забавно наблюдать другие, в которых спрашивают, где достать диплом для блюкард :)

Именно. Ценность представляет факт наличия корочки, а не пять лет в вузе.
Если очень надо «диплом для блюкард», то заочка + лаве кому надо.
Но не пять же лет жизни на это гробить.

Сам отсидел в универе 4 года (на 5 курсе уже работал). Ходил на ВСЕ пары (включая бредовые лекции по гуманитарке вроде «культурологии» или «религиеведению»). Денег дома не было совсем (это были 90е), комп — Спектрум, Интернета не было даже в универе (разве что у ректора).
Первый мой совет — перечитай два раза эту фразу и повторяй почаще: ШКОЛА КОНЧИЛАСЬ !
Закончилась обязаловка, контроль дневника родителями и порка за прогулы. Взрослый человек сам решает что ему нужно!
Второй совет: в школе учат, в универе — учатся. Никому в ВУЗе не нужно что бы ты научился — им нужно получить зарплату, взятки, звания. Поэтому нужно не отсиживать пары, а выбирать что тебе интересно и нужно — и целенаправленно искать кто тебя может научить.
Третий совет: в институте можно посещать любые лекции! А не только своего курса и специальности. Не хватило балов поступить куда хотел? — можно все равно прийти и получить знания. Действительно хороших преподов и полезных лекций — единицы. Но они есть — и сидя на «гуманитарке» ты пропускаешь то, ради чего и пришел в ВУЗ.
Четвертый совет: найди себе научного руководителя! И чем раньше — тем лучше. В ВУЗах процент толковых студентов такой же низкий, как толковых преподов. Поэтому те преподы, которые все-таки чем-то занимаются очень рады «падаванам». Научный руководитель не только поможет с самообучением но и отмажет от бесполезных предметов.
Пятый совет: цени свое время. Оно стоит очень хороших денег. Если фрилансил — то знаешь цену. Посчитай, сколько ты теряешь на каждой бесполезной паре. Думаю за это время можно заработать на покупку сессии «оптом».
Вообщем относить к универу как к платной конференции: деньги все равно уплачены, но это не значит что надо слушать все доклады. Это ведь твои деньги — значить можно выбирать что тебе нравится. Или вообще забить и идти дальше работать.

Поддерживаю, реально и объективно. Кстати, студенты, желающие углубиться в математические, алгоритмические аспекты QA, DA, ML обращайтесь. Помогу чем смогу, от совета .... до руководства дипломом или диссером. Спасибо

Купуєш сесію — даєш хабарі! Даєш хабарі — розвиваєш корупцію! Розвиваєш корупцію, колись ще не раз за таке постраждаєш! Неписане правило!

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

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

а у нас ещё поговаривают что в универе остались преподовать программирование те, кто не смог устроиться ни в какую контору..

У нас много преподавателей, которые работают где-то на фирме (из софтсерва много). Некоторые косят от армии, некоторые рекрутингом и пропагандой занимаются, а некоторым просто нравиться преподавателем быть. Тут проблема в том, что их допускают только к лабораторным занятиям, и даже если бы они хотели научить нас чему-то толковому (не по плану старого лектора, который на с++ до сих пор пишет на старейших версиях билдера), то они бы «получили» от лектора за то, что не придерживаются плана (пару случаев уже было). Так что все, что они могут — это небольшие лирические отступления, где говорят о том, что нам бы лучше было учить, чтобы потом найти работу.

Вам повезло с устройством, без опыта, в одессе такое невозможно. Наверное вуз все-таки базу дал и Вы подучились сами. На прошлой неделе вышел указ МОН, об отмене выбора студентами части гумпредметов (реально никто не выбирал а вузы принуждали к ... изучительству).

Зная то, как все медленно и криво исполняют указы МОН, и как часто МОН меняет свое мнение, то остается только надеяться на лучшее)

Правильно: Учить питон и за 5 лет стать крутым Python-разработчиком.
Неправильно: 5 лет учить математику, теорвер, статистику, алгебру и численные методы, теорию алгоритмов, и через 5 лет окажется, что у вас есть опыт во всем, кроме программирования. Таких «специалистов» наши вузы тысячами выпускают и никому без опыта они не нужны.

Правильно: Учить питон и за 5 лет стать крутым Python-разработчиком.
крутым Python-разработчиком формошлепером

Вас послушать, так все айтишники с 5-ю годами опыта работы — формошлепы.

Если вы за 5 лет работы не смогли достичь большего, это не значит, что никто не сможет. 5 лет упорной работы в полне достаточно, чтобы стать в своей области профессионалом.

Вас послушать, так все айтишники с 5-ю годами опыта работы — формошлепы.
Не все IT-шники с пятью годами опыта стали формошлеперами, но 5-летнее ботание одного узкоспециализированного языка программирования с полным игнорированием основ computer science — надежный способ пополнить их ряды.

Не путайте Computer Science и Software Engineering. У них общего почти ничего не осталось. Работа современного программиста — это 95% SE и только 5% CS.

Дмитрий, по программам бакалавров общего намного больше. Все зависит от конкретных кафедр и свежести голов заведующих.

немного перефразировать нужно — работать в аутсорсе формолепером. Почему-то все компании с мировым именем все-таки берут людей с образованием.

А потом выясняется, что эти «компании с мировым именем» очень уважают наших программистов (с ВО и без) и аутсорсят сюда свою работу.

Вы так говорите, как будто это что-то плохое

Угу. А потом быть неспособным упростить условие, потому что вместо правил Де Моргана шлепал формы. Постоянно слышал нытье окружающих про ненужные предметы, например теорию компиляторов. А потом — сюрприз — первое задание на первой работе — расширить грамматику транслятора, описанную flex/yacc.

Учить питон и за 5 лет стать крутым Python-разработчиком.
Извините, но совет в стиле "учиться кладке красного кирпича и через 5 лет стать профессиональным каменщиком по красному кирпичу.
первое задание на первой работе — расширить грамматику транслятора, описанную flex/yacc.
Такие задания дает вируальные работодатель выпускникам мехмата :)

Джуну на первой работе обычно скажут что-то типа «разберайся в проекте, пофикси пару баг, напиши такую-то фичу по аналогии».

Разбираться в чужом коде — это вообще 90% времени работы программиста. Если мы говорим о больших проектах, конечно. И лекциях Computer Science такому не учат :)

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

По поводу ненужности Computer Science. Опять же, случай из жизни:

Есть N складов, географические расстояние между ними и stock levels для продуктов, которые могут быть нулевыми. Нужно организовать разбитие посылки на части таким образом, чтобы использовалось минимально возможное количество складов, которые расположены ближе всего друг к другу.

Два варианта развития событий:

  1. Computer Science не нужен, алгоритмы для лохов.
  2. Computer Science все же пригодился и заказчику вовремя сообщили, что на больших заказах получение эффективного решения займет больше времени, чем доставка заказа на спине черепахи с самых дальних складов(на Луну).

В большинстве случаев Computer Science у нас изучается на столько поверхностно, что многие студенты, например ФИОТ КПИ, сразу на этот вопрос не ответят.

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

Тут еще вопрос сколько времени у тебя на это уйдет и сколько надо будет набить шишек чтобы в итоге учесть все corner cases :)

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

Голову для этого нужно банально развивать :) А если программист до этого 90% самообразования/работы не занимался разработкой чего либо нового и «заточил» сам себя под задачи поддержки чужого кода, то сомневаюсь что это у него выйдет.

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

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

P.S.

Computer Science все же пригодился
Пффф. Что же вы эвристику какую не прикрутили или генетический алгоритм?

Если это NP задача, то получение самого оптимального решения может занять O(2^N), а просто хорошее решение вполне можно получить за полиномиальное время.

То есть, по вашему, человек который 5 лет изучал теорию алгоритмов может не уметь программировать? Я говорю о тех кто действительно этим занимались, а не пары просиживали.

Может, я лично знаком с несколькими победителями олимпиад из ХНУРЭ, которые оказались совершенно неспособны делать задания на production-e, особенно баги.

Да, я прекрасно понимаю о чем вы. Но человек учится в универе, и там нужно учить фундаментальные вещи. Программирование можно учить паралелльно и потом немного программировать на себя.

Вы же понимаете, что это ни разу не показательная выборка?) Не понятно каких олимпиад, не понятен уровень их подготовки вообще. Не говоря уже о том, что не понятна оценка способности/не способности.
Я могу точно так же привести пример десятка победителей олимпиад способных на поразительные вещи в production-е.

Я могу точно так же привести пример десятка победителей олимпиад способных на поразительные вещи в production-е.
Они просто изучали программирование отдельно от CS. Отличное знание теории алгоритмов не помогает в программирвании ну вообще никак. Это принципиально разные вещи.

Человек становится хорошим программистом, только после того, как напишет большое количество программ. Бонусом этот навык не дается ни за кандидатскую в CS, ни за докторскую в математике.

А я вот не понимаю как можно изучать алгоритмы и программирование отдельно. Все отличные программисты выше среднего уровня которых я встречаю только подтверждают мое мнение. И дело здесь совсем не в кандидатских и докторских, не перекручивайте, пожалуйста)

В программировании надо много знать, а не писать каждый раз свой нечеткий поиск, реализованный по теореме Остроградского-Гаусса, причем реализованного криво и с багами, потому что таски ASAP, а протестить все случаи без TDD в лапшах спагетти-кода олимпиадоносцев не представляется возможным.

Вам нужно отсортировать массив, вы берете Arrays.sort() или пишете компаратор для коллекции. Для проверки вхождения в коллекцию используете something.contains(obj), двоичный поиск тоже реализован для отсортированных коллекций. Вам нужно грамотно проводить транзакции и закрывать соединения — вы ищите и конфигурируете transaction manager и пул для соединений. Даже написать грамотную хеш-функция — та еще задача. Опять же годный стиль изложения кода, а не методы по 300 строк как на олимпиадах с десятками однобуквенных переменных и флажков.

Вы точно программист? Я по вашим высказываниям очень в этом сомневаюсь.

Грамотная хеш-функция это не теория алгоритмов? А годный стиль кода вообще-то навык отдельный, и при этом не сверх сложный. Вы ему что ли обучались у монахов? Здравомыслящий человек не будет тыкать однобуквенные переменные в продакшн-коде, только потому, что он так привык, решая задачи на скорость.

Мне так нравится, когда любая дискуссия о пользе/вреде олимпиад сводится к обсуждению стиля кода и голословным заявлениям вроде «лапши спагетти-кода олимпиадоносцев». Ах да, еще — «ты вообще программист?» :)

Смущают ваши обобщения и причинно-следственная связь в рассуждениях: «Знает алгоритмы — значит умеет программировать (по дефолту). » Как быть с профессорами, знатоками нечетких алгоритмов, экспертных систем, преобразований Лапласа в Фурье и обратно, которые за жизнь не написали ни одной строки кода? Они тоже смогут писать production код?

Еще раз, где в моих словах было хоть слово о профессорах и людях не писавших ни строчки кода? Я лишь утверждаю, что человек изучающий теорию алгоритмов, хотя бы на базовом уровне курса хорошего западного универа, который своими руками эти алгоритмы имплементил, а еще лучше решал хотя бы не сложные олимпиадные задачи — в перспективе станет отличным разработчиком. И что для этого не нужно с ранних лет бежать обязательно получать опыт коммерческой разработки. Потому что фундаментальные навыки никто не отменял.

То есть, по вашему, человек который 5 лет изучал теорию алгоритмов может не уметь программировать?
Изучал теорию алгоритмов != программировал.
Я говорю о тех кто действительно этим занимались, а не пары просиживали.

Для тех кто не знает как происходит изучение чего либо: ты читаешь теорию, а затем практически закрепляешь полученные знания. PROFIT. А практика в алгоритмах это программирование.

Изучал теорию алгоритмов != программировал.
За державу только обидно, что программисты так серьезно считают :(

Ну это некрасиво дописывать activities задним числом, когда вас поймали на проколе, начиналось с чистой теории и implicit навыков по дефолту, а оказалось что и практика есть и программирование...

За державу только обидно, что программисты так серьезно считают :(
Я читаю что написано и стараюсь не додумывать от себя.

Ничего никуда не дописывалось. Внимательней читайте комментарии на которые вы отвечаете)

А практика в алгоритмах это программирование
Нет, это не так.

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

А теория алгоритмов — это только свой код.

Или, как говорится, теоретически между теорией и практикой различий нет, а на практике они есть.
Программисрование — это по большей части разбор чужого кода:
а) как работает код твоих коллег;
б) как работает код, которые был написан в проекте до тебя;
в) как работают фреймворки, которые ты используешь;
г) как работает API ОС, которые ты используешь;
д) почему это все нифига не работает, хотя должно;
е) изучение тонны документации,...

Это все навыки которые приобретаются естественным образом с опытом и не требуют сверх усилий. Они не требуют предварительной долгой подготовки, что бы начать их осваивать. Человек приходит на работу и учится, как и каждый до него. Вопрос в том как быстро у него это выйдет без должного background. Я не говорю, что алгоритмически подкованный человек или же олимпиадник сходу становится отличным разработчиком (хотя шансы его значительно выше чем у других), но отличный разработчик не может быть не грамотным в computer science и алгоритмах.

А практика в алгоритмах это программирование
Нет, это не так.

Так что же это по вашему, раз вы так уверено отрицаете? :)

Скажем так, Computer Science — это не Software Engineering.

Software Engineer может заниматься CS,
а специалист в CS может заниматься Software Engineering. Но одно второе не подразумевает.

Если вы никогда не изучали алгоритмов, или каких-то элементарных основ, то простите, вы не можете знать пригодились бы они вам или нет) И вы не можете даже догадываться как бы вы решали сейчас свои текущие задачи, насколько быстрее и качественнее.

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

программирование — это воплощение идеи в программе
Это хобби.

Программирование за деньги, оно другое.

Не знаю как в PHP, а в Java сущестуют большие проекты, которые пишутся годами. Прийти на проект с нуля — большая удача.

А на С++ бывают проекты, которым 10 лет и более. Когда не осталось ни людей, которые начинали писать этот проект, ни даже тех, кто видел этих людей.

ты мне напоминаешь советский бассейн — 3и года изучения теории без плавания потому что нет воды. В нормальных местах дается теория а потом лабы на компах которые должны работать, твой уникальный опыт изучения теории без практики не понятен нормальным людям.

на базовом уровне курса хорошего западного универа
А что насчет людей, изучающих CS на базовом уровне среднего украинского универа?

А что мешает учась в среднем украинском вузе заглянуть на coursera.org, скачать хотя бы пару книг и начать что-то делать?

Что мешает украинским студентам удаленно учиться в западных вузах?

Ничего. Но это вряд ли улучшит качество преподования в наших вузах. А о них и есть весь этот сыр-бор.

Что мешает украинским студентам удаленно учиться в западных вузах?
Ничего.
То, что в нормальные вузы не берут кого попало даже в онлайновые группы. А конкурировать с китайскми и индийскими абитуриентами будет посложнее, чем сдать ЗНО в Украине

Сыр-бор вообще о том нужен ли математический/алгоритмический фундамент. В данной ветке комментариев ни слова не было о необходимости учиться в наших вузах :)

Во-первых, мне, честно говоря, не совсем понятно, как олимпиадные задачи связаны с теорией алгоритмов. На сколько я помню, в олимпиадных задачах требуется придумать и реализовать алгоритм или структуру данных, а это скорее относится к дисциплине «Алгоритмы и структуры данных», которая в хороших западных университетах идет отдельно от дисциплины «Теория алгоритмов». Ну и эти дисциплины разные по сути своей.
Во-вторых, на сколько я помню, олимпиадные задачи, в частности формата ACM, не требуют понимания того, что такое хорошая архитектура системы или, например, не требуют знаний мпогопоточности, а ведь освоить все это не легче, чем, например, прочитать и понять книжку Сэджвика по алгоритмам и структурам данных. То есть, выходит, человек, который занимался олимпиадами имеет дополнительные знания по алгоритмам и структурам данных, но вполне может не иметь других важных фундаментальных знаний. Здесь надо бы определиться, что вы вкладываете в понятие «отличный разработчик», потому что, с учетом всего выше сказанного, получается, что у человека с advanced знанием алгоритмов и структур данных, коими обычно являются бывшие ACMщики, шансов стать отличным разработчиком больше только в том случае, если речь идет о разработчике, работа которого требует продвинутого знания алгоритмов и структур данных. Если же речь зайдет о хорошем архитекторе, то у кого, по-вашему, будет больше шансов им стать — у человека, который, к примеру, с младших курсов был вовлечен в разработку приложений (opensource, к примеру), или у того, кто занимался ACM?

Широко известные студенческие олимпиады про программированию.

Боюсь только что книги Сэджвика по алгоритмам и структурам данных может быть недостаточно для выхода в топ по АСМ

Правильно, потому что, чтобы выйти в то по ACM надо знать не все, а просто больше других.

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

Я об этом.

Для топа АСМ нужно скорее много решать и читать разборы, Сэджвика можно вообще не читать.

Ну так «много решать» это и есть та практика о которой я говорила. Хотя на счет «вообще не читать» это вы явно погорячились)

Во-первых, мне, честно говоря, не совсем понятно, как олимпиадные задачи связаны с теорией алгоритмов.

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

получается, что у человека с advanced знанием алгоритмов и структур данных, коими обычно являются бывшие ACMщики, шансов стать отличным разработчиком больше только в том случае, если речь идет о разработчике, работа которого требует продвинутого знания алгоритмов и структур данных.

Хороший АСМщик это больше чем просто набор каких-то знаний. Это умение ими пользоваться и немного другой способ мышления. Такой человек с нуля намного быстрее и качественней разберется практически в любой предметной области в которой будет нужно.

Вся суть в том, что другого времени на самообразование, и прокачку фундаментальных скилов у вас больше не будет. Я не говорю, что нужно обязателньо сидеть до ~22 лет не работая. Opensource это замечательно, свои хобби проекты тоже. Но это не должно мешать этапу становления твоих интересов, навыков. В это время надо бы посмотреть что вообще есть в computer science, чем люди занимаются, что тебя больше интересует, мозг свой развить.

1)

Весь ваш следующий абзац это допущения человека лично незнакомого с тем о чем говорит.
Цитата из вики:
Тео́рия алгори́тмов — раздел информатики, изучающий общие свойства и закономерности алгоритмов и разнообразные формальные модели их представления.
Вы и правда, участвуя в ACM, используете знания о общих свойствах и закономерностях алгоритмов и моделях их представления? Я изучал две отдельных дисциплины — «Теория алгоритмов» и «Алгоритмы и структуры данных» и эти дисциплины разные по сути своей, они изучают совершенно разное и с разной целью. Я участвовал в АСМ и мне трудно представить, как можно применить знание теории алгоритмов для решения олимпиадных задач. Знание алгоритмов и структур данных — можно, но это две разных дисциплины.

2)

Хороший АСМщик это больше чем просто набор каких-то знаний. Это умение ими пользоваться и немного другой способ мышления. Такой человек с нуля намного быстрее и качественней разберется практически в любой предметной области в которой будет нужно.
АСМщики любят так о себе думать. Правда, никакой универсальной статистики, к сожалению, пока еще нету. Лично я не осмелился бы делать такие утверждения, не имея большого опыта работы, как с АСМщиками, так и с другими людьми. Иначе с чего такие рассуждения? Мне совершенно не понятно, почему, по-вашему, хороший АСМщик разберется, например, в топологии с нуля намного быстрее и качественнее, чем хороший математик. Как ему в этом помогут дополнительные знания алгоритмов и структур данных и опыт решения олимпиадных задач по программированию?
3)
Я не говорю, что нужно обязателньо сидеть до ~22 лет не работая. Opensource это замечательно, свои хобби проекты тоже. Но это не должно мешать этапу становления твоих интересов, навыков. В это время надо бы посмотреть что вообще есть в computer science, чем люди занимаются, что тебя больше интересует, мозг свой развить.
Когда я писал про opensource, я не пытался сделать акцент на том, что не работать до 22 лет — плохо и нужно быстрее идти на работу. Я хотел подчеркнуть, что помимо алгоритмов и структур данных в мире программирования есть другие не менее важные и сложные области, осваивать которые долго и сложно. Например, я не верю, что АСМщик, пусть даже очень опытный и хороший, с нуля очень быстро и качественно разберется с тем, что такое хорошая архитектура. Потому что для того, чтобы это понять нужен большой опыт, так само как и для того, чтобы стать топовым АСМщиком. И это тоже требует немалых интеллектуальных усилий.
АСМщики любят так о себе думать. Правда, никакой универсальной статистики, к сожалению, пока еще нету. Лично я не осмелился бы делать такие утверждения, не имея большого опыта работы, как с АСМщиками, так и с другими людьми. Иначе с чего такие рассуждения? Мне совершенно не понятно, почему, по-вашему, хороший АСМщик разберется, например, в топологии с нуля намного быстрее и качественнее, чем хороший математик. Как ему в этом помогут дополнительные знания алгоритмов и структур данных и опыт решения олимпиадных задач по программированию?
Только почеому-то асмщиков берут к себе гуглы, майкрософты и амазоны, а непризнанным гениям с неоконченным образованием в ПТУ остается сидеть в бодишопах и клепать формочки.

Не всех, а топовых. Но кроме них там еще много не АСМщиков. Ну и из этого не следует заключать, что АСМщики быстрее и качественнее разбираются в чем угодно. Возможно, этот как раз тот случай, когда на работе действительно нужно знание алгоритмов и структур данных.

Как возьмут, так и уволят. ACM-бекграунда даже на клепание формочек в Амазон не хватит :P

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

Могу только сказать, что я знаю парочку людей, которые устроились туда без АСМ бекграунда и без огромного опыта.

А можете узнать, что у них спрашивали на собеседовании? Разобраться в архитектуре проекта 10летней давности, или алгоритмические задачки?

Давали задачи по дизайну и алгоритмам. Одного спрашивали много по concurrency. Не понимаю, причем здесь архитектура 10-летней давности. Если вы клоните к тому, что собеседование в таких компаниях включает в себя только задачи по алгоритмам и структурам данных, то это не так.

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

Google уже признал, что такие вопросы не эффективны вообще, и отказался от них. Такая же судьба ждет и алгоритмические задачки.

В Амазон из Украины набирают кучу людей. И асмщики они или нет, HR’ам пофиг. Отличный разговорный английский будет куда большим плюсом.

Олимпиад по программированию со всякими разными алгоритмами. Победителей ВУЗовский и всекукраинских олимпиад. У меня хотя бы есть 3 примера в моей выборке, а у вас лишь допущение

То есть, по вашему, человек который 5 лет изучал теорию алгоритмов может не уметь программировать
, основанное...ни на чем.

3 примера ВУзовских олимпиад которые похоже вообще ни о чем) Простите, но кажется вы не особо знаете толк в олимпиадном движение в Украине вообще. Давайте хотя бы поговорим об олимпиадниках уровня полуфинала acm icpc.
Мое мнение основывается на десятке людей которых я знаю лично и регулярно общаюсь, и куда большем количестве не столь близких знакомств.

мой друг победитель всеукраинской олимпиады по программированию в 90 годах. Толковый парень, закончил КПИ ФИВТ и т.д., но жизнь привела к разработке и поддержке проектов на дельфи и так как то вышло что на дельфи он и застрял. Даже разработка веб сайтов у него почему то идет с трудом. Проекты на дельфи большие и важные, пользуются большими гос. структурами, но ни в гогл ни в амазон ни еще куда то он не попал (пока). Второй друг не победитель олимпиад , хотя в школе он программировал хорошо. Он учился вообще в каком то транспортном институте, но потом нашел должность программиста вижуал бейсика в банке и через некоторе время возглавил ИТ департамент, теперь закупает и разрабатывает разные сложные системы на оракле, майкрософте и САПе. Тоесть есть какие то случаи когда победители олимпиад скатываются к среднего уровня програмистам, а не победители стают архитекторами систем и добиваются высот в ИТ.

Ну вы олимпиады не ровняйте друг к другу все таки) Вообще вузовские украинские олимпиады, которые проводятся именно министерством, имеют не очень хорошую репутацию в культурном обществе. А топ topcoder/codeforces/ACM не скатывается до уровня среднего программиста :)

что то я тебе не верю. Может ХРУРЕ — это какой то отсталый вуз ?

Можете пойти на факультет КН, поучиться 5 лет и проверить, я ничего не имею против.

Забей на математику. Из того, что ты уже знаешь тебе пригодится процетов 10. Выбери язык программирования, которые тебе нравится и совершенствуйся в нем. В мире полно неустроенных математиков и очень не хватает хороших программистов.

Очень нужна кнопка «не поддержать».

То же самое сказал бы про ваш комментарий «учи математику». Очевидная глупость.

Чем нужно думать, чтобы прийти к выводу, что знать «теорвер, статистику, алгебру и численные методы» программисту полезнее, чем знать языки программирования и фреймворки?

знать «теорвер, статистику, алгебру и численные методы» программисту полезнее, чем знать языки программирования и фреймворки
Программисту — нет, а вот инженеру — да. Это,кстати, разные профессии (Software Developer и Software Engineer), в задачи инженера так же входит знание/понимание предметной области (а тут могут пригодиться и статистика и теор. мех. и даже эконом теория) и умение найти решение поставленной задачи, для чистого программиста достаточно знать
языки программирования и фреймворки
и применять эти навыки по мере надобности.

Давайте уже говоить прямо, что программист со знанием предметной области гораздо полезнее, чем без оной. И если есть задача написать игровой движок, то без математики не обойтись. А если вы пишите бухгалтерский софт, то полезно побольше общатся с бухгалтерами.

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

Новых проектов пишется гораздо меньше, чем поддерживается старых. Поэтому умение читать код — основной навык программиста.

Новых проектов пишется гораздо меньше, чем поддерживается старых.
Ну, я в мобайле, так что у меня, скорее, обратная ситуация.
Чем нужно думать,
Я не намерен дискутировать с кем-то в таком тоне.

Попробуйте порефакторить какой-нибудь код, например, связанный с кредитами. Мне периодически приходится читать код, в котором математики больше, чем ЯП.
Или как-то, когда стандартная либа повернула изображение относительно не центра, а левого нижнего угла, пришлось вспоминать тему «Движение и поворот» для компенсации такого поворота.

Вы не путаете программирование и предметную область?

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

Есть проекты, для которых надо знать теорвер, но это не значит, что для всех проектов надо знать теорвер, не так ли?

Выбери язык программирования, которые тебе нравится и совершенствуйся в нем
А что, если человеку нравится Algol?

Учите математику. Как можно лучше и больше. Особенно теорвер, статистику, алгебру и численные методы. Я очень жалею, что многое пропустил в универе в похожей ситуации.
Еще смотрите курсы на coursera и udacity, особенно по алгоритмам, machine learning и data science. Пробуйте все это на практике, если хватает времени и сил. Не увлекайтесь этой работой, она дерьмо, не гонитесь за деньгами, если есть возможность. Stay hungry, stay foolish, короче.

численные методы
Численные методы можно за несколько дней самостоятельно расковырять. Особенно если никто не заставляет все считать на обычном калькуляторе.

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

Ну зачем человеку начинать изучать программирование с теории алгоритмов и machine learning? Начинать нужно с того, что востребовано рынком.

Stay hungry, stay foolish, короче.
Популизм, короче.

Затем, чтоб не заниматься всю жизнь формошлеперством.

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

И да, я сделал не так как советую, я сделал хуже, о чем нередко жалею.

Потому что сейчас у него как раз время для того, чтобы научиться чему-то фундаментальному, что поможет ему заниматься чем-то интересным всю оставшуюся жизнь.
Вот только дворников с кандидатской нам не хватает.
А выучить питон можно за два месяца.
Ага, а С++ можно выучить за 21 день. Вы вообще программист или нет? Чтобы стать хорошим программистом нужны годы

У нас полстраны, которые знают кучу всего фундаметального, но так и не могут осовить ничего, востребованного рынком. Выпускник мехмата с красным дипломом, работающий учителем в школе с ЗП 3000 грн — это пример из жизни.
Чтобы стать хорошим программистом нужны годы
Да, и львиная доля этого времени — научиться решать сложные задачи, что я и предлагаю сделать автору.
Вы вообще программист или нет?
Вы решили похамить, ясно.
У нас полстраны, которые знают кучу всего фундаметального
Это сильное и вредное заблуждение.
Выпускник мехмата с красным дипломом, работающий учителем в школе с ЗП 3000 грн — это пример из жизни.
Я советовал учить математические дисциплины, а не получать красный диплом.
львиная доля этого времени — научиться решать сложные задачи
... которые связаны непосредственно с программированием, но не имеют никакого отношения к математике.
Вы вообще программист или нет?
Это был риторический вопрос. Ни один программист не стал бы утвержать, что язык можно выучить за пару месяцев. Вы или не программист или специально искажаете факты.
Я советовал учить математические дисциплины, а не получать красный диплом
Люди, которые получают красный диплом на мехмате, с большой долей вероятности отлично знают мат. дисциплины. Но навыков, востребованным рынком труда это не прибавляет.
... которые связаны непосредственно с программированием, но не имеют никакого отношения к математике.
Матема́тика наука о структурах, порядке и отношениях, которая исторически сложилась на основе операций подсчёта, измерения и описания формы объектов. ©wiki

Все ещё никакого отношения? :)

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

паттерны — это что такоей ?

Люди, которые получают красный диплом на мехмате, с большой долей вероятности отлично знают мат. дисциплины. Но навыков, востребованным рынком труда это не прибавляет.
Отнюдь. Учился там, знаю о чем говорю. Особенно если речь идет о красном дипломе магистра, потому что его дают только с учетом оценок в магистратуре, где половина предметов это всякие охраны труда и социологии. А если говорить вообщем, то идея об объективности оценки знаний на таких факультетах, судя по моему опыту, переоценена. На моей памяти довольно много случаев, когда люди клянчили оценки, мотивируя это тем что «стипендию потеряю» или «повышенная слетит». Это не всегда срабатывало, но очень часто.

Отдельные случаи могут быть любыми, но если сравнить массово знания студентов со средним балом 3.5 и 4.5, то окажется, что вторые занют мат.предметы лучше.

Я не сказал бы, что таких людей было очень мало или даже просто мало. Более того, иногда возникали ситуации, когда оценка по предмету очень сильно коррелировала с посещаемостью.
Ну, тут, конечно, еще стоит определиться с тем, о каком именно мех-мате мы говорим. Я, например, знаю человека, который перевелся учиться на мех-мат, где учился я, с мех-мата другого города, потому что там, по его словам, был полный беспорядок, а у нас все более организованно и учиться сложнее.
То есть, если сравнивать студентов с разных мех-матов со средним балом 3.5 и 4.5, может оказаться, что студенты со средним балом 3.5 знают лучше.
Вообщем, проверять знает ли конкретный человек какой-то конкретный предмет лучше всего в формате собеседования.

жаль у тебя не указанно кем и где ты работаешь, не очень понятен твой уровень владения программированием. Если у человека есть хорошая база в программирование (Алгоритмы + структуры) он может освоить любой язык за 3-7 дней. Будет только разное понимание слова «освоить», для меня освоить это значит с помощью гугла и полученных знаний написать какой нибудь рабочий код в реальном проекте. Может тебе это кажется страшным и непонятным, но если ты знаешь 2-3 языка то реально 80% знаний о 4том языке у тебя уже есть. Останутся только небольшие нюансы.

Плиз, подскажите что изучать(книги, какие ресурсы юзать), чтобы хорошо владеть

(Алгоритмы + структуры)
мне кажется, что Вы в этой области — мастер:)

это загадка ))) в украине популярна книга какого то сейджвика )

Освойте эту книгу для начала, если вы на Java: www.ozon.ru/...il/id/18319699
Пока будете разбираться, заодно освоите TDD, т.к. многие алгоритмы в книге не тестируются, а лишь запускаются в main-е. Чистота кода тоже хромает, очень часто попадается однобуквенный непонятный код в длинных методах. В общем заодно научитесь рефакторингу.

Мне кажется, что брать сразу Кормена сложновато, хотя это и великолепная книга, наверное лучшая в своем роде, я изучал отдельные главы по надобности.

Спасибо, за советы по обучению. Может кто-то знает, как «протестировать» человека на способность к программированию вообще? Есть ли в человека будущее в этой сфере если он что-то простенькое может написать, а-ля книгу контактов или простенькую детскую игру-обучалку, а-ля страна-столица. Угадай-ка! Или максимум пробовать себя в тестировании, хотя их и так как «собак нерезаных» все ломятся в «IT»?

Написать простенький «Hello World» при помощи гугла — это не освоить язык. А произнести 5 фраз со словарем в руках — это не освоить язык.

Только на языках программирования никто больше не пишет. Сейчас это или платформа или сразу стек технологий. И вот, чтобы овладеть своим стеком технологий и не лезть за каждой мелочью в google, надо лет 5 опыта. Есть даже такое правило — 10,000 часов.

Вот пример технлогий/фреймворков, которые используются в среднем по размеру Java-приложении:
JSE 7, JSP, Servlets, JEE 7, Tomcat 7, Maven, Ant, GWT, Hibernate, MySQL, Apache CXF, Spring Core, Spring MVC, Jackson, Spring Security, Spring Social, jQuery, HTML, CSS.

Вот, если вы освоили все эти технологии, разобрали фреймворки, прочли по ним хотя бы какую-то документацию и заставили их вместе работать, так, как вам это надо, то вы Java-разработчик. И это мы еще EJB не коснулись. Там еще 2 десятка технологий.

А «с помощью гугла и полученных знаний написать какой нибудь рабочий код в реальном проекте» — это не программист. Если человек по каждому(!) вопросу бегает в Google, то он не только ничего не умеет, но и вообще ничего не знает. С таким «программированием» вы даже на стажера не тянете.

ну конечно, все супер специалисты по перечислению стеков и т.д. Главное запугать человека набором безумных слов и отбить желание даже влазить в тему. Но я знаю один секрет который помогает новичкам — в программировании можна переиспользовать код и большинство из перечисленного написанно для того что бы большие куски кода заново не писались в других проектах. Кстати, покажите кусок своего кода — интерестно посмотреть есть ли вам реально что показать.

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

В большом их было бы в два раза больше, плюс несколько своих, которым уже лет 5

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

Ну давайте возьмем пару вакансия с rabot.ua:
rabota.ua/.../vacancy5544848
Java Core, Java EE, JPA, Hibernate, JDBC, Log4j, Slf4j, SQL, MySQL, Relational databases design, HTML/CSS, SASS/SCSS, Javascript and frameworks, XSRF, HTTP, caching, proxies and load balancers, SSL, Tomcat, GWT, Spring MVC, Rails, NoSQL & Map/Reduce, JUnit, Mockito, Maven, Ant, Git, AWS, Puppet,...

rabota.ua/.../vacancy4983950
Java core, JSP, Servlets, Concurrency, Multithreading, Javascript, HTML, Spring Core, Spring MVC, SQL, Hibernate, MySQL, Redis, NoSQL, jQuery, AJAX, Hight Load Systems, REST, SOAP, Linux, Apache Tomcat, Intellij IDEA, JUnit, Mercurial, JIRA

очень много слов и аббревиатур. вопрос в другом — насколько нужно глубоко использовать все эти технологии на небольшом проекте? А то окажется что все использование например Spring Security это просто правильно сконфигурировать его и всё. Или тот же Hibernate — просто прописать анноатции и связи, а дальше там никакой сложной логики нету.
Я вот думаю еще, что MySQL в таком проекте используется на уровне — поставил, прописал конфиги и забыл.

половина этих знаний это скилл под названием править XML конфиги

Дмитрий, не надо так о учителях в школах, это каторжный и неблагодарный труд. А низкая зарплата, так гос-во виновато прежде всего. У доцента вуза 2940 грв ставка, тоже не очень.

А где я писал, что в чем-то осуждаю школьных учителей? Я так же как и вы согласен, что это очень полезный для общества труд и он очень низко оплачивается.

Я знаю несколько выпускниц мехмата и никто не пошел в ИТ, все зарабатывают очень скромно. И никаких высокооплачиваемых навыков вуз им не дал. Отличное знание математики? Да. Дает ли это возможность купить свою квартиру? Очень-очень редко.

Если бы люди знали, что не смогут найти хорошую работу со своими знаниями, стали бы они 5 лет учить математику? Виноваты ли сами люди в этом? Скорее всего — нет. А вот советчики «учить математику» точно приложили к этому руку.

Как-то совсем мы все забыли, что математика это основа программирования. Как можно быть хорошим специалистом и не понимать как работает то, что ты пишешь? И давайте не будем ставить в один ряд теорию алгоритмов и machine learning. Первое это основа, а второе уже именно предметная область.

Камон, как часто вам нужно считать чтото сложнее среднего значения попугаев в продакшене? Только не надо плз про олимпиадное програмирование, это отдельная тема...

Имхо програмирование это построение логических связей и условий с максимальным переиспользованием кода, а матан оставьте Вольфраму.

Камон, как часто вам нужно считать чтото сложнее среднего значения попугаев в продакшене

Лично мне — часто :) Но я говорю совсем не о том считаете вы интегралы на работе каждый день или нет. Никогда не напрягая и не развивая свой мозг вы даже не догадываетесь как он мог бы у вас работать. А развивать его в математике для программистов это так же естественно, как для танцора делать зарядку и растяжку.

Логические связи и логика вообще имеет непосредственное отношение к математике. И не нужно, пожалуйста, так снисходительно отзываться об олимпиадном программировании. Такие возражения принимаются только от минимум желтых участников topcoder и/или оранжевых на codeforces. В противном случае — вы слабо представляете о чем говорите вообще.

Олег, в теории Вы правы, а по сути не очень. Не нужны математики, даже с навыками Dev, QA... К примеру, BigData, ML, DA ..... . Большинство рекрутеров и терминов таких не знают и раздражаются математикой и алгоритмами (скажу почему: они часто выпускники педунов, биофаков, геофаков, истфаков....). В Киеве еще бывает заинтересованность (все-таки уровень достойнее, больше фирм), на периферии и терминов не слышали и все на порядок болотистее.

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

Т.е. вы еще и уехать человеку предлагаете, чтобы ваши советы работали ? А если он не готов бросить семью/друзей ?

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

Я ничего не имею против математики, она мне как-то нравится, да и дается достаточно легко. Тут проблема больше в том, что у нас часто ставят гум. предметы чуть ли не выше профильных. Они забирают больше времени на подготовку всяких докладов по искусству вязания крючком в нашей области и т.д., чем разбор доказательств с какой-то темы по мат. анализу.

Потому я и начал эту тему, я не сколько хочу бросать университет, сколько оптимизировать саму учебу в универе, и обучение в целом, а набивать шишки до 5 курса, и потом понять что не так — не самый оптимальный вариант.

Тут уже собралось достаточно много вариантов и советов, остается только разобраться в них, и выбрать самые оптимальные)

а как тебе помогли численные методы ? или статистика ? или теорвер ?

Чтобы тебе что-то помогло, у тебя это должно быть. К сожалению, это не про меня, математику я знаю намного хуже, чем хотел бы. Не знаю, можно сказать. Но даже в моей работе пригодилась и алгебра с геометрией, и теорвер и статистика (правда простенькая и на собеседованиях). Но главное, что мне этих знаний очень не хватает, когда я пытаюсь разобраться во многих сложных темах. И уж точно эти знания очень нужны для того, чтобы заниматься по-настоящему крутыми штуками вроде artificial intelligence, data science или machine learning.

мне кажется ты приувеличиваешь. Я математику знал хорошо, ни помню ни разу что бы мне она гдето пригодилась кроме как на экзамене GRE. Помню взял курс с курсеры про программирование, они на первом занятии что бы вычислить биг О начали интегралы впутывать, так я и забил. Нашел потом другой курс где было без интегралов разжованно, вернее они там были но была небольшая сноска и объяснение. Все эти штуки типа артифишал итележинс и прочее, они все равно притерпевают декомпозицию на этапе реализации и разбиваются на простые таски, в простых тасках будут пользоваться функции, реализация функций — она по учебникам. Раскажи какую нибудь сложную систему где что то сложное пользуется — интерестно посмотреть.

начали интегралы впутывать, так я и забил.
Че, даже среднюю школу не осилил? :)

ану раскажи что такое интегралы )

(правда простенькая и на собеседованиях).
Это из серии «вот согнул проволочку интегралом и достал шляпу».

Математика — это корень всего, умение абстрактно мыслить, комбинировать решения и использовать готовые подходы. Сводить математику к знанию формул, все равно что сводить программирование к знанию синтаксиса.

В связи с приближением зимней сессии сознание студентов начинают посещать темные мысли на тему: «А надо или оно мне»?
А с приближением весенней — «Быть или не быть?»
Гуманитарные науки просто забирают время, мноооого времени (как сами пары, так и подготовка к ним). Преподаватели требуют от нас многого, иногда появляется ощущение, что я филолог или историк, которому поставили в курс несколько пар программирования и математики. Второй раз уже на грани слететь со стипендии из-за плохих баллов по гуманитарным.
Гуманитарные предметы не может выучить или умственно отсталый или заангажированый. Остальное додумайте сами.
(да и после универа «убитый» прихожу домой)...
ололо, это ж целых 4 пары отсидеть, как вы вообще это выдерживаете каждый день??
Для чего я написал такую кучу текста? Сам не знаю, получилось многовато как-то, я всего лишь хотел спросить совета: что делать дальше?
Закорешиться с преподавателями профильных предметов, попроситься поучавствовать в каких-то студенческих проектах, поездить на олимпиады, повыступать на студенческих конференциях.
Социализироваться с другими студентами, а не только с соседями по парте/по комнате в общаге, и не только на пьянках.

Все эти люди станут основой вашей профессиональной сети, могут стать вашими адвокатами в ВУЗе и сильно упростить вашу учебу, помочь вам с поиском хорошей работы.

А еще — перестать ныть в интернетах, подумать о том, что есть люди, у которых даже не было возможности сдать ЗНО, или у которых разбомбили университет в середине семестра, и сделать соответствующие выводы.

Ну ок,

Гуманитарные предметы не может выучить или умственно отсталый или заангажированый.

Результаты с этой сессии — у всей подгруппы не более двойки по БЖД, в том числе у отличников. Средний бал подгруппы по матану = 4.8, дифуры = 4.6, вычислительная геометрия = 5, ооп = 4.7, криптография = 4.4, бжд = 1.4. На счет своей отсталости я не могу быть уверен, может оно и так, но другие же достаточно умные люди, как мне кажется.

ололо, это ж целых 4 пары отсидеть
Вот именно, что отсидеть. У меня проблемы высоким внутренне-черепным давлением и давлением вообще (150/100 — минимум), из-за проблем с позвоночником. Это не лечиться. А постоянная головная боль + капание на мозг преподов по всяким «левым» предметам о том, что мы идиоты и нам надо знать как отличить барокко от рококо явно не способствуют повышению настроения.
А еще — перестать ныть в интернетах, подумать о том, что есть люди, у которых даже не было возможности сдать ЗНО, или у которых разбомбили университет в середине семестра, и сделать соответствующие выводы.

Напомнило «Ты тут жрёшь, а в Африке дети голодают!», мысли о том, что кому-то еще хуже, не способствуют решению проблем ни одной из сторон.

а как вы работать программистом собрались? тут надо 8 часов в день сидеть за компом.
надо ходить на пары — бери планшет и читай книжку. в чем проблема-то?

Расскажу про свой универ. Больше половины преподов в возрасте от 40 застряли в 80х (но это не так плохо, и математике, структурам данных и алгоритмам некоторые из них могут научить). Тем кому от 30 до 40, у них депрессия и отрицание, у них хреновая зарплата, от практики они отстали и смысла в жизни нет, ну разве что отправить зав кафедры на пенсию и самому собирать взятки со студентов. Те кто моложе в основном совмещают с работой и получают свое украинское phd, некоторые из них пытаются что-то учить, но чаще ставят всем оценки лиш бы студенты не тратили их время. Кстати аспирантов часто ставят к заочникам.

В такой ситуации пошел на работу а потом на заочное. Выделял для себя интересные предметы и сдавал их без взяток. Гуманитарку сдавал за деньги.

PS на заочке были товарищи которые сдавали сессию за 300$ оптом через зам декана. (у нас не Киев, в Киеве может быть дороже)

PSS гуманитарку сдавал тоже оптом через того же замдекана, староста со всего потока собирал зачетки и деньги по каждому предмету отдельно.

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

Я подробнее написал свою точку зрения здесь: dou.ua/...c/10467/#537840
Сам жалею что не ушел и досиживал в универе, потом не сразу попал в IT, 4 года потерял. Не повторяйте чужих ошибок, по возможности.

Я думаю, що багато хто зі мною погодиться, що від універу мало користі, якщо говорити про нашу державу. Викладачі не встигають за тенденціями, бо їм це, як то кажуть, нафіг впало. Є матеріал, прочитали і до побачення. Не скажу, що всі такі, є одиниці, які хочуть донести щось до студентів. Наприклад у нас в універі є викладач, який от хоче, щоб ми щось знали, дивиться за тенденціями, і це нам доносить, але цілій групі це теж нафіг впало, бо не цікавить їх таке і все, потім батьки за роботу порішають та й якось буде. Але суть то в чому, якщо є робота, реальний досвід, то за це варто хапатись. От я особисто в універі лиш через те, бо платять степендію і до армії ще не кличуть.

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

Можно, но как уже писали ниже, иногда проскакивают нормальные предметы. И выгнать все равно могут)

Нормальный препод с нормальными предметами ознакомить может и на заочке =)

Как правило, на матфаках заочек не бывает)

У нас есть, чисто с целью увеличить прибыль)

Сам был в таком же положении и сам начал на втором курсе работать в мелкой которке. По факту ты можешь полноценно доучиться 2й курс, а затем проплачивать каждую сессию и не появлятся там вообще. $300-400 по текущему курсу за сессию будет достаточно чтобы не появлятся там чаще 2х раз в пол-год.
А уж сможешь ли ты с кем-то договориться — это уже проверка твоих социальных навыков которые даже важнее чем навыки технические.

Тут как раз выплывает вторая проблема — факультет полон фанатиков, которые принципиально взятки не берут. Ну есть еще те, кто берут только на пересдачах, те кто берут только у заочников и совсем немного тех, кто берет у всех. На других факультетах с этим делом лучше, но мне редко попадаются преподаватели, которые идут на такого рода «контакт». Соц. навыки мне точно надо развивать.)

факультет полон фанатиков, которые принципиально взятки не берут
Я тоже так думал. На самом деле напрямую преподаватели действительно не берут. Такие схемы отлажены десятилетиями и обычный препод в них получает мизер и ставиться перед фактом.
На любом факультете есть человек который подобную услугу предоставляет. Это может быть заведующий кафедрой или зам. декана. Поспрашивай у старших курсов/иностранных студентов как проплатить сессию, не ты один такой :) Если с коррупцией в вузе борятся, то тогда тебе нужно будет найти того кто сможет за тебя поручиться.
Так вот, когда найдешь такого человека — идешь к нему и догавариваешься называя сумму в $300 и он тебе представит такой сервис all-inclusive. Только надо это делать заранее, т.е. начинать нужно будет уже в январе/феврале.

Да, слышал что-то такое. Я так за физру «договаривался» с зав. кафедры. Надо будет узнать у старших курсов. Спасибо за наводку. Может даже переведусь на заочку, тут тоже надо решить, т.к. некоторые предметы реально интересны — например, мне очень понравилась криптография.

Удачи, только не забудь что нужно брать полным пакетом и за приличные деньги, иначе могу не захотеть связываться.
Зато никакой мороки с посещениями, зачетами, курсовыми.

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

что делать дальше?
Рости в професійному плані, універ закінчи на трійки, щоб «корочка» була: для еміграції наприклад допомагає. Проте повністю забивать не треба: серед тон непотрібного шлаку іноді знаходяться справжні перлини. На стипуху забий. Прокачаєш скіли й будеш отримувать в місяць стільки, скільки викладачі за рік.

Я работаю, и считаю, что это правильно.
Но если что-то не получится — скажу, что выбрал семью.

Підписатись на коментарі