Wednesday, December 28, 2016

Цели и планы на 2017 год

Пришло самое время подвести итоги 2016 года и проверить, сумел ли я достичь тех целей, которые ставил себе в 2015 году.
Итак, первый вопрос – по поводу самого блога. Вероятнее всего, буду писать статьи только на английском. Наверное, придётся пойти на такой шаг, чтобы улучшить практический письменный язык, заодно, надеюсь, этот шаг будет больше привлекать иностранную аудиторию. В целом за этот год я написал 12 статей. Это в три раза меньше, чем количество статей в 2015 году. Создание нормальной статьи для блога, начиная от идеи, написания рабочего примера и оформления этого в отдельную статью (а потом эту смесь текста и кода отдать моей красавице жене на вычитку и исправление ошибок) – это очень громоздкая работа, поэтому я решил больше времени уделить самообучению в сфере web разработки и в английском. 
Что из этого вышло
Пройдено 30 курсов по разным технологиям и языкам, начиная с Angular 2, React, TypeScript, JabaScript и заканчивая деплойментом с Docker и Octopus.
Также каждый день уделял по 3-4 часа на изучене английского языка с помощью Lingualeo и Memrise. Весь пройдённый материал закреплял на работе на speaking clubs с прекрасными преподавателями, которым выражаю огромную благодарность за потраченное время. 
Я также продолжил дальше заниматься менторством. В этом году я обучил уже третью группу студентов таким темам, как паттерны проектирования, EntityFramework Code First и Repository & Unit Of Work patterns. Приятно наблюдать, что переданные знания успешно внедряются в рабочем проекте.
Ну и, пожалуй, самый авантюрный шаг, на который я решился в этом году, – это изучение французского. Я рассматриваю изучение нового языка как один из способов лучше понять английский, а также пробовать заставить себя мыслить на другом языке.
Вот план, поставленные в блоге на 2016 год:

  • Разобраться с OAuth и OWIN Forms аутентификацией.
  • Выучить глубоко JavaScript и TypeScript
  • ASP.NET vNext with Angular 2.0
  • Попробовать пройти сертификацию Developing ASP.NET MVC 4 Web Applications или даже всю цепочку MCSD: Web Applications.
  • C# 7
  • EntityFramework 7
  • DDD (Experimenting with CQRS and event driven design)
  • Mentoring
  • Read 20 books in English

Теперь, пожалуй, пройдусь по этим целям для самопроверки.
Разобраться с OAuth и OWIN Forms аутентификацией – с этой целью я успешно справился. Во-первых, у меня была возможность применить это все на практике, пускай и на пилотных проектах. Во-вторых, пройденный курс на pluralsight помог закрепить этот материал.
Выучить глубоко JavaScript и TypeScriptне знаю, насколько глубоко получилось выучить JavaScript, но как минимум писать сейчас на нем весь клиентский код для клиента не составляет никакого труда. Думаю, могу поставить эту цель как выполненную и продолжать улучшать знания в этой среде.  
ASP.NET vNext with Angular 2.0 – цель была ознакомиться с данными технологиями и фреймворком. С момента написания прошлой статьи ASP.NET vNext сменил свое название на ASP.NET Core, но это не помешало мне попробовать его на пилотном проекте и на своих проектах для блога. Angular 2 я по привычке использовал на своем классическом примере со студентами, но не уверен, что у меня будет время адаптировать этот проект для блога. В этом вопросе, наверное, я даже перевыполнил план, так как я успел много времени потратить на React, и все тот же проект со студентами переписать на него. Поэтому ставлю цель как выполненную.
Попробовать пройти сертификацию Developing ASP.NET MVC 4 Web Applications или даже всю цепочку MCSD: Web Applications. с этой целью я не справился. И, наверное, единственная для этого причина состоит в том, что я не захотел тратить 80$ за сертификат, от которого не вижу никакой пользы. Время на изучение ASP.NET MVC я все равно потратил, и думаю, что полученных знаний хватило бы для прохождения сертификации. Но цель все же не выполнена.
C# 7 – разобраться с C# 7 была самая легкая цель, которую я себе поставил. Я обожаю C# как язык программирования, поэтому эта цель была, наверное, самой приятной. Заодно сумел попробовать в работе VS 2017 и IDE от JetBrains под названием Rider. Цель как выполнена.
EntityFramework 7 – фреймворк, который с момента написания поменял свое название на EntityFramework Core. Успел попробовать его на практике, также завести багу разработчикам, доклад о которой они успешно проигнорировали и которая существует до сих пор. Цель выполнена, но вот фреймворк еще сырой и использовать его в production не рекомендую.
DDD (Experimenting with CQRS and event driven design) неоднозначная цель. Был на ивентах, посвященных CQRD,  правда, единственное, что я делал на них, – это пытался показать, что CRUD модель иногда очень даже неплохо заменяет CQRS. На практике я так и не попробовал использовать Event Sourcing и не уверен, что у меня будет когда-то эта возможность. Заказчики очень боятся внедрять CQRS в свои системы, а я пока не вижу в нем особого преимущества. Надеюсь, мое виденье этого процесса изменится в будущем. Пока поставлю цель как частично завершенную.
Mentoring – в этом году у меня была возможность побывать ментором для двух групп студентов и прочитать по три лекции для каждой группы. План по менторству можно считать выполненным.
Read 20 books in English – последняя цель для меня была просто удовольствием. Из них технических книг было всего шесть и четырнадцать  в основном приключения и фантастика. Например, все коллекция книг о Властелине Колец и о Гарри Поттере. Так что цель можно считать завершенной.
Цели на 2017 год
Следующий год хочу посвятить на развитие навыков, необходимых для успешного созданий и проектирования программ, т.е. навыков, которые нужны для того, чтобы приблизиться к званию software architect.
  • Microsoft application architecture guide
  • AOP in .NET: Practical Aspect-Oriented Programming
  • DDD concepts
  • Enterprise integration patterns - designing, building, and deploying messaging solutions
  • UML Concepts
  • Basic layered architecture principles
  • The Synthesis of Solutions
  • Read 20 books in English
  • Выучить французский до уровня A2
Думаю, этих планов мне должно хватить на целый 2017 год. Бывает сложно мотивировать себя что-либо делать, начать это делать или не бросить запланированное на полпути. Присоединяйтесь к блогу, будем делать это вместе в виде соревнования. Желаю всем счастливого Нового года. Пусть он будет намного лучше, чем был уходящий, и чтобы он все ваши добрые пожелания и светлые мечты сбылись в этом году. Отдельное спасибо хочу сказать своей любимой жене и дочери, которые меня постоянно мотивируют изменяться в лучшую сторону. Я знаю, солнышко, что ты будешь читать эту статью перед публикацией. Спасибо тебе большое за то, что ты у меня есть и за то, что помогаешь мне во всех моих начинаниях. Я бы не хотел и не смог этого ничего сделать без тебя.