[Geekbrains]Разработка ПО по-взрослому. От программиста-любителя до профессионала
t.me/goodfolderКурс расскажет о том, чем коммерческая разработка кардинально отличается от любительского программирования. Как писать надёжные и качественные программные продукты. Вы получите знания, накопленные многолетним опытом работы ведущего программиста над сложными и высоконагруженными проектами. Этот курс убережет вас от множества ошибок на пути от программиста-любителя до профессионала, и поднимет ваши навыки программирования на качественно новый уровень.
С самого начала занятий Вы приступите к совместной разработке проекта, под чутким руководством преподавателя. Команда учеников будет решать коммерческую задачу, за которую вполне могли бы заплатить гонорар реальные заказчики. На каждом занятии мы будем проводить совещание, как в реальных IT-компаниях. Анализировать проделанную работу и определять объем задач на следующую неделю. Постепенно мы будем улучшать качество получаемого продукта, внедряя всевозможные архитектурные решения, тестирование, оповещения об ошибках и т.д. Участие в совместном проекте не является обязательным - можно вполне ограничиться прослушиванием лекционного материала, которого предостаточно.
В первую очередь, курс ориентирован на программистов C#, Java и C++. Если вы пишите на другом языке программирования, настоятельно рекомендуется предварительно изучить основы объектно-ориентированного программирования. Примеры в лекциях написаны на C#, однако все изложенные принципы несложно применить при работе на любом другом объектного-ориентированном языке. Большая часть лекций и вовсе не привязана ни к какому языку программирования, и рассказывает о разработке в целом. О том, как IT-компании создают системы, способные работать 24 часа, 7 дней в неделю, обслуживать миллионы пользователей, и никогда не падать.
Курс ведет руководитель подразделения C# программистов в компании-резиденте Сколково.
Чему Вы научитесь
- Писать код на уровне старших разработчиков ведущих IT-компаний;
- Азам проектирования архитектуры крупных коммерческих систем;
- Командной разработке;
- Основным принципам разработки систем, работающих 24/7;
- Оптимизировать ваши программы и находить в них узкие места;
- Организовывать логирование и мониторинг работы ваших программ;
- Пользоваться профилировщикам, bug-tracker-ами, системами контроля версий;
- Писать unit-тесты;
- Узнаете много нового о коммерческой разработке программного обеспечения.
Программа курса
- Урок 1. Коммерческая разработка программного обеспечения
- Чем коммерческая разработка ПО отличается от любительской? Сколько человек в крупной IT-компании потребуется, чтобы написать программу «Hello world»? Чем маленькие IT-компании отличаются от крупных? Что Вас ожидает на пути программиста? Что должен уметь профессиональный программист?
- Урок 2. Секреты качественного кода
- Чем код крутого программиста отличатся от кода программиста-любителя? Распространенные ошибки начинающих программистов. Как писать хорошо читаемый код, и почему это так важно?
- Урок 3. Версионирование кода. Отслеживание ошибок и задач
- Рассмотрим два верных спутника любого профессионального программиста: систему контроля версий и bug & task tracker. Зачем они нужны, в каких случаях без них нельзя обойтись, и как ими пользоваться? Что выбрать: git, svn или mercural? Учимся работать с git.
- Урок 4. Разработка архитектуры программного продукта
- Этап проектирования архитектуры программного продукта. Типовые архитектурные решения. Трехуровневая архитектурная модель. Популярные шаблоны проектирования: singletone, adapter, service locator etc.
- Урок 5. Контроль работы программ. Логирование. Мониторинг. Оптимизация программ
- Логирование. Автоматические оповещения об ошибках. Организация мониторинга. Поиск узких мест в программе. Использование профилировщиков.
- Урок 6. Этапы разработки ПО. Методологии разработки. Тестирование
- Каскадная модель разработки ПО. Методологии разработки: Agile, Scrum и др. Этапы и виды тестирования. Unit тесты.Курс расскажет о том, чем коммерческая разработка кардинально отличается от любительского программирования. Как писать надёжные и качественные программные продукты. Вы получите знания, накопленные многолетним опытом работы ведущего программиста над сложными и высоконагруженными проектами. Этот курс убережет вас от множества ошибок на пути от программиста-любителя до профессионала, и поднимет ваши навыки программирования на качественно новый уровень.
- С самого начала занятий Вы приступите к совместной разработке проекта, под чутким руководством преподавателя. Команда учеников будет решать коммерческую задачу, за которую вполне могли бы заплатить гонорар реальные заказчики. На каждом занятии мы будем проводить совещание, как в реальных IT-компаниях. Анализировать проделанную работу и определять объем задач на следующую неделю. Постепенно мы будем улучшать качество получаемого продукта, внедряя всевозможные архитектурные решения, тестирование, оповещения об ошибках и т.д. Участие в совместном проекте не является обязательным - можно вполне ограничиться прослушиванием лекционного материала, которого предостаточно.
- В первую очередь, курс ориентирован на программистов C#, Java и C++. Если вы пишите на другом языке программирования, настоятельно рекомендуется предварительно изучить основы объектно-ориентированного программирования. Примеры в лекциях написаны на C#, однако все изложенные принципы несложно применить при работе на любом другом объектного-ориентированном языке. Большая часть лекций и вовсе не привязана ни к какому языку программирования, и рассказывает о разработке в целом. О том, как IT-компании создают системы, способные работать 24 часа, 7 дней в неделю, обслуживать миллионы пользователей, и никогда не падать.
- Курс ведет руководитель подразделения C# программистов в компании-резиденте Сколково.
- Чему Вы научитесь
- Писать код на уровне старших разработчиков ведущих IT-компаний;
- Азам проектирования архитектуры крупных коммерческих систем;
- Командной разработке;
- Основным принципам разработки систем, работающих 24/7;
- Оптимизировать ваши программы и находить в них узкие места;
- Организовывать логирование и мониторинг работы ваших программ;
- Пользоваться профилировщикам, bug-tracker-ами, системами контроля версий;
- Писать unit-тесты;
- Узнаете много нового о коммерческой разработке программного обеспечения.
- Программа курса
- Урок 1. Коммерческая разработка программного обеспечения
- Чем коммерческая разработка ПО отличается от любительской? Сколько человек в крупной IT-компании потребуется, чтобы написать программу «Hello world»? Чем маленькие IT-компании отличаются от крупных? Что Вас ожидает на пути программиста? Что должен уметь профессиональный программист?
- Урок 2. Секреты качественного кода
- Чем код крутого программиста отличатся от кода программиста-любителя? Распространенные ошибки начинающих программистов. Как писать хорошо читаемый код, и почему это так важно?
- Урок 3. Версионирование кода. Отслеживание ошибок и задач
- Рассмотрим два верных спутника любого профессионального программиста: систему контроля версий и bug & task tracker. Зачем они нужны, в каких случаях без них нельзя обойтись, и как ими пользоваться? Что выбрать: git, svn или mercural? Учимся работать с git.
- Урок 4. Разработка архитектуры программного продукта
- Этап проектирования архитектуры программного продукта. Типовые архитектурные решения. Трехуровневая архитектурная модель. Популярные шаблоны проектирования: singletone, adapter, service locator etc.
- Урок 5. Контроль работы программ. Логирование. Мониторинг. Оптимизация программ
- Логирование. Автоматические оповещения об ошибках. Организация мониторинга. Поиск узких мест в программе. Использование профилировщиков.
- Урок 6. Этапы разработки ПО. Методологии разработки. Тестирование
- Каскадная модель разработки ПО. Методологии разработки: Agile, Scrum и др. Этапы и виды тестирования. Unit тесты.