Пользователь
0,0
рейтинг
27 января в 11:38

Разработка → Откуда берутся плохие программисты и в чем их проблема из песочницы

image

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

Вместо введения или как я узнал о программистах


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

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

Играть в школе на компьютерах можно, но только на уроках информатики, и только после того как выполнишь некие задания. Задания же эти плавно переходили от решения простых математических задач к составлению алгоритмов их решения, и непосредственно к их программированию. Тяга к знаниям была потрясающая, хотя подозреваю, что не совсем честное наблюдение… играть хотелось больше, но именно это и подстегивало к скорейшему познанию основ Basic и TurboPascal.

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

Школа давала невероятную программу, с которой еще не окрепшие мозги едва справлялись. Уроки с 8 утра до 6 вечера. Возможно это и послужило дальнейшим переводом в другую школу, где отношение к программированию и пичканью всей информацией подряд было не столь приоритетно. На уроки информатики в 8 классе мне дали право свободного посещения, потому что весь материал который они хотели преподнести был освоен в предыдущей школе. Основы Basic, мать их так.

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

Очередная смена школы и физ. мат класс, где с упорством носорога учитель алгебры вдалбливала в нас знания и формулы. Договорившись с родителями, летние каникулы прошли под её неустанным вниманием и с пачкой чистых 48 листовых тетрадок, которые исписывались формулами, примерами и их решениями за 1-2 дня. Основы TurboPascal не подарили освобождение, но познакомили с Doom и Quake на уроках.

Институт, новый восторг и немного разочарования


На момент поступления опыт с программированием еще горел в глазах. Компьютеры начали появляться повсеместно и тяга к ним росла.

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

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

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

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

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

Возвращаясь к профильным предметам и разочарованию в подзаголовке, скажу одно — плохо когда студенты знают предмет лучше своего препода, монотонно бубнящего материал с книги, а таких было предостаточно. Все полученные знания были лишь поверхностными. Может ли человек учить других, если RAM память, ОЗУ и Оперативная память для него совершенно разные вещи, или что у процессора есть такая характеристика как размер кеша?

Были так же преподаватели, которые наоборот, столь увлекались своим предметом, что забывали про студентов, не реагируя на них. Вот стоит такой, пишет что-то на доске, и не слышит что материал не понятен и требует дополнительных объяснений. Он дописал формулы, что-то там в уме вычислил, стер сразу все с доски и опять начинает писать. И ведь видно, преподаватель знает свой предмет… даже обидно.

На волне разочарований и недопонимания, мимо ушей прошел предмет ООП с основами С++. Стало не интересно и скучно.
Что-то там про графы, про классы, фабрики. Но школа о которой говорилось в самом начале дала о себе знать. Много информации — ищешь подходящий шаблон, решаешь задачу подставляя в этот шаблон. Потому и курсачи по ООП были решены и сданы.

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

Тем временем, или о работе


В какой-то момент под руки попал Photoshop. И тут пошло… С++ который не усваивался, под гундеж преподавателя, превращался в самостоятельное тыканье кнопок графического пакета на компьютере в дальней части аудитории, что бы без «палева». Потом следовали летние курсы веб-дизайнера и изучение HTML с CSS. А со следующим семестром устраиваюсь на работу в ИТ компанию. Пока еще «помогайка» с мизерной зарплатой и огромными амбициями.

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

HTML и CSS это хорошо, сказал мне тогда начальник, и подсунул книжку по PHP, прочитав которую я должен был переписать старый сайт на PHP. Писал я его долго. Около года, самостоятельно вычитывая в интернете как реализовать ту или иную задумку. Как коряво бы не выглядело в коде, но он работал как надо. Там были и голосовалки, и оценка новостей, и парсеры rss лент, и регистрация пользователей.

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

Диплом


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

Работа, или выбор между знаниями и зарплатой


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

Через неделю уже подписывал бумаги на новом месте. Работы меньше, зарплата больше, но только нужно подучить SQL, до уровня «join» и объявления переменных в хранимых процедурах. В довесок возврат к прикладному программированию в виде Delphi.

Спустя пол года новая работа находит меня. Встает выбор — переустанавливать винду в штате за более высокую зарплату, или продолжать по договору писать запросы. Началось складываться впечатление, что мир имеет свои необъяснимые порядки: меньше работай — больше зарплата. Черт с ним, пойдем по пути меньшего сопротивления. Смена работы заняла всего 3 дня. И вот, я работник на новом месте. Осваиваю как обжимать витую пару, менять картриджи и восстанавливать винду с заранее подготовленного образа, что бы меньше затрачивать времени. Свободное время уходит на серфинг ржаки в интернете, а начальник отдела учит играть в набирающей популярность LineAge. Уже от скуки разворачивается на рабочей машине апач в денверовской сборке и пишутся простенькие утилиты для внутренних нужд, что бы опять таки экономить свое время. В свободное время методом тыка осваивается Corel, Flash.

Нет! Так дело не пойдет. Программист я или кто. Тем более веб это перспективно, надо развиваться в эту сторону. На просторах интернета в этом время разгораются споры о jQuery и Ajax, о Silverlight который должен победит Flash, о крутости ActionScript (до которого не дошли руки).

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

Я уже программист, но для полного цикла не хватает научиться рисовать, потому нашлось учебное заведение готовое обяъснить как держать карандаш в руках. Сделано. Теперь стоит призадуматься о поиске работы. «Я же PHP программист» — так и пишу в резюме. В итоге куча собеседований где с каждой новой беседой чувствую себя идиотом:

— А как вы форматируете страницу? Табличная верстка? Это же прошлый век! Только DIV.
— Вы работали с Unix, ну или хотя бы с Linux?
— Сможете за пол часа с помощью линейки и PHP построить самолет? (именно так для меня звучали некоторые вопросы)

На очередном собеседовании мне задали вопрос, который объяснил если не все, то многое «А вас разве этому не учили в институте?». У меня открылись глаза на неизмеримую пропасть между уровнем образования в далеком регионе и центральными городами. Не мог поверить что про Linux могут рассказывать в институте. В голове начали всплывать, что те ребята, с первой работы, как раз-таки заканчивали центровузы.

В конечном итоге нашел себе местечко. Поставили перед мной пустой комп, вручили диск с Linux — это твое рабочее место. Вот так и познакомился с этой системой, неловко вышло, пришлось задать три тысячи вопросов, пока не добрался непосредственно до непосредственного программирования на PHP. Тут опять у окружающий начали возникать вопросы: Где твое ООП? Как это ты никогда не работал с SVN? Ты в курсе что появились CMS и такой-то фреймворк? Вот оно, сейчас я знаний нахватаюсь. Талантливых ребят вокруг куча, есть кто объяснит и разжует. Но зарплата по факту вышла меньше чем было обговорена. Хватало ровно покрыть расходы на учебу, съем квартиры в подмосковье и проезд. Еда и коммуналка в эту сумму не вписывались. Потому, не загадывая, что было бы, насколько было там перспективно в плане получения знаний и опыта пришлось уволиться.

Ладно, думаю, не получилось. Не все еще потеряно, я ведь еще что-то да знаю.

Тут опять сработало необъяснимое правило: «Меньше работай — больше получай». Пригодились полученные знания SQL и сопровождение систем учета — вот тебе СУБД со своим скриптовым языком. Есть проблема — решай, нет — читай интернеты. И зарплаты хватало да же на «погулять» раз-два в месяц". В свободное время попытался сделать платную интернет-голосовалку, с привязкой к сервису оплаты через смс — четыре уникальных посетителя за пол года. Поржал и забыл.

И тут началось, или обнаружение проблемы


Освоение скриптового языка занял дня 3-4. Дальше работала лишь фантазия, что с этим делать и как. Время от времени вспоминались забытые навыки, и с шаблонным подходом получилось связать например СУБД с самописной программкой через DDE. Рутина и серость дней поглотила. Свободное время уходило на поиск «ржаки» на ЯПе и попытки мельком следить за технологиями. Где-то в это же время была нарыта ссылка на хабр.

Учеба завершена, столицу покорить не получилось. Пришлось вернуться в родной город и продолжить путь поддержки СУБД, сменив пару рабочих мест, принцип «меньше работы — больше денег» начал сдавать позиции. Частая смена рабочих мест, переезды и смена профиля не позволили построить карьеру, а возраст подкрадывается к тому, что о своей семье, квартире и машине надо было задумываться давно.

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

Началось чтение книг как вспоминание уже пройденного, чтение и попытки осмыслить какие-то новые тенденции, причем из разных областей. Перечитана большая красная книга о PHP. Прочитаны книжки по работе с JavaScript, jQuery, открыл для себя работу с DOM. А потом тупик…

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

Предпосылки к проблемам:

1. Образование

1.1 Устаревшая система образования.
Фраза что знания полученные на учебе устаревает к моменту выпуска не нова и не теряет своей актуальности.

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

1.3 Отсутствие у преподавателя объективного ответа «зачем?».
Можно было эту проблему отнести и ко второму подпункту, но нет. Несколько иная ситуация, ни коим образом не является показателем знания предмета преподавателем. Скорей отражает его педагогические способности. И не только в сфере подготовки ИТ специалистов.
Оглядываясь назад я понимаю, что, например, при создании игр весьма пригодились бы знания по геометрии и физике. Но упомянул ли об этом преподаватель? Или почему бы не объяснить тесную связь между конъюнкцией и «and» в программировании? На простых примерах, приближенных к действительным задачам. Ставить не так, где надо найти вероятность нахождения абстрактного числа, из абстрактного множества, а узнать шанс выигрыша в лотерею или комбинации в покере. Думаю с таким подходом теория вероятности была бы намного занимательней.

Как итог, из 30 человек с группы, 20 дошли до диплома. 5 из них работают «условно» по специальности, фактически программированием, занимаюсь только я. Иногда все таки приходиться писать мелкие программки на Delphi для внутренних нужд.

2. Трудоустройство

2.1 Работодатель до сих пор не готов воспитывать специалистов
Без опыта работы сейчас никуда не устроишься, а не устроившись не наберешь опыт. Хотя на личном примере моуг сказать, что те знания которые у меня сейчас есть — приобретённое в процессе работы и от части проявление личного интереса к тем или иным вопросам.

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

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

Текущие проблемы:

1. Интернет из источника информации начал превращаться в большую помойку

1.1 Бесполезная информация
В отдельный период жизни, я отличался способностью найти иголку в стоге сена, за что ценился в своем кругу общения. Нужно найти где купить дизельный генератор в 4 часа ночи? Не ссы, сейчас найдем.

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

— Мне нужно хранить данные в Excel. Как это сделать?
— А нафига? Все просто — не используй Excel, используй mySQL.

Это был еще один вариант распространённых ответов, только условия задачи от подобного комментария не изменятся, и все еще будут требовать хранить данные в XLS. В спорте почему-то все проще. Хочешь накачать бицепсы? Делай «вот таквота и вот таквота» (с) Невский.
Все четко и систематизировано.

1.2 Не актуальная или неполная информация
В последние годы можно заметить большой рост числа каналов на ютубе, кучу сайтов предлагающих различные курсы и тренинги. Самое интересное, что писклявый школьный голос пытается объяснить тебе суть мироздания, но ты где то это уже видел… ах, да, это просто слизанный курс с другого канала. В защиту школьников скажу что подобным грешат и уже взрослые дяденьки. Часто в таких пересъемках теряются важные детали. Теряется обратная связь с автором курса, что бы задать ему вопрос. И подобные курсы обычно неожиданно обрываются — все, нет следующей лекции, владелец забил на канал.

Не так давно предложили за вознаграждение написать сайт, потому решил осваивать очередную CMS, написать к ней тему и пару модулей. Зайдите на сайт комьюнити Drupal, Wordpress, DLE, Joomla и посмотрите возникающие вопросы. Там уже нет программирования, никто не сможет объяснить как реализована работа с шаблонами, потому что дальше проблем «какие настройки плагина поставить?» и «как поменять картинку?» они не уходили.

