1

Етап 1

Расширенные по знания по UNIX системам

2

Етап 2

Изучение фреймворка

3

Етап 3

Изучение основ других скриптовых языков программирования

4

Етап 4

Расширение своих знаний по работе с БД

5

Етап 5

Расширенная работа с VCS

6

Етап 6

Изучение прочих веб технологий, полезных в разработке

7

Етап 7

Научиться печатать вслепую

1

Етап 1

Расширенные по знания по UNIX системам

2

Етап 2

Изучение фреймворка

3

Етап 3

Изучение основ других скриптовых языков программирования

4

Етап 4

Расширение своих знаний по работе с БД

5

Етап 5

Расширенная работа с VCS

6

Етап 6

Изучение прочих веб технологий, полезных в разработке

7

Етап 7

Научиться печатать вслепую

07 липня 2015 22 березня 2018
Мета завершена % date%

Автор мети

Загальна

Развить свои знания и навыки по программированию

Встал вопрос профессионального самообучения. Потому что после двух лет работы, я понял что последний год практически не развивался профессионально никак. Этому есть две причины - этого не требуют задачи, т.е. попросту я уже вырос из той должности которую занимаю, к тому же на работе нет никаких планов и целей по обучению сотрудников. Компания у нас маленькая и все на собственной инициативе, а второе - у меня не всегда есть на это время. После переезда и взятия билета во взрослую жизнь, на основной работе мне сначала не хватало денег на существование, и приходило подрабатывать фрилансом. Это напрочь съедало все свободное время, мало того что нету времени на личную жизнь, так и на обучение соответственно тоже. И после прохождения определенного времени, и по примеру коллег, которые собрались менять или уже поменяли работу на более высокооплачиваемую, я тоже задумался над этим вопросом. Соответственно просмотрев список вакансий и требований, я понял что во многом не соответствую. И это надо срочно исправлять. Фриланс мой пока не закончен, надо сделать проект друзьям, и сейчас стоит вопрос нужно ли делать свой магазин с другом, и нужно ли создавать какой то стартап с ребятами с работы. Но в любом случае такую возможность терять не буду. Однако не могу оставить себя без развития. Поэтому создаю себе цель. Я backend программист, для веб. Сейчас работаю с PHP, иногда использую Java Script. Поэтому развиваться буду в этом направлении. Сроки самые кратчайшие, 1-2 месяца, т.е. до осени. Но не уверен что все успею, цели очень амбициозные. Потому что к осени скорей всего и настанет момент смены работы, если что в процессе до изучаю. Итак расписываю в этапах.

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

 Критерій завершення

Все поставленные задачи выполнены, получены новые знания, освоены новые навыки

 Особисті ресурси

Личное и свободное от работы время, компьютер с интернетом, энтузиазм

 Екологічність мети

