ろうとるは還暦をむかえた

# 還暦
先日、節目を迎えた。それなりのソフトウェアエンジニア人生を過ごしたとは思う。ただ、皆さんの投稿を拝見すると、時代遅れを感じ、理解不能なトレンディなもの多数、限界を感じる。本稿では、小生のエンジニア人生を振り返り、<B>偏った</B>視点でランダムに戯言を記載。

### インターネットが普及していない時代は書籍
とは言いつつ、IPプロトコルはあった時代の話である。とにかく、参考となるソースコードを見つけるしかない。当時は書籍である。大学時代に所属した研究室でUnixを扱っていたこともあり、社会人の初期に、次の2冊のソースコードを片っ端からほぼ全部入力して動かしていた（仕事サボりながらの時も多々）。
- UNIXネットワークプログラミング第1版
- UNIXシステムコール・プログラミング

書籍にCD-ROM付録すらない時代なので、自らコードをタイプする。これが小生の基礎となったことは間違いない。この2冊は今でも十分に通用する内容のはずであり、お勧めしたい。また、UNIXが一般的になった時期であったため、
- UNIXマガジン

のような雑誌も大変有効であった。今では、Linuxとして確立したものがある。こういった経緯もあり、いつの間にかネットワークプログラミングをすることになっていた。

そして、OS（特にリアルタイムOS）を理解する上で
- オペレーティングシステムの基礎（タイトルうる覚え、多少異なるかも）

を何度も読み込んだことが、のちの組み込み設計（＋プログラミング）に役立つ。

### エディタ
エディタは宗教のようなものである。小生がUnixが触れたころには、すでにviが一般的に使われており、まともなエディタとしてはviからスタートした。が、emacsに触れた時の異次元の感覚。今でも両者をある程度は使いこなし、利用率的には、emacsが7割、viが2割、その他1割である。以降、Windows系キーボードで、ctrlキーとcaps lockキーとは交換するのが基本となる。いまどきのエディタは全くわからず。

### 言語＋α
大学時代のBasic、Pascal、Fortranから始まる。社会人になってからは、Cがメインとなる。ただし、やはりコンピューター（CPU）の仕組み（レジスタ、メモリ、スタックなど）を理解する上で大事であったのは、アセンブラであった。大したものではないが、MS-DOS/Windows2.x(??)にてデバイスドライバをアセンブラ+Cで書いたことがスキル向上へとつながり、組み込みプログラミングをする上で有効な経験となる。

C++、Java、番外編としてHTMLやJava Scriptもかじる。オブジェクト指向系は不得意。その他言語（含むスクリプト）も適度にかじる。わずか2年前にPythonを始めたが、意図することがモジュールとしてほとんど用意されており、どのように使用するかにセンスが必要といった感想。基本的なライブラリレベルの組み合わせでハンドリングしていた時代と比べると、隔世の感あり。

最近のトレンディ言語はほとんどわからず。でも、結局は、言語ではなく、アルゴリズムだと思うのですが、どうでしょうかね。（言語によって、アルゴリズムを適切に表現できないものもありますが）

偉そうなことを言っていて、Qiitaに投稿している小生のコードは美しくないものがほとんど（または他の方のマネ）。

### コンパイラ+α
コンパイラなどの開発環境、昔は「買う」のが当たり前であった。FreeBSDなどのオープンソースのUnix系OSが出始め、gccが普通に入っている、、イコール、自由に（無料で）プログラムを実行できるようなった。今はWeb（ブラウザ）だけでもコーディング及び実行できるし、時代は変わった。番外だが、AWSのようなものには、まだまだ手が出ない（知識もない）。

### CPU向上
CPU能力の飛躍的向上を目の当たりにする。結果として、仮想環境、シミュレーション/エミュレーションにたどりつく。ネットワーク屋として何かするには、下記を頻繁に利用（今でも）。
- VirtualboxにてLinux VM利用
- GNS3（Virtualboxと組み合わせ）

Dockerは最近触れたばかり、、、。いろいろありますね。ついていけない。

### マイコンボード
10-15年くらいからだろうか、Rasberry PiやArduinoなどの安価な組み込みマイコンボードがPopularになり始める。ハードウェア制御が気軽にできるようになったものだ。

### オープンな情報多数
ネットで調べれば、自分がやりたいことは、ほぼ見つかる。ただ、英語でしか見つからないものもそれなりの数。英語が苦手な方は一歩踏み出した方がよいだろう。ソフトウェア開発にとって、便利な世の中であるが、あまりに多数見つかるので取捨選択するセンスも大事。

### 過去投稿
重要度というより、勝手に考える視点で、小生のQiitaの記事をPickup。

#### ソフトウェア的にチップのデータシートを理解して使う
- [MacからGPIO(Lチカ)する](
https://qiita.com/infinite1oop/items/444b2b963daceb550c26)
- [エレキ素人が何か考える（その５：デジタルポテンショメータ）](https://qiita.com/infinite1oop/items/0637cbe8f2b3af8cdfdc)
  
#### 組み込み系
- [ArduinoでFreeRTOS（FreeRTOS理解その１：セマフォ、キューなど）](https://qiita.com/infinite1oop/items/aac04a70c1ed71cb83cc)
- [volatileの効果](https://qiita.com/infinite1oop/items/721f7229fa0f89f85e6e)
- [エレキ素人が何か考える（その３：オシロスコープ）](https://qiita.com/infinite1oop/items/dcc81d2f9ce79bc19bec)

#### ネットワーク基本
- [デフォルトゲートウェイに送るとはいかに？](https://qiita.com/infinite1oop/items/ee2425b95719b664a1dc)
- [サブネットを間違えると](https://qiita.com/infinite1oop/items/60556e72eaca5494c31b)

#### 英語
- [英語とエンジニア（その１）](https://qiita.com/infinite1oop/items/1da592ec87fd23d6688e)
- [エンジニアと英語（その２）](https://qiita.com/infinite1oop/items/11173d393d2b07f2bc5a)

### エンジニアとして
若いころは、やや自信過剰であっただろうか、、若気の至り的なところが多々あり。しかし、年月を経ると（仕事をこなしていくと）、自身（スキル含めて）を第三者的にとらえることができるようになったと感じる。自身を俯瞰し、ぶれない自分を作り上げるのが重要。素直かつ小さなブライドで十分である。（これはエンジニアだけではない話。）

バグなどの不具合も出してきました。とにかく、経験、経験、経験（他人のコードや仕様書を眺める、眺める、眺める、、）かと思う。失敗を含めた「すべての経験が資産」になる。

### マネージャーとして
マネージャー（リーダー含む）としての経験も貴重。自身はマネージャーに向いていないと感じでいたが、そうでもないことに気づく。これは、自分の置かれた環境から、自身を分析できるようになったことからくるものであった。当時、かなりの大企業に在籍していたが、技術マネージャーに適した人材は少なかったと感じる（自分で言うのもなんだが）。小生が考えるポイントをいくつか列挙。
- 自制心
- 責任をとる
- 知ったかぶりはしない

周囲（部下）を適切に動かすことは難しく（今でも）、マネージメントだけではなく、自らもプレーすることを求められることも多々。いわゆる中間管理職。メンタルになる同僚の管理職もいたくらいの激務だったことも。

ただ、依頼されたら、やってみることを勧めたい。転職には、マネージャー経験は有効。また、自身の向き不向きを判断する上でも。ここでも、「すべての経験が資産」。

### 転職
新卒時、定年までこの会社で勤めるのだろうと思っていた。40代半ばで、あるプロジェクトがとん挫した時点で、遅まきながら自身で生きていくべくきと考え、転職を決意。結果的には、50代で2回の転職を経験。とは言え、転職後、製品に対して直接的にソースコードを書くことはゼロ。自分では拾ってもらった感あり、、かなりラッキーだったが、エンジニアとしてのスキル（含む資格）や経験は、転職後の業務に役立った。

今の時代は、小生の若いころと比べて、間違いなくスキルを習得しやすい環境あり。今、30代だったら、全く異なったエンジニア人生を歩んでいたであろう。

### 何がそうさせるか
年を取り、脳細胞が加速的に消えていくせいか、知識が失われることへの恐れを常に感じる。ある程度理解してもらえるのではないだろうか。この恐れが、自身をDriveさせ、何かをしている。Qiitaへ投稿し、「継続は力なり」となる。ただ、いつまで続けられるか（気力が続くか）、不安になることも多い。

## 終わりに
ろうとるがぼやく、時代遅れのまとまりのない話となってしまった。本稿がたった一人にでも参考になれば幸いである。

Covid-19で時間ができたことで始めたQiitaでの投稿もネタがつきてきた。とは言え、知的向上心はまだまだあり、レベルは低いかもしれないが、To be continuedを目指して、Au revoir。