Вставлю свои пять копеек.
Начну как всегда, наверное издалека, уж извините.
У меня стало довольно мало времени на то, чтобы разрабатывать дома: ребёнок, удалённость жилья от места работы и т д.
И вот ушедшие три дня выходных я потратил на ресёрч некоторых вещей.
Прочитал почти половину документации по Vue, запустил hello world на clojure script, ну и галопом по европам прошёл по реализациям FRP на js, остановивишь на cellx. С ней просидел весь вечер.
И вот только после этого я ощутил то забытое чувство, когда узнаёшь что-то новое, расширяешь кругозор.
К чему я это всё?
Я вспомнил, что до переезда, до ребёнка, я "летел" домой и до часу-двух ночи изучал что-то новое. Читал книги/статьи/какие-либо источники, и задавал себе вопросы "А что если сделать так?", "А если применить этот метод?", "А если вызвать с этим параметром?", etc, и пробовал на все свои вопросы найти ответы.
А также я постоянно хотел что-то "напилить". Свой сайт, какой-нибудь маленький проект. Какой-нибудь маленький плагин. Можно продолжать бесконечно..
Самое интересное не то, что я получал какой-то интересный готовый продукт - этого почти ни разу не случилось, а то, что я повышал качество своих навыков, узнавал что-то новое, так как иногда что-то не работало, приходилось гуглить, рефакторить, использовать функции, библиотеки, фреймворки, которые ещё ни разу не использовал. Именно этот опыт на мой взгляд делает вас ценным разработчиком.
Но - как в рекламе - и это ещё не всё.
Ещё есть важные аспекты, которые делают из вас хорошего разработчика:
1. Умение и можно сказать любовь читать чужой код. Читать, понимать(править?). Дело в том, что на любых проектах, особенно тех, где большая кодовая база была написана до вас, вам придётся разбираться в коде, и соответственно чтение и правка чужого кода будет занимать примерно 65-85% вашего времени.
2. Отсутствие боязни перед чтением документации. Кто-то бежит смотреть статьи, где люди пишут свой опыт внедрения или, извините "пробования" какой-либо технологии или инструмента, и упускает огромный пласт информации, который описан в документации. Пласт, который может затянуть старт использования, но помочь вам быть абсолютно в теме того, с чем и как вы собираетесь рабоать.
3. Третий пункт, немного связан со вторым. Вам нужно знать английский. На уровне достаточном чтобы понимать эту самую документацию. А также читать статьи зарубежных разработчиков. Ведь почти всё, что мы учим, сделано за бугром, и в связи с тем, что английский - международный язык, все более менее популярные библиотеки/фреймворки/инструменты, а точнее документация к ним, существуют на английском языке как минимум.
Это всё, я думаю, более менее объективные пункты.. Ээмм, ну ладно, субъективно-объективные.. Ну короче вы поняли =)
О ещё более субъективных, пожалуй, писать не буду. И так уже много букв, извините.