こんにちは。
19卒新卒で未経験からエンジニアをやっているトモヤです。
プログラミングを始めて半年ちょい経過した自分が、半年前の自分に伝えたいことを書いてみようと思います。
とりあえず公開しといて、思いつくまま更新していこうと思います。
###エラー出た時はとりあえずググる
エラーの内容読んでるとハマっちゃうことが多いのは私だけでしょうか。
とりあえずエラー文をそのままコピペしてググっちゃった方が早いなって最近思いだした。
###foreach意地でも使わない
foreach使い勝手よくて濫用しちゃうけど、他にどうにかする方法ないか調べてみる。
そうするとだいたい見つかる。
foreach使うと処理重くなっちゃうから、奥の手って思っとく。
foreachというコンフォートゾーンにハマらない。
###バックスラッシュと「.+」だけで検索と置換はだいたいなんとかなる
正規表現って言われるとなんか「うっ」ってなるんだけど、とりあえずバックスラッシュと「.+」使うだけでも超便利。
検索だったり置換するときの効率が全然違うのでとりあえず使ってみるのがいい。
他は必要になったときにググればおk。
###ツールを活用する
IDE以外にも活用できるツールはたくさんある。
https://difff.jp/ だったり、DeepLだったり。
###ビューから作ってとにかく確認入れとこう
最初の頃はちょっとの処理書くだけでも一苦労なのでとにかく戻りは減らしたい。
ということでできるだけ早く上司に見せられる状態にしてから確認入れておこう。
どんだけ仕様詰めといても認識の違いは出てしまうので、早く形にして見せてみよう。
###とにかく方法開示してみる
エンジニアって、自分の目の前の画面一つで全て作業が行われてしまうから、他の人に改善余地を気づいてもらいにくいかもなって思ってる。
だから、意識的に方法を開示するのって、自分のスキルを伸ばしていく上で重要だなと思ってる。
ある作業に対して、「あーヤバイ、めんどくせえのきたー」とかって冗談めかして言ってみるだけでも、「こうしたら簡単じゃん」って言ってもらえて、作業見直すきっかけになるなーと。
###速いことよりも早いことが大事
速度ももちろんのこと、それよりも期日を守れるかどうかが大切。
自分のスピードを把握して、それに合わせて適切な期日を切れるように交渉する練習も大切だなと。
期待されるのはもちろん嬉しいことなんだけど、期待を裏切った時には期待はそのままの大きさで失望に変わってしまうから、期待を調整しないといけないなと。
某サッカーゲームが何回もアップデート延長するから、僕は怒っています。
###やっぱり速いのも大事
新人のうちにどうしても無理そうな期日に食らいついてみるのもいいよなと。
振り返ると、どうにか間に合わせるために必死だった時に学んだことってたくさんある。
制約下においてこそ工夫は生まれる。
###やっぱりプログラミングは楽しい
正直最初はしんどかった。
わからないことだらけで、少しの処理を読むにも書くにも膨大な時間がかかる。
期日が迫る終わらない仕事。
一生懸命やってるけど、終わっていないという動かない事実。
ただ、少しずつ読み書きできるようになって、見立ても少しずつ精度が上がってきて、モノづくりをしていく上での視点も少しずつ身について、少しずつ実装にオプションも持てるようになって、少しずつ先輩と議論できるようになって、今はとても楽しい。
エンジニアという職業は、現実世界に生じる問題をどのように克服するかというマクロな問題解決と、それをどのようにシステムに落とし込んで実現するかというミクロな問題解決とが楽しめる贅沢な職業だなと。
エンジニアという世界に飛び込んで本当に良かった。