Учим программировать качественно

В Киеве. С нуля. Как следует.

Есть две вещи, которые нельзя атаковать в лоб: невежество и ограниченность. Их можно пошатнуть только простым развитием противоположных качеств. — Лорд Эктон (1834–1902)

Что такое качество?

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

Такие четыре основные желательные характеристики определяет консорциум CISQ для имеющих практическую ценность программных продуктов.

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

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

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

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

Так, безопасность веб-приложений актуальна и разработчику на PHP, и на Python, и на той же Java. Концепция и опасность SQL-инъекций (разновидность уязвимости при работе с базами данных) не меняется от того, работаете вы с PostgreSQL на сервере или с SQLite в мобильном телефоне.

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

Наш подход

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

Только разностороннее рассмотрение позволяет отделить абстрактные явления (принципы) от конкретных реализаций (инструментов).

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

У наших выпускников не загорится стул от идеи применения другого языка, фреймворка или прочих инструментов… разве только от качества этих инструментов в процессе применения. (;

Хотите курсы C++/Java/PHP/Python/…?

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

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

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

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

Хотите учиться — оставьте заявку

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

Первое занятие

Суть занятия сводится к тому, чтобы отсеять неподходящих кандидатов.

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

Подходящих кандидатов от начала обучения отделяет сущая формальность — заключение договора.

Собственно, обучение

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

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

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

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