Цель заброшена
Автор не отписывался в цели 8 лет 9 дней
Подготовиться к поиску позиции Senior Full Stack .Net Developer
За сравнительно недолгую пока карьеру программиста пройден этап Junior'а, наработан опыт работы Middle'ом. За это время приходилось верстать макеты, писать плагины, проектировать архитектуру баз данных, разрабатывать сложную серверную логику. Реализованы как небольшие локальные проекты, так и масштабные высоконагруженные отказоустойчивые системы.
Так что, несмотря на то, что трудовой опыт насчитывает пока всего несколько лет, фактический опыт уже намного его превышает, и, думаю, пришла пора попробовать свои силы на позиции Senior'а.
Критерий завершения
Приступить к поиску соответствующих вакансий на профильных ресурсах и собеседованиям
Личные ресурсы
Время
-
Python
Изучение Python'а с нуля до уровня, позволяющего написать простые веб-приложения, парсеры, грабберы и тому подобное.
Для начала ограничимся книгой Марка Саммерфилда "Программирование на Python 3"
-
Быстрое введение в процедурное программирование
-
Типы данных
-
Типы коллекций
-
Управляющие структуры и функции
-
Модули
-
Объектно-ориентированное программирование
-
Работа с файлами
-
Усовершенствованные приемы программирования
-
Процессы и потоки
-
Сети
-
Программирование приложений баз данных
-
Регулярные выражения
-
Введение в программирование графического интерфейса
-
Подведение итогов
-
Написание скрипта, использующего полученные знания
-
-
Алгоритмы и структуры данных
Курс алгоритмов изучался ранее, поэтому для того, чтобы освежить память, лучше воспользоваться книгой-инструкцией от Рода Стивенса "Алгоритмы. Теория и практическое применение". Все примеры и упражнения лучше выполнять на Python'е
-
Основы алгоритмизации
-
Численные алгоритмы
-
Связные списки
-
Массивы
-
Стеки и очереди
-
Сортировка
-
Поиск
-
Хеш-таблицы
-
Рекурсия
-
Деревья
-
Сбалансированные деревья
-
Деревья принятия решений
-
Основные сетевые алгоритмы
-
Строковые алгоритмы
-
Криптография
-
Теория вычислительной сложности
-
Распределенные алгоритмы
-
Головоломки на собеседованиях
-
-
Углубление теоретических знаний C#
Пусть имеется достаточно приличный опыт программирования на этом языке, решения всевозможных задач от простых десктопных приложений и Windows-служб до серьезных веб-сервисов, тем не менее практика показывает, что на собеседованиях часто всплывают каверзные теоретические нюансы, знание которых в реальной разработке никогда раньше востребованным не было. Так что, надо бы пройтись по некоторым "узким" местам. Этот пункт придется формировать на ходу, пока на ум приходят только:
-
IAsyncResult и пулл потоков
-
TPL. Параллельное программирование
-
Домены приложений. NT-службы
-
-
Django
Для решения моих задач Python без Django вообще никак, так что сразу после введения в Python нужно осваивать этот фреймворк. Можно взять книгу "Django. Подробное руководство" Адриана Головатого, а можно сразу пойти по документации. Книга написана по версии 1.1 и новее ее нет, а вот в документации можно сразу изучать последнюю, 1.9, версию. План пока можно определить примерно такой:
-
Введение
-
Представления и конфигурирование URL
-
Шаблоны
-
Модели
-
Административный интерфейс Django
-
Формы
-
Углубленное изучение шаблонов, моделей и представлений
-
Развертывание тестового проекта
-
Форматы содержимого
-
Сеансы, пользователи и регистрация
-
Кэширование
-
Дополнительные процессоры
-
Интеграция с унаследованными БД и приложениями
-
Интернационализация
-
Безопасность
-
-
Микросервисы
Уже приходилось неоднократно проектировать и разрабатывать сложные высоконагруженные и отказоустойчивые системы, однако всегда что-то было не до конца учтено, что-то не продумано, о чем-то просто не подозревал, пока не столкнулся. В общем, нужно было сразу начать с матчасти. Все основы с подробным анализом и отличным стилем изложения написал Сэм Ньюмен в своей книге "Создание микросервисов". С нее и стоит начать.
-
Основы
-
Архитектор развития
-
Как моделировать сервисы
-
Интеграция
-
Разбиение монолита на части
-
Развертывание
-
Тестирование
-
Мониторинг
-
Безопасность
-
Закон Конвея и проектирование систем
-
Масштабирование микросервисов
-
Итоги
-
-
Основы JS и ES6 в частности
JS очень динамично развивающийся язык, за нововведениями которого необходимо периодически следить,. Вот и сейчас получается такая ситуация: в разработке последний стандарт как то без надобности, а знать его нужно обязательно. Книга Кайла Симпсона "ES6 и не только" из его супер-серии "Вы не знаете JS" в помощь.
-
Повторение основ на learn.javascript.ru
-
Введение в стандарт ES6
-
Синтаксис
-
Структура
-
Управление асинхронными операциями
-
Коллекции
-
Дополнения к API
-
Метапрограммирование
-
Выводы
-
-
ReactJS
JS фреймворки плодятся непрерывно и вот новый тренд в этом направлении: ReactJS. При знании ряда таких библиотек как JQuery, AngularJS, ExtJS, думаю, изучение этого фреймворка не должно занять много времени. Для этого вполне должно хватить документации и многочисленных туториалов, надо будет лишь выбрать самые толковые и по ходу дела набросать план. А пока не в теме что к чему, придется ограничиться несколькими общими пунктами:
-
Основы
-
Flux
-
Redux
-
Relay
-
-
Typescript
И снова начал не с того конца. То есть с этой технологией работать приходилось, но матчасть очень страдает, так что надо бы пройтись "обо всем по порядку"
-
Основы
-
Настройки компиляции
-
Типы данных и переменные
-
Работа с типами данных
-
Функции
-
Типы функций и лямбда-выражения
-
ООП
-
Работа с заголовочными файлами
-
Применение в ASP.NET MVC
-
-
Angular 2
Неплохо бы еще ознакомиться с новым Angular'ом: https://habrahabr.ru/post/309300/
-
Frontend инструментарий
Посмотреть что-нибудь из новомодных фич для frontend разработки и определиться, что из этого действительно нужно и полезно
-
Flow
-
Babel
-
AsmJS
-
SystemJS
-
Gulp.js
-
Grunt
-
-
HTML5, CSS3, препроцессоры
Несмотря на частое использование верстки в работе, некоторые модные фичи обходились стороной, что надо исправлять. К этому пункту план придется также формировать уже в процессе
-
SVG
-
Canvas
-
Transformation
-
Less, Sass
-
-
SQL
Хранимки, вьюхи, оптимизации запросов, транзакции - все нуждается в повторении
-
MongoDB
Поднять старые проекты, освежить знания и посмотреть, что изменилось. Возможно, стоит пробежаться по "The Little MongoDB Book" (http://jsman.ru/mongo-book/index.html)
-
TDD
И снова по матчасти:
-
Основы TDD
-
Unit
-
Stub объекты
-
Mock объекты
-
Isolation Frameworks
-
-
Паттерны проектирования
И опять повторение старых добрых шаблонов:
-
Наблюдатель
-
Декоратор
-
Фабрика
-
Одиночка
-
Команда
-
Адаптер
-
Фасад
-
Шаблонный метод
-
Итератор и Компоновщик
-
Состояние
-
Заместитель
-
Составные паттерны
-
Другие паттерны
-
- 961
- 01 декабря 2016, 11:56
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением