ソフトウェアエンジニアとして転機(1) [ソフトウェアエンジニアとして転機]
60歳を前に、これまでの人生でソフトウェアエンジニアとして転機となった出来事をまとめていきたいと思います。
当時、家に電卓もない時代で、そもそもコンピュータを触ったことも見たこともありませんでした。それでも、コンピュータについて学んでみたいと思い情報工学科に進学することにしました。その頃、九州で情報工学科を持っている大学は、九州大学と九州工業大学の二校だけでした。自分の成績から判断して、九州工業大学の情報工学科へ進学することにして、幸い合格できて進学しました。
当時、九州工業大学は単科大学(学部はなく、さまざまな学科から構成され、現在の工学部がある戸畑キャンパスのみ)だったためか、一般教養の教科に加えて、一年生から専門教科も教えられていました。つまり、一年生のときから、プログラミングやコンピュータの動作原理などの基礎知識の教科がありました。
初めて学んだプログラミング言語は、Fortranでした。大学では、プログラミング言語だけでなく、コンピュータの動作原理、データ構造とアルゴリズム、コンパイラの動作原理とコンパイラの作成演習といったさまざなことを学びました。振り返ってみると、社会人になってから学ぶ機会がないような知識だったと言えます。
大学時代使ったコンピュータシステムで、今日では見かけることがない以下のようなものがありました。
HOLENETは、通信コントローラボード作りからでした。最初は、回路図の読み方から始まり、DMAコントローラとCPUとの間でどのようなタイミングシーケンスでDMA転送が行われるのか、割り込みとCPUの動きといったことを座学で学びました。また、HDLC/SDLC用の通信LSIを使うので、ネットワークプロトコルも当時はかなり勉強しました。ネットワークプロトコル関連では、当時の電電公社の横須賀通信研究所のデータ通信網研究室には、2回もインターンとして行きました。
実際の通信コントローラボードは、2枚の基板から構成され、1枚は1層のプリント基板であり、もう1枚はラッピングで作るというものです。その2枚1組の通信コントローラボードの5セットをほぼ一人で組み上げて、プローブが1つしかないオシロスコープだけで5セットをデバッグしました。5セットがある程度安定するまで何か月を要したか覚えていませんが、長い期間ハードウェアをデバッグしていました。ハードウェアが安定してきたら、その上で動作する通信ソフトウェアをZ80アセンブリ言語でひたすら書いてはデバッグしていました。
九州工業大学での最後の3年間は、ハードウェアのデバッグから、Z80アセンブリ言語でのプログラミング、ネットワークプロトコルと広範囲な経験をすることができました。
九州工業大学情報工学科への進学
中学3年生になったときに、父の転勤で佐賀県の嬉野から山口県の下関に引っ越しました。高校は、下関西高等学校の理数科へ進学しました。当時、理数科は普通科と異なりクラスが一つしかなかったので、三年間、クラス替えなく過ごしました。当時、家に電卓もない時代で、そもそもコンピュータを触ったことも見たこともありませんでした。それでも、コンピュータについて学んでみたいと思い情報工学科に進学することにしました。その頃、九州で情報工学科を持っている大学は、九州大学と九州工業大学の二校だけでした。自分の成績から判断して、九州工業大学の情報工学科へ進学することにして、幸い合格できて進学しました。
当時、九州工業大学は単科大学(学部はなく、さまざまな学科から構成され、現在の工学部がある戸畑キャンパスのみ)だったためか、一般教養の教科に加えて、一年生から専門教科も教えられていました。つまり、一年生のときから、プログラミングやコンピュータの動作原理などの基礎知識の教科がありました。
初めて学んだプログラミング言語は、Fortranでした。大学では、プログラミング言語だけでなく、コンピュータの動作原理、データ構造とアルゴリズム、コンパイラの動作原理とコンパイラの作成演習といったさまざなことを学びました。振り返ってみると、社会人になってから学ぶ機会がないような知識だったと言えます。
大学時代使ったコンピュータシステムで、今日では見かけることがない以下のようなものがありました。
- 80桁×24行の「キャラクタ端末」
- パンチカード、マークカード、紙テープ
- コアメモリのコンピュータ(実験で使いました)
- APL端末(APL言語に特化した端末。ALUを含むCPUの原理をAPL言語で記述した本で学ぶ講座がありました)
- 8インチフロッピーディスク
- 音響カプラー
- ラインプリンタ
- etc
HOLENETの開発
大学4年生になったときに、当時の安在教授の研究室に入り、重松保弘助手の下で、HOLENET(HDLC Oriented Local Area Network)というローカルネットワークの構築に行うことになりました。大学4年と修士の2年の合計3年間は、このHOLENETのハードウェア開発、ソフトウェア開発、そして、HOLENETを使った学生実験の指導を行いました。この3年間は、九州工業大学での6年間の中でも、最も楽しく多くのことを学んだ3年間でした。HOLENETは、通信コントローラボード作りからでした。最初は、回路図の読み方から始まり、DMAコントローラとCPUとの間でどのようなタイミングシーケンスでDMA転送が行われるのか、割り込みとCPUの動きといったことを座学で学びました。また、HDLC/SDLC用の通信LSIを使うので、ネットワークプロトコルも当時はかなり勉強しました。ネットワークプロトコル関連では、当時の電電公社の横須賀通信研究所のデータ通信網研究室には、2回もインターンとして行きました。
実際の通信コントローラボードは、2枚の基板から構成され、1枚は1層のプリント基板であり、もう1枚はラッピングで作るというものです。その2枚1組の通信コントローラボードの5セットをほぼ一人で組み上げて、プローブが1つしかないオシロスコープだけで5セットをデバッグしました。5セットがある程度安定するまで何か月を要したか覚えていませんが、長い期間ハードウェアをデバッグしていました。ハードウェアが安定してきたら、その上で動作する通信ソフトウェアをZ80アセンブリ言語でひたすら書いてはデバッグしていました。
九州工業大学での最後の3年間は、ハードウェアのデバッグから、Z80アセンブリ言語でのプログラミング、ネットワークプロトコルと広範囲な経験をすることができました。
まとめ
九州工業大学への入学は、ソフトウェアエンジニアとしてのキャリアの始まりであり、その後のキャリアにとっての基礎を学ぶことができました。「コンピュータの基礎はいつ学ぶのか」でも書いていますが、今日では学んだり経験したりすることが難しいことの多くを大学で経験したと思います。2019-11-08 08:40
コメント(0)
コメント 0