ひとくちにプログラマーといっても、仕事に必要な知識や技術はジャンルによってさまざまです。
プログラミングに関する全ての知識をひとりで習得することはほとんど不可能ですから、多くのプログラマーが何らかのジャンルのスペシャリストという道を選びます。
ある人はユーザーインターフェイスが得意、別の人はネットワークの専門家、といった具合に非常に専門性の高い職業です。
職場での経験年数が増えるにつれて、専門分野のより深い知識が身につき、技術者としても習熟度が増していきます。
しかし、スペシャリストとして成長していく一方で、専門外の知識がおろそかになっていくという面もあるでしょう。

職場では、各分野のスペシャリストでチームを結成して仕事をするので、特に困ることはないかもしれません。
プログラミングは決して簡単な仕事ではありませんから、会社側としても適材適所で各自が得意な部分を担当して欲しいと考えるのが一般的でしょう。
このことは、会社での仕事を通して新しいジャンルの知識に触れる機会は、それほど多くないということも意味しています。
今持っている知識だけでなく他にも知識を蓄えたいと思っているのなら、自分が自由に使える時間を使うほかないでしょう。
たとえば、通勤電車の中で本を読むというのもひとつの方法です。

しかし、プログラミングの技術は実際に手を動かしてはじめて身に付く部分も多くあります。
休日の過ごし方を工夫して学習時間を確保し、自分に投資していくことがプログラマーとしての可能性を広げるために大切だと言えます。