Мое дальнейшее развитие и выживание

  1. Расширенные по знания по UNIX системам

    Задачи в этап:

    1. Освоение основных комманд shell
    2. Освоение основных пакетов rpm, apt, deb и т.д.
    3. Собрать программу из исходников
    4. Поставить на домашний комп linux, ubuntu например
  2. Изучение фреймворка

    Куда сегодня без знаний минимально одного фреймворка? Да никуда. А т.к. я хочу работать на запад, то и технологии надо изучать западные. Поэтому начну изучать symphony. Хоть по опыту коллеги, который говорит что он изучается тяжело, меня это не страшит. Конечно я думал заняться изучением Yii 2, но пока что отложу это на следующий этап. Хочу разобраться с этим сначала.

    1. Прочесть Symphony 2 Book
    2. Изучить ORM Doctrine
  3. Изучение основ других скриптовых языков программирования

    Изучить ОСНОВЫ и попробовать что то сделать. Пока что очень сырая цель, т.к. изучение нового языка требует много времени. Хотя по быстрому можно что то изучить для понимания. Пока что эта цель что то вроде этого. Изучить основные синтаксические принципы и семантические особенности. Пока по back end. Но надо помнить про фронт енд, и все таки после изучение всего этого попробовать изучить moo tools, т.е. другие либы для работы с js, также фронт-енд фреймворки и может быть другой фронт-енд язык. Вообще после изучения какого то скриптового backend языка, взялся бы за какой то компилируемый. Раньше С++ изучал уже. Можно расширить и обновить знания.

    1. Изучить how-to python, написать простой скрипт или программку
    2. Изучить основы Django framework
  4. Расширение своих знаний по работе с БД

    В цель вношу изучение таких моментов:

    1. индексы, повторить, изучить особые случаи использования
    2. триггеры, повторить
    3. транзакции, изучить какие то особые случаи
    4. хранимые процедуры, теория
    5. оптимизация запросов, построение индексов, теория и практика
    6. сложные запросы (JOIN, UNION)
    7. повторить нормальные формы, теорию
    8. повторить внешние ключи и связи между БД
    9. шардинг mysql БД, изучить, реализовать
    10. Изучить postgres, основные возможности, построить схему, поделать запросы)
    11. не реляционные БД, основы - mongo db, redis, обе уже ковырял, изучить теорию
    12. системы кеширования БД - memcached, изучить основы, прикрутить, посмотреть как работает
    13. полнострочный поиск - elastic, изучить основы query language, попробовать реализовать какой то бизнесс кейс
    14. особенности выполнения миграций для БД
  5. Расширенная работа с VCS

    Требуется изучить расширенное использование системы контроля версий. Сюда отношу:

    1. работа с VCS через командную строку
    2. gitflow - изучить подход
    3. Пройти курс http://githowto.com/ru
    4. После всего этого, убедиться, что я умею пользоваться REBASE мать его, и точно знаю что я делаю :)
  6. Изучение прочих веб технологий, полезных в разработке

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

    UPDATED: сюда дописываю то что требовали от меня по технологиям на собеседованиях, которые я не включал в цели (в том числе и фронт-енд и php то что не ответил), остальное выношу в другие этапы

    1. PHP Unit, изучить методологию и написать тесты например уже к готовому коду
    2. Fpm (fast cgi), изучение что это такое
    3. Формат XML и работа с ним через PHP
    4. NGinx, понимание и базовая настройка
    5. Сокеты и работы с ними через PHP
    6. Основы Scrum и основы отца его - Agile. Также extreme programming.
    7. Основные методологии создания ПО, какая то книга или ряд статей по разработке и выпуску ПО
    8. Composer, надо знать основы сборки, на уровне IDE хотя б. А там может как то через shell освою
    9. Обязательно изучить концепции Inversion of control, dependency injection.
    10. Event bubbling in JS
    11. Как работают XSS атаки и как от них защищаться
    12. Как можно обойти реализацию шаблона singletone, как защититься от клонирования объекта
    13. Что делают магические методы в PHP - __sleep & __wakeup
    14. Что нового в PHP 7, разобраться и попробовать
    15. Как работает функция array_merge_recursive
    16. Сработает ли функция strpos() например для спец. символа, немецкой буквы a с двумя точками, я забыл как она называется )) и как работают функции mb_string
    17. Библиотека SPL , изучить и опробовать основные возможности
    18. Виды ajax запросов, повторить кросс доменные запросы, и остальные (long polling и прочие)
    19. nested sets
    20. Системы очередей (менеджеры) - rabbit mq, gearman
    21. JsonP
    22. что такое php cli
    23. jenkins и другие ci технологии
    24. docker & docker compose
    25. Продуктивное использование PHP Storm
      http://habrahabr.ru/post/212077/

      http://habrahabr.ru/post/157409/
      http://habrahabr.ru/company/JetBrains/blog/236929/
      http://habrahabr.ru/company/JetBrains/blog/261939/
      http://blog.jetbrains.com/phpstorm/2015/11/phpstor...
    26. Изучить behat и TDD/BDD подходы к разработке
    27. Изучить React JS, и какой нибудь redux, для того чтобы можно работать с бекендом.
  7. Научиться печатать вслепую

    Что ж я за программист если не умею печатать в слепую?) Ну т.е. печатать то я могу вслепую, но не на всех клавиатурах, а также с небольшой скоростью и с большим количеством ошибок. Части чтобы напечатать быстро, я просто делаю много ошибок и перепечатываю слова.
    Я уже начинал учиться, и пока учился на самом деле был прогресс. Не хватало систематизма. Я распишу потом план по реализации этого пункта. Отодвигаю в конец как чисто механический навык. Надо будет еще выбрать правильное руководство. Да, я слышал про соло и начинал проходить его. Если убрать мусор из анекдотов и не нужных рассказов, то вполне толково. Потом подумаю стоит ли покупать клавиатуру без стикеров :)
    Цель - хотя бы 250 символов в минуту, но без ошибок.

  • 4907
  • 07 липня 2015, 08:27

Реєстрація

Можливості
безмежні.
Настав час
відкрити свої.

Уже зарегистрированы?
Вхід на сайт

Заходьте.
Відкрито.

Ще не зареєстровані?
 
Підключіться до будь-якого з ваших акаунтів, ваші дані будуть взяті з акаунту.
Забули пароль?