ソフトウェアエンジニアの面白さを振り返ってみる その2
「スキ」がろくについていないにも関わらず、ソフトウェアエンジニアの面白さを振り返ってみる 第2弾の記事です。笑
第1弾は下記のリンクから。まぁ第1弾読まなくても第2弾は読めます。
ソフトウェアエンジニアの面白さ
理論と実践の両輪が楽しい
世の中にはたくさんのIT資格があります。
IT資格をたくさんもっているエンジニアは確かにすごいけれど、資格を持っていてもコードは書けないみたいなエンジニアは結構います。
TOEICスコアは高いが、英語は話せないみたいな現象です。
理論(IT資格/教科書/論文)と実践(プログラミング)の両方の知識をバランスよく持っているエンジニアはスーパーマンだし、どの企業もそういうスーパーマンを欲しがっています。
面白いことに、理論が難しくて理解できなくても実装(プログラミング)を見てしまえば「ああ、そういうことか」と理解できたりします。
よくわからない実装だと思っていたものが、実は学術的な理論に基づいていたと分かった時の、点と点がつながった感みたいなのは面白いです。
どちらかに偏ってしまうのはあまり良くなくて、理論無き実装者は非効率で再現性の低い成果を出してしまったりします。逆に、実装無き理論者はエンジニアとしての実装によるアウトプットを出してないので、成果はゼロです。(理論家としての仕事ならばできるとは思いますが)
IT界隈には成果も出さないで理論を振りかざして批評家ぶってるおじさんはよく観測されますが、実装とセットで理解できたほうがエンジニアとしてはるかに楽しいです。
勉強量と年収が比例しやすい
ITは勉強が辛いという話はよくありますが、勉強さえ出来てればそれに比例してスキルも高まっていくので、年収が上がりやすいです。
学歴がなくて若いひとでも実装スキルがめちゃくちゃ高ければ、外資系イッセンマンという世界は全然あります。
勉強さえしてれば年収が上がる。すごく単純な構造です
私はこのシンプルな構造が大好きです。
努力はやっぱり報われてほしいですもん。
あと、どこでも通用する力があれば転職がしやすいので、転職を数回繰り返すことで年収を上げていくという力技もあります。
毎日の仕事でスキル向上が目指せる
一般の仕事によくある定常業務みたいな仕事は、エンジニアだと忌み嫌われていて、だいたいコード化されて自動化されてたりします。
(人間が関わってくるミーティングとかはまた別の話ですが)
定常業務が自動化されている現場であれば、毎日新しい機能追加や改善を仕事にできるので、毎日がなにかしらのタスクの調査時間に使われます。この毎日の調査時間というのはすごくて、ソフトウェアエンジニアは毎日なにかしらの気づきやスキルを手に入れやすい職業だと思います。
仕事や物事に飽きやすい人なんかには結構おすすめです。
私はそもそも社会人なりたての頃は、ソフトウェアエンジニア職ではなく総合職的な仕事でしたが、同じ作業をしてるのが飽きてしまうひとだったのでソフトウェアエンジニアは楽しいです。(いまのところは)
上には上がいることを知れる
インターネット上にはものすごいえげつない経歴とアウトプット魔人がいます。全ての分野においてオール4くらいの魔人もいれば、一つの分野でめちゃくちゃ尖ってる魔人もいます。
頑張っても頑張っても、上には上がいるという感覚はありますが
この感覚は、生きる上で重要な気がしてます。
自分が頂点だと思ってると怠惰になって謙遜さを失ってしまったり、人間として良くない方向に向かってしまうと思うんですよね。
note以外にもQiitaで記事を書いているのですが、「この人すごいな」という人がよく目に入ります。
読み手のときにはまったく意識してなかったのに、書き手になった瞬間にひとの作品のすごさに気づかされたりします。
アルゴリズムといえば、けんちょんさん
分散システムといえば、くまぎさん
みたいな感じで、推しができるのは人生において良い効果がある気がします。
フルリモートワークで働くこともできる
クラウド技術が浸透してきて出社せずにリモートで働くことができる時代になってきたのかなと思います。
クラウド側にだいたいすべてあるので、出社する意味がなくなってますね。通信の暗号化やパスワードの変更などの最低限のセキュリティ対策をすれば、家からクラウド環境へ安全に接続して仕事ができます。
まだ売上がなくて初期投資を大きく出せない会社やスタートアップにとっては、小さく事業を始められるクラウド技術は最高!という感じでしょう。
理屈が通じる人は比較的多い
ソフトウェアエンジニアで感情的な人間は少ないように思います。
(頭の中まで0/1のデジタル世界でできてるというわけではないですが)
もちろん環境により人間は変化するので環境ガチャの要素はありますね。
理屈が通じない人間というのは、本当にどうしょうもない。
「嫌いだから却下」とか「面倒だからその仕事はしない」みたいな理由を振りかざす人とはあまり仕事したくないでしょう。
色んなドメイン(業界)の会社に行ける
ITはどこの分野でも使われてますね。ITを駆使できない会社はどんどん淘汰されていくでしょう。
どこの業界でもITが使われるということは、
飲食業界のソフトウェアエンジニアから
医療業界のソフトウェアエンジニアに転職
といったことも可能になります。まぁ業界知識を取り入れる必要はあります。ただドメインを色々飛べるのは楽しくて自由ですね。
会社/人への依存度を低くできる
ソフトウェアエンジニアはどのドメインにでも羽ばたけるので
「この業界に20年働いたから他の業界には行けない」
みたいなことは起こりにくい。
(業界独自のスキルばかり高めてしまっていたら転職は難しいかもだが)
どこのドメインでも働けるということは、仕事をする会社の選択肢はものすごく多くなる。結果的に「まぁこの会社はひどいから次の転職先探そ!」っていう切り替えはしやすいと思います。
このように会社への依存度が低くなると、人への依存度も低くできる。一生同じ会社で働く愛社精神が強いならば依存しても良いと思うが、
何事も深く依存するというのは良くないと思う。
会社という文脈に限らず、
家事育児を妻に任せっきり
稼ぎは夫に任せっきり
こういう強い依存関係は人を歪ませると個人的に思います。バランスを程良く保った関係が最高の人間関係を生む土台になるんじゃないかなと考えてます。
ということで、ソフトウェアエンジニアの面白さを書いてみました。
今度はソフトウェアエンジニアの辛さのほうも振り返ってみようと思います。お楽しみにー