ウィンブルドンを目指すエンジニアブログ

テニスを週4で習っている、Rubyエンジニアの日常です。

私が社会人になってからのキャリア

この記事は [MoneyForward Advent Calendar 2018]の24日目の記事です。

聖なる夜皆さんは何していますか!!!
12月も後半に差し掛かるとなんだか今年も終わりだなーって悲しみに暮れます。 (ドラマの最終回とか悲しくて嫌いです…見ますが笑)

前置きはこの辺で、、、
マネーフォワードクラウド給与のエンジニアをやっている
yamashita.yuyaが担当します(本名です笑)
私が社会人になってからのキャリアについて書こうと思います!

 

極貧生活&リテラシー0時代

遡ること約6年前高卒で宝飾業界のある会社に入社しました。
その頃なんとまだ18歳…あっという間の6年間でした…恐ろしい。
そこにはエンジニアで入社しましたが色々とあり営業職に就くことになりました。(日本の闇)
インセンティブは無く、手取り13万円台の生活が始まりました。(日本の闇)
月末の残業時は500円をご飯代として手渡しでもらい、残業代はなし。
それでは生活がままならないので、夜はステーキ屋で副業をしていましたが、ある日時間の切り売りの限界を感じ始めました。
お金のリテラシーなんて0に等しかったので絶望しました。

f:id:yuya05020:20181224133829p:plain
日本の闇

 

マネーフォワードとの出会い

とりあえず投資や節税対策入門書のようなものを読み漁り、
時間の切り売り以外にも節税や資産運用という素晴らしい方法があることに気づきました!
普通の家計簿を使用していたので、各銀行口座の情報や収支を一元管理したくなり、 アプリ選定をしている中でマネーフォワードに出会いました。(意外と4年と少しくらい使用しています笑)
できるならこんなサービスを自分で作りたかったなーと…
そのあたりから営業職からエンジニアへの転職を考え始めました。 マネーフォワード入社への想いはありましたが技術力が圧倒的に不足していたので
力をつけて20代後半とかで行けたらいいなーとかなり弱気な感じで転職活動を始めました。
その結果中小のSIerで金融系サービスの運用をやったりとかなりキャリアの迷走をしました。

営業→中小SIerベンチャー→マネーフォワード(2018.9〜)

というキャリアになりますが昨年スクールに通い出すまでは
全くRubyに触れる機会がなく20歳ごろに思い描いてたキャリアとはかけ離れてしまっていました。 スクールを卒業したのは2018.2で正直実務未経験だったので応募にはまだ早いか…とためらいがありましたが、
営業時代に感じた日本のお金のリテラシーの低さ(自身の無知さ)に恐怖を覚え、
他の国では義務教育で学んだりしているのにこの国はこのままで大丈夫なのかと。
マネーフォワードという会社はこの国のリテラシーの底上げに直結し、
お金に対する考え方を変えることができる会社だと思い、私の過去に感じた想いとマッチし、
技術力は云々の前に想いを伝えて受けてみよう!そんな経緯で応募し内定を頂き今に至ります。

f:id:yuya05020:20181224134009p:plain
自分でどうにかしなければ!

 

少し振り返ってみると

今振り返るといろんな道を通ってきましたが、無駄なことは何一つなかったなと心から思えます。
法人営業経験三年はかなりの様々な場所で活きており、ユーザー目線も養われました。
極貧生活も営業経験もSIer経験もあって今の自分が成り立っているなと。
定期的に自分自身の振り返りや人生設計の見直しの大切さを感じました!

f:id:yuya05020:20181224134254p:plain
すべて私の力になっている!筋トレと同じだ!

お知らせ笑

毎日が新しいこと、覚えることたくさんで刺激的でワクワクしながら仕事してます!
一緒に働きたい!私も同じ想いだ!って人が居たら是非応募してみてください!
私にDMでもコメントでも聞きたいことがあったら質問してください。
(採用ブログではありません笑)

最後に

こういう記事を書くのがほぼ初めてでダラダラと日本語がおかしい部分もあると思いますが、
最後まで読んで頂きありがとうございます!

ついに明日が最終日です!
どうにかバトンをつなげてホッとしています😇
Merry Christmas!🎉
私は聖なる夜もテニスをしています🎾🎾🎾

Javaで学ぶデザインパターン入門をRubyで書いてみた(decoratorパターン)

初投稿です😊 ウィンブルドンについてはまだ語りません(テニス始めたの2018/11/1です爆笑) アドベントカレンダーに初参加&人生で初記事 特に思いつかなかったので、この前社内の勉強会でやったもの載せます笑

増補改訂版Java言語で学ぶデザインパターン入門

有名なGoFデザインパターンの本ですね!✨ どの言語でも必須のデザインパターン。 書籍内のJavaコードをRubyコードに書き換えるのはそれはそれで勉強になるのではないか?
となり5.6名でモブプロをしながらあーだこーだ言いながら輪読後に書き換えをしました。 実際動かして綺麗に結果が出ると感動します笑

下記のソースはとりあえず動くようにはなっています。
そんな書き方じゃないだろ!!!とかあったらビシバシコメント下さい🙇‍♂️(Ruby初心者なので。。。)
Javaの元コードは書籍を買うか、エンジニアがいる会社なら誰かしら持っていると思うので頑張って下さい笑

decoratorパターンをRubyで書いてみました! 実行結果が一番キラキラしていた笑

class Display
  def columns
    raise NotImplementedError
  end

  def rows
    raise NotImplementedError
  end

  def row_text(row)
    raise NotImplementedError
  end

  def show
    rows.times do |num|
      puts row_text(num)
    end
  end
end

class StringDisplay < Display
  def initialize(string)
    @string = string
  end

  #initializeと同じだからいらん?
  def srting_display(string)
    @string = string
  end

  def columns
    @string.length
  end

  def rows
    1
  end

  def row_text(row)
    row.zero? ? @string : nil
  end
end

class Border < Display
  def initialize(display)
    @display = display
  end
end

class SideBorder < Border
  def initialize(display, side_char)
    super(display)
    @border_char = side_char
  end

  def columns
    1 + @display.columns + 1
  end

  def rows
    @display.rows
  end

  def row_text(row)
    @border_char + @display.row_text(row) + @border_char
  end
end

class FullBorder < Border
  def initialize(display)
    super(display)
    @display = display
  end

  def columns
    1 + @display.columns + 1
  end

  def rows
    1 + @display.rows + 1
  end

  def row_text(row)
    if row.zero?
      "+" + make_line('-', @display.columns) + "+"
    elsif row == @display.rows + 1
      "+" + make_line('-', @display.columns) + "+"
    else
      "|" + @display.row_text(row - 1) + "|"
    end
  end

  def make_line(full_char, count)
    buffer = ""
    count.times do
      buffer << full_char
    end
    buffer
  end
end

class Main
  def main
    b1 = StringDisplay.new("Hello, world.")
    b2 = SideBorder.new(b1, "#")
    b3 = FullBorder.new(b2)
    b1.show
    b2.show
    b3.show
    b4 =
      SideBorder.new(
        FullBorder.new(
          FullBorder.new(
            SideBorder.new(
              FullBorder.new(
                StringDisplay.new("hello")
              ),
              '*'
            )
          )
        ),
        '/'
      )
    b4.show
  end
end

Main.new.main

実行結果
f:id:yuya05020:20181219184648p:plain

最初にnewしたインスタンスに対してどんどん飾り付けしていくパターンですね!(雑!!!)

12. Decorator パターン | TECHSCORE(テックスコア)
ここ見ておけば問題ないですね! では終わります笑