水谷の日記

いろいろ書きます

未経験からの転職活動で悩んだことを書こうと思う



こんにちは、水谷です

はじめに

Twitterでは、いかにしてWebエンジニアになるかがよく語られていますね。

最近はマウント合戦みたいになっていますが、なり方なんて所詮結果論でしかないからあまり耳に入れなくていいと思うのが自分の考えです。

成功した結果論はいくらでも綺麗事を並べることができるので、未経験からWebエンジニアになる方法は、他人の失敗を参考にすればいいんじゃないかなって思います。 「簡単にこの人がこうやって失敗したから私はこうしない。」とか。

ただ、失敗談は圧倒的に少ないんですよね。 失敗した時点でエンジニア界隈のTwitterから消えるのが大半だと思うので。

さて、自分はこの記事で何を書くかというと、自分が転職活動のときに悩んだことを書いて、同じ未経験から転職活動してきた人の共感を得られたらなと。 これから転職する人に少しでも参考になれば良いかなと考えて書いています。

転職活動で悩んだこと

結論から書きますが転職活動で一番悩んだことは、 「いつから転職活動を始めるべきなのか」ですね。

説明すると、どれくらいポートフォリオを濃く作って、どれくらいの技術を学習して転職活動に挑めばいいのか全く分からず途方に暮れました。

「そんなん見切り発車でもいんじゃね?」という考えもあると思いますが

基本的に一度選考を受けた企業は、数年経たないと再度受けれない筈なので 本当に入りたい企業であれば、尚更大切にタイミングを見極めなければならないと思います。

「エンジニア不足だし山ほど企業あるっしょ」って考えもあると思いますが

自分の場合は、未経験募集, 自社開発, 受託ではなく自社サービスにスコープを当て選んでいたので受けれる企業は本当に限られていました。

その企業の中でも、全員で意味のわからない手のサインをとって集合写真を撮っている会社や、 プライベートでも交流アリ!(それしか取り柄はないのか)と豪語していくつものサークル的な写真をあげている会社、要はサークルみたいなノリの企業は脊髄反射で弾いてました。

あとは「SES」についてです。 今や「光のSES」もスポットを当てられていて 「未経験からエンジニアになるにはまずはSESから!」(ただの企業文句)という傾向も若干強くなっているのではないかと思います。 SESを抱えている企業でも優良な企業がスポットを当てられているのはとても良いことであると思います。 ただ、自分は前職の同期がSESの闇を味わってるの見てきたので、死んでも行きたくありませんでした。

少し遠回りしてしまいましたが、そんな限られている企業の中で転職活動という未知の領域に踏み込むにはスタートを切るタイミングが肝心でした。

ちなみに自分の考えたタイミングは「作成したWebアプリをEC2にデプロイする 」でしたので、来たる時までWantedlyの受けたい企業の話したいボタンを押すリストをiPhoneのメモ帳に作成してスタンバイしてました。

これが正解かはわかりませんが、未経験の方が必ず待ち構えている技術面接(ないところは逆にヤバイ)にはそれ相応の準備をしなければ時にコテンパンにやられます。

中にはデプロイまで実施したことをとても評価してくださる企業もいましたし、現在所属している会社の選考にも技術面接があり、それもある程度の技術と知識がないと受かっていなかったのは確実なので自己評価では良しとしています。

(このような悩みはプログラミングスクール生の方は転職サポートや企業の紹介などがあるからあまりないのか、とても気になります。)

繰り返しますが、一度受けた企業は未経験の時点ではリトライできないのでタイミングがかなり重要だと思います。

以上が転職活動の悩みでした。

最後に

未経験からWEBエンジニアの転職を目指している方を心から応援しています。

自分でよければ力になります!

RuboCopさんが教えてくれたRailsメソッド


<この記事ではRailsのメソッド「presence」について書きます。>



今日の出来事。

何気なくコード書いてpushしたらCIで働いてるRuboCopさんに、とあるコードを書き換えてくれとご指摘をいただきました。

↓ 指摘をくらったコード

  hoge = if a.present?
          a
         else
           b
         end


[変数 a]があれば[変数 hoge]に[変数 a]を代入し、なければ[変数 hoge]に[変数 b]を代入するコード。

これを見てRuboCopさんは「presence」メソッド使った方がいいんじゃね?と言ってきました。

↓「presence」のソースコード

 def presence
   self if present?
 end


レシーバに対してpresentを実行してtrueであれば、

レシーバ自身を返し、falseならnilといった動きでした。

↓ そして改善したコード

 hoge = a.presence || b


圧倒的コードの短さw

Railsと上手に付き合うにはこういったコードを短く書けることに快感を覚えなきゃならんですね。


どうでもいいですけど、最近はRuboCopさんに対する好感度高いです。

はじめの頃はやたら細かい指摘してくる前職にいた40近くのおじさんのようで嫌でしたが。

github.com

Observableを理解したい

なんとなくフロントのフレームワークを使っている自分を是正したいシリーズ

殴り書いてアウトプットすれば頭も心も整理される筈。

※RectiveXについてはほぼ書きません

Observableってなんですかい

Observableとはシンプルにいうと非同期処理に伴う「データの流れ」を表したものです。 この流れを読み取ったり、連結させたり、時間的に操ったりすることができます。

背景として非同期処理が行き交うこの世の中で、 裏で行なっている非同期処理をもっと操りたくね?と なにやってるかわかんねえからもっと宣言的にコードで書きたくね?と こんな思想で生まれたものであると解釈しています。

例えば、なにかのkeyを押すイベントによってObservableを生成し、それをsubscribeし読み取ることによってビューに反映させることができます。

※補足するとこのsubscribeは必要に応じてunsubscribeをしないとページ遷移してもずっと値を読み続けます。

大事なsubscribe

Observavleには多くのOperatorが存在していて公式ドキュメントによるといくつかのカテゴリに分類されるようです。

・Creating Observables

・Transforming Observables

・Filtering Observables

・Combining Observables

・Error Handling Operators

・Observable Utility Operatorsなどなど

既に書いた「subscribe」と「unsubscribe」はObservable Utility Operatorsに属してるみたいです。

様々なOperatorを使ってデータの流れの加工する。 そして最終的にsubscribeで読み取ることがObservableのメインの使い方みたいですね。

逆にsubscribeをしなければ一生、値が読み取られることはありません。

subscribeとっても大事。

引用

ReactiveX - Observable

ReactiveX - Operators

https://angular.io/guide/observables

追記

まじでReactiveXだったりObservablesは抽象的すぎてイメージが湧きづらい、、

フロントエンドの世界ってまじでやばいですね。 これで流行り廃りがあるんだもの。