本記事は私の音楽趣味ブログ「大人バイオリンしぬまでにできたい10のこと」の2020年当時の記事を前半に編集加筆し、後半はQiita用に書き加えたものです。Qiita×Findy記事投稿キャンペーン 「自分のエンジニアとしてのキャリアを振り返ろう!」の選考対象となるかは微妙ですが、内容的にはテーマに沿っていると思われますので、キャンペーンに参加してみます。
「専門性のある職」
「専門性のある職」が音楽関係や芸術関係の方はめちゃめちゃ幸せだとわたしは思う。また、それに関わらず「専門性のある職」がある方はけっこう幸せだとわたしは思う。ないより全然まし。このトシでまだくいっぱぐれないのはそのおかげでもあるのだ。
音楽はなかなか素晴らしい芸術だ。ひとを励ましたり、平和にしたりする力もあると思う。絵画や文学にないとはいわないけど、音楽のサウンドストリームのパワーは強烈で強力だ。強制的にひとの耳に入ってきて心を揺さぶるのだ。
わたしは残念ながら音楽関係の仕事に就けなかった。36歳ころに転機があったが、そのころでも音楽を職業にできるとはまったく思っていなかった。
なので、比較的得意だったソフトウェアの世界を選択した。こちらは芸術ではなく技術の世界だが、趣味としても成立していた。大学の専門とはやや異なるが工学系という点では同じ路線上に位置している。
わたしの仕事と趣味の関係を振りかえる。
ここでちょっとわたしの仕事と趣味の関係を振りかえってみる。便宜上「世代」で分類している。
1G(第1世代)
ハードウェアエンジニア(会社員)仕事でワークステーションや黎明期のパソコンを使う。プログラムも多少書けた。設計用の数値計算プログラムなどを自分で書いていた。(12年くらい)
趣味はピアノとパソコンプログラミング、YAMAHAのサイレントピアノをMIDI音源とパソコンにつないでいた。このころ、日本語プログラミング言語Mindと出会う。
2G(第2世代)
システムエンジニア(経営者)システムエンジニア職が中心だが、会社役員にすぐなったので経営業務・顧客獲得の提案営業から、開発後の運用までシステム事業を支える業務はなんでもやった。日本を代表する製造業の顧客にもめぐまれた。(23年くらい)
趣味は映画観賞。2Gの末期にバイオリンを趣味としてみる。ピアノは超チープな電子ピアノ購入でレッスン再開。
3G(第3世代)
システムエンジニア(フリーランス) 準委任契約のオンサイトなので設計開発以外の業務はなくなってある意味システムエンジニアの担当者業務に集中できた。
趣味はバイオリン、ピアノ、フルート、音楽基礎としてソルフェージュに取り組む。2G末期にヴォーカルレッスンも受けていたが、フリーランス開業時に資金面の都合でこちらは終了。
まぼろしとなった4G(第4世代)
現在は3Gであるが、次の4G(第4世代)の仕事としてアプリケーションエンジニアの仕事を開業(といってもまだリリースしておらず開発中。2020年当時)しようとしていた。
ソフトウェアの仕事に少し音楽的な趣をむりやり添えちゃおうかなということを2020年当時考えていた。
フリーランスは基本自営業なので、屋号と著しく外れる場合は屋号を書き直さなければならないが、仕事(商売)をどういう風にアレンジしようが自分の勝手と考えられるのだ。
次の転機は2022年の年末に訪れた。
日本語プログラミング言語Mindユーザー会の会長から忘年会のお誘いをいただいたことだ。わたしはMindはまったく使わなくなっていたが会長とは懇意にしていて、フリーランスになったときもお祝いの品などいただいていた。
忘年会自体は業務多忙のおり出席できなかったのだが、それを機に、日本語プログラミング言語をめぐる現状をネットで調べてみたのだが、結果に愕然とした。
実装現場では使わなかったが、設計現場においてはシステムエンジニアとしてのわたしの職務能力に重大な影響を与えたと考えられる日本語プログラミング言語Mindになんとか恩返しがしたく、Qiitaにアカウント作成して記事投稿活動を開始したのが2023年1月であった。
現時点では音楽的な活動はほぼ終息して、バイオリンのレッスンをかろうじて継続している状態だ。本業以外の時間はなるべく日本語プログラミング言語の情報発信とコンパイラ実装技術の獲得に割いている。
みなさまにアドバイスできそうなこと
以上の職歴(と趣味歴?)よりみなさまにアドバイスできそうなことをさぐってみます。
システムエンジニアリング業界では、PG→SE→PL→PM→管理職→うまくいけば役員 みたいなキャリアパスが中堅以上の事業体では一般的かと推定されます。純ぜんたる管理職となって現場の実務能力が消失すると、いったんそのポジションをはずれた後どのような実務スキルが残るかは微妙なリスクがあるように思われます。
事業規模がでかくなると現場実務にコミットすること自体パワー的に不可能ということもありますが、実務能力的にこれは保持しているというのを維持しておいた方が、いろいろつぶしが効くような気がします。
わたしの場合、社内外用のITインフラの運用も責任者として対応していたので、部下の方の作業指導もできるよう自身もマイクロソフト基盤のWindowsServerネットワークといくつかのアプリケーションサーバー(ExchagenServer/SharePointServer/ProjectServer/SQLServerのAnalysisなど)の導入運用スキルも持っていましたが、フリーランスになったときに運用系ではなく開発系を選択しましたのでこれらのスキルは現時点でほほぼ消失しています。
残ったのは実装言語の運用能力(開発デバッグスキル)の方ですが、今日の実装言語は百花繚乱なので、細かい言語仕様を脳内に大きくカバー維持しようとするよりは、実装言語の(フレームワークの)基本構造の理解やアルゴリズム発案能力の基礎スキルの維持向上に努めておいた方がよい気がします。実装言語に展開する手前、実装課題の要件の実現アルゴリズムをどのようにするかに能力が問われ、このあたりは契約が継続するかどうかで大きいようです。もちろん設計だけでなく実装にも落としこめるのが前提ではあります。