Category: Студентам

Почему джунам нужно платить относительно большие деньги?

Недавно разговаривал с директором одной криворожской айти компании. Компания старая и небольшая, не аутсорс и не веб, а банальная автоматизация процессов конкретных бизнесов. Среди прочего он мне пожаловался что приходят устраиваться студенты без опыта и уже хотят получать 3000 грн. (375$) хотя ничего не умеют и не окупаются ему.
Для сравнения цен, в Кривом Роге можно снять однокомнатную за 100$.
Низкоквалифицированые рабочие на заводах получают примерно также, а то и больше.
Такое же негодование вызывает когда в Киеве джуны без опыта просят по 700$.

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

Мотивация делится на две части:

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

Идея в том, что некоторые вещи достаточно просто держать на хорошем уровне. Например офис. Если вы работаете в непроветриваемом подвале с запахом канализации то как-то не работается совсем. Если вы работаете в open space офисе то в принципе — ОК. Если в ваш опенспейс повесят картины то на ваш уровень мотивации это вообще не повлияет. Дальше этот мотивирующий фактор начнём работать только если его довести сверх предела: например забабахать дизайнерский офис как у Google или Yandex:
Переговорка в питерском офисе Яндекса
Особенно чётко это прослеживается с деньгами как самым универсальным инструментом. Кто говорит что деньги не главное, тот врёт. Это очень важно. Большая оплата всегда мотивирует и работника и руководство и заказчика.
Мы живём в нищей стране и для нас деньги по прежнему остаются главной проблемой и мотивационной силой.

Изначально для джуна деньги это гигиенический фактор: если их не хватает на то чтобы оплатить комнату, поесть, купить сигарет, дитям мороженое а бабе цветы — то чем бы великим ты не занимался мотивация у тебя постепенно сойдётся на ноль. 700$ для Киева или 375$ для Кривого Рога — это минимальный гигиенический уровень, т.е. это в принципе минимальная заработная плата. Это самая первая ступень пирамиды Маслоу, и без её удовлетворения невозможно перейти на другой уровень.
маслоу-пирамида

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

Когда вы берете в команду Джуниора, вы должны четко осознавать, зачем и почему вы его берете. Я не рассматриваю вариант, когда опытный тим-лид, чувствует в себе силы и желание помогать молодому поколению программистов, делясь своим опытом. Это прекрасно! Но я такого не встречал. Самый распространенный случай — Джуниор стоит дешевле. Если это ваш случай — откажитесь от этой идеи. Просто потеряете время и деньги. Джуниор стоит дешевле не просто так, ему нужно уделять время, ему нужно что-то объяснять, направлять в правильное русло, давать подсказки, обязательно смотреть его код. И все это, отнимает время более опытных программистов, которое стоит очень не дешево.
Джуниоры — это вложение в будущее. Это возможность вырастить и воспитать такого программиста, какой вам нужен. Сегодня он отнимает ваше время, завтра — приносит прибыль. Задайте себе вопрос: можете ли вы ждать до завтра?

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

Реклама

Блин, да как же всё таки обучить программистов?

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

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

Человеческий мозг — это компьютер, сложный и тем не менее прямолинейный.
Мы запоминаем только то, что повторяем. И если не повторяем — забываем. Очень просто, правда?
А теперь мы берём студента, пичкаем его знаниями: структуры данных, дискретная математика, исследование операций, ТАУ, схемотехника, ООП, сети.
По идее должен выйти отличный инженер, правда? Истина в том что знания почти никак не влияют на профессионализм. Ты либо программист. либо нет, всё тут. И ты был таким всегда, с рождения!
Это нейрологическое свойство твоего мозга которая просто нашло максимальное своё проявление в случайно оказавшейся полезной специальности.
Знание микросхемотехники мне никак вообще не пригодилось. Когда мне было интересно как устроен компьютер я прочёл и изучил схему полусумматора и понял. Мне этого хватило. То что есть JK и T триггеры для меня бессмысленный багаж знаний. Вообще всё что рассказывали оказалось бессмысленным — я просто этим больше не занимался. И почти всё забыл, то что написано в моём дипломе магистра теперь полная ложь.
И это правильно, это механизм выработанный миллионами лет эволюции!

