ぼくがいつもお世話になっている、高専生に対する偏見を植え付けてくれたサイトの開発日誌で、こんな記事が投稿された。
ぼくはこれまで文系私大四大卒としてIT企業でエンジニアとして働いてきたのだけれど、そろそろぼくが本当にエンジニアとして向いているか考えるべき季節に差し掛かっているのかもしれない。
なのでここの8つの特徴のうち、向いていることを示す4つが当てはまるかどうか考えてみた。
1.Q.IT技術やプログラミングが好き? A.うん、大好きSA!
この点については大丈夫そうだった。
大学1年の時に技術系サークルに入り、そこでC#の基礎を学んだ。
大学生の間にゲームを作りたいと考えて絵から音楽からプログラミングから勉強していたが、プログラミングについてもこの時に勉強を始めていた。
大学4年生になって就活を始めてからは実際に興味があることを示すためにそのあたりの勉強を進めて話にはついていけるようにしていたし、何よりそういったことにそこまで抵抗感はない。
この点については問題はなさそうだ。
2.Q.自分で手を動かして何かを作ることが好き? A.入社してできるようになった
これについては今は若干できるってところか。
大学4年間はたくさんのことを学んだ。
けれども、学問においてもゲームにおいてもプログラミングにおいても、実際に何かを作ったということは少なかったし、誰かに見せることはもっと少なかった。
pixivに上げたイラストは1ページを越さないし、音楽もどこにも投稿していない。
Qiita記事も書いていなかったし、Githubでリポジトリも作っていなかった。
そもそもそれをどのようにやればいいのかわからなかった。
ブログを書くことでさえ、今はこうして書き始めてはいるが、これまでブログ自体を作ってから数日が経っている。
踏ん切りをつけるのが一番大変、というのが実際のところだし、これからすらこんな調子になりそうな気がする。
けど、今いるところに入社してから、既にQiitaで記事を書きまくっている人やセッションに登壇している人と出会ってたくさんのインスピレーションや参考にできるものを知った。
こうしてブログを書くのもその一環だ。
これを続けられるなら、適性もあるってことだろう。
3.Q.もっと効率のよい方法がないか考えられる? A.まあまあ
これについてはそこまでの自信はまだない。
これについても、入社するまであまり考えてこなかった。今もそうかもしれない。
今いるところに入って初めて知ったことの一つに、デザインパターンというものがある。
見た目の部分と処理の部分を分けることでバグが起きたときにその原因を特定しやすくして保守性を高められるというやつだ。
初めてこれを知って実際にどうやるのかを聞いたとき、一番最初に思ったのは「うわ、めんどくせ」である。
何せアプリに何かボタンを一個追加するときに書き加えるのはViewのボタンの生成とModelの処理だけでなく、それらを接続するViewModelところも加わるからだ。
ボタン追加のためだけに、3つもファイルを行き来しなければならない。(ぼくの時はさらにControlという部分も加えて4つだった!)
Viewのコードビハインドに書けば10行で済むものを3つも4つものスクリプトに分けて20行近くにするのは相当面倒だったし、今までのところまだそこまでの恩恵も受けられていない。
そういった点で、効率の良い方法を考えて実行するのは抵抗感があるといえるかもしれない。
ただ、アプリケーション開発でswiftを使う中で、closureをうまく使って分かりやすく使いやすいメソッドの書き方を思いついて実践したときは脳汁が出たし、そのあとそのやり方を同僚が使っているのを見たときは本当にうれしかった。
この点では、ある程度実践できているといえるかもしれない。
4.Q.地道な調査や作業が苦にならない? A.覚悟はしている
そうなることは分かってるし。
プログラマーはコーディングをする時間が1割で、残りの9割はそのコードの動かし方を調べる時間であるって話はよく聞く。
そして、この点に耐えられないって人の話も。
ぼくの場合、大学時代末期にUnityでゲームを作りまくっていたころは大半の時間が「〇〇 動かない」で検索をかけて調べている時間だった。
その中では、この仕事は実質ほとんどが調べる時間なんじゃないかという気持ちと、これじゃ仕事にならないんじゃないかという気持ちが半々だった。
けど、ういったことができるということが適性であるという話を聞くと、実際そういうお仕事なんだなという実感が湧く。
また、そういった経験を通して地味な調査や作業をすることの覚悟ができているということは、自分のエンジニアとしての一つ適性なんじゃないかと思う。
まとめ
ぼくはエンジニアとしてやっていくのでおおむね問題なさそうだ。