deeper4k
@deeper4k
Программист

Куда двигаться профессионально?

Ситуация такая.
Последние года полтора не вижу куда дальше развиваться в плане профессионального роста.

Книги по ООП, DDD давно не дают ничего нового. Все вопросы связанные с архитектурой приложений которые были для себя я уже решил. С такими вещами как TDD, DDD, CQRS, SOA я давно знаком и успешно применяю.
Текущий проект архитетурно вылизан, как в плане поддержки кода, так и в плане масштабируемости приложения.

На данный момент пишу бекенд на руби(не rails way), ранее писал на яве, откуда и перетащил к любовь к архитектуре.

Собственно и раньше упирался в потолок, но каждый раз находилось что-то принципиально новое чего я не знал. Сейчас же я не вижу ничего принципиально нового что могло бы появится. Вопрос к тем кто сталкивался с подобной ситуацией, куда вы растете дальше? Может быть стоит попробовать себя в чем то другом? Что посоветуете?
  • Вопрос задан
  • 834 просмотра
Решения вопроса 1
MarcusAurelius
@MarcusAurelius
автор Impress Application Server для Node.js
Чтобы расти, нужно разувериться в уже усвоенном, разрушить его, отвергнуть все эти концепции и выстроить их заново. Критически подойти к тому, что было взято из авторитетных книг и статей, даже к тому, что было добыто опытом из собственных проектов.

Полезно поднять старых авторов, потому, что все уже было в веках, например, "Заметки по структурному программированию" Дейкстра и "Алгоритмы + структуры данных = программы" Вирта. Послушать лекции таких людей, как Александр Степанова:
"Преобразования и их орбиты"
Часть 1 https://youtu.be/QmuMHtbO4ug и Часть 2 https://youtu.be/uCGifwlgAQg
"Наибольшая общая мера последние 2500 лет"
Часть 1 https://youtu.be/Dx1MZh6KYCk и Часть 2 https://youtu.be/zqETgaYxlt0

Полезно приступить к новой сложно задаче, принципиально другой. Вот Вы занимались веб-сервисами, а возьмите проект, в котором это не подходит, где нужна связь, основанная на UDP протоколе или RPC, и с поддержкой состояния (STATEful) соединения между клиентом и сервером через шину событий или различные конструкции паттернов комуникации, см. ZeroMQ zguide.zeromq.org/page:all Если занимались корпоративными системами, то возьмите промышленную автоматизацию, она разрушит Вашу уверенность в железобетонных подходах. Если занимались вебом, то возьмите распределенные вычисления или системное программирование.

Перейти к новым парадигмам, например к функциональному программированию, реактивному, манадам и т.д. Если привыкли делать все по накатанной, то можно перейти от программирования к метапрограммированию и придется все переосмыслить. Тут мои статейки по этому поводу: habrahabr.ru/post/137446 и habrahabr.ru/post/227753

Можно даже не уходить от текущих проектов, а углубиться в оптимизацию и эксперименты. Найти узкие места, запрофилировать код, поместить его под нагрузку, сделать снятие всех характеристик системы во время работы и исследовать свою программу, как "неизвестный объект".
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Женитесь, остальные вопросы отпадут.
Многопоточность и приколы современных компиляторов для вас открытая книга?
Поищите работу, в котором уровень сеньерности выше, чем в вашем текущем проекте, и узнаете новые грани для себя.
Ответ написан
tlito
@tlito
drupal, c++, seo
почитайте программу вузов по вашей специальности и изучайте
Ответ написан
Комментировать
@Elizavetta
Matroid: gamedev/js-разработка
Возможно, вы находитесь в несколько искусственной среде на работе, с "системами класса энтерпрайс". Энтерпрайс вообще опасен для развития разработчика, нужно иметь сильную волю, чтобы развиваться. Как себя мотивировать? Попробуйте пройти собеседование в профильной IT/продуктовой компании
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы