Thursday, May 22, 2014

Обзор блога

В этой статье постараюсь сделать обзор того, что я успел сделать за полгода, начиная с первой статьи в блоге. Со времени написания первой статьи, прошло чуть больше чем полгода. За это время я успел написать 80 статей разнообразной тематики. Из них 77 статей касаются исключительно тематики разработки программного обеспечения. В начале ноября работа как таковая перестала приносить удовольствие и просто морально истощала. Мозг подсказывал, что если будет продолжаться в таком духе, то можно выгореть совсем
Я хотел начать свой проект, над которым мог работать в свободное время, но не мог придумать, в чем бы хотел развиваться. Время от времени почитывал блог Сергея Теплякова, также старался не упускать из виду то, что пишет Джон Скит в своем блоге, и время от времени читал Эрика Липперта (хотя, признаться честно, многое из прочитанного у Эрика я не понял целиком. Тогда я решил задать себе вопрос: "Что мне мешает достичь уровня знаний, который имеют эти ребята? Единственным препятствием на этом пути я видел лишь в самом себе. Я не уделял должного внимания изучению новых возможностей языка, с которым работаю. Хотя меня не устраивал уровень знаний, которые я имел, так как я чувствовал, что смогу достичь большего. Я хотел изучить новый язык, наконец-то взяться за изучение ASP.NET MVC (так как специализируюсь как прикладной программист) и начать развиваться как личность. Но внутренний страх почему-то побеждал. И однажды я просто не выдержал и сказал себе: достаточно. Я изменю свою жизнь и превращу ее в такую, которая будет меня устраивать. 
Много времени я старался помогать другим разработчикам на сайте forum.sources.ru, задавая время от времени вопрос самому себе: почему я не помогу себе. Возникла идея создать свой блог. Основной целью блога я решил пробовать обучать других тому, что я знаю сам и что стараюсь изучить. Это один из способов, который рекомендует знаменитый Чад Фаулер. Если вы никогда не слышали об этом известном разработчике, можете почитать обзор на книгу Чада Фаулера "Passionate Programmer", который сделал Сергей Тепляков в своей статье "Увлеченный программист". В статье Тепляков приводит рисунок, который нужно распечатать и повесить себе над экраном.

Надеюсь, Тепляков не будет сильно обижен на меня за то, что я взял картинку с его блога, чтобы продемонстрировать цель, к которой нужно стремиться.
Первая моя статья "Ошибки при использовании EF" является описанием тех граблей, с которыми мне довелось столкнуться при плотном использовании Entity Framework. Эта статья вначале была краткой заметкой в wiki, которую я добавил на работе в документации. Но чуть позже я решил расширить ее до статьи.  И на момент написания этой статьи последней  актуальной была статья "Введениев Prism 5. Использование EventAggregator. Часть вторая" с описанием использования класса EventAggregator в библиотеке Prism 5. 
Во время написания статей я заметил интересную особенность тех людей, которые читают данные статьи. Например, чем выше уровень знаний требуется для понимания статьи и чем выше порог вхождения, тем меньше людей ее читают. Например, многих читателей попросту отпугивают темы, которые связаны с паттернами, также малый круг читателей интересуется библиотекой Prism 5. Но есть и второй нюанс. Много читателей интересуются паттерном MVVM. В моем блоге статья о паттерне MVVM занимает рекордное количество по посещаемости (статья  "Основы паттерна MVVM"). Отдельное место стоит отдать всегда актуальным возможностям, которые нам предоставляет DI (Dependency Injection), а также IoC контейнерам, которые позволяют управлять этими зависимостями. Но, как говорится, нельзя останавливаться на достигнутом. Рекомендую начинающим блогерам составить план того, что они хотят достичь в ближайшие, например, полгода. У меня это план выглядит следующим образом:
  • Подтянуть свои знания в использовании библиотеки Prism 5;
  • Ознакомиться с возможностями Caliburn.Micro как альтернативой библиотеки Prism 5;
  • Подтянуть свои знания в The Reactive Extensions (Rx);
  • Более детально взяться за изучение ASP.NET MVC (посмотреть, что нового принесет ASP.NET vNext);
  • Продолжить подготовку к сертификации MCSD: Windows Store Apps к второму экзамену Essentials of Developing Windows Store Apps Using C#;
  • Сменить работу, чтобы можно было бы наконец-то больше времени уделять архитектуре программного обеспечения, а не исправлению постоянных багов;
  • Углубиться в изучение волшебного мира монад;
  • Подтянуть свои знания в JavaScript (осилить книгу Secrets of the JavaScript Ninja);
  • Заняться изучением паттернов для бизнес-решений Мартина Фаулера          (Catalog of Patterns of Enterprise Application Architecture);
  • Поработать плотно с проектом Roslyn;
  • Подтянуть свой разговорный английский;
  • Изучить базовые навыки необходимые для работы с knockoutjs и AngularJS;
  • Дочитать замечательную книгу "C# in Depth" Джона Скита, которую я приобрел на Амазоне;
  • Изучить TypeScript, так как JavaScript для человека, который много времени провел с языком C#, дается сложно;
  • Начать работать над созданием своего блога (использовать для этого ASP.NET MVC 5);
  • Описывать свой процесс обучения в блоге, который для меня является своего рода дневником.
Вот такие планы у меня намечены на ближайшие полгода. Над частью заданий из этих планов я работаю на данный момент. Основная цель, которую я ставлю перед собой, – с каждым днем улучшать свои знания и умения. Расскажите, как вы достигаете поставленных целей и что для этого делаете.

No comments:

Post a Comment