この2年半の出来事
すごく久しぶりの投稿です。
前回の投稿が2015年11月なので、2年半ちょっと空いたことになりますね…
この2年半どうだったかというところから、現在の状況について書きたいと思います。
前回の投稿時点での状況
前回投稿時点では、COBOLをメインとしたSESでの仕事が嫌になり、
モバイルアプリを自社開発している会社への転職が決まったところで記事が終わっていました。
モバイルアプリエンジニアへの転職後
さて、晴れてモバイルアプリエンジニアへの転職を果たし、toC向けのサービスの開発に携われることになったわけですが、
そこでの仕事内容は 既にある程度テンプレート化されているアプリの内容とデザインを変えて、アプリを量産する仕事
でした。
最初の数ヶ月はアプリ開発自体のスピード感もあり割と楽しくやっていたのですが、
ある程度すると飽きてきちゃいまして…
で、最終的にもう少しちゃんと エンジニアリングがしたい
という思いから、再び転職先を探し始めました。
再びの転職活動
とはいっても、まだまだ本格的に転職するつもりはそこまでなくて、なんとなく転職先を物色している最中、
とある求人媒体経由でAIベンチャー企業のCTOからメッセージが届きます。
最初はそこまで本気では無かったのですが、なんとなく AIってどんなことやってるんだろう
という軽い気持ちから
メッセージをやり取りし、軽く会って話を聞いてみることになりました。
思った以上に面白そう
いざ話を聞いてみると、
- 開発チームの権限や裁量
- 作っているプロダクトの内容
- 会社として、エンジニアリングに対する考え方
などなど、その時の会社に比べて非常に魅力的に映りました。
その後もその会社で実際に働いている人たちと会わせてもらったりなど、色々と知っていくうちに
次第に この会社に入社したい
と思うように。
入社してみた
で、結局そのAIベンチャーに入社することになりました。
現在もそのAIベンチャーに所属していますが、色々と思うところがあり再び新天地を求めて彷徨い始めました…
(あまり詳しくは書けませんが、会社の方向性と自分の目指す方向性が違ってきた、というのが大きな理由です。)
転職活動の新しいカタチ
もともとCOBOL使いでコボラーとしてSIerで、いわゆる SE
として働いていましたが、
ここ数年モバイルアプリエンジニアやAIを使ったWebバックエンドエンジニアなど、様々な経験を積ませて頂いたこともあり、
今回の転職では通常の 転職サイトやエージェント
経由での転職は選択肢にありませんでした。
最近ではTwitter転職やリファラル採用など、ちょっとソーシャル要素が強い転職活動がWebエンジニア界隈では割と多いようで、
私もその流れに乗っかってみようかなと思い、今回転職サイトへは登録しない形で方法を探していました。
そんな中、ふとQiitaかなんかの広告で目に留まったのが 転職ドラフト
でした。
なんと、その人のスキルセット(経歴レジュメ)のみで、 企業側から
年収額が提示された指名が来るという何ともすごい仕組みでした。
今回はこのサービスを使って転職しようと思い、転職ドラフトに登録することに。
転職ドラフトに登録してみた
さて、転職ドラフトにいざ登録してみました。
"よし、いっちょレジュメとやらを書いてみるか" と意気込んだものの、
いざレジュメページを見ると、かなりガチで書かなきゃいけないっぽい…
ただ、それは その人のスキルセット(経歴レジュメ)のみで、企業側から年収額が提示
されるという特性のため、
レジュメが判断材料としてかなり重要な位置付けになるから仕方ないのかなと思い直し作成開始。
3日くらいかけてとりあえずのアウトラインを完成させ、保存ボタンを押した。
すると、なぜか良くわからないが 審査中
みたいなステータスに…
どうやらレジュメを記載し保存すると、自動で運営による審査に係るという仕組みらしい。
まぁ勝手に審査してくれるなら良いかと思い、そのまま放置。
しばらくすると、 審査合格
という連絡が来て、 あなたは次回ドラフトに参加可能
とのこと。
ただ、ドラフトが奇数月に一回という少し長いスパンになるため、長いと1ヶ月以上待つことになる。
今回の場合は2-3週間程度の待ちでしたが、コレが結構長く感じる。
ひたすら1日ずつ、"開催日はまだか" と思いながら過ごし、いざ開催日を向かえることに…
開催日を迎えて
いざ開催日を向かえると、転職ドラフトのトップページ上で
〇〇会社が 800万で ID:hogehoge を指名しました!
みたいなタイムラインが流れてて、もうテンション最高潮!
自分もいつ指名されるのかとワクワクして待ちます。
...が、何日経っても一向に指名が来ない。
"やはり自分の実力じゃどこも必要としていないのか…"
と気を落としていたところ、開始から1週間後に初の指名が…!
その後はあれよあれよと言う間に、合計8社からの指名を頂くことが出来ました。
転職活動の行方
転職ドラフトで多くの企業に指名を頂き、そのうち少しでも興味のある企業へは話を聞きに行ってみることにしました。
色々な企業に話を聞いた結果、転職ドラフトで指名頂いた企業のうち、
やりたい事と諸々の条件が一番良かった企業に内定を頂いたので、
そこに入社することに決めました。
というわけで、来月からはまた別の企業でエンジニアとして働くことになります。
転職ドラフトを使って感じたこと
転職ドラフト、このサービスは本当にエンジニアにとってメリットしか無いサービスだと思います。
例えば、通常であれば 前職年収
を考慮して次の年収が決まることが多いと思いますが、
それって本質的にはやっぱりおかしくて、 前職年収は前職での企業内評価基準に応じた収入
であって、
その人の仕事に対する価値
では無いと思うんです。
本来は その人がどれだけの仕事ができるか
によって 絶対値 で収入が提示されるべきだと思うので、
その点転職ドラフトでは 前年収を企業側に提示しない
前提となっているため、非常に素晴らしいと思います。
また、その人がどれだけの指名をもらっていて、どれだけの額で指名されているかがオープンになっているので
透明性が非常に高いことに加え、具体的な金額付きで指名されることでその人の エンジニアとしての市場価値に対する自信
みたいなものにも寄与すると感じます。
まとめ
エンジニアとして働いているなら、とりあえず転職ドラフトに登録・参加して
まずは自分の市場価値を知っておいた方が良いと思います。
特にSESとかで搾取されて働いているエンジニアは、他の選択肢が見えなくなりがちなので
一度世の中の市場に自分を曝け出してみても良いのではないかなと思います。
※こちらの記事は転職ドラフト体験談投稿キャンペーンに参加していますが、
転職ドラフトに肩入れするつもりはなく、いちエンジニアとして純粋に素晴らしいサービスだと思った末の感想です。
コボラーから元コボラーへ
RealmでGMSPolylineを保存する
久しぶりのpostです。
RealmでGMSPolylineを保存する
class Record: Object {
dynamic var seqNo: Int = 0
let polyLine = List<PolylineArray>()
}
class PolylineArray: Object {
dynamic var poliLineLatitude: Double = 0
dynamic var poliLineLongitude: Double = 0
}
NSPredicateがうまくいかない
前回からだいぶ間が空いてしまいました。
題名の通り、NSPredicateではまっています。
やりたいこと
前回まででお話しした通り、今作っているアプリのデータ保存に
Realmというライブラリを使用しています。
Realmにデータを保存するところまではなんとか実装できたのですが、
保存したデータをSelectするのにNSPredicateというものを使用するとのこと。
で、そのNSPredicateですが、色々調べると文字列マッチングの抽出条件式は
結構出てくるのですが、私がやりたいのはSQLでいうMAX関数のような形で、
とあるカラム内での最大値を取得したいと思っています。
しかしMAXについて、Objective-Cでの実装例はそこそこ出てくるのですが、
Swiftでの実装方法が見つからない・・・
このNSPredicateはObjective-CとSwiftでは書き方が少し違うらしく、色々試したみたのですがことごとくエラー。
ダメだった書き方
- NSPredicate(format: "seqNo = @max")
-
NSPredicate(format: "@seqNo = @max")
-
NSPredicate(format: "@max = seqNo")
-
NSPredicate(format: "seqNo,@max")
どなたか知っていれば知恵をお貸しください。。。
ここ数日間の実装メモ
- tabbarで自身のviewが選ばれていなかったら遷移する
if (self.tabBarController?.selectedViewController != self) {
self.tabBarController?.selectedViewController = self
} - NSDateを日付形式にする
dateFormatter.locale = NSLocale(localeIdentifier: "ja_JP")
dateFormatter.timeStyle = .ShortStyle
dateFormatter.dateStyle = .ShortStyle
"Date:\(dateFormatter.stringFromDate(record.startDate))
そろそろアプリ全体がいい感じになってきた。
ちゃんとできたら公開したいなぁ。
あと、最近Webアプリも少しやってみたいものがあって、
MEANスタックなるものにちょっと興味があったりする。
Swift勉強会に行ってきた
Realmのインストールでハマった話
Realmとは
インストール
コーディング
- 移動距離:Double
- 平均速度:Double
- 移動ルート:GMSPolyline
- 作成日時:NSDate
うまく動かない
Realm()通った!
これまででハマったこと
ハマったこと
いろいろと書きたいんですが、ちょっとまだ整理しきれていないので
簡単に・・・
GoogleMapのライブラリ
cocoapodを使用してライブラリをインストールしているのですが、
とあるサイトで見たところ、podfileに
と記述するとあったので、それをcocoapodからインストールしました。
それでここのサンプルを元に作ってみたけど、何回やっても
import GoogleMaps
でエラーなる。
結局、podfileに記述する内容を
pod 'GoogleMaps'
にしなきゃいけなかったみたい。
use_frameworks!
cocoapodでSpringというアニメーションをつけるためのライブラリを
インストールしようとした際
[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pod being used is: Spring
こんなエラーが出たので調べたところ
cocoapodでswiftのライブラリをインストールするためには、podfileに
use_frameworks!
っていう記述を追加する必要があるらしい。
その通りにやってみたらめでたくインストールは出来たのですが、
それ以降、何回やってもアプリ起動直後にSIGABRTになるのでいろいろ試行錯誤した結果、
XcodeのBuildSettingsにある、Other Linker Flags の最後に
" -ObjC"
を追加すると落ちなくなった。
正直、なぜこの記述でアプリが落ちなくなったかは全く分からないのですが、
とりあえず今のところは問題なさそうです。
これまでで大きくハマったのはこれくらい。
use_frameworks! に関しては、試行錯誤しすぎてプロジェクト作り直すハメに
なったけど、これも良い勉強ということで。。。
昨日からRealmというデータベースライブラリを使ってデータ操作を
試しているので、次回はその辺りについて書けたらいいな。