Я даже забыл как в столбик делить, а недавно объяснял тестировщице основы программирования, хотел написать решение квадратного уравнения и… вот вам сейчас слабо вспомнить формулу x1? Мне пришлось глянуть в Википедию, вспомнить.
Глянуть в интернете у меня заняло 30 секунд. Зачем было меня напрягать 11 лет в школе?
Вся стоимость полученных мною знаний в школе это те 50 центов стоимости микрочипа памяти.
И всё всегда реально выучить и сделать как только попадается задача. Да да, как в том анекдоте «Завтра экзамен по китайскому, а мы не учили. Учебник есть? Да. Тогда сдадим!».
При этом, я уже самостоятельно выучил столько технологий, идей и концепций, что хватило бы на десять высших образований.

Теперь вопрос: зачем вообще обучать чему нибудь если оно забудется? Да ещё и пять лет!?
Пять, пять сука лет! Пять лет молодости, самого эффективного возраста.
Вместо того чтобы зарабатывать деньги, любить, завести семью мы тратим нашу жизнь на «заучил, сдал, забыл».

Люмпен пролы хоть год в бурсе, ещё один в армии и на завод, и уже живут. И уже рожают строителей идиотократии.
Вам, уже даже фильм сняли в Голливуде, с Тимберлейком и грудастой актрисой, как ещё вам, идиотам, объяснить чтобы вы поняли насколько время ценно?

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

Доучится и перейти — не большая проблема. Я выучил Яву и перешёл на неё с Делфи за две недели. Ходил на собеседования и получил за это время два офера! Да у меня был опыт двух-трёх хелоуворлдов на Яве до этого, как впрочем и на Плюсах и на Си Шарпе. Всё равно, за две недели вникнуть в тонкости которые как раз и спрашивают на собеседовании это было сложно, но возможно.
Скажите я гений? Тогда как объяснить похожий успех у Игоря Цинько?

Да, я сейчас учусь: хожу на тренинги, конференции, читаю книги, блоги. Но только когда мне что-то либо интересно либо нужно по работе. Потому что иначе просто бессмысленно.
Когда на Coursea начали выкладывать курсы, я был в восторге и записался на курс криптографии. После двух занятий бросил.
Зачем оно мне? Основы мне отлично объяснил один из крутейших криптографистов Евгений Василенко, который вообще-то по образованию (сюрпайз!) геолог.
Я уже знаю что такое (а)симметричное шифрование, что за алгоритм Диффи Хелмана, что такое хеш, сеть доверия, что такое цифровая подпись. А больше я на практике и не использую. Зачем мне знать про эллиптические кривые?

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

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

Этой зимой я помог Виктору Кучину провести тренинг Java интенсива. За три неделе мы вместе с джунами вместе разрабатывали сайт. Только нужные технологии для выполнения работы в 80% компаний. Только нужные навыки. Практика, парное программирование.
У всех на выходе из курсов было составлено резюме, и в нём был указан реальный опыт на реальном проекте.
Все уже почти готовы к устройству на работу, только ещё самостоятельно заучить ответы на стандартные вопросы.
Сами того не зная, мы с Виктором действительно нашли правильный и наверное единственно верный формат обучения.
Я действительно глубоко переосмыслил что мы сделали и окончательно в этом убедился.
Вам даже сложно представить сколько всего перемолол мой мозг чтобы удивится поняв что мы интуитивно всё сделали правильно!
Может этот текст вас не убедит — это всего лишь заметка перед сном, вершинка айсберга, но я знаю что говорю, мне можно верить и я буду ещё много об этом говорить и писать.

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

Читайте продолжение: Здания университетов нужно превратить в туалеты! Без шуток

UPD
Эта заметка не смотря на неполноту и желтушность вызвала обсуждение. На меня посыпались кучи аргументов которые к сожалению в основном являются просто закостенелыми мифами и стереотипами. Градус неадеквата в таких дискуссиях быстро нарастал и мои оппоненты то и дело подтверждали закон Годвина да ещё не обошлось без Сталина.
Сегодня многоуважаемый мной тренер по программированию Николай Алименков написал отличную статью где выступил в защиту ВУЗов.
Николай мой кумир и один из основателей тренингового центра XP Injection, организатор многих конференций и киевского клуба программистов, и каждое его слово — золото, и к нему стоит прислушаться. Но к сожалению ничего нового в его статье нет, зато старые утверждения описаны очень хорошо.
Забавно что как раз все эти аргументы легко переводятся в обратную сторону против ВУЗов. Кстати сам тренинговый центр XP Injection я как раз и ставлю пример замены ВУЗов 🙂
А вот и мой ответ: Всё таки есть хоть какая нибудь польза от вузов?.