— Я вас научу создавать сайты с нуля на Drupal. Вот тут интуитивный интерфейс о котором я буду рассказывать полтора часа, а потом вы скачаете 100 плагинов и сайт будет готов.

1.3 Высокий порог понимания актуальной информации
Обратная сторона второго пункта. Помните картинку про сову? Где нужно было сперва нарисовать два овала, а на следующем шаге рисуем оставшуюся сову.

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

И ведь опять обидно. Человек мало того что владеет материалом, он его понимает, жаждет им поделиться, но просто не может донести до конечного потребителя — читателя. Ошибка в том, что человек забывает, что очевидные для него вещи, или как он считает, для других специалистов, другим могут оказаться совершенно не знакомые и непонятны. Какой такой синглтон?

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

2. «Изобретатели велосипедов»

2.1 Изобретатели.
Изобретателей стало куча, и самое распространенное изобретение — придумывание названий старым вещам. Данный способ я отныне нареку «плейсхолдером», а библиотеку с функциями — фреймворком. Вводя в тихий ужас всех несведущих. Звучит как-то так.

2.2 «Велосипеды изобретателей».
Конечно, фреймворки облегчают людям работу. Но навязывание очередного не является путем просвещения.

— Нафига ты это пишешь с нуля? Используй вот этот фреймворк! Там все есть!
— Ну а как же я научусь и буду понимать как все работает?
— Тебе это не нужно. Достаточно знать как работать с фреймворком.

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

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

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

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

1. Знание английского

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

2. Перфекционизм

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

3. Самоедство

Я уже упоминал что как-то нарыл ссылку на хабр, и с этого все и началось. С каждой странице я ощущаю себя просто безмозглым одноклеточным. Не понимаю 85% информации выкладываемой сюда и поражаюсь насколько продвинутыми могут быть технари. Все ведь познается в сравнении — реверс инжиринг, компьютерное зрение, какие-то математические формулы с замысловатыми закорючками. Откуда? Откуда вы все это знаете? Как дошли до уровня понимания добавления в чужую игру мультиплеера с помощью Node.Js или разработка STM32F4 USB RNDIS драйвера? В такие моменты вокруг меня начинает развертываться целая вселенная знаний, которые покрыты темной пеленой и мне не доступны.
Осознание всего этого удручает.

4. Социальная замкнутость

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

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

5. Легко выпасть из темпа

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

Итог

Я программист, который вроде и кодит, и что-то знает, но на данный момент не способный реализовать свои идеи. А вот с ними как раз проблем нет, как и с фантазией в целом. У меня есть куча идей, на мой взгляд очень классных. С точки зрения программиста — простые в исполнении, для человека владеющего. В итоге я пишу эту статью, как очередной самоанализ. Надеюсь что было интересно, и на ваши комментарии.

Но сперва, по правилу «критикуешь — предлагай», я предложу идею решения проблем в виде интернет ресурсов:

1. Систематизация знания

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

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

Листья — технологии и знания лишь дополняющие ветки специализаций. Сидишь на ветке с JavaScript — вот тебе листочек с Angular.Js. Корни древа, будут представлять собой набор знаний не обязательных для новичка, но дающих основательную базу для изучения. Например корнем может быть английский язык или например знание теории вероятности. Уровень сложности деревьев один — все должно быть правильно и актуализировано изначально, без точек возврата к пройденному материалу. Математика — свое древо, Электроника — свое древо, Физика — свое древо. Без пересечений. Ссылки между деревьями могут быть лишь в корнях.

2. Менторство

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

Каждый ученик имеет свою карточку, с оценкой степени владения знаниями тех или иных технологий (при существовании древа знаний, то оценки производятся по его составляющим). «Субъективные» оценки проставляется самим учеником, «Объективные» — менторами после открытых собеседований, лог чата которых храниться в карточке ученика, либо по завершению процесса обучения или реализации задуманного проекта.

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

Ментор должен готов пройти с учеником путь от начала до конца, поэтому будет для них вводиться система репутаций. От ментора будет зависит процесc реализации и обучения.

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

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

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

Собственно, вот и все.
@KTG
карма
16,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (146)

  • НЛО прилетело и опубликовало эту надпись здесь
    • –4
      Нет.
  • +24
    Дневничок, не смейся надо мной…
  • +13
    Вот по менторству: я готов брать на 90% проектов студентов или новичков в пары к опытным программистам, учить их и планировать карьеру. Проблема вываливается, когда вчерашний новичок стал уверенным миддлом через какое-то непродолжительное время, внезапно подходит ко мне и говорит «Ну я пошел, до свиданья!». На вопрос, «А что не так? Маленькая зарплата? Неинтересный проект?», следует ответ «Все круто, но мне по жизни не хватает {Тайланда/Фриланса/Столицы/еще чего то}». Вот и спрашивается, для чего мне тратить год на человека, учить его, чтобы он отягощенный знаниями пошел куда глаза глядят, даже спасибо не сказав? Да еще и удивляться, «А что не так то?...».
    • +16
      Рынок решает все. Если есть возможность нанять специалиста, которого не нужно обучать, — работодатель так и сделает. Если таких специалистов нет — нанимает наиболее опытного и учит, осознавая риски. Собственно это и ответ на вопрос зачем нанимать: если нет другого выхода. Иначе это неконструктивно, бизнес должен минимизировать расходы, а не преследовать моральные цели.
      • +5
        Да, Вы правы. Холодный расчет и бизнес. Но как у человека, у меня лично осадочек остается…
        • +19
          а вы эмоции уберите и подойдите к вопросу с бизнес-стороны.

          Зачем вы нанимаете студентов? Видимо, хотите сэкономить.

          Что вы получаете взамен? Правильно, риски. В том числе, озвученные вами.
          • +2
            Это понятно, своей фразой я лишь хотел выразить сожаление сродни, наверное, преподавателю, который отпускает хороших студентов. Все замечания в стиле «бизнес есть бизнес» безусловно правильные.
            • +3
              Так в чем проблема? Сделайте человеку предложение, от которого он не сможет отказаться. Он вырос как специалист и цена его, соответственно тоже. Вы получили проверенного временем специалиста, знакомого со спецификой работы в вашей компании.

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

              Внезапно, человек, оказывается, есть. Сидит рядом и работает. Так почему же не платить ему в соответствии с его ценностью?
              • 0
                Всё верно. Человек просто вырос и видит смысл как-минимум в более высокой зарплате. Просто сказать это открыто для многих людей — трудное дело. А на новом трудоустройстве можно найти место с подходящей текущему уровню зарплатой. Поэтому предлагайте нормальную зарплату, вполне возможно что и останется человек.

                ps немного не туда ответил. хотел ответить предыдущему человеку)
    • +5
      А как вы хотели?! Чтобы новичок сидел на одном/первом месте до конца дней? Чтобы быстрее развиваться надо менять работу через 2 года. Я бы расчитывал именно на такой срок.
      Новая работа — это всегда новые знания и опыт.
      • +1
        Для больших компаний ещё может сработать «новая команда у того же работодателя», если проекты достаточно разные.
      • +5
        Я прекрасно это понимаю и никогда не связывал человека цепями. Более того, я стараюсь делать ротации по проектам внутри компании, слушаю предложения поучится новой технологии и т.д. Уж не знаю, что еще надо сделать, все равно тянет «на сторону».
        Почему Вы рассматриваете только один вектор? Хочешь развиваться — чаще меняй работу? Я с этим не согласен. Если устраивает зарплата, проекты с ротацией и перспективы, зачем уходить?

        Мне лично видится только одна причина — юношеский максимализм. Кажется что «где то там» намного лучше, чем на текущем месте работы. По другому я это объяснить не могу.
        • +5
          > Хочешь развиваться — чаще меняй работу?
          Не чаще, нет. А не засиживайся на одном месте в начале карьеры. Это позволит быстро расширить кругозор, стек технологий, практик программирования и т.п.

          Не раз менял место работы, казалось бы, по не объяснимым причинам со стороны работодателя. И отнюдь это не максимализм. В одном случае, ты уже middle, а задачи все еще junior. В другом — менеджмент не нравился и вообще не нравилось то, чем занимался. В третьем — зарплата не устраивала. В четвертом — приходилось выкладываться, так что на собственные увлечения не оставалось времени.
          Вообще, на любом месте работы я выделил для себя три составляющих: деньги, знания и время.
          И в зависимости от того, что нужно в данный момент, то и является определяющим фактором. А не только зарплата.
          • +2
            Не чаще, нет. А не засиживайся на одном месте в начале карьеры. Это позволит быстро расширить кругозор, стек технологий, практик программирования и т.п.

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

            Не раз менял место работы, казалось бы, по не объяснимым причинам со стороны работодателя. И отнюдь это не максимализм. В одном случае, ты уже middle, а задачи все еще junior. В другом — менеджмент не нравился и вообще не нравилось то, чем занимался. В третьем — зарплата не устраивала. В четвертом — приходилось выкладываться, так что на собственные увлечения не оставалось времени.

            А Вы были честны с работодателем по причинам ухода? Мне просто ради спортивного интереса, у всех так — молча встал и ушел?..

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

            Вот на это я и делаю всегда упор, что зарплата не главное. Денежный вопрос в наше время и в нашей профессии решить можно практически всегда.
            • +8
              А Вы были честны с работодателем по причинам ухода? Мне просто ради спортивного интереса, у всех так — молча встал и ушел?..

              Не всегда, проблема в том что работодатель склонен уговаривать остаться. А если ты абсолютно уверен, что в другая компания тебе больше подходит и нет 100% понятной причины вроде переезда в другую страну, часто проще уйти молча, иначе после озвучивания тебя будут долго и бессмысленно уговаривать (ну вот, если я уверен что в компании болото и лучше все равно не будет, смысл меня уговаривать?), либо «мстить» все две недели отработки за плохое мнение о компании/менеджменте и т.д. Это мало кому хочется…

              Если хотите реально знать причину ухода, попробуйте давать опросник в самый последний день работы перед выдачей трудовой с несколькими вопросами о причинах ухода и обещанием прочитать его только после расчета, тогда есть шанс получить реальные отзывы о компании.
              • 0
                Да, это похоже на правду, дискомфорт + уверенность что там лучше = гремучая смесь (хотя безусловно такие ситуации случаются)
                Спасибо, попробуем анкету.
            • +4
              Не помогает. Вы бы стали уходить, если бы выдали альтернативу текущему проекту с другим стеком, начальником, задачами (нужное подчеркнуть)?

              Мне например, психологически легче сменить работу, чем пройти ротацию внутри компании. По крайней мере в том варианте, который есть на моем текущем месте.

              А Вы были честны с работодателем по причинам ухода?

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

              Более того, я стараюсь делать ротации по проектам внутри компании

              Кто является инициатором перевода с одного проекта на другой? А то мы собеседовали одного кандидата, его насильно перевели с одного проекта на другой, так как считали, что на текущем проекте ему будет плохо. Это послужило причиной увольнения.
              • 0
                Спасибо за мнение, тут начинается психологическая стезя, которую видимо надо подтягивать для решения таких проблем.

                Кто является инициатором перевода с одного проекта на другой? А то мы собеседовали одного кандидата, его насильно перевели с одного проекта на другой, так как считали, что на текущем проекте ему будет плохо. Это послужило причиной увольнения.

                Инициатором может выступить как работник так и руководитель, но последнее слово у нас всегда за работником (только в исключительных ситуациях по другому). Насильно заставлять это неправильно, имхо.
                • 0
                  тут начинается психологическая стезя, которую видимо надо подтягивать для решения таких проблем

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

                  Инициатором может выступить как работник так и руководитель, но последнее слово у нас всегда за работником

                  Мне нравится такой подход :) Это очень разумно, мало ли сотрудник сам постесняется сказать, что ему поднадоело и хочется что-то новенького.
                  Опять же лично мне проще озвучить проблему когда о ней у меня спросили, а не самому проявить инициативу (но я стараюсь над этим работать).
        • 0
          Мне лично видится только одна причина — юношеский максимализм. Кажется что «где то там» намного лучше, чем на текущем месте работы. По другому я это объяснить не могу.


          Помио зарплаты есть ещё и коллектив и внутренние процессы. Дело не в том что коллектив стал плохим или чего-то там, но со временем начинает хотеться нового.

          Если проработать пару лет в одной компании, то ты уже знаешь кому что говорить, чего от кого ожидать, знаешь уровень знаний каждого человека. И начинаешь понимать что тебе не нравится, но изменить это никак нельзя вообще.
    • +10
      Обычно зарплата становится неконкурентноспособной. Работодатель думает: вот же я его выучил, пусть теперь работает за те же копейки.

      Ещё бывает, что не дают роста, нанимают ему руководителей со стороны и так далее (синдром называется «нет пророка в своём отечестве»).
    • 0
      {Тайланда/Фриланса/Столицы/еще чего то}
      А не пробовали предлагать удаленную работу? Хотя бы на ограниченный срок 2-3 мес.
    • +1
      Всё правильно. Потеряв мотивацию, любой специалист уйдёт со временем. Не обязательно бывший новичок. Если нет возможности стимулировать деньгами/новыми должностями/проектами/ещё чем-нибудь, то человек уйдёт рано или поздно.
    • +8
      Известная проблема. В книге Брайана Трейси отличный ответ:
      «Некоторые руководители не уверены, что им стоит обучать сотрудников: «А что если мы их научим, а они уйдут?». Это неправильный вопрос. Правильный вопрос: «А что если мы их не научим, а они останутся?».»
  • +1
    Спасибо, интересно.
  • +9
    Прочитал и подумал: когда это я успел это запостить? После ещё раз посмотрел кто автор — нет, не я. Но ведь, чёрт, как будто бы я эту статью запостил! Так что ППКС, Подписываюсь Под Каждым Словом.
    • 0
      Согласен. Статья как будто про меня и от меня тоже. Спасибо Автору!
  • +11
    Мне, лично, эту статью было тяжело читать. Мысль и стиль скачет от абзаца к абзацу, структуры никакой нет. Вам бы следовало её вычитать перед выкладыванием пару раз, как мне кажется.
    • –1
      Присоединяюсь к автору комментария — пунктуация ломает глаза. Статья, быть может, и хорошая, но удовольствие от чтения снижается, когда какое-либо предложение приходится перечитывать, чтобы верно вникнуть в ее смысл.
      • +1
        Дело не в структуре и не в пунктуации, а в канцелярите.
        • 0
          Действительно, ошибок много, в плане пунктуации. На совсем уж грубые и явные мне указали в ЛС.
          Приношу свою извинения.

          А «канцелярит» может вполне идти от требований к количеству страниц тех же рефератов, курсовых, дипломов, где сухой остаток просто не дотягивает по объему.
  • +18
    Плохие это которых мама/папа заставляют идти в программисты, хорошие программисты сами такими становятся, часто начиная с самого детства по собственной инициативе.
    • +1
      Я учился вообще не на программиста, хотя и немного связанно с этим — обслуга ЭВМ (да, во времена СССР ещё не было никаких «компьютеров», тогда были исключительно ЭВМ). Однако работаю программистом. Стал им по собственной инициативе как раз. Плохим стал, но однако программистом :-)
      • +1
        Как правило собственная инициатива подразумевает увлеченность, энтузиазм, а такие программисты обычно хорошие, возможно вы просто слишком самокритичны.
        • 0
          Кроме этого выбор технического вуза тоже о чем-то говорит. Я вот тоже инженер «не программист», больше по части электроники и автоматизации, однако код писать начал еще до университета даже не имея компьютера дома.
          • 0
            Я ещё учась в школе писал дома на бумажке программы на языке ассемблера 8080 для опубликованного тогда в журнале «Радио» компьютера «Микро-80», после на Бейске для него же. Вот начал почему-то именно с ассемблера и до сих пор чисто машинно-ориентированные языки мне как-то ближе, чем ЯВУ. Но настоящий компьютер я увидел лишь через семь лет после этого, причём только увидел. А попробовал поработать за настоящим компьютером ещё через год. А до этого восемь лет чисто бумажных программ, которые сам составлял, сам же и выполнял в голове. Надо было, конечно, на программиста идти учиться раз такое рвение обнаружилось ещё в школе, но возможности такой не было и я пошёл на «обслугу ЭВМ», хоть и «обслуга», но зато к ЭВМ близко.

            Так что нет у меня программисткого образования, я просто «плохой программист».
        • 0
          Ох! Увлечённости и энтузиазма у меня было хоть отбавляй! Я буквально вымаливал разрешение выйти на работу в выходные или в праздники или остаться на работе на ночь (повторюсь, это был СССР, ни о каких домашних компьютерах тогда и речи не было, все компьютеры были только там, на работе) чтобы лишний день/час посидеть и «пожмакать кнопки». В отпуск меня буквально выгоняли (не разрешалось почему-то у нас работать без отпуска, максимум удалось два года подряд в отпуск не ходить, на третий год всё же выгнали) Никаким языкам, кроме Фокала, меня в учебных заведениях не учили, никаким библиотекам и, кгхм, фреймворкам тоже, всё что сейчас знаю выучил сам. И продолжаю изучать, постоянно продолжаю что-то изучать по мере возможности. Но всё равно считаю чсебя плохим программистом. Именно в контексте данной статьи.
      • +1
        >> да, во времена СССР ещё не было никаких «компьютеров», тогда были исключительно ЭВМ

        С тех пор ничего не изменилось.
        • 0
          Изменилось. Раньше дома у людей никаких компьютеров и ЭВМ не было вообще. После сначала персоналки у народа стали появляться (а раньше хорошо если у одного из тысячи был Commodore-64, привезённый из заграничной командировки), ну а теперь эти персоналки в виде уже ноутбуков есть у девяти человек из десяти.
    • 0
      Точно! Особенно когда ты родился и живешь в горах до 18 лет, и электричество видел только во сне, ну и слышал по рассказам. Вот тогда и становятся программистами, верно!
  • +28
    Мне кажется, уже давным давно, известна истина, что на программиста в ВУЗах не учат. Дают базовые знания, где-то больше, где-то меньше. А дальше сам, по выбранной тематике. Не уместить весь объем знаний в программу обучения.
    К тому же, как Вы сами заметили, студентам не интересно. Вы хотите, чтобы преподаватель бегал вокруг них и старался сделать всем весело? ВУЗ это не школа, у нас как-то это упускают из вида. Другой вопрос, что в 16 — 17 лет не все могут четко понять чего они хотят, чтобы осознано выбрать будущую специальность. В итоге на группу из 30 человек набирается человек 5, которым действительно интересна специальность. Для них и преподаватель читающий по книжке не проблема, сами разберутся и экзамен сдадут. И со знающим преподавателем найдут общий язык и он им сможет рассказать куда больше, чем остальной группе.
    Я средний программист, но в том, что я чего-то не знаю, я не виню преподавателей, а только себя — вместо того чтобы читать книжку признанных экспертов в той или иной области, я пил пиво. Вместо детального изучения Linux, я играл в игрушки. Некоторые книги следовало бы прочитать после окончания института, а не спустя 6 лет (до окончания особо смысла не было, так как вряд ли бы понял о чем в них речь).
    Так что плохие программисты, как и любые плохие специалисты, появляются из-за того, что профессию выбирали потому что «это модно», «за это платят деньги», «сюда проще поступить».
    А сейчас при наличии огромного количества бесплатных онлайн курсов с прекрасно систематизированным материалом обучаться становится еще проще. Нашел интересный курс, почитал какие курсы рекомендуется пройти перед ним, какие знания необходимы и вперед. Все для обучения есть, осталось только этим начать пользоваться.
    • +7
      Подпишусь под каждым словом, прям с языка сняли.

      У меня нет образования. Ни одна из проблем, описанных автором незнакома. Наверное, потому что в своё время я настолько увлекся программированием, что не спал ночами, делал вместо домашних заданий в школе какие-то сайты, скриптики, пытался освоить питон, даже игры пытался писать. И такое безудержное влечение сохранилось до сих пор, спустя 5+ лет коммерческой разработки.
    • +1
      Да в том-то и дело, что должны преподаватели бегать и делать интересно. Работа у них такая — учить подростков. Непростая и с кучей тонкостей, как и любая другая работа.
      Мне кажется, что рыночная экономика в образовании очень сильно этому способствует. Я на третьем курсе впервые посмотрел лекцию на coursera, и был в шоке — оказывается, можно сделать и 2ч лекции интересными, если вставить пару голосовалок, нарисовать слайды (не, не перепечатать куски лекции на слайды, а прям вот иллюстрации сделать, примеры подобрать и пару шуток вставить). Да, а еще потом дать домашнее задание, причем, с одной стороны, интересное и не оторванное от реальной жизни, а с другой стороны — по теме. Добавить рейтинг, чтобы включить элемент соревнований и повысить мотивацию, и вот — студенты уже ломятся в двери лекционки.
      Потому, что если бубнить у доски, то на лекцию никто не придет. Все пойдут на интересные лекции, а бубнящий будет бубнить для себя, и заплатят ему за такое самую базовую зарплату, а тем, кто рассказывает интересно, дадут прибавку солидную, потому что у них студентов много.
      Но это сложно очень! Поэтому делаем 99% курсов обязательными, берем лекторов из теоретической науки, чтобы до прикладных задач ну точно не дошло, и потом гоняем лодырей-студентов, почему-то засыпающих и забивающих на лекции, по комиссиям и пересдачам, пока они наконец не зазубрят методичку наизусть. А еще в процессе будем считать посещаемость и засыпаемость, чтобы лектор не чувствовал себя одиноко.
      P.S. Самой coursera бы не было, если бы все университеты мира до сих пор работали, как наши. Как заставить лектора потратить кучу времени и сил на бесплатный курс в интернете, да еще и домахи потом проверять от неучей всяких?
      • +2
        Да в том-то и дело, что должны преподаватели бегать и делать интересно. Работа у них такая — учить подростков. Непростая и с кучей тонкостей, как и любая другая работа.

        Вы со школой перепутали. В вуз должны бы приходить повзрослевшие люди, которым нужно, интересно и понятно, «зачем».
        • +1
          Серьезно, посмотрите какую-нибудь лекцию на Курсере) Я когда прошел пару курсов от Стэндфорда, ощущение было просто неба и земли — и тем более когда впервые попал на летнюю школу с живыми лекциями. Хотя, казалось бы, люди тоже могли надуться, сесть носом в угол и сказать «интересно рассказывать — не мое дело».
          • +1
            Я смотрел. Из самого запомнившегося — шикарнейшая и драйвовая певзнеровская биоинформатика, обе части, ещё курс по криптографии, курс по космологи, ну и ещё что-то по мелочи было.

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

            А в вузе я на большинство лекций не ходил, проблемами это обернулось только лишь на урматах, саму суть которых я считаю скучной и унылой.
            • 0
              А, ну, с этим сложно спорить. Просто, наверное, люди разные. Мне нравятся лекции, и чем более доходчивые, тем лучше — я иногда даже читаю/слушаю туториалы по уже знакомым темам, просто чтобы понимание в голове устоялось. А уж на незнакомую я тем более с большим интересом послушаю того же Певзнера с его тривиальным поиском подстроки, чем открою учебник, в котором нужно потратить больше времени на въезжание.

              Ну и люди далеко не всегда приходят в вуз, четко держа в голове все, чем они хотят дальше заниматься. Попался интересный преподаватель/предмет — и готово ответвление куда-нибудь.
  • +21
    На волне разочарований и недопонимания, мимо ушей прошел предмет ООП с основами С++. Стало не интересно и скучно.
    Что-то там про графы, про классы, фабрики.
    Простите, но универ тут не виноват.

    Правильный университет — это, конечно, важно, но категорически недостаточно. У нас в далекой Сибири можно получить очень приличное IT образование, но это не может быть единственным фактором успеха. В универе никому нет дела, станешь ты хорошим специалистом или нет, это нужно в первую очередь для тебя самого. Плохо преподают ООП? Ну, то что говорят в какую сторону копать само по себе ценно. Берем учебник и разбираемся. Не рассказывают о Linux? Да его любая домохозяйка сегодня поставит в три клика.

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

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

    P.S. Но для вас еще совершенно ничего не потеряно, составьте план, начните с основ, пишите проекты с использованием полученных знаний и будет вам счастье.
  • +23
    Сори, но буду говорить честно:

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

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

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

    P.S. Решение на самом деле, проще заведите трекер времени и каждый день выделяйте по 3-4 часа на изучение выбранного языка, его фреймворков, правил написание хорошего кода, английского.
  • +17
    Автор, а вы задавали себе вопрос, зачем Вам это программирование сдалось вообще?
  • +5
    Создается ощущение что вы попробовали очень много чего, но не задержались где-либо. Также в основном вы ориентировались на всякие сайты, где разброс зарплат, требований очень велик.
    Есть гораздо более стабильный мир корпоративного java ПО. Проекты большие поэтому отвлекать на посторонние вещи (починить принтер/комп) вас не будут, только профессиональная деятельность. Один-два специалиста у которых можно учиться практически всегда найдется. Да и сами крупные системы построены по правильным принципам разработки ПО и понимать все патерны и особенности разработки/тестирования можно прямо не отрываясь от дела.Из-за инерционности бизнеса, шанс что все изученное окажется бесполезным из-за введения новой фичи Х очень мал.
    JavaEE возможно это не самая интересная область, но стабильная и оплачиваемая.

    P.S. Обучаться програмистам в вузе сейчас бесполезно. Слишком велико число тех кто не хочет/не может учиться. Плюс только поработав 1-3 года начинаешь понимать зачем нужно то что пытаются рассказывать в институте. Надо вводить гораздо больше практики для студентов, чтобы они сами сталкивались с проблемами, а не пытались заучить решение без понимания глубины проблемы.

  • +20
    Скажу прямиком.
    Когда топикстартер описывает «кто виноват» — то нужно первым пунктом было начать с себя, а потом уже расписывать, как виновата кровавая Система.
    Кто виноват, что ты сидел ржаку искал — пока другие повышали свой скилл? (Кстати, этот пункт был изящно опущен «Не будем брать в расчет банальную лень») Конечно же — устаревшая система образования, работодатели, которые не хотят обучать сотрудников и далее по списку.

    Вот например, сравните:
    Я средний программист, но в том, что я чего-то не знаю, я не виню преподавателей, а только себя


    Автор видит проблемы низкого уровня, но не замечает метапроблем.

    К метапроблемам относится например следующее: автор считает себя самым умным. Да-да, именно так. В институте сам решал, что ему учить, а что нет — было такое? Здесь есть как отрицательные стороны (незрелые личности начинают ныть, когда выбор оказался плохим, или спихивать ответственность на других), так и положительные (привычка брать на себя ответственность — она также растёт из самостоятельных выборов).

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

      Ох как часто такое было, помню. И только потом понимаешь, насколько полезны все эти «ненужные» и «быстро устаревающие» знания. Даже не знаю, как эту ситуацию сделать лучше. Знания все эти нужны, обязательны, но они скучные до тех пор, пока они не оказываются полезны. Тут конечно вспоминаются родители, которые это все знают и реально заставляют, кормя обещаниями, что все это потом обязательно пригодится и никогда ничего лишним не будет по жизни.
      • +1
        Знания вообще не бывают лишними.
        Любое знание только обогащает.
        • +2
          Это неправда. Мы учили наизусть тайминги оперативной памяти тех типов, которые вышли из употребления в 90е. А еще был такой замечательный предмет ТВП, по которому нужно было математически доказывать что цикл со вложенным условием действительно работает, доказательство занимало пару листов.
          • 0
            ТВП — это не аксиоматическая ли теория верификации программ, с тройками Хоара, Pre, Post, Cond, инвариантами цикла?
            • 0
              Теория вычислительных процессов называлось, и что-то такое было, да.
    • +2
      Понятно, что лень и воспитание всегда имеет место.

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

      Организация зарубежных крупных вузов сделана так, что там преподают и одновременно работают реальные инженеры и ученые, которые кроме своих научных работ, иногда читают лекции. Вот такие люди создают связь между обучением и реальными задачами, могут на примере привести где и как можно использовать какие-то знания, чем и мотивируют изучать, и саму программу обновляют.
      У нас я не могу назвать наверное ни одного высшего учебного заведения, где на кафедре реально развивают какие-то фундаментальные науки, или хотя бы инженерные работы. За исключением некоторых отдельных кружков робототехники и беспилотников. Но вот так, чтобы люди с громкими именами там хоть иногда читали лекции — точно нет.
      • +1
        Касательно последнего абзаца. Насколько я знаю, сейчас на кафедре КТ в ИТМО есть своя лаборатория, где занимаются относительно актуальными вещами: ctlab.ifmo.ru И иногда там проходят достаточно интересные лекции.
  • +2
    Мне недавно предлагали работу… в резюме было написано что то вроде
    Знать любые современные фреймворки
    Знать любые реляционные СУБД
    Знать, как работает весь стек web-технологий
    И там еще списочек примеров, и за это просили 100к.
    • +2
      hh.ru/vacancy/15788516

      Сейчас там уже убрали, но вчера было «готовность решить проблему в любое время суток»
  • +2
    Я дочитал до «Перфекционизм» и вспомнил себя. Как когда начинал, всегда стремился к идеалу, а опыта не хватало и каждый раз все переписывал и в результате остался не с чем (ну может чуть опыта больше).

    И «притча» в тему:

    Вася и Петя одновременно начали писать один и тот же продукт.
    Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру.
    А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение.
    Но Вася выпустил уже через месяц первую версию программы, пусть и не идеальную, пусть с багами, но рабочую, и начал её продавать. Ещё через месяц выпустил вторую версию исправляющие баги первой и добавляющие новые баги. Ещё через месяц на доходы от продаж нанял двух толковых программеров, которые за два месяца перелопатили весь код, согласно пожеланиям пользователей допилили интерфейс и выпустили третью версию программы.
    Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов.
    У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента.
    В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам по пьяни разбился на своём новеньком Туареге


    Так вообще интересная история, во многом узнал себя.
    • +2
      которые за два месяца перелопатили весь код
      «Свежо предание, но верится с трудом.»

      Перелопачивание говнокода (особенно если требуется сохранить обратную совместимость с наговнокодженными особо бредовыми структурами данных) занимает гораздо больше времени.
      • –1
        Это придуманная история. Там больше смысл важен, чем детали.
        • +4
          Видите ли, я работал в такой компании. (И близко знаком с основателем).

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

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

          Потом потребовалось добавить в систему третью сторону — страховщика. Это тоже было сделано небольшим таким костыликом. И уже тут стали проявляться первые признаки того, что выбранная в изначальном говнокоде модель данных не была рассчитана на расширение — в некоторых редких случаях возникали проблемы при откате транзакций (имеются в виду бухгалтерские транзакции, а не транзакции БД).

          Потом понадобилось внести в систему понятие процентной ставки. Проблемы с откатом («мы рассчитывали, что клиент продержит у себя деньги X1 дней и насчитали ему Z процентов, а он продержал их только X2 дней, и ему надо вернуть перплаченные проценты...») росли и ширились…

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

          Но к счастью для основателя, к этому моменту он уже продал компанию другим людям. А другие люди захотели добавить поддержку нового вида продукта, в котором накопление процентов происходило бы ежедневно. То есть случай, где за всё время жизни отдельного займа происходило всего 3-4 транзакции, перерос в случай, когда их было бы уже 200 и более… Я внутренним взором видел, как база плавится от нагрузки. Шли разговоры о том, что всё надо переписать нафиг с нуля, но при этом нельзя останавливать бизнес, и нельзы терять данные за пятилетнюю историю, записанные в старом формате.

          Что было дальше, я не знаю — я уволился оттуда.

          В том-то и дело, что Ваша история придуманная, а моя — реальная.
          • +2
            Я вот читаю и плачу. Я примерно так-же начинал. Тоесть конечно не на таком серьезном проекте, но постоянно когда писал проект, появлялся опыт и я понимал, что все это говно и нужно переписывать с 0 и так циклично.

            Но тут вопрос, что лучше: Хоть как-то или вообще никак?
            • +2
              Ну это же тот самый technical debt, о котором так долго твердили программисты.

              Дело в том, что костыли есть по определению решение временное. Но, как говорят, «нет ничего более постоянного, чем временное решение».

              Наговнокоженная система (вернее, её формат хранения транзакций базы) была построена на аксиомах, что 1) банк один; 2) процентов нет; 3) откат транзакций не требуется. Это отлично работало для того, что предлагалось клиентам в самом начале, но по мере предьявления новых требований к системе этот формат перестал им отвечать.

              Но нас спросили «могёте сделать то-то и то-то, причём к завтраму?» — с намёком на "… а не то — партбилет трудовую книжку на стол". Какой был выбор, кроме как ответить "я могу абсолютно все — я же профессионал"?

              Ну вот скажите, почему ребёнку, который вырастает, вместо трёхколёсного велосипедика покупают двухколёсный, потом мотоцикл, потом машину — вместо того, чтобы каждую пару лет надстраивать тот самый трёхколёсный — и в конце у «Мерседеса» в качестве водительского сиденья торчит та самая крошечная детская велосидушка?

              Для меня уже при первых шатаниях костылей стало понятно, что надо менять и расширять модель. То есть нужно в худшем случае останавливать бизнес до появления версии 2.0, а в лучшем — паралелльно писать 2.0, запускать её в параллель с 1.0, и в один прекрасный день незаметно для клиентов переехать на новый код. Но кто даст нам останавливать бизнес, или «тратить деньги впустую» полгода, не давая очевидного сиюминутного выхлопа?
            • 0
              90% того, чтобы было написано для веба в ближайшие 5 лет станет никому ненужным хламом, просто нагромождением какой-то логической массы. Это обойдет стороной, может, только некоторые хорошо поддерживаемые системы.
              Так что, ниже сказали точно, самое долговечное — это временное.
              Если Вам проект нужен даже временно или если просто нравится программировать, делайте, программируйте этот проект. Какой-то собственный рост все равно будет в качестве отдачи, даже если Вы не очень качественно программируете. В конце концов взгляните на программирование как на творчество. И да, ваш код в основном интересен только вам. Хорошему программисту ваш код не нужен, а новичок будет также проходить все этапы как и вы, и ваш код совершенно не интересен не программистам.

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

                И «ветераны» будут востребованы, когда все эти костыли наконец-то рухнут (см. раздел «Жизненный цикл программистского таланта» в этой статье) — чтобы отвечать на вопросы вида «а нахуа здесь этот вызов, и почему без него всё падает нафиг».

  • +7
    Как говорится, плохому танцору…
    • +1
      Критикуешь — предлагай, поэтому предлагаю автору, в связи с его отчаянным положением пройти курс например по разработке конфигурации 1с. На ближайшие 10-15 лет работой точно будет обеспечен, в 8й версии можно делать интересные вещи.
      Предлагай сам будучи программистом — интересные идеи для бизнеса, что ты можешь полезного сделать. Ну например робота-аналитика по клиентской базе, с какими-нибудь важными уведомлениями.
      Не обязательно быть как те гуру DIY, или досконально разбираться в системах. Нет! Это не есть цель! Сначала найдите себе то место, где вам будет интересно работать. Любое! Дальше всё пойдет само собой, я вас уверяю!
  • +5
    Не могу понять, система образования виновата или сам раздолбай?
  • +3
    «2.2 Работодатель не готов платить»
    Такое действительно часто имеет место, особенно на позиции «тыжадминов». Очень многие работодатели, взамен ушедшему сотруднику, хотят на туже зарплату взять такого же опытного. Видимо не понимая, что опытный ушел из-за недостатка зарплаты.
  • +3
    Программист — это инженер. Отличие от классического инженера в том, что в принципе можно обойтись без знания огромного количества сопутствующих дисциплин, типа сопромата, иными словами, легкий старт. Написал несколько строк — и Hello World! работет. А вот дальше… Наша отрасль более терпима к ошибкам. Если мост построить с ошибками, то он развалится, когда по нему поедут машины. Если с ошибками спроектировать даже относительно большую программную систему, то она кое-как, но будет выполнять свои функции, пусть требуя затратной поддержки, но таки работая. И ее можно исправить, в отличие от упавшего моста. А с другой стороны, кинуть бревно через овраг, прибить веревку-перила и обозвать это мостом много ума и образования не надо, хотя с кривыми руками и тут возможно все испортить.

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

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

    С моей точки зрения высшее образование дает программисту ровно столько же, сколько и любому другому инженеру. Я точно знаю, что моей способности легко понимать и анализировать идеи я обязан именно университету, пусть меня не учили там программировать. Без университета сложно, почти невозможно быть хорошим инжененром, учитывать разные факторы, анализировать и синтезировать. Но быть кодером, каменщиком, знать свои инструменты и делать свою работу действительно хорошо — это может почти каждый, кому нравится создавать код. Каждый из нас, наверное, нужен на своем месте. И может стать лучше, если захочет.
    • +5
      Можем ли мы увидеть карьеру из каменщика в инженеры?


      Все бывает в этой жизни. Имел честь быть знакомым с директором регионального филиала крупнейшей телекоммуникационной компании, который начал карьеру с линейного монтера, т.е. он когда-то тянул и скручивал кабель, но у него была цель.
      • +3
        Плюсую. Был знаком с парнем, который бросил школу и пошёл работать на стройку мальчиком на побегушках, а к моменту нашего знакомства был прорабом и копил деньги на вышку на архитектора.
        • +4
          А у меня однажды делал ремонт плиточник, который имел вышку архитектора и работал некоторое время назад прорабом. Плитку положил кстати, отлично.
      • +3
        Я не говорю, что это невозможно. Карьера каменщик-инженер представляется нам очень сложной, а кодер-архитектор логичной, хотя и та и та по сути одно и то же — очень качественный и сложный скачок знаний и навыков от низкоуровневых к высокоуровневым. Очень немногие на это способны, даже те, кто блистают как спецы низшего уровня.
  • +5
    Ощущается, что у топикстартера не было никакой цели. Вот я просто тупо несколько лет подряд пилил qutIM и практически только его, за это время стал очень неплохо разбираться в Qt и C++, то есть преодолел барьер, отделяющий юниора от мидла.
    Уже потом занялся изучением более базовых и основополагающих принципов, которые позволяют в общем-то менять языки программирования легко и быстро и также быстро изучать новые технологии.
    Плюс не стоит гоняться за хайпом. Он конечно в вебе просто таки ужасно давит, но на самом деле всё это не более, чем пена и брызги, если забраться на глубину, то там всё гораздо спокойнее и не так суетно. Основные принципы современного программирования ещё в 70ых годах были сформулированы.
  • +5
    Очень много нытья. ИМХО сейчас отличная ситуация — вся индустрия сравнительно новая, развивается бешеными темпами и только от самого себя зависит сколько он успеет урвать. Я ушел с института с 1 курса, ещё 4 года эникеил, потом решил что пора стать «настоящим» программистом — за год вырос до успешного миддла и останавливаться не собираюсь.

    Откуда берутся плохие программисты? Из тех кто не смог, очевидно.
  • +7
    Судя по всему, пора создавать соцсеть для плохих программистов.

    Сделайте этот проект хорошо, и удача вам улыбнется.
    • 0
      После этого автору она будет не нужна, потому что он станет хорошим программистом? :)
  • +6
    > Договорившись с родителями, летние каникулы прошли…

    «Подъезжая к сией станцыи и глядя на природу в окно, у меня слетела шляпа.»
  • +6
    Эх, всё очень-преочень знакомо. Запилю коммент по мотивам своей жизни, ибо многое до сих пор в силе у самого.

    Дело, как ты можешь догадаться, в тебе самом:

    1. Нужна реальная заинтересованность. Помню когда учил ассемблер и болел болезнью «написать свою ОС», спал в сутки примерно 3 часа в режиме 5-6 дней работы, 1 — коматоза, который нельзя назвать отдыхом, т. к. всё равно думал о задаче. И те 3-4 часа сна даже им не казались — даже во сне обдумывал какие-то идеи, задумки, алгоритмы. Это было круто, интересно, ничего больше не хотелось делать, какое уж там пиво и девки… месяцами не вылазил из дома, что-то там разбирал, кодил, дизассемблировал, изучал как запакованы ресурсы в играх. Это было ИНТЕРЕСНО, точнее даже ДИКО ИНТЕРЕСНО. Сейчас уже не так… Иногда хочется снова ничего не делать кроме тех самых идей, не думать о бытовых проблемах. Иногда расчехляю древнюю тёплую ламповую игрушку, дизассемблер, и сижу ковыряюсь запоем, но потом реальность выдёргивает, к сожалению. Ничего с этим не поделать.

    Мораль: если нет интереса, то, может быть, это не твоё?

    2. Не нужно идеализировать. Идеалов не бывает.

    До сих пор сам этим страдаю, как и большинство программистов в силу своей «булевой» логики: «либо всё (1), либо ничего (0)». А ведь, что «всё», что «ничего», ни к чему хорошему не приводит, нужно балансировать между этими понятиями.

    Опять же, в силу своего интереса к ковырянию в софте дизассемблером, открыл для себя удивительную вещь: 99% всех успешных продуктов написаны на говнокоде. На жутком говнокоде! Как вам: одна из довольно успешных онлайн игр начала тысячелетия написана полностью на глобальных переменных! Вот просто, чёрт возьми, 95 мегабайт глобальных переменных! Какие к чёрту шаблоны? Какой GOF? Всё же удобно и доступно отовсюду!
    Сначала это шокирует, но потом жутко мотивирует, когда ты понимаешь, что пишешь в 10 раз «более правильно», чем мировые «гиганты».
    Про хайп в медиа уже сказали выше. Это всё глянец, понты и писькомерки. Толковых вещей там от силы процентов 10 наберётся. СМИ всегда будет желтить, что бы ни происходило, нечего на это смотреть и пытаться равняться.

    Мораль: говнокод в 99% случаев будет лучшим решением. Идеала нет.

    3. Всякие универы, работодатели и прочее, это лишь отмазки.

    Да универ и не должен учить, он не в состоянии это сделать. Как пройденный этап, опустим его.
    Работодателя всегда можно поменять. Сейчас открытый мир, идите во фриланс. Там может быть на каждый проект другой работодатель. А может быть найдёте одного, с кем приятно и выгодно будет работать. Да и проекты там в большинстве случаев намного интереснее, чем офисное переливание из пустого в порожнее.

    Мораль: выход есть всегда, нет ничего невозможного.

    4. Цель

    Она просто нужна. Без неё никак. Должна быть дурацкая навязчивая идея что-то сделать, чего-то добиться. Именно она мотивирует встать утром с кровати. Это самое важное, что может быть в жизни. Когда жизнь идёт по течению, очень тяжело держать ориентиры, понимать что происходит, на какой ты стадии.

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

    5. Отдых

    Нет, не затусить в клубе. Не забухать. Не лежать на диване.
    Вроде как, марксовскому Капиталу приписывается цитата: Отдых — это просто смена деятельности.

    Достаточно отвлекаться от программирования. Опять же, по себе знаю, что когда, даже в в поездке на другой конец земного шара, думаешь о том, какой же шаблон проектирования выбрать для очередной задачи своего проекта, то не получится ни отдыха, ни проекта. Нужно уметь как-то абстрагироваться от работы, другим занятием. Поэтому считаю дурацкой ванильную фразу вроде: «Найди себе работу по душе, и тебе ни дня не придётся работать». Тогда как отдыхать то??? Всегда должна быть работа для заработка, и довольно отличное от неё дело в качестве хобби. Тогда, переключаясь с одного на другое, не будет никакой усталости.
    • +2
      Да универ и не должен учить, он не в состоянии это сделать.
      Простите, а для чего он тогда вообще нужен?
      • +3
        В первую очередь, чтобы научится учится. Это сложно да, но все остальное после этого ерунда. Как ни странно, всякая высшая математика, которая никогда не пригодится 99.9% программистов, хорошо учит разбираться в самой забубенной научной жути, это умение очень пригодится чтобы, например, осилить полную спецификацию языка программирования или «прочитать» дико запутанный код.
        • +2
          Я очень извиняюсь, но по-моему, это какое-то самое ужасное заблуждение насчет образования, которое есть буквально у всех) «Наше заведение нужно для того, чтобы заставляя вас учить бессмысленную и никому не нужную хрень, привить вам навыки изучения нужной вам хрени, которую вы будете сами учить уже потом». Оооокей, предлагаю усовершенствование алгоритма — а давайте первоначальная хрень как раз и будет нужной и полезной тоже, и мы добьемся цели в два раза быстрее.

          Все это просто попытки преподавателей придать хоть какой-то смысл своей работе, когда они понимают, что их знания никому не нужны, по-моему.
          • +3
            Это сложный вопрос. Математика все равно полезна как базис для усвоения любых знаний, да можно давать только программирование, но, скажем, если вдруг будет задача чтобы написать программу по квантовой физике, то математика будет лучшим базисом, чем чистое программирование.

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

            Скажем, так наше высшее образование несовершенно, но определенные плюсы у него все-таки есть.
            • +2
              Разумеется, математика полезна, но какой смысл программисту плотно забивать голову всякими кольцами и интегралами, если это делается в отрыве от практики? Сначала ты два года просто изучаешь матан одновременно с программированием, но безо всякой связи, а потом чудесным образом должен догадаться, в чём эта связь заключается. Но если нет связи, то кажется, что это не нужно — вот и пропадает мотивация, а без мотивации знания в голову не залезут, и толку от «учиться получать знания» — ноль. Так можно не знания получить, а зазубрить материал и благополучно его забыть. И да, больше всего будет именно матана, а не алгебры, логики и дискретки, из которых программирование и выросло, вообще-то. Лямбда-исчисление? Нет, зачем, лучше порешай дифуры.

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

              Мне лично из ВУЗовской программы в профессии не пригодилось практически ничего. Кое-какие полезные вещи там были, но они утонули в том диком объёме знаний, который больше пригодился бы физику, нежели разработчику ПО. И теперь области математики, имеющие отношение к программированию, я изучаю самостоятельно — и всё гораздо понятнее, когда уже умеешь программировать, и видишь связь этих областей с практикой. Ну, а небольшая книга Эдварда Френкеля «Любовь и математика» дала мне больший заряд мотивации изучать математику, чем все годы учёбы.
              • +1
                Мне лично из ВУЗовской программы в профессии не пригодилось практически ничего.

                Это вам так кажется. Мо жно говорит о плохой ВУЗовской программе, однако удивительно, но программисты из СНГ на Западе вполне конкурентноспособны. Как ни странно, но знаю многих кто к 30-35 годам успел пять лет отучится в ВУЗе и перехать в новую страну и несмотря на проблемы с языком и другим менталитетом, устроиться на высокие должности ничуть не хуже чем местные программисты(архитекторами, синеорами, тим лидами, проджект менеджерами).

                Вопрос — почему именно программисты из СНГ так легко устраиваются на высокие должности в крупнейшие IT фирмы по всему миру? Почему не мексиканцы, италянцы, испанцы, сербы или поляки?

                А ведь по логике, если Западная модель лучше для обучения хорошего программиста, то как раз русскоязычные программисты должны быть менее конкуретноспособными на Западном рынке труда. Или все-таки тут не все так очевидно как вам кажется?
                • 0
                  почему именно программисты из СНГ так легко устраиваются на высокие должности в крупнейшие IT фирмы по всему миру
                  Неоднократно повторялось: на Западе учат, как делать. В Союзе/России учат, как учиться, как делать.
          • +2
            А можно пример хрени какой-нибудь. А ваш посыл таки очень напоминает логику студента, который нихрена не знает, но уверен, что все это хрень и пустая трата времени. Понимание, что это далеко не так, приходит, когда эта хрень тебе таки помогает быстро расти. Ты видишь проблему, у тебя уже есть понимание базовых вещей, тебе не нужно начинать с нуля.

            А преподаватели дают основы и фундаментальные вещи, потому что знают прекрасно другое — эти знания универсальны, они не устареют, на них основано все остальное. А модные штучки вон пожалуйста на дополнительных курсах проходите. В конечном итоге, хороший программист это не ходячий учебник очередного фреймворка, который завтра закроют.
            • +1
              Ну, это же не мой ответ? Это сторонники противоположной точки зрения прямо так и говорят: «мы не учим вас полезным знаниям, это не наша задача, мы просто учим вас учиться». Что в переводе означает, что они учат бесполезным знаниям, и сами это признают.

              Но пф, спасибо отечественному образованию, хрени я вам накидаю сколько угодно. Моя специальность была про безопасность информации, и люди на ней:
              — не знали, что такое SQL-иньекции
              — в принципе не имели никакого курса про базы данных
              — не знали, как хранить пароль и не знали, что такое соль
              — не знали, зачем нужен https и как работают сертификаты
              — ни разу не взламывали ни один шифр
              — не знали, как поднять VPN
              — был курс «программирования», но не было ничего про алгоритмы и структуры данных — вообще. Программирование было почему-то на C# — факультет решил, что это более модный язык, чем C++, который был раньше. Ничего сложнее базового ООП там не было.

              Зато они знали:
              — кучу законодательства на тему того, как защищать персональные данные и какие сертификаты на оборудование для этого нужны
              — кучу бюрократического формализма на тему того, как сформулировать модель угроз и модель безопасности. Ничего не имею против формализма, но серьезно, может, сначала SQL-инъекции?
              — дискретную и вычислительную математику. Я люблю математику и мне было очень на ней интересно, но может, сначала SQL-инъекции?
              — как писать документы с грифом секретности. (см. пункт 1)
              — как составлять (на бумаге) политики безопасности
              — как работают отечественные железные устройства безопасности вроде глушилок и локаторов закладок, которые 99% из студентов никогда в жизни не увидит
              — как писать должностные инструкции, чтобы безопасность не нарушалась

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

              А теперь серьезно скажите мне, что знание о том, как хранить пароли в базе — это «модные штучки», которые «можно самому погуглить», и преподаватель совершенно не обязан об этом рассказывать)
              • +1
                был курс «программирования», но не было ничего про алгоритмы и структуры данных — вообще.

                Потому что это проходят в рамках отдельного предмета, который, о ужас, называется «Структуры и алгоритмы обработки данных».
            • +1
              Видимо у нас были разные преподаватели. Меня учили всему понемногу, в итоге никакой конкретики. Знаете, с таким подходом хабр сделал бы меня более образованным, чем универ. Во-первых, потому что даже на хабре материал более глубокий (не всегда, но чаще), а, во-вторых, потому что я могу из всего многообразия выбрать то что мне действительно интересно и что я могу применить сейчас, а не когда-то там в сферическом будущем. Когда понадобится, вот тогда и поговорим. А пока я с нетерпением ожидаю применения заученных дат по истории и умение выставлять коэффициенты в химических уравнениях.
            • +2
              3 семестра матана — необходимы?
              система прерываний DOS — не устареет?
              Функциональное программирование в режиме «бубню себе под нос, плевать, что никто не слушает» и отвратительный уровень лаб на Lisp'е — универсальны и могут чем-то помочь? Да это вообще преступление ИМХО — функциональное программирование имеет свою нишу, а тут вместо понимания парадигмы объясняют всякие нюансы программирования на лиспе — хеды, тейлы… ппц!
              Нет, я не скажу ничего против выч.мата (который я преимущественно продолбал, но он и не пригодился… да и желания такого — заниматься всей этой алгоритмо-ёмкой математикой нет), дискретной математики и многих других дисциплин… НО они и шли всего семестр и для общего развития — действительно полезны.
      • –1
        Это как в работе на дядю и на себя:

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

        Так и с универом. Можно учиться дома самому, только когда интересно и «прёт». Но это «прёт» может внезапно пропадать на неопределённый срок, и здравствуй, прокрастинация.
        А универ держит эту планку мотивации, пусть даже, опять же, сферическую вакуумную, но она есть, даже если не ходить весь год на лекции, а потом за неделю взять и выучить всё к экзамену. И в итоге сделать всё через жопу, но сделать! — Параллель из первого пункта про работу на дядю.

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

        Я не отрицаю, что кому-то реально могло повезти, и их научили в университете. Но здесь опять же: либо универ дал мотивацию учить, и людям реально стало интересно, они учили сами того не замечая по своей воле, а в итоге решили, что это универ их научил.
        Либо, как было у меня: ни на одном предмете я ничего нового не узнал, ибо знал это ещё до универа, изучив сам. Здесь я замотивировал себя сам каким-то образом и наивно полагал, что универ даст просто несоизмеримые знания с тем, что я уже знал. Оказалось всё иначе, я обиделся на него, и впал в дикий депресняк, как и автор сабжа, мол всё пропало, для чего я это всё делал и т. п. Со временем оказалось, что так везде, и я не одинок. После этого всё стало на свои места.
        • +5
          Ещё, автор писал про английский. Типа его ж надо ещё и учить.
          Проблемы белых людей… а точнее, обычная лень.
          Его ж, опять таки, нужно учить на практике, как и всё остальное. Универ, с его «Good morning, teacher!» никогда не научит реальному языку.

          Тут проще всего: хочется посмотреть туповатый фильм про американских подростков? Без проблем, он как нельзя кстати подходит для изучения английского, там как раз используются самые ходовые разговорные фразы, главное различать их приличность :D.

          Хочется поиграть в новую игрушку? Качаешь с пайретбея английскую версию. И смысла меньше потеряешь, по причине отсутствия ошибок в переводе, и фраз запомнишь. Словарный запас отлично учится на всяких РПГшках. Не хочешь пиратить? Честный пользователь стима? Окей, почти в каждой игре в стиме можно выбрать язык установки, и в 90 играх из 100 присутствует английский.

          Для разговорного придётся окунуться в среду. Все эти скайпы это, конечно, хорошо, но скайп легко прокрастинируется простой кнопочкой Close (Exit). Типа сегодня что-то я не в духе, забыл пассивный залог повторить, в презент континос что-то путаюсь, ну его, в следующий раз!

          Самый простой действующий способ, не из балды, а из жизни:
          Покупаются билеты в какой-нибудь Лиссабон из Москвы. (можно, конечно, и подальше, куда-нибудь в Куала-Лумпур, но в Азии научат очень плохому английскому)
          Берутся деньги с расчётом только на еду + небольшой буфер.
          Задача: добраться любыми средствами до дома, не клянча при этом деньги на обратный билет.

          Гарантирую, что добравшись до дома за пару недель, въехав в Россию, вы поначалу будете обращаться к людям на беглом английском, а на вас будут с подозрением коситься! Организм с подобной ситуации настолько сильно начинает адаптироваться, что даже усилий не придётся прилагать, чтобы запомнить нужный язык, фразы, конструкции, слова. Заодно, хороший способ проверить себя на выживаемость.
    • +2
      Поэтому считаю дурацкой ванильную фразу вроде: «Найди себе работу по душе, и тебе ни дня не придётся работать». Тогда как отдыхать то??? Всегда должна быть работа для заработка, и довольно отличное от неё дело в качестве хобби. Тогда, переключаясь с одного на другое, не будет никакой усталости.

      Да ништяк вообще.

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

      А если бы у меня работа была, где я бы не ощущал, что я делаю что-то клёвое, полезное и ценное в рамках моего мировоззрения, то мне было бы очень грустно и печально.
      • 0
        Ну это отлично, завидую! =)

        Только я не говорил, что я ощущаю работу бесполезной и бестолковой. Видимо, у вас всё же домашний проект и работа довольно сильно различаются и не пересекаются, если не устаёте. Либо я просто не был пока на работе, где можно было бы применять интересные вещи и современные технологии — постоянно из говна мамонта заставляют лепить фигурки. Именно поэтому стараюсь уйти во фриланс, пока что. А машинное обучение, уже само по себе не может быть неинтересным, ИМХО.
    • 0
      Хочу задать вопрос про образования Вам.
      Почему за границей учат, и дают огромный опыт в работе.
      У нас же учить не должны, и большинство программистов сделав пару никому не нужных самоделок раздули о себе самомнение?
      В чем плюсы этого по Вашему?
      • +3
        А я разве о плюсах говорил?

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

        У нас тоже была пара таких преподавателей, которые пошли для души поучить молодняк…
        У него была своя немалая компания, которая приносила на порядки больше, чем зарплата препода, но почему-то он пошёл «подработать». Классный был мужик, соображающий, интересный, ненапряжный, правда, из принципа не ставил тем, кто не знает предмет. И сколько он проработал, как думаете? Ровно полгода. Пришёл как-то на свою последнюю пару, и сказал, что его «попросили», т. к., во-первых, он не хочет ставить тройки раздолбаям, которых даже ни разу в живую не видел. Во-вторых, его обвинили, в якобы переманивании студентов в какое-то другое учебное заведение, типа он нам пудрил мозги, что тут плохо и надо туда.
        А дело в другом: он просто сказал открыто на паре, что хороших разбирающихся студентов возьмёт к себе в стажёры на полставки. Руководство эти слухи решило развить по своему сценарию…
        И вообще, сколько себя помню, всех толковых преподов, которых видел, «убирало» руководство, к сожалению. Они просто неудобны системе, мешают отлаженной работе. Никаких плюсов в этом я не вижу.

        Помню, когда сам поступал, в средине нулевых был дикий хайп на эту специальность. Каждый продавец в магазине, каждая кассирша знала, что «надо идти в компьютерщики», «там платят хорошо!!!», «дочку/сына отдам туда!». Вот и результат: в моём городе кладовщик получает больше, чем программист С++.
        Просто, нас с западом не нужно сравнивать. У нас разное видение работы. У них этому жизнь принято посвятить. У нас же важен мгновенный крупный заработок. Нет понятия, почему-то, что нужно идти к успеху не год, и не пять. Это касается что работников, что работодателей.
    • 0
      Мораль: говнокод в 99% случаев будет лучшим решением. Идеала нет.

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

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

    Относительно менторства есть большие сомнения. Время — самый ценный и единственный невосполнимый ресурс. Время хороших специалистов стоит дорого. Зачем начинающему специалисту опытный наставник понятно. Зачем опытному специалисту вникать в чужую идею и тратить на неё своё время?
    • +3
      Вопрос даже не в этом. Несколько лет «работал» таким наставником у групп студентов (оплачивала компания где работал), так вот это далеко не самый легкий для самих студентов путь — мотивировать себя ходить на занятия в свободное время, делать не всегда интересные задачи, да ещё тратить в несколько раз больше времени на «домашнюю работу» сложно, а без реальной мотивации эффект будет таким же как от посещений занятий в универе «посетили, сдали, забыли». Это только кажется что наставник под пивко тебя научит тайным знаниям, на самом деле можно дать пару советов, можно сделать code review, но невозможно просто вложить знания, все равно 99% работы придется делать самому.
      • 0
        Хотите расскажу как на мой взгляд может выглядеть идеальный курс? Правда, в нём работы преподавателя не один процент, а намного больше, во всяком случае в самом начале.
        — нужны чёткие обозримые конкретные конечные результаты: через десять часов ты научишься делать то-то и то-то, через двадцать ещё и вот это, через пятьдесят вот такие невероятные вещи, через сто часов (или через двести) сможешь пройти собеседование в компанию вот такого уровня.
        — нужна практика. Практики должно быть не меньше, чем теории. Лучше — больше. В идеале — немного теории, и практика её подтверждающая, объясняющая, закрепляющая. Затем опять немного теории и практика. Тогда на каждом шаге ты будешь видеть что у тебя получается, а что нет, что ты понял, а с чем ещё нужно разбираться.
        — весь материал разбить на небольшие порции. Так учиться легче и проще. В конце блока материала — какое-нибудь задание посложнее, и посерьёзней. Пройдя его можно переходить к следующему блоку. Не прошёл, возвращайся и разбирайся где что недоучил.
        — по возможности связывать практику с жизнью. Чтобы в результате выполнения заданий получилось что-то реально работающее.
        — прогрессбар, разумеется, тоже нужен. Чтобы отслеживать свои результаты и сравнивать их с результатами других.
        — и форум, конечно же. Как без него.
        — если ко всему этому добавить ещё и автоматическую проверку заданий, то как раз и выйдем на 99% работы студента и 1% работы преподавателя: помочь и подсказать в тех ситуациях, когда с решением вообще никто справиться не может (более простые вопросы сами студенты прекрасно решат и обсудят на форуме).
        Вот такая мечта. Как она вам? Насколько это вообще реально осуществить?
        • 0
          Вы только что описали, как работает Coursera.
          • 0
            Да. Недаром в Coursera в своё время миллионы вложили, как в один из самых перспективных проектов. Но можно и лучше. На мой вкус Coursera затянута, шаги слишком мелкие, теория очень элементарная. Например, на то, чтобы решить задачу FizzBuzz там выделено 15 занятий. Зачем так много-то?
            В Выразительном JavaScript всё более динамично и увлекательно. И сложно :) Сейчас на Современный учебник JavaScript перешла. Там вроде бы как оптимальное соотношение сложности и доступности. Но практики хотелось бы больше. Так что идеала не существует. А может он у каждого свой.
          • +1
            Или MITшные курсы. Если опустить некоторые мелочи.
        • 0
          Где-то в этом месте нужно в любом случае искать место для большого куска теории, скучного, который практикой особо не закрепишь. Этим универ и занимается. А иначе пожалуйста, корсера и в манки кодеры. Такой идеальной модели обучение не существует и всякие модные нынче онлайн курсы ее не решают. Я не вижу, чтобы из такой программы получился программист, который понимает, что он делает. Он знает как собрать пару блоков в пазл, который он заучил когда-то. Это не дело.

          Хотя и тупо кодить без мозгов тоже кому-то надо. Так что пусть вкладываются, а полноценное обучение трогать не надо со своим эффективным менеджментом.
  • 0
    Такое впечатление, что автор кроме узкого мира PHP с зоопарком CMS и фреймворков больше ни на чем не писал. Попробуй Python, Ruby, NodeJS. Возможно PHP с его подходом к работе это не тот инструмент что Вам нужен, и в этом основная проблема.
  • +3
    Ох, I can relate. Про образование — это правда очень плохо. Люди, которые подхватили свое увлечение условно с раннего возраста и достаточно им зажглись, судя по комментам, не очень видят тут проблемы вообще — самостоятельность, интернет, StackOverflow и т.д. Это все прекрасно в той ситуации, когда ты в принципе знаешь, что этот увлекательный мир программирования вообще существует, что там интересно и тебе есть чем (потенциально) заняться. А если нет?

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

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

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

      А на нет и суда нет. Пойдет человек в экономисты или юристы, ну или, если закончил IT вуз, в саппорт, продажники IT программ и т.п… Тоже неплохая работа и хорошие деньги. Каждый свое хобби находит сам.
      • 0
        Вот я и говорю, что это грустная история. А может быть, если бы кто-нибудь рассказал человек про программирование/физику/рисование, он бы нашел в этом увлечение если не всей жизни, то энной ее части? А вы вместо этого его за деньгами отправляете.

        Мне иногда жалко, что я так в школе биологию пропустил — почему-то все преподаватели предпочитали игнорировать потрясающую историю вселенской игры на выживание, и рассказывали, сколько у кошки позвонков. Но это мне сейчас видно, что она потрясающая, а тогда-то я что мог сделать?
  • +4
    Вставлю свои 5 копеек.

    В данный момент пытаюсь отучиться от правила «если делать, то все должно быть идеально, иначе вообще не делать»

    К идеалу нужно стремиться, но чтобы сделать «идеально», нужно сначала N раз сделать «плохо», M раз «нормально» и K раз «хорошо».

    … те ребята, с первой работы, как раз-таки заканчивали центровузы

    Обучаться програмистам в вузе сейчас бесполезно. Слишком велико число тех кто не хочет/не может учиться.

    ИМХО учат учителя в школе, а в универе преподают преподаватели)))
    Я учился в НГТУ (Новосибирск), входит в топ 20 вузов России. Думаете там хорошо учат? Нет, там хорошо спрашивают на экзамене. А кто и как тебя учил, там никого не волнует. ВУЗ может быть виноват только в том, что плохо с вас спрашивал.

    … мимо ушей прошел предмет ООП с основами С++. Стало не интересно и скучно

    А у меня, например, препод по ассемблеру, на один из моих вопросов ответил,- «а оно вам надо?»

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

    Если вам интересно, то университет я не закончил,- отчислили с 4-го курса. Я без проблем нашел себе оправдание, мол умер отец, нужно было работать, и т.д. А когда устраивался программистом просто стиснул зубы и пахал, и не смотрел на другие вакансии. Сейчас уже имею какой-то стаж, и иногда кажется, что кое-что так и не освоил, а то что освоил, уже забыл. Иногда жалею, что не пошел «дальше» в «крутую» компанию, столицу, Тайланд, что не восстановился в универ, но я точно знаю, что то, что мне понадобится завтра, я освою за неделю или месяц, важно просто стараться работать хорошо.

    В заключение желаю вам удачи и советую:
    1. Не распыляйтесь на все сразу — всего вы не выучите
    2. Устройтесь в крутую компанию, занимающуюся софтом, с agile/scrum/xp/kanban, с код ревью, с git/mercurial и т.д., и поработайте там 4-5 лет стиснув зубы
    3. Делайте «Хорошо»


    З.Ы
    Я ни кого не хотел обидеть, и мое мнение может не совпадать с вашим.
  • +2
    Как-то всё было испробовано наскокам. В школе Pascal, потом Photoshop, HTML, CSS, внезапно админство и замена картриджей, SQL, PHP.
    Причём в какой-то хаотичной последовательности.
    Возможно стоит начать с чистого листа и остановить свой выбор на основных языках, скажем C++, Java, .NET?
    Плюс их в том, что технологии не бегут совсем уж бешеными темпами, есть база которой хватит в 80% случаев.
    Специалистов также полно, почти все вопросы будут иметь чёткие ответы без воды на том же StackOverflow.
  • +4
    Статья годная, автор молодец, что смог хоть как-то собрать в кучу то, что многим болит.

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

    Зеленый специалист, без опыта работы, в чужом городе — не самый лучший вариант, но других нету. Немного подучил HTML с CSS + чуть-чуть JS и пошел на курсы при одной ИТ-фирме. Закончил курсы, взяли на работу. Вот сейчас сижу и учусь учиться и даже умудряюсь как-то работать. =) Столько нового всего, куча нюансов, появились в жизни еще node.js, работа с git, npm и bower-компонентами, багтрекером. Жаль, что работодатель выжимает все соки и развиваться приходится за рамками рабочего времени, которое не всегда заканчивается в 18:00.

    Но знаете что, ребят? Мне нравится. Нравится писать код, учиться — как делать надо и как лучше не надо. И это затягивает — ты можешь сидеть и писать-писать-писать, с перерывами на чай/кофе/покушать. Жаль, что реальная жизнь часто не такая пушистая, как того бы хотелось. Где-то получилось не так, как хотел. Планировал после работки Хабр почитать, покодить, а тут сроки-дедлайны и ты пришел домой, давно после заката, покушал и просто вырубился.

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

    Хорошего вам дня, утра или вечера.

    p.s. Если вы ментор и ищите себе ученика — обязательно напишите, не проходите мимо.
    *машет руками, стараясь привлечь внимание*

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


      Золотые слова.
  • +2
    Как говаривал Дэвид Юм, познание лишь расширяет границу нашего незнания. После полугода работы начинающим PHP-программистом я был уверен, что надо ещё выучить как разворачивать Апатч, подучить CSS и собственно всё. Веб-разработка будет у меня в кармане. Но конечно чем больше я узнавал про конкретные технологии, тем больше встречал новых, о которых раньше даже не слышал. Сейчас я субъективно «не знаю» больше чем 10 лет назад. Просто теперь я знаю о существовании большего количества технологий, о которых тогда не знал и даже не мог подумать в принципе. Это нормально, и не думаю что программирование в этом сильно специфично как специальность.

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

    И под конец байка. Ходил я как-то на собеседование в очень толстую контору (уровня самых толстых в рунете). Основной код проекта был на PHP, и естественно на собеседовании мы начали обсуждать этот язык. Забавнейшим образом спор зашёл о том, как работает isset по сравнению с empty. И вот их техдир на пару с главным программистом начинают c пеной у рта доказывать мне, что isset не принимает больше одного аргумента. А я знаю что принимает, буквально пару дней назад использовал в коде. В общем после пары заходов и попыток надоумить их почитать мануал я махнул рукой и смирился с тем, что у них другой isset. На работу меня туда конечно не взяли. Но с тех пор я твёрдо уверен, что даже очень крутые дяди не знают всего-всего. Всё знать не возможно и не нужно к этому стремиться. Нужно либо учиться работать в команде и быть полезным не менее чем другие будут полезны тебе, либо тихонечко пилить fun-проект или тюнить проект с открытым кодом на любимой технологии. Но второй вариант чаще подходит как хобби, а не как профессия.
  • +3
    Встряну еще раз с юбилейным 100-м комментом. Публиковалась некоторое время тому назад на хабре история, habrahabr.ru/company/veeam/blog/267187, как парень из бомжа сеньором девелопером стал.

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

    В этом ответ на все вопросы. Было бы здоровье так учиться и работать, было бы желание — все остальное — приложится и образуется.
  • 0
    Отсутствие у преподавателя объективного ответа «зачем?»
    Это бич не только высшего образования. У многих детей в школе проблемы с математикой не потому что у них способностей нет, а потому, что они не понимают, где знания могут пригодиться.
    Элементарный пример — производные интегралы. На уроках математики нам их преподносили как факт. Мы учились их вычислять, строить графики и т.д. Но лишь в курсе физики через год им нашлось реально применение, и они обрели совсем иной смысл, и понять их на примере физики намного проще.
  • +2
    1) Автор недооценивает себя. Если вся история правда, то автор очень опытный человек.

    2) Автор переоценивает уровень столичных компаний. Тут какая-то психологическая трудность.
    Нам всегда кажется, что вот там вот люди опытнее, прогрессивнее, умнее, образованнее. Столица же. Заблуждение.

    P.S. Касательно PHP: не раскрыта тема священной коровы — ООП-секты =)

    • +2
      Поверьте, эта правда, и не только у автора…
  • 0
    Этот пост поймет только человек который всегда стремится достичь большего, не останавливаясь на достигнутом и родился в маленьком богом забытом городке.
    Автор описал все очень красиво и без обмана, показал правду жизни такого программиста как я сказал выше.
    Человеку родившемуся в столице не понять написанного…
    Автору выражаю свое уважение! У меня почти все так, только с образованием совсем по другому (Я сам учился изначально) И в столице я остался.
    Я давно понял что меньше работы — больше зарплаты. И это важно, так как ты не живешь с мамой и папой, и квартиру или дом тебе никто не подарит.
    • +1
      Я давно понял что меньше работы — больше зарплаты.

      Так, меньше работы — больше зарплаты => больше времени на свои проекты во фрилансе => ещё больше зарплаты + опыт.

      P.S. Обычно, в начале развития IT карьеры можно выбрать между высокой зарплатой, но без роста полезного опыта или относительно низкой зарплатой, но с перспективой роста как профессионала. Скажем, джуниор Java разработчик может зарабатывать меньше того кто просто ставит 1С пользователем без всякой настройки. Но тот кто ставит 1С программы и через 10 лет будет получать столько же, а Java синеор может просить значительно более высокую зарплату чем джуниор (не говоря уже о возможности переехать в другую страну и получать в десятки раз больше). Что в общем-то и видно на примере автора, принцип «меньше работы — больше зарплаты» на самом деле «поедание» сейчас своей зарплаты лет через 10, т.е. «больше зарплаты сегодня — меньше завтра»
    • +3
      Человеку родившемуся в столице не понять написанного…

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

      В том же московском Физтехе, кстати, почему-то большинство людей — не москвичи.
  • +2
    Английский надо знать не потому что доки на нем, а потому что англоязычный интернет самый большой. К примеру русскоязычный сегмент — Россия и СНГ. А взять англоязычный — это не только Великобритания и Америка, но еще и многие другие страны, включая Россию, и страны СНГ. Да-да, вы не ослышались: многие программисты ищут и пишут ответы на том же английском Stackoverflow, при этом национальность не имеет значения — это могут быть и Китайцы, и Русские, и Итальянцы, и вообще кто угодно.

    Есть разные причины, но на данный момент Английский — де-факто международный язык.
  • +4
    (сразу хочу извиниться за тон, но в уважительно-хабровском тоне комментарий будет немного нелепо выглядеть)

    Братан, все написано правильно, но есть одна вещь, которая перекроет все написанное выше.
    Вообще все. Не надо заниматься самокопанием, расписывать теории почему все плохо и т.д.
    Почему так говорю? Потому что у меня жизнь складывалась еще веселее: с 8-го класса проводил вечера с паяльником, между тренировками бегал в библиотеку читать журнал «Радио». Но после школы вышел эпичный облом — не поступил туда куда хотел в итоге закончил институт с записью в дипломе «менеджер». Я с первого курса понимал что мне это не надо, но мне повезло, нашел себе занятие в виде работы эникеем и с 17 лет ползал под столами. В то время ночами переставлял 98-ю винду которую сам же криво поставил неделей раньше. Мне были непонятны даже азы — не понимал что такое маска подсети, как обжать витую пару и т.д. Сейчас смотрю во вчерашний день и с трудом понимаю как это все вывозил. Но как-то вывез. На пятом курсе я уже админил сетку с контроллером домена, шлюзом в интернет и т.д. Через год админил сетку на небольшом заводе в 150+хостов.

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

    Бро, я скажу прямо — у тебя не было мечты или мечта была далека от того чем занимался. У меня был в жизни один эпизод, очень сильно напоминающий повествование. Я пришел в контору занимающуюся 1С с целью стать 1С программистом, до этого окончив 8-ми месячные курсы бухгалтеров чтобы разбираться в бухучете. Меня от туда на третий день выгнали. Мотивация была такая: 1С == деньги. То что это вообще не моя тема и далеко от мечты — решил «стерпится — слюбится». В конце концов знакомые ребята работают и неплохо зарабатывают. Но нет, мне очень быстро жизнь дала понять что это того не стоит и дала пинка ногой работодателя.

    По этому мой тебе добрый совет, который однажды услышал сам — «иди за своей мечтой!».
    Я за ней шел окольными путями и бессонными ночами и в итоге пришел и скажу — оно того стоило, только будь честен с самим собой, не надо смотреть на социальные паттерны, у меня в роду технарей нет вообще, с детства воспитывали быть гуманитарием, но моя мечта была стать технарем, хорошим-плохим — НЕ ВАЖНО, вот и все. По этому если человек в глубине души хочет стать аквариумистом, а его родители настаивают чтобы он был портным — он либо сломается, предаст мечту и будет тосковать по тому что не сбылось, либо будет сначала голодным и одержимым, а потом счастливым.

    Выбирай бро, но будь честен с самим собой! 30+ лет это не приговор, это только начало!
    Удачи и всех благ )

    P.S. спасибо всем кто дочитал)
  • +1
    «Учить нужно то, что пригодиться в жизни»
    Иронично.
  • 0
    Самообразование — это самый лучший вариант образования для программистов, хотя, стоит признать, что не для всех.
  • +1
    Очень часто кажется, что десятилетия опыта — это о чём то говорит.

    Что чем больше человек знает, это лучше.

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

    Догадайтесь сами.
  • –3
    Сразу хотелось бы выразить благодарность за неподдельный интерес к публикации и массу интересных комментариев.
    Скажу что это не исповедь, и не нытье, а скорей просто подведение итогов и работа над ошибками. Публикация призвана обратить внимание на актуальные, по моему мнению, проблемы и предостеречь совсем еще новичков.
    Лень конечно же имеет место быть, но её суть тесно связана с мотивацией, отсутствием знаний или неумением их правильно применять, которая может вылиться в не меньшую по объему публикацию. Но это уже оффтоп.

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

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

    Ну а по поводу всех этих онлайн курсов… Они полезны, если есть хорошая база. Помогут изучить синтаксис, основные функции, работу с той же IDE и сопутствующими программами Только что дальше с этим делать?
    Вот вам пример:
    Нужно написать игру в крестики-нолики. Я знаю как передать данные на сервер и получить, что бы можно было делать ходы. Но тут встает вопрос как проверять ситуацию на игровом поле? Конечно же не зная как, я полезу в интернет искать решение, где найду код программиста после онлайн-курсов. Там будет сравнение массивов со всеми комбинациями в игре путем перебора. Вставлю все это в своей проект и все — продукт готов. Почему? Потому что у меня нет базы, нет знаний построение алгоритмов, а продукт сдавать надо завтра.
    Просто надеяться что я додумаюсь преобразовать массив в строку, задать пару правил через регулярные выражения и искать вхождение сомнительно, хотя не отрицаю что это приходит с опытом. Но а дальше что? Дальше нужно думать что кроме мультплеера есть сингл, и нужно уже учить компьютер просчитывать ходы. А потом будут шахматы, и тут простым поиском вхождений не обойдешься. Вспомнить все те математические дисциплины, которые до этого никогда не пригождались нереально. Ну а если ты их вообще не проходил, а выучил С++ на онлайн-курсах? Вот поэтому и нужны учебные заведения, которые не только закладывают ту самую базу, но ещё связывают ее с реальными задачами — Покер с тер.вером.

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

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

    Отдельно хотел выразить свое недоумение по поводу совета «менять работу раз в 2 года». Может и дельный совет, он способствует профессиональному росту. Карьерному — нет. И уж точно совет не работает в городах, где на всех 5 веб-студий, 2 конторы разрабатывающие ПО, и 3 занимающиеся 1С, Когда ты молод и зелен переезжать можно с места на место хоть каждый день, а когда у тебя жена и ипотека — непозволительная роскошь.
  • 0
    1. много говорите
    2. не слышите других людей
    3. не можете — значит не сильно надо
    вывод: тупо читайте умные книжки, потом может это будет осмысленно — то о чем все говорят
    1. не верь (себе и своим «хотелкам» в первую очередь)
    2. не бойся (много работы — не «ссы» а делай)
    3. не проси (мир вам ничего не должен)
    Удачи.
  • 0
    А когда действие происходит ещё и в глухой жопе мира, когда на весь город всего полторы работы, из них одна сисадмином, и половинка — эникеем, и ты сидишь-ботанишь на государство за копейки и регулярный мозготрах, и при этом не имеешь возможности уехать, видишь как утекает время, знания и возможности, — порой становится совсем грустно.
    • 0
      Удаленно работать тоже нет возможности? Уж лучше, чем аникеем или на заводе базы данных аксесса на делфи программировать.
      • +1
        Проблема в удалённой работе всё та же — всем нужны уже мега-спецы, знающие самые последние фреймворки и все сопредельные территории от и до в совершенстве и с опытом написания на них не менее трёх лет (хотя я иногда задумываюсь, что за три года средний фреймворк, как правило, успевает успешно крякнуть или полностью видоизмениться). Велосипедистов, неопытных и неграмотных не любят. Если и можно найти заказы, то это, как правило, простые г*носайтики для всяких гадалок, лендинги и микромагазинчики, при этом — постоянный, лютейший вынос мозга из-за полного отсутствия техзаданий, и, чаще всего, абсолютное отсутствие дизайна у заказчика (а потом начинается «игра со шрифтами»). Я в своей жизни только один раз успешно работал удалённо — но, к сожалению, дела у этого бизнеса пошли не очень хорошо, и надобность во мне отпала.

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

        Ещё моё положение усугубляется тем, что я, видя уровень этого самого «образования» и из-за необходимости изыскивать деньги на жизнь вообще в итоге бросил его. Ну я, конечно, для приличия, написал три дипломки — не своих, и все уровня программки на паскале для управления бд в виде телефонной книжки. Но математика, и как следствие — физика, были похоронены ещё в колледже, в том числе из-за очень «талантливого» преподавателя математики. Ну а без высшего образования, даже несмотря на опыт и уровень (которых у меня, в принципе, не очень много) — обустроиться на хорошую работу зачастую проблема, корочка-с важнее человека.
        • 0
          Попробуйте открытые курсы того же MIT.
          • +1
            Собственно, и грызу их понемногу. Современный мир предоставляет возможности, это действительно круто — но это не отменяет того, что иногда бывают и непреодолимые обстоятельства (ну вот не могу я бросить больных и старых родителей, никак), и не всё зависит от усердия и поиска, иногда просто невозможно забутстрапиться с нуля потому что негде, а на аутсорсах уже везде требуются какие-то прям, ну
            примерно такие.

        • 0
          Но как же фриланс? Тот же Odesk aka Upwork. Там при должном усердии можно найти что угодно. Знать новомодные фреймворки нужно далеко не для каждой вакансии. А учитывая доход в зелёной валюте даже очень нерегулярный заработок должен оказаться повыгоднее гос.службы в её классическом виде. Так что если долго мучиться, оно должно взлететь.
          Что касается удалёнки — это довольно напряжное дело. По личным ощущениям, действительно, хотят фуллстек гуру со знанием всего и желательно подешевле. То же самое с отечественным фрилансом: очень часто хотят что-то невменяемое за смешное вознаграждение.
          • 0
            Ну вот фиг знает, я за три года ни одного заказа там так и не сумел отхватить, как-то не придаёт мотивации.
            • +2
              Ну вот почему я нахожу и миллионы других людей находят? Почему я не брал там ни одного заказа, который принес бы мне меньше 1000$, имея самую первую ставку(совершенно без опыта на одеске и, соответственно отзывов и ворк хистори) 15$\час? Ну вот почему Вы написали уже тонну текста и нашли 1000 оправданий вместо того, чтобы взять и сделать что-то чтобы устранить проблемы, улучшить свои знания, практиковать скилл привлечения клиентов и т.д?

              Я просто оставлю это здесь, потому что я хочу зайти сюда через год и убедится, что у вас ничего не получилось. Сидите в дерьме и жалейте\оправдывайте свою лень и себя дальше, удачи.
              • –1
                Молодец, возьмите с полки пирожок.
                • 0
                  См пункт 3. не проси (мир вам ничего не должен)

                  Вы хотите:
                  1) стабильную работу,
                  2) при выполнении которой могли бы учиться,
                  3) поднимать свой профессиональный уровень с базового и изучать актуальные технологии

                  фриланс не тот — сектор
                  ит — сфера услуг, т.е. рабочие места есть только в развитых экономиках
                  мораль такая — нужно выбрать что-то одно решить чем готов жертвовать
                  • 0
                    Да я как-то ничего и не прошу, просто работаю по возможностям и радуюсь за таких, как hlogeon.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.