seri::diary

日常

エンジニアとしての不安

(完全にぼやきですw)

エンジニアとして働くようになってからはや3年が経ちます(SE時代の2年半はコード書いてないのでノーカン)。

SE時代に憧れていた「コードを書いて飯を食う」ということが少なからず出来るようになってきてはいますが、それでも毎日自分の出来なさに落ち込むことが多々あります。

前職でも入社直後にDIとInterceptorをフルに使いまくったjavaのコードの追い方が分からなくて全然仕事が進まなくて落ち込んだり、しょうもないバグを埋め込んでリリース当日にパニクったりと色々やらかしてきた歴史があります。

それでもずっと続けていればミスもなくなり出来ることも増え、以前は苦労してやっていたことがラクに出来るようになったりと、成長のようなものを感じることはあります。そういう状態が続くとまぁ気持ちのよいものです。慣れた言語、FW等の環境で全力疾走出来る時ほど気持ちいい時はありません。

しかしエンジニアたるものとしては同じ環境で同じものを作り続ける訳にはいかない訳で、最近、また前職の入社直後のような「前に進めない」壁を感じています。

具体的には、ゼロからwebアプリを設計して作ることが難しいと感じています。考えてみれば今までアーキテクトとしてゼロから基板を作ったことが殆んど無かった。

今は主にRailsで仕事をしていますが、Railsでwebアプリを「とりあえず」作ることは至極簡単です。 java + strtus2より遙かにシンプルで分かりやすい。 すぐに動くものが作れる。 Ruby on Rails Guidesという素晴らしいドキュメントがある。

問題はRailsで作るwebアプリ全体のアーキテクチャで、 どういうルーティングでどういうコントローラを設計するか、 モデル(ActiveRecord::Baseのサブクラスの方)にどこまで業務ロジックを乗せるか、 helperやconcernをどう使うか、などなど。

考え出せばキリがない。考えても考もしっくり来る設計が出来ない。本当にこれでいいのか?という手探り感。 これがどうしても拭えません。

この辺も慣れの問題なのかなぁとは思いますが、今の所はよく分かっていません。 とりあえずRESTで設計することに慣れていないのでRESTの思想を勉強していく必要は感じていますが、それ以上に何が必要なのか。。良く分かりませんが、良くわからない以上は実践で学ぶしかないので今やってるプロジェクトをとにかく進めるしかない。

こういう壁に当たると、自分はよく伊藤直也さんのブログのエントリー「エンジニアの不安と壁」というエントリーを読んで自分を奮い立たせてきたのですが、今は何故かあまり楽観的に考えられないというか、色々と悩ましく考えてしまいますw

たまたま9月はやたら忙しくて(勉強会開催、引越の準備や色々調整、マンドリンオケ本番、友人との旅行の幹事、会社の合宿の幹事)肉体的にも精神的にも疲れてるせいか分かりませんが、10月は多少ゆったり出来る事を少しは期待したいと思います。