エンジニアじゃなくても、プログラミングは便利だ！

こんにちは。
ドワンゴで[N予備校](https://www.nnn.ed.nico/pages/programming/)プログラミング教材制作のアルバイトをしているmoesukeです。
自分自身もプログラミングはビギナー🔰で**N予備校プログラミングコース**を履修しています。

今回は自分が**社会人になってからプログラミング学習を始めたきっかけ**などを通して、プログラミングはエンジニア以外にも役立つということを伝えられたらと思います。

## 自己紹介
現在、29歳です。京都府在住でテレワーク🏠で勤務しています。
ドワンゴでアルバイトをしつつ、フリーで中学生向けの教材の執筆✏️・編集📕・校正🔍などもしています。
過去にはWebショップ運営会社や、学校教材の出版社📕に勤めていました。
ドワンゴバイトを始める前は、業務効率化のために細々としたコードを書いていましたが、アプリ開発だったり機械の設計をするエンジニアの経験はありませんでした。
教材制作に必要な技術は主に[N予備校](https://www.nnn.ed.nico/pages/programming/)の入門コースで履修しました。
プログラミングはまだまだビギナーです🔰
より理解しやすい教材を作るために日々勉強しています💪

### 私の初めてのプログラミング

わたしが初めてした**プログラミング**は、小学生の時に犬の成長記録を描くために**HTMLでホームページ**を作ったことです。

![スクリーンショット-2021-12-01-14.21.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1487699/00cf2a1e-9b67-eb82-a59c-8d8e4a5afa22.png)

我ながら可愛いホームページですね！
途中から犬の日記ではなくオンラインゲームにハマったようです。
このサイトの中身はこんな感じです。

```html
<HEAD>
<TITLE>もえちゃんといぬのノアール</TITLE>
</HEAD>
</head>
<body background="itigokabe.bmp">
<div align=center></div>
<DIV ALIGN=CENTER></DIV>

<CENTER>
<TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" BGCOLOR="#611902">
<TR><TD>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD ROWSPAN="2" BGCOLOR="#611902"><IMG HEIGHT="93" WIDTH="65" SRC="../../../image/k-title.gif" ALT="Image" HSPACE="5"></TD>
<TD BGCOLOR="#611902" VALIGN="top"  HEIGHT="45"><IMG HEIGHT="45" WIDTH="279" SRC="../../../image/k-welcm.gif" ALT="WELCOME TO MY HOMEPAGE"></TD>
</TR>

<TR>
<TD BGCOLOR="#611902"  HEIGHT="48" ALIGN="center"><FONT SIZE="4" COLOR="#7dff00"><B>もえちゃんといぬのノアール</B></FONT></TD>
</TR>
</TABLE>

</TD></TR>
</TABLE>
<!--タイトル部分テーブル終了-->
<CENTER><IMG SRC="line04.gif"></CENTER>
<BR>
わたしは、小学校6年生のおんなのこです。私の家には犬のノアールがいます<BR>
<BR>更新履歴。<BR>
<BR>02,10,14　音楽付け完了。<BR>
<BR>　　"　　　ゲストBOOKに写真をつけることにした。<BR>
<BR>02,10,15　リヴリー移動完了<BR>
<br>03,7,13   もようがえ完了<br>
<Br>03,12,23　新BBS完成<br>
<BR>04,6,8　　メイプル日記書きます<br>
<br>
<CENTER><IMG SRC="noir.jpg"></CENTER>
<BR>
```

このページは簡単なHTMLで書かれています。
大文字小文字が混ざっていたりして、あれ？となる部分はありますが、子どもなりに楽しんで作ったようです。
`<br>`タグを書けば改行する、`<img>`タグで写真を載せられる。 簡単なタグを覚えて自分だけのホームページを作っていました。

プログラミングは小学生でもできる**自分の作りたいものを表現できる術**のひとつだと思います。

小学生でプログラミングに触れたものの、高校、大学とプログラミングを勉強することはありませんでした。
理由は2つあると思います。

- SNS流行りが自分でコードを書く必要性がなくなったこと。
- HTMLの次はこれを勉強すればいいという道筋がなかったこと。

そのままプログラムを勉強し続けていればなぁーなんて思うこともあります。

**[N予備校](https://www.nnn.ed.nico/pages/programming/)のプログラミングコース**は初心者からWebアプリ開発にチャレンジできる**入門コース**、iOSやAndroidアプリの開発の**スマートフォンアプリコース**など色々なコースが準備されているので、もっと早く出会いたかったなと思います。


## 再びプログラミングにチャレンジしたくなったきっかけ

上述した通り、小学生でHTMLを覚えたもののその後はほとんど触れることはありませんでした。

社会人になってから、Webショップを運営する会社に勤めていましたが大手のモール（楽天やamazon）に出店する分にはローコード、ノーコードでできることが多く、プログラミングの技術は必要ありませんでした。

こんな書き方をすると**やっぱりプログラミングは必要ないんじゃ？**と思うかもしれません。

しかし、大手のモールは便利になっていく一方で、会社独自の在庫管理などの業務は手書きの表を書いたり、エクセルであっても手入力や大量のコピペ作業がありました。繁忙期には残業や休日出勤もありました。

そんな時に**これはパソコンがやってくれるのでは？と**感じて**[VBA](https://docs.microsoft.com/ja-jp/office/vba/api/overview/)**を勉強しました。
実装すると毎日数時間かかっていた処理が1クリック 5秒程度で終わり、しかも正確なデータが蓄積できるようになりました。

世の中DX化を推奨されていますが、実際はまだまだ紙や手入力の文化が残っている会社が多いです。
プログラミングができるようになればスーパーマンになれるかもしれません。

## ちょっとしたコードの紹介

Adobeソフトも**JavaScript**で自動化できるので、自分が使っているものを紹介しておきます。

```javascript
// ルートからフルパス指定する
folderRef = new Folder ("/Users/hogehuga/eps2ai");
// 拡張子がepsのものを取得
fileList = folderRef.getFiles("*.eps");

// ループ
for (i=0; i<fileList.length; i++)
{
    // epsファイルを開ける
    fileObj = new File(fileList[i].fsName);
    open(fileObj);

    // 別名保存する
    saveFile = new File(fileList[i]);
    activeDocument.saveAs(fileObj);

    // 閉じる
    activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
```

大量の画像データを変換したいときに使っているデータです。
epsデータをaiデータに別名保存したい時はeps2aiフォルダに全て格納して、スクリプトを走らせると一つ一つ作業しなくてもループで終わらせてくれます。
これはepsデータをaiデータへ書き換えるものですが、PDFなどへの書き出しの自動化も可能です。
このスクリプトの内容のほとんどは[N予備校](https://www.nnn.ed.nico/pages/programming/)の入門コース1章で学習する記法です。
1時間くらいぽちぽちしていた作業が数分で終わるようになります。

自動化すると人為的ミスが減るので時短かつ、正確なデータを作成できるので、**エンジニア以外の職種の方**にもプログラミング学習をおすすめします。

## プログラミングをしたいけどパソコンの使い方がわからなくて不安な場合

パソコンの使い方はよくわからないし、プログラミングは無理かもと感じている方は、
**[N予備校](https://www.nnn.ed.nico/)**には**パソコンの使い方　基礎から学べる　パソコン講座** から入ってみることをお勧めします。
こちらは電源の入れ方、マウス操作の方法、Wi-Fiの繋ぎ方など丁寧に学習できる講座です。
操作方法をたくさんのスクリーンショットや動画を交えて紹介しています。

## エンジニアを目指してなくもプログラミングに触れてみてほしい！

上述した通り、開発業務以外の職種にも**プログラミングはマッチ**すると考えています。
[N予備校](https://www.nnn.ed.nico/pages/programming/)の入門コースで扱っている内容を知っていれば、多くの**事務作業を効率化**することができるでしょう。

私は自分で本を買って必要な箇所だけ読んだり、検索したりして学んだので、欠落している知識があったりしましたが、**[N予備校](https://www.nnn.ed.nico/pages/programming/)のプログラミング入門コース**では基礎からしっかり履修することで今まで取りこぼしていた知識に出会うことができました。

勉強すればするほど、世の中には便利だったり面白いものが存在することに気づかされます。

## 勉強したことを何に活かすか！

**[N予備校](https://www.nnn.ed.nico/pages/programming/)のプログラミングコース**を履修したあとは、**エンジニア就職**をしてもいいですし、今している仕事を**DX化**するもありだと思います。
アプリを作ってみるのもいいでしょう。**[競技プログラミング](https://atcoder.jp/?lang=ja)**に挑戦したり、プログラミングを趣味にするのもいいですね。
プログラミングについてもっと深く学びたくなったのならば情報系大学や大学院への入学を検討する人もいるかもしれません。

**プログラミング**を学ぶことで、新しい職業や趣味に出会えるかもしれません。

##まとめ

- プログラミングは**自分を表現するための一つの術**になる。
- **[N予備校](https://www.nnn.ed.nico/)**には**パソコンの使い方講座**もある。
- スキルアップしたい人に **[N予備校](https://www.nnn.ed.nico/pages/programming/)のプログラミングコース** はおすすめ！
- もちろん**エンジニア**を目指す人にもおすすめ！
- パソコン1台でできるので、趣味にしても楽しいよ！