Пути развития программиста

Современные реалии требуют от программистов комплексных знаний по нескольким направлениям.

    Я могу выделить три:
  • 1) Алгоритмическая база
  • 2) Архитекрура приложения
  • 3) Знание и понимание инструментария, технологий

Причем в зависимости от области (веб, мобайл, системный софт, графика) программирования упор может быть на разные направления.

Например в большинстве случаев веб-программистам не нужно глубокое знание алгоритмической базы, порой вообще не нужно знать, что такое асимптотическая сложность алгоритма, так как алгоритмы по сути своей банальны (что то взять, проверить, куда то положить).

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

Если же смотреть на программирование графики (да и геймдев в целом) или системный софт, то на первое место скорее выходит, как раз алгоритмическая база. Может стоять небольшая задача в масштабе всего приложения, но очень важно решить ее наиболее эффективно (в плане скорости работы), в вебе таких ситуаций практически не встречается.

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


comments powered by Disqus