И ещё один: Единственная польза оффлайн вузов – это теоретически эффективный нетворкинг

[Заметка] Какой СУБД учить в университетах?

В чате #kranonit разгорелась интересная дискуссия. В университете студентам преподаватель по базам данных дал на обучение старую как мир Paradox.
Парадокс конечно клёвая БД и всё такое, но никакой мотивации у студентов её учить нет. С таким же успехом можно учить студентов набивать перфокарты.
И возник вопрос: А какой же БД учить студентов?
Вот пару моих мыслей по этому поводу.
Ирония в том что когда-то в магистратуре я проходил пед практику я как раз составил лекцию с осмотром баз данных.
Дисклаймер: я был DBA на Interbase и Firebird, но я совсем не гуру в БД (а такие есть вообще?). Поэтому если видите что я в чём то тут неправ — жгите в комментариях. И да это заметка а не полноценная статья.

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

C RDBMS такая тема: принципиальной разницы какую учить особо нет, ибо SQL везде похож и принципы построения таблиц тоже.

На самом деле всё упирается в количество часов начитки и практических работ.

Если времени мало, то однозначно нужно учить MS Access или Open Office Base.
Я на полном серьёзе, посудите сами:
Это очень распространённая БД которая идёт вместе с офисом т.е. УЖЕ есть практически на всех компьютерах.
Очень легко перейти к понятию таблиц от понятий таблиц в Excel, в случае с Access этот переход ещё мягче.
И поскольку он входит в офисный пакет то отсюда и растут всякие плюшки от интеграции, особенно с Excel. А не забывайте что Excel — лучшая программа за всю историю человечества, и в грамотных руках вполне способная заменить много самопального софта для автоматизации производства.
Есть полноценный GUI! Причём уже сто лет как есть и действительно мощный: с инструментами визуального построения запросов, конструктор таблиц, форм и удобного редактирования содержимого таблиц. Всяким там MySQL Workbench ещё расти и расти.
Не нужен сервер, легче распространять программу.
Есть возможность построения SQL запросов, правда без автодополнения и подсветки синтаксиса, что очень сильно огорчает.

Если есть чуть больше времени тогда можно изучать MySQL потому что к ней много руководств написано для чайников и она популярна на рынке. Но как ни крути у MySQL родовая травма, поэтому никакие вторичные ключи, вьюхи и хранимые процедуры на ней не выучишь. К тому же она явно склоняет к говнокодерству из-за своего попустительства.
Есть гуй MySQL Workbench, и он совершенно не удобный. Но есть альтернативы.
Т.е. учебная польза от MySQL нулевая: не соответствует стандарту ANSI SQL (в этом плане похоже самый совместимый Firebird). Неудобный гуй который повышает порог вхождения. Проблемы с обратной совместимостью (учебные материалы быстро устаревают). Несмотря на популярность проект явно колбасит — покупка Ораклом, форки (MariaDB, Drizzle), смены движков, насильно вкручивают новые фичи на старые костыли.
Вообщем польза от этого ровно одна: студенты будут чуть более мотивированы, потому что знают что продукт популярный.

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

Если совсем круто со временем то можно ещё NoSQL прихватить типа MongoDB или на крайняк Redis (он очень прост).
Самое главное тут — вникнуть в CAP теорему.

А чему учат на западе? Смотрите сами:
Introduction to Databases course (Stanford)
Introduction to Data Science (University of Washington)

Вместо заключение

