Обучение — Местные Программисты (Developer'ы)


Содержание

Актуальна ли профессия программиста?

Содержание статьи

Зачем нужны компьютеры и программисты?

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

Автоматизация — штука хорошая, но есть и обратная сторона медали. Вспомним ХХ век: тотальная индустриализация. Огромные заводы с тысячами рабочих мест, небольшие города вокруг этих заводов. Сейчас людей на рабочих местах сменяют роботы. Так, в этом году была открыта полностью автоматизированная линия производства кроссовок Adidas в Германии.

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

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

Как говорит исследование Оксфордского университета за 2015 год (The future of work, доступно по ссылке), первыми в очереди на исчезновение стоят профессии продавца, бармена, оператора кол-центра, офис-менеджера (секретаря), банковских служащих. Их место займет один программист, обслуживающий нейросеть. Ведь каким бы высококлассным ни было программное обеспечение, «железо» нужно кому-то обслуживать, а программное обеспечение — совершенствовать.

Альтернативное мнение: программист — мертвая профессия

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

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

Пока ты сомневаешься, актуальна ли профессия программиста, Tesla уже достраивает свою «Гигафабрику» в Неваде, и как думаешь, кто там будет нужен в первую очередь?

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

Программистов готовят с детства

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

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

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

Издательства уже начали выпускать книги, в игровой форме обучающие программировать на Python. Например, книга «Hello World! Computer Programming for Kids and Other Beginners» вышла уже вторым изданием и была переведена на русский язык (под названием «Hello World! Занимательное программирование»).

Быть программистом удобно

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

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

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

Как мне стать программистом?

Думаешь, обучение программированию требует много времени и дорого стоит?

Чтобы стать программистом, необязательно пять-шесть лет отдать вузу. Да и это неправильно: в вузе учат теории, а не практике. Практики программирования на занятиях мало, а программа обучения застряла в прошлом веке. Например, в одном из местных вузов обучают программированию на Pascal и Delphi, потому что PHP, C# и .NET не предусмотрены образовательной программой.

Ты будешь удивлен, если я скажу, что 14% программистов Google не имеют даже диплома об окончании колледжа, не говоря уже о вузе? Многие учатся сами: оканчивают курсы, чтобы найти первую работу в сфере программирования. А дальше все идет по накатанной — ты приобретаешь опыт, оттачиваешь свои профессиональные навыки и переходишь на высокооплачиваемую работу.

Таким стартом могут оказаться для тебя курсы программирования GeekBrains. Например, вот здесь можно стать веб-разработчиком, а здесь — разработчиком C#.

Еще не определился с выбором направления? Загляни в список доступных курсов или позвони по номеру 8 800 700-68-41, где тебе помогут выбрать профессию. По России звонок бесплатный. А пока ты думаешь, стоит звонить или нет, посмотри один из уроков программирования на Python от GeekBrains:

К вопросу подготовки программистов

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

Английский язык

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

Цукерберг рекомендует:  Дихотомия - Методы оптимизации

Вопрос – в какой мере программисту необходимо знать английский язык? Владение языком складывается из совокупности умений, среди которых можно выделить следующие:

  • Умение понимать устную речь;
  • Умение читать письменные тексты;
  • Умение строить предложения;
  • Умение писать;
  • Умение произносить слова вслух;
  • Умение думать на данном языке.

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

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

Умение писать по-английски также может потребоваться, но значительно реже. Иногда национальные кодировки символов на компьютере работают неустойчиво или вообще не установлены. Во избежание связанных с этим проблем в некоторых программах желательно использовать только латинский шрифт. Для этого можно применять транслитерацию или английский язык. При транслитерации слова не меняются, а лишь записываются латинскими буквами. Например, слово “размер” на транслите выглядит как “razmer”, “массив” как “massiv”. Использование английского языка, на мой взгляд, предпочтительнее, так как не все знают правила транслитерации и одно и то же слово у разных авторов может выглядеть по-разному. По-разному могут быть написаны, в частности, буквы “ы”, “ж”, “ц”, “щ”, проблематичен мягкий знак. Кроме того, в компьютерной тематике существуют определенные терминологические трудности, избежать которых позволяет непосредственное использование языка оригинала.

К умению писать близки вопросы выбора имен для различных программных объектов. Имена переменных, процедур и функций, таблиц и полей баз данных, имена файлов и т.д. играют огромную роль для успешного развития проекта, так как от читабельности кода напрямую зависит производительность труда программистов. Правила именования – предмет отдельного разговора. Здесь же я хочу отметить, что в основе выбора имен, на мой взгляд, должен лежать английский язык. Многие вещи в используемых средствах разработки (объекты, свойства, методы, константы и т.д.) имеют устоявшиеся названия и лучше правильно пользоваться имеющимся багажом, чем изобретать свой велосипед. В качестве дополнительного аргумента напомню о медицине, где используется латынь.

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

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

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

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

Существуют различные способы преподавания грамматики английского языка. Cпособ Милашевича [1], позволяет “любому человеку уже за несколько дней занятий понимать 70-80% неадаптированного текста” (цитата из [2]). Способ “Милгред” [2] подает английскую грамматику в целостном, системном виде и показывает взаимосвязь грамматических явлений. В обоих способах обучение ведется на модельных, а не на настоящих английских словах. Это позволяет сосредоточить внимание именно на вопросах грамматики, а не на значениях отдельных слов. При таком изучении грамматики становится неважным исходный уровень знаний английской лексики и не теряется время на поиск слов в словаре.

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

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

Математическая культура

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

И тем не менее компьютер много чего еще не умеет. В обычном человеческом общении задавая конкретные вопросы мы, в принципе, готовы услышать неконкретные ответы. Компьютер же требует большей однозначности. Задавая вопрос, компьютер может предложить варианты ответов “Да”, “Нет”, “Не буду отвечать”. Варианты ответов “Может быть” или “Не знаю” как правило не предусмотрены. Разговаривая между собой, люди могут понять иностранца, который неправильно строит предложения и ошибается в падежах. Компьютер же требует, чтобы тексты программ стопроцентно соответствовали синтаксису языков программирования. Программы ближе к математическим формулам, чем к естественным языкам.

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

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

Основные идеи программирования

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

  • Необходимо знать идеи структурного программирования и видеть в подпрограммах, функциях, операторах ветвления и циклов не просто конструкции языка, а средства обеспечения проектирования сверху-вниз и снизу-вверх;
  • Необходимо знать структуры данных, уметь из элементарных строить более сложные;
  • Необходимо знать основы объектно-ориентированного программирования, что такое наследование, полиморфизм и инкапсуляция;
  • Полезно понимать разницу между событийно-ориентированном программированием и обычным;
  • Желательно иметь представление о клиент-серверной архитектуре и программировании для Интернета;
  • Необходимо знать суть реляционных баз данных и уметь писать запросы к ним на языке SQL;
  • Для общего развития полезно иметь представление о языках низкого уровня, о макросредствах.
Цукерберг рекомендует:  Модульное тестирование (unit-тесты) на C#

Жизненный цикл программ

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

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

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

Документирование

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

В процессе работы над проектом создаются разные документы. Например, требования заказчика, постановки задач, протоколы тестирования, различные инструкции. Виды конкретных документов и их потоки зависят от используемой методологии программирования. При методологии главного хирурга – это одно, при методологии MSF (Microsoft Solution Framework) – другое, при экстремальном программировании – третье.

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

Групповая работа

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

Технологическая дисциплина

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

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

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

Коллектив

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

Неинтересная работа

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

Интернет

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

Рекламная пауза

В заключение рекламная пауза. Приглашаю всех присутствующих посетить мой персональный сайт www.nikvel.ru – Юмор, English, Изображения (а также рассказать о нем всем своим друзьям и знакомым). На данном сайте кроме развлекательных материалов можно посмотреть другие мои статьи по программированию и учебник английского языка для программистов.

Литература:

  1. Милашевич В.В. Обучение научно-техническому переводу с английского языка, часть II. Логическое изучение грамматики: Методические рекомендации. Изд. 10-е, переработанное. Владивосток: ДВО АН СССР – НТТМ “Техника”, 1988. 41с.
  2. Описание изобретения к патенту Российской Федерации RU 2153705 C1. Способ “Милгред” обучения английскому языку. Российское агенство по патентам и товарным знакам. 28.08.2000.

Актуальна ли профессия программиста?

Содержание статьи

Зачем нужны компьютеры и программисты?

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

Автоматизация — штука хорошая, но есть и обратная сторона медали. Вспомним ХХ век: тотальная индустриализация. Огромные заводы с тысячами рабочих мест, небольшие города вокруг этих заводов. Сейчас людей на рабочих местах сменяют роботы. Так, в этом году была открыта полностью автоматизированная линия производства кроссовок Adidas в Германии.

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

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

Как говорит исследование Оксфордского университета за 2015 год (The future of work, доступно по ссылке), первыми в очереди на исчезновение стоят профессии продавца, бармена, оператора кол-центра, офис-менеджера (секретаря), банковских служащих. Их место займет один программист, обслуживающий нейросеть. Ведь каким бы высококлассным ни было программное обеспечение, «железо» нужно кому-то обслуживать, а программное обеспечение — совершенствовать.

Альтернативное мнение: программист — мертвая профессия

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

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

Пока ты сомневаешься, актуальна ли профессия программиста, Tesla уже достраивает свою «Гигафабрику» в Неваде, и как думаешь, кто там будет нужен в первую очередь?

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

Программистов готовят с детства

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

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

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

Издательства уже начали выпускать книги, в игровой форме обучающие программировать на Python. Например, книга «Hello World! Computer Programming for Kids and Other Beginners» вышла уже вторым изданием и была переведена на русский язык (под названием «Hello World! Занимательное программирование»).

Быть программистом удобно

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

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

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

Как мне стать программистом?

Думаешь, обучение программированию требует много времени и дорого стоит?

Чтобы стать программистом, необязательно пять-шесть лет отдать вузу. Да и это неправильно: в вузе учат теории, а не практике. Практики программирования на занятиях мало, а программа обучения застряла в прошлом веке. Например, в одном из местных вузов обучают программированию на Pascal и Delphi, потому что PHP, C# и .NET не предусмотрены образовательной программой.

Ты будешь удивлен, если я скажу, что 14% программистов Google не имеют даже диплома об окончании колледжа, не говоря уже о вузе? Многие учатся сами: оканчивают курсы, чтобы найти первую работу в сфере программирования. А дальше все идет по накатанной — ты приобретаешь опыт, оттачиваешь свои профессиональные навыки и переходишь на высокооплачиваемую работу.

Таким стартом могут оказаться для тебя курсы программирования GeekBrains. Например, вот здесь можно стать веб-разработчиком, а здесь — разработчиком C#.

Еще не определился с выбором направления? Загляни в список доступных курсов или позвони по номеру 8 800 700-68-41, где тебе помогут выбрать профессию. По России звонок бесплатный. А пока ты думаешь, стоит звонить или нет, посмотри один из уроков программирования на Python от GeekBrains:

Школа программистов

Три месяца теории и три месяца практики
по программированию на Java и JavaScript

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

Программа

Мы научим думать, анализировать, создавать архитектуру. Иными словами — научим программировать. Ты освоишь:

Бекенд

  • Java Virtual Machine
  • Java collections + NIO
  • Java concurrency
  • Java фреймворки
  • Hibernate + JDBC
  • IOC (Spring и Guice)
  • Networking
  • SQL
  • Архитектура поисковых сервисов
  • Базы данных и SQL
  • Архитекутура и фичи PostgreSQL
  • Основы Python
  • Асинхронность и корутины

Фронтенд

  • CSS и вёрстка
  • JavaScript
  • React и Redux
  • XSLT и XPath
  • Дизайн
  • Тестирование JavaScript

Управление и процессы

  • Инженерные практики
  • Гибкие методологии разработки
  • Философия Agile
  • Разработка продуктов
  • Командообразование
  • Эффективные ретроспективы

Общее

  • Git
  • Эксплуатация
  • Автотестирование
  • Unit-тестирование

Преподаватели

Занятия проводят ведущие специалисты HeadHunter

  • SQL
  • NoSQL
  • Архитектура фронтенда
  • React
  • Redux
  • Java Concurrency
  • IOC
  • Spring vs. Guice
  • Maven, Gradle
  • JUnit
  • Git
  • CSS и верстка
  • Инженерные практики
  • Java Collections + NIO
  • Networking
  • Hibernate и JDBC
  • Command line & Debian
  • Тестирование
  • DevOps
  • Эксплуатация
  • JS
  • Frontend

О техническом департаменте

Техдеп hh.ru — это 20 команд и более 100 сотрудников: Java-разработчики, фронтенд-разработчики, тестировщики, ios- и android-разработчики, аналитики.

  • Входим в тридцатку самых посещаемых сайтов Рунета;
  • Используем кластеры hadoop и cassandra;
  • Храним больше терабайта данных в postgres;
  • Используем больше 100 демостендов, выпускаем релизы с автотестами каждый день.

Часто задаваемые вопросы

Да, можно. Занятия проходят вечером.

Можно проходить обучение онлайн?

Нет, обучение проходит оффлайн, в нашем московском офисе компании .

Сколько стоит обучение?

Мы обучаем бесплатно, но будь готов инвестировать время и энергию.

Из школы могут отчислить?

Да, если пропускать занятия и не сдавать домашние задания.

Сколько часов в неделю будет занимать учеба?

Примерно 6 часов в неделю на занятия и 10–15 часов на подготовку домашних заданий.

Как подготовиться к поступлению?

Для поступления будет достаточно университетского курса Computer Science или самостоятельной подготовки. Тебе пригодится знание алгоритмов и структур данных, умение находить оптимальные решения и оценивать их сложность. Преимуществом будет владение одним из языков: Java, Python и JavaScript.

Что ты получишь

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

Лучшим студентам гарантируем трудоустройство в HeadHunter или рекомендации в крупные IT-компании.

Цукерберг рекомендует:  Javascript - Ищу друзей, 13 лет, Fronted-разработка
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих