概要
文系出身のネットワークエンジニアが約半年間プログラミングを学んでみて思ったこと、出来るようになったことを書き連ねた記事です。
筆者について
- 文系大学を卒業後、新卒入社した会社で、NW商材(ルータ・スイッチなど)のセールスエンジニア業務を担当していました。(情報系の知識は皆無なので、サーバって何ですか?デスクトップPCのことですよね?というところから始まりました。)
- その後海外で働こうと思い退職したが、コロナ禍で渡航できず、日本でアルバイターをしていました。
- IT業界や技術を習得することが好きなことから、もう一度ネットワークエンジニアへ転職し、現在に至ります。
- 普段はオンプレのサーバ・ネットワーク機器の構築・運用業務などを担当しています。
- 将来は場所・時間・お金の自由度が高いエンジニアとしてご飯を食べていきたいため、約半年前からソフトウェア開発を勉強中です。
これまで勉強したこと
- Progate/ドットインストール
- HTML
- CSS
- JavaScript
- Ruby
- Ruby on Rails
- SQL
- Railsチュートリアル1周(重めで全然終わらない&難しいので、やった内容はぼんやりとしか覚えていない。。。)
- Vim/Viエディタ操作
- Git/Github基本知識
- Linux基本コマンド(Linuxコマンドは実務で使用しながら習得しました。1年かかりました汗)
- Markdown記法(下記のサイトがとても参考になりました。)
- Web技術基本知識の学習(学習内容は下記記事にまとめています。)
- Web開発の基本の流れ
- Docker基本知識
出来るようになったこと
-
Vim操作
現職でLinuxサーバを操作するので、dでの行削除や:wq、/で検索などの操作をしたことはありました。
(恥ずかしながら、覚えるのが面倒臭くて矢印キーでカーソル移動していました。)
しかし、Vim操作でソースコードを書ける状態になりたいので、新たにコマンドを調べ、都度使いながら段々活用できるようになってきました。
最初は、この操作するにはどのコマンドだっけ・・・(あ〜矢印キー、マウス使いたい)という状態でしたが、最近はそらで使えるようになってきて嬉しいです。
ex. hjkl移動、^で行頭移動、$で行末移動、ctrl+[でエスケープ、xで1文字削除、uで操作取り消し... -
Git/Github基本操作
pull, clone, 作業ブランチ作成, push, mergeなどの基本コマンド操作を使えるようになりました。
また、これらのコマンドを使って、add->コミット->push->Pull Request->mainブランチにマージといった流れを理解・実行できるようになってきました。 -
Web技術の基本理解
Web技術の基本知識の中でも、特にCookieやセッションの役割や概要を理解し、説明できるようになったことが大きな変化だと思います。
これまでは、ブラウザでURLを入力した後に、パケットがどのようにして宛先にたどり着くか?という、ネットワークの部分の知識しかなく、アプリケーションの仕組みはほとんど理解できていませんでした。
学んでみて改めて、サーバ・クライアントがそれぞれ何を行なっているのか?HTTPプロトコルのリクエスト・レスポンスについて理解できるようになったなあ〜と実感します。 -
Docker環境構築(簡単な環境ではあるが)
ドキュメントや各種教材を見たり、ぐぐったりしながらではありますが、なんとか一人でDockerfileを書いて簡単な環境構築ができるようになりました。
Docker環境構築をしてみて、一つ一つコマンドを打ってインストールして、間違えてはアンインストールして、ちゃんと消せない・・・というストレスがなくて最高!という感想に尽きます。
現職で使う検証環境は、物理サーバの上にハイパーバイザを載せた仮想マシンのため、そもそもコンテナという概念を理解するのが難しかったです。
しかし、Docker学習を通じてLinux知識の重要性を実感することができ、以前よりLinuxに対する苦手意識が減りました。
最後に
2021年10月にプログラミングの学習を始めて、Progateやドットインストール、Railsチュートリアルでの学習までは、これまでの経験や独学でなんとかなりました。
ですが、ポートフォリオを作成して転職活動をすることを考えた時に、ソフトウェア開発のプロでない自分が、今後独学で勉強し続けるのは厳しいと思っていました。そんな時に、たまたまTwitterで@yudai_on_railsさんをお見かけし、現在はHappiness Chainの生徒としてご指導いただいております。(Twitterのアルゴリズムで本当に偶然tweetをお見かけして、私が将来なりたい姿を実現されていたのでびっくりしたことを覚えています。笑)
本格的なポートフォリオ作成に着手するまでには、まだ時間がかかりそうですが、これからも毎日コツコツ勉強して理想像に着実に近づいて参ります!