雑話
システム開発には、工程というものがあります。
そのプロジェクトの文化によって呼び方は様々ですが、
業務分析 ⇒ 要件定義 ⇒ 機能設計 ⇒ 基本設計 〜 プログラミング 〜 ユーザーテスト ⇒ 本番といったいくつもの工程を経て、開発が完了します。
(但し、全てのシステム開発が全ての工程を経るわけではありません。)
各工程とも必要な経験値や知識は異なりますが、基本となるのはOSとプログラミング言語の開発経験と知識です。
例えば要件定義工程では、OS・プログラミング言語の知識はほとんど必要ありませんが、要件の内容によっては、 システム上 出来ること/出来ないこと の判断ができない人が設計すると現実的(技術的,金額的,期間的)に 実現不可能な要件になってしまうかもしれません。

但し、業務分析や要件定義工程になると、それまでの経験や知識のほかにユーザーと打合せをしたり交渉したりが発生しますので、 設計能力やプログラミング能力とは別なスキル(才能・経験・知識)、コミュニケーション能力(説明・説得・交渉)、度胸も必要です。

また世の中では、SE と PG を職種と定義する人もしくは文献がありますが、現実的には職種ではありません。
その時々で設計作業またはプログラミング作業を担当するというだけです。
基本的に全員 システム・エンジニア として設計もプログラミングもやります。
(30〜40年くらい前の汎用機が主流だった頃には、確かにプログラマーと呼ばれるプログラミングしかやらない人たちもいました)
入社当初は、まずプログラミングを習得します。この経験と知識が将来的に最も重要になるからです。
まずはコンピュータのことをよく知る必要があります。
そして割り当てられた設計書を理解し、プログラミングと単体テストを行う経験を積めば、必然的に設計書は書けるようになっていくわけです。

下記、(1)〜(3)のシステム・エンジニアがいたとします。
(1)
設計できる /プログラミングできない
(2)
設計できない/プログラミングできる
(3)
設計できる /プログラミングできる
(1) は大手ベンダーやメーカーのSE部門に多くみられます。
システム開発(プロジェクト)を広範囲に管理する立場になりますので、実際はプログラミングや設計に関わることはほぼありません。
※もちろんその中にもプログラミングに詳しい人はまれにいます。

(2) はシステム開発会社では入社当初に必ず通る「期間」だと思います。先に書きましたが、その後は設計も経験していきます。
(もしくは、プログラミングにしか興味がないので、それ以外の作業はやりたくないと言う人だけでしょう。)
※但し、設計工程においてドキュメント作成が苦手(下手)な人はいます。

(3) は設計もやりますし、プログラミングもやります。
システム開発系の会社の SE と言われる人は、ほぼ全員この形になります。
(インフラ系やネットワーク系 技術者などもいます)
ほとんどの SE は、プロジェクトの基本設計〜結合テスト工程で設計とプログラミングを担当します。

頂点の人達は、数々のプロジェクト経験を積み、必要なスキルを持ち、ユーザーと折衝したりプロジェクトをコントロールします。
しかも、設計もプログラミングもできるプロフェッショナルな技術者。
SE の最終形態とも言えるでしょう。

さて、あなたの目指すべき道は.....