Учить студентов нужно тому что ещё живое на рынке. Например Firebird, FoxPro, ErWin (это не БД) не смотря на свою круть не попадают в эту категорию.
Также БД должна быть распространённой.
А ещё очень желательно чтобы софт был свободным, иначе устанешь выпрашивать лицензии.
Учить нужно SQL который касается манипуляции данными (Data Manipulation Language, DML): SELECT, INSERT, UPDATE, DELETE. Эти операторы нужно запомнить железно и хорошо закрепить на практике.
DDL (Data Definition Language) учить не нужно, создавать таблицы нужно из гуёв. В любой БД создание таблицы операция настолько редкая что если что можно просто подсмотреть синтаксис в документации, не смертельно.
Всякие там гранты и ролбеки тоже можно выкинуть из программы.
Большой упор нужно сделать на селекты, джоины, индексы, планы (самому разбираться с ними обычно лень), и на нормализацию.
Кроме нормализации нужно закрепить сохранение произвольных структур или иерархических.

Почему я советую знакомым студентам учить Java?

Недавно снова наткнулся на вопрос «почему Java а не что то другое?». Я уже отвечал на форуме, теперь достал и оформил в виде статьи с акцентом почему я советую знакомым студентом учить Java.
Я не очень опытный специалист и здесь будет много субъективного мнения, и конечно же тема очень обширная и холиварная, но я хочу собрать все свои мысли в одном месте.
Вкратце суть статьи:
Учить нужно то, за что платят (т.е во что вкладывают) деньги, а больше платят за Java. Там и инновации, и широкий спектр решений и технологий.
Java нацелена на разработку больших проектов, поэтому её любят большие корпорации.
А платят за Java больше чем например за C#, в который тоже вбухивают деньги, потому что стоимость разработки и сопровождения ниже: много бесплатных инструментов, библиотек обкатанных временем, средства разработки и она кроссплатформенная и можно использовать бесплатный Linux, обратно совместимая, предсказуемая и надёжная.

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

Начнём с анализа текущих дел

Сейчас массовый софт работает в трёх основных областях:

  • Desktop приложения (офисы, АРМы, студии, системы документоборота, антивирусы), т.е. требующие установки на компьютер.
  • Web приложения сюда мы отнесём все сайты и онлайн сервисы (wikipedia, gmail). Многих она притягивает потому что не требуется установка ПО и данные остаются доступными в сети.
  • Мобильные приложения
  • Игры, особенно мобильные и броузерные для социальных сетей.
  • Embeded — встроенные системы (драйверы, контроллеры)

Примерно прикинем популярность по трендам индексатора американских сайтов работы indeed.com:

Веб самый популярный, а embeded совсем мал. Mobile и игры для социальных сетей растут как на дрожжах, это очень хорошо видеть если посмотреть тренд относительного прироста:

Embeded я убрал из-за странного дёрганого тренда.

А теперь график по языкам:

Тут несколько нюансов:

  • Для большего драматизма я добавил любимый но мертвый Delphi.
  • Также по Си из-за однобуквенного названия график выходит неоправданно завышенным, я использовал C Developer, тренд хоть кажется адекватным.
  • Objective-c подозрительно маленький тренд, чаще пишут iOS developer.
  • JavaScript (не путать с Java!) раньше имел ограниченное применение для небольших клиентских сценариев в броузере, но сейчас стал активно использоваться для создания игр и даже для серверного программирования.

Основные области применения Java это большие web приложения, банковские desktop приложения и мобильная разработка для Android. Т.е. она сразу попадает в три популярные категории.

Ну и собственно зарплаты по данным опроса DOU.ua
75 перцентиль midle разработчиков в Киеве. Справа шкала количества анкет.

 

Причины такой позиции Java

  • Строгая, статическая типизация что значительно уменьшает число ошибок и улучшает сопровождаемость кода, особенно если ещё использовать статический анализатор. При этом в яве есть ограниченные возможности динамического программирования через магию рефлексии и аннотаций. Но тем не менее есть её диалект Groovy который динамический и почти полностью совместим с ней на уровне синтаксиса. На нём кстати есть отличный Rails подобный фреймворк.
  • Java на рынке с 1995 года, обкатана и существуют сотни решений и технологий.
  • Что немаловажно является по сути упрощённым C++ который учили все в институтах и поэтому переход на неё проходит менее болезненно.
  • Язык прост, предсказуем, и минималистичен. Новые фичи вводятся очень осторожно, иногда даже черезчур долго (например замыкания).
  • Синтаксис Java является чем то вроде linva franca поэтому авторы книг часто выбирают её для примеров кода.
  • Мощные IDE, в частности Idea вообще вершина эволюции средств разработки и стоит в разы дешевле чем Visual Studio Ultimate для C# (700$ против 13300$).
  • Даже если кто и быдлокодит, это будет относительно легко разгрести через средства рефакторинга в IDE.
  • Кроссплатформенность, работает буквально на всём: от суперкомпьютеров до смарткарт и что особенно приятно на бесплатном Linux и FreeBSD.
  • Существуют около 350 гигабайт библиотек доступных в репозитории Maven. Для всего всего всего. И они в большинстве своём открытые, да.
  • В следствии очень дешёвая разработка.
  • Очень много программистов. Java самый популярный язык. Есть официальная сертификация программистов OSCJP.
  • Открытая стандартизация JSR, спецификации Java EE.
  • Компилируется в байт код, а не требует полной интерпретации как например Ruby и Python, что ускоряет работу. А благодаря оптимизирующему JIT компилятору может приближаться по скорости к нативному коду.
  • И последняя но далеко не последняя по важности: Полная обратная совместимость по API и ABI ещё с самых первых версий. Седьмая Java это всего лишь минорная версия, т.е. 1.7. Ни один другой язык не может похвастаться такой обратной совместимостью, даже C#.

 

Вывод

Остальные платформы и языки тоже хороши и востребованы и некоторые из них сейчас переживают бум. На их фоне Java выделяется самой сильной позицией и неплохими, пускай не самыми большими зарплатами. Но поскольку Java используется в корпоративном секторе и все проекты на ней большие то практически полностью отсутствует возможность фриланса на ней. Например количество вакансий на самой популярной фриланс бирже oDesk по запросу Spring (самый популярный веб фреймворк для Java) совсем не впечатляет.
Поэтому многим из тех кто хочет начать карьеру программиста но живут в городах где не устроится программистом прийдётся подаваться на фриланс и педалить на гнусном PHP.

«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.»

(c) Бьёрн Страуструп, автор C++

И Ява тоже далека от идеала. Кстати комментарий из этой статьи:

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

Но это не самое важное, а главное «Вы должны писать на языке, который делает вас счастливее» (Пэт Аллан).

P.S. Наткнулся на очень толковое обсуждение где очень толковые специалисты высказали своё ведение проблемы.
Обратите внимание, я не призываю выбирать Джаву как первый язык программирования, в этом есть определённая опасность.

Ещё одна статья Какой язык программирования выбрать


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

[Перевод] Может ли программирование стать следующей массовой профессией?

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

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

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

Есть даже великолепные сервисы: на подобии Treehouse и Codecademy, бесчисленые бесплатные онлайн курсы, Google Code University, приветливый Stack Overflow, персональные курсы вроде Dev Bootcamp, летние кружки для детей, и великолепные организации вроде CodeNow. Я уверен что перечислил далеко не все.

Ещё не так много ВУЗов обучающих программированию. Большинство их учит этому лишь как часть учебного курса.
Хотя конечно они так и должны делать — программирование это грамота, а не (только) специализированный навык. И даже дети могут начать программировать рано. Много студентов которые могут быть потрясающими в программировании, креативными, но при этом не развиваться в институтской (школьной) среде.

Существует огромный спрос на программистов, даже несмотря на общий уровень безработицы, так-что обучение программированию быстро вознаграждается.
Онлайн фриланс бирижи наподобии oDesk и Elance нанимают начинающих программистов по рейтам $15-20 за час и более.
Обучению программированию это один из лучших путей к предпринимательству. Программирование также доставляет студентам удовольствие творчества и мастерства.
Программирование однажды станет базовым профессиональным навыком — наподобие отправки электронной почты или «профессиональное владение Word-ом».
Молодые люди также готовы это изучать: программирование сейчас бренд. Парень который пишет под iPhone или Android, сегодня заполучает девчонку (ну или мальчика).

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

Для нас в США главной идеей развития является создание нового поколения учёных.
И это так и отражено в том как мы называем предмет программирования — компьютерная «наука» (computer science).
Мы можем сделать что-то другое (или в дополнение), обучая студентов быть ремесленниками, а не учёными: создать следующее поколение тех кто может хакать, творить, зарабатывать сразу, и возможно стать предпринимателями.
Обучение этому может сделать высшее образование более ценным, потому что это будет давать непосредственный результат.

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

© Roy Bahat


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