読者です 読者をやめる 読者になる 読者になる

mmyoji's diary

プログラミングとか日々のどうでもいいこととか

vim始めました

基本的にEmacsでコードは書いて、コミットメッセージ書くときとか、サーバーに入ったときはviを使ってましたが、ガリガリvimでコードを書いたことがなかった(vimtutorは2回ほどやった)ので、しばらくprivateではvimを使ってみようと思います。

最近のvim偏重主義に思うこと

教養らしいので。

個人差はあるかもしれませんが、Emacs使ってると基本的に小指はCtrl(英字キーボード使ってるのでCaps lockと入れ替えてますが)に置きっぱなし、キーの移動するのにn, p, f, bが押しやすい位置に指を置くため、デフォルトのポジションが少し微妙な位置にあって、「これは美しくないな...」と常日頃から思うようになってきてたので、それがvimに行こうかなと思った一番の理由です(至極どうでもいい)

とりあえずいろんなページ参考に、 .vimrc を完成させて、rubyとelixirは多分問題なく書けるようになってるはずなのでしばらく使ってみたいと思います。

知り合いの超絶vimmerに聞くとNeoBundleでもvim-plugでも好きなの使えばいいとのことだったので今回はvim-plugを採用してみました。

指の位置がまともになったら打鍵音も静かになると信じて...

Androidアプリ開発始めたお(^ω^)

明けましておめでとうございますmm 今年もよろしくお願いします!

2015~2016年は帰省するのを諦めてAndroidアプリ開発を始めました。

今のところ本読んでサンプルアプリ作ったくらいですが進捗メモ

進捗(2015/12~)

JavaからはじめようAndroidプログラミング―Android Studio対応版

JavaからはじめようAndroidプログラミング―Android Studio対応版

ちょっと本に時間掛けすぎたので今日から実際に何か作り始めます!!!

2015年の振り返りと2016年の抱負

振り返り

前の プログラミング始めてから丁度2年過ぎたので振り返り - mmyoji's diary とも若干かぶりますがもうちょっと大きい視座で振り返ってみようと思います。

圧倒的な能力

を目にした。という話。

前職場に誘っていただいた方がガチフルスタックエンジニアというやつで、かつビジネス的な話もかなりできて、「Web系のスタートアップならどこの会社も喉から手が出るほど欲しい人材だろうな」とエンジニアから見ても思えるぐらい優秀な方だったので、めちゃくちゃ刺激になりました。

教育担当をされたこともあるということで色々と教えていただいたのですが、すごくわかりやすく、「できる人ってなんでもできるんだなぁ」と本気で思ったのもその時が初めてでした。

それまではネットで適当にググって勉強するだけだったんですが、読書を勧められまくったのでそっから書籍学習することも増えました。

未だに活字離れひどいなぁと感じるくらいには読書苦手なのでそろそろ克服したい...

Railsの外に出てみた

それまではRails内のこと(Ruby, HTML/Haml/Slim, JavaScript/CoffeeScript, CSS/Sass)しかやっていなかったんですが、以下のようなものにも手を出しました。

といってもがっつり何か作ってリリースまでいったって感じではないので一通り触った + αレベルです。

Androidは年末年始で何か作る予定(まだ始めて3日目ですが)

ただ仕事に関してはしばらくRailsばっかかなという印象です。

2回退職

人によってはネガティブに捉えられるかもですが、もう完全にジョブホッパーの仲間入りというやつです。やったね。

個人的には転職することでポジティブな結果得られたことの方が多いのでNo Problemですが。

フリーランスになってみた

最初に受けた仕事を週5で入れてしまったのが失敗だったかなと思っています。

2~3個を週1~3日ずつくらいで引き受けるスタイルに徐々に移行してます。というかそうしないと「いろんな会社で働く」という目的を達成できない😞💔

来年の抱負

今適当に決めたものもありますがとりあえず以下3つ

  • 入社したいと思える良い会社見つける
  • コミュ力上げる
  • 結婚する

入社したいと思える良い会社見つける

元々今フリーランスなのも「入ってもどうせすぐやめちゃうから」っていうネガティブな面からやってる感じなので、確定申告もめんどくさいし、良い会社あれば入っちゃいたいです。正直。(1年くらいで辞めちゃうかもですが)

「色々な会社で働く」という目的が達成できないかと思いましたが、副業OKなところ見つければある程度は解消できるかなって気がしているので、とりあえずそんな感じで。

結構最近は受け身でしたが積極的に探しに出ようと思います。

コミュ力上げる

これはここ半年くらいでようやく真面目に反省するようになったやつです。

急いだりしちゃうとつい口調がきつくなったりしちゃうんですが、もうちょっとバッファー持って仕事すればある程度防げるということに数日前気づいたので気をつけようと思います。

あとは「伝える力」と言えばいいのかわかりませんが、説明上手になりたいですなります。文字でも口頭でも。

これも必要以上に急がなければ多少マシになるはず。

他にも色々ありますが恥ずかしいので個人esaに書きます笑

結婚する

これは、「したい!」っていう願望を表に出しただけです。

再来年の抱負が「子供が欲しい」になっていれば success, そうじゃなければ fail したと思ってくださいmm

以上。

今年もお世話になりました。来年もよろしくお願いいたします ☺️🙏🏻

転職時に何をアピールするか? if self.job != "web engineer"

今でこそwebエンジニアやってるんで、退職・転職平気でやってますが、自分がそうじゃない職(例えば営業職)だったらどうだったかなぁと以下の記事を読んで思いました。

president.jp

キャリアの最初は営業職だったのでちょっとはわかるふりをしてますが、どうやって転職時にアピールするのか考えて、いまいちピンとこなかったので整理しておこうと思います。(別に正解を出したわけじゃなく、単なる個人メモです)

Webエンジニアの場合

  • 特定の言語、フレームワークの経験
  • チーム開発の経験
  • モダンな開発ツールの使用経験
  • (エンジニアがいれば)コードを見てもらう

とか??企業の求人みたいになりました...

営業職の場合

  • 営業経験年数
  • 過去の営業(売り上げ)実績
  • 特定分野への理解度

...ちょっと全然自信がないですが、自分で突っ込んでみたいと思います。

営業経験年数

これに関してはエンジニアも言えることですが、必ずしも年数長い人が優秀かというと全然そんなことはないと思います。

ただ僕みたいな「営業は8ヶ月しか経験ないです!」とかって人よりは「2~3年やってます!」って言ってる人の方が強いと思います。さすがに僕でも後者を採る。

逆にそれ以上長い年数だと「いやそこアピールされてもね...」と逆効果になっちゃうんじゃないかなー

過去の営業(売り上げ)実績

これは書いてみたものの、全然意味ないと思ってます。

チームで立てた売り上げかもしれないし、前任者から引き継いだものだったり、たまたま運が良くて売上が立つ案件を取れた、とか色々あるので、これも寧ろ疑うべき項目。

特定分野への理解度

エンジニアもこれ大事ですけど。同じ業界への転職ならこれは十分に効くと思いますね。

そうじゃない業界に関しても、例えば「〜を理解するのにxxxをして、大体2ヶ月ほどでモノになりました」とかって話せたら学習意欲とか能力とか多少は示せるんじゃないかなぁと思います。何とでも言えますが。

まとめ

  • 営業経験年数: 長すぎるとあんまアピんない方がマシ
  • 過去の営業(売り上げ)実績: 運要素デカめなのでよっぽど語れない限りはやめとけ
  • 特定分野への理解度: まぁまぁ良さげ

あとは何職でも関係ないですが、人事担当や社長に(「人として」というよりかは)一緒に仕事するパートナーとして好いてもらえるかどうか、ってところだと思うので、何度かコミュニケーションするしかないのかな、と。

個人的にはメールのやり取りは即レス心がけるとかは最低限だと思ってます。(すっかりメール使わなくなってできてないので偉そうなこと言えませんが)

全体まとめ

これ書いて一体何がしたかったんでしょうか...?笑

上で挙げた記事を読んで、昔の知り合いとかが会社にしがみついてる(ように見える)のを改めて実感したので、そういう人の思考を理解できるかと思って書き出した、とかそんな感じな気がします。

長く居座れば居座るほど、その会社でしか役に立たないことだけを得て、外に出づらくなるんだろうな〜(しみじみ)

はい。

『メタプログラミングRuby』読んだ

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

タイトル通りですが...

メタプログラミングはただの言葉。プログラミングであることに違いはない

的なことを本の半分くらいのところで書いてて、「おぉ!」ってなりました(小並み)

「魔術」とか「小難しいもの」という印象がありましたが、「所詮プログラミングでしかない」という考えに痺れました。(所詮、っていう言い方は物議を醸しそうですが)

メタプログラミングと教育

この本読む前は、「メタプロってある程度その言語に精通した人しかわからないから、使いすぎると初心者(的な人)がついていけなくなるんじゃないか?」とか思って、そういう発言をしてしまったりしたんですが、その発想が間違ってたなぁと反省してます。

そもそもそういう人がチームの中にいればちゃんと教えるべきだし、それができない(もしくはついてこれない)ならその人はチームから外さないといけないので、この前提自体がおかしい。

ただ「メタプロは便利だけど使いすぎはダメだし、普通のOOPで解決できることの方がほとんどだからあんま頼りすぎんなよ」とも書かれていて、fmfmとなりました。

あと後半はRailsのソースを例にしてて、「最初から上手くやろうとするな」と以前にも何度か聞いたようなことが書かれていて「はっ!」と我に帰りました。

日々技術トレンドは変わるし、RailsみたいなFWは(いい意味で)ガンガン変更加えてくるし、Rubyも進化していく。サービス(プロジェクト)が対象とする市場環境も変われば、社内のリソースも(スタートアップだと特に)激しく移り変わったりするので、結局その時のリソースに応じて最善を尽くすしかない(or 歯を食いしばる)な、と。

あとは Railsのアーキテクチャ設計を考える | Qiita で紹介されていた trailblazer というgem(及び設計方法)を見てて、「ほうほう良さそうだな〜」「model層のcallback地獄からは脱出できそう」とか考えてましたが、これも最初から導入するというよりは、サービスの規模が大きくなったら(というかコードベースがデカくなってきたら)入れていく、とかでもいいかなと思いました。設計次第で防げる箇所は全然あると思うので。

RailsMVC2だけでやるのつらくね?」っていうレベル感のエンジニアだけで最初から回せるなら、全然導入しちゃっていいと思いますが、経験上そういう会社の方が少ないのでなかなか厳しいかなと思います。まぁコードベース小さいうちは全然素のRailsで上手く回せるしなー

結局コストを回収するタイミングをどこに持っていくか、っていう問題でしかないと思っているので、「つらいよ〜死にたいよ〜」ってなったら「エイやっ!」で移行すればいい...気がする。

という感じで全然締まらないですが『メタプログラミングRuby』はかなり読みやすい本だと思うのでオススメです。

Happy Christmas!!!(無理矢理)