福井にUターンして思うことなど

13日目です。

adventar.org

 

ブログを書くのも久方ぶりすぎてどう書いていいやら戸惑っております。

表題の通りですが、去年福井にUターンで転職して帰ってきました。

それまで

Uターンするまでは新卒で東京の中規模IT企業に入社し、バリバリと働いていました。

10年ちょっと勤めてたでしょうか。

プロジェクトによっては深夜まで働いてホテル泊まり、タクシー帰り、

会社で徹夜で仕事しながら夜を明かす、

と言う今のご時世のワークライフバランスとは対極をなす生活をしてました。

一度体を壊して蕁麻疹を患うおまけ付きです。

 それでもやめるとなった時にはいろんな人と飲んだり会ったりして、

改めて人には恵まれたなと本当にしみじみ思いました。

なぜUターン

有り体に言って、親の体が心配だからとかリアルにあまり良くないとか

そういう話です。でもサクッとUターンできて本当ありがたい。

あとは、中規模だった会社がどんどん大きくなって自分の思ってた感じや方向性とちょっとづつずれている感じがなんとなく踏ん切りがついた理由かもです。

こういうの感覚だからなんとも言えませんが。

 

ここからは福井と東京の生活、エンジニアとしての勉強や仕事の質について

ざっくり比較する形で記載したいと思います。

東京での生活

生活の質:低い

最後の一年はテレビ見ながら寝落ちして、

狭い部屋でうずたかく積まれた本に囲まれながら

なんとなく生きてたことしか覚えていない。。

あと、勤務先まで1時間半くらいかかっていたので、

朝は遅刻。遅刻した分夜遅くまで仕事、満員電車に揺られて、また翌朝は遅刻。。のエンドレス。

こう書くと社会人としてやばいですね。

エンジニアとして

私はサクッと不便だからツール作りました、みたいな

プログラムや設計のセンスがあるわけではないので、

技術やセンスにコンプレックスがあり、その分知識を入れたい。

知識だけは持っておきたい、というのが根底にあるので、

東京はとにかく情報や勉強会が多い。気になる勉強会がちょちょいと探せ、またそれに参加できるのはありがたかった。

大きな本屋も多いし、情報という点では十分だったかと。 

仕事の種類

元の職ではいわゆるSIer、人売りに売られて客先で頑張る系です。

昨今のSESは避けて通れ問題ですが、SESもピンキリだと思うんですよね。

結局いいところ、ちゃんとした会社さんの下だったらまともだし、

そうじゃなかったら無茶苦茶と。

仕事の種類としても不動産系、電気、請求書発行とかの基幹システム、人材管理等々

色々やらせてもらいましたね。

使ってたのはJAVAがメインで、サーバやSQLLinuxoracle、Postgresなどなどですかね。

いい経験です。

Linuxはせっかく構築したサーバを出荷日にぶっ壊すという黒歴史があるくらい

思い入れがあります。でもそのおかげで色々覚えたと思う。linux rescue!!

 

福井

生活の質:高い

福井にいるにもかかわらず、電車通勤なのですが、

リアル終電が早いので残業をしてもたかがしれてるところはあります。

ただし代わりに福井の電車は本数がなくてそれはそれで辛いですが。

でも空いてる。満員電車に乗るとかもう無理。

朝は9時に出社、夜はまぁ、最近は8時くらいですかね。

遅刻も無くなりましたね。ちゃんと人間の生活をしている。

帰りはそんなに早くはないですが、めちゃくちゃ遅いわけでもないので

ご飯を作って、コタツに入ってテレビを見ながらだらだらと夜を過ごせる。

ちなみに今の家は東京の住んでた家と比べると

2割くらい安くて部屋は3倍くらい大きいです。(1K→1LDK)

あとこないだカニ食べました。越前カニではなかったですが。

スーパーで刺身が安価で美味しくたべれる。至福。 

エンジニアとして 

やっぱり勉強会、セミナーとかは直で行けないのはちょっと残念。 

こないだあったVue.js fes行きたかった。。。

往復で2万5千円位するのであんまり頻繁に東京はいけないですね。

勉強会という意味ではかの有名な「インフラ勉強会」もありますが。

あれはいろんな意味で感動でしたね。

家にいながら勉強ができる、勉強会に参加できる。

これからも面白い話が聞けるといいなぁと。技術の情報に飢えている。 

仕事の種類

仕事の種類はやっぱりニアショアか地場かってところに限られてきますが、

まぁ、ニアショア系です。

意外と地方にいてもちゃんと設計したり製造したりをやり取りできるもんですね。

仕事の内容は忙しいけどまぁやりがいはありますね。

ちょっともったいないなーと思っているのは

Linuxの知識がほぼ不要なのでこれから忘れそうだなてとこでしょうか。

またいつか使うときのために全部忘れないようにしないとと思っているところです。

 

戻りたい?

地方の不便さに根を上げてしまかと思いきや、

意外ともうしっくりきているので大丈夫そうかなと。

さすがに今年の雪の時はちょっと気が遠くなりそうでしたが。

車中心社会ですが、車の運転もすっかり慣れました。

これからのことは誰にもわからないですが、

せっかくなのでもう少しワークライフバランス強めに生きていきたい所存。

 

seleniumその1

第3回 日本Seleniumユーザーコミュニティ勉強会

http://seleniumjp.connpass.com/event/24206/

上記に参加してます。

メモ※リアルタイムに記載してるので個人的メモです。

   意識違いがあっても気にしないでほしい。

Seleniumデザインパターン & ベストプラクティス■

いきなり作ってはいけない。

→汚いコードになる、メンテナンスが難しくなる。

・UIマップを作る(似たプロパティを作成)

・似た機能をライブラリ化する。

いけてない例

二回実行したらエラーになるテストコード

アンチなデザパタ

record and playbook

自動取得等で撮ったもの→一回だけでメンテナンス難しい。

            すぐ動くが

spaghettiパターン

複数のパターンを依存関係があったりする。

構造化されていない。

不要になったパターンがある場合に関係ないテストもエラーになる

chain linked

テストコード自体はDRYテストパターンで構造化しているが、テストケースかんで依存関係がある

big ball of bud

スパゲッティパターンにハーモニックパターンを適用し、テストコード感は独立している。

ただ、構造化されていないので、何か帰ると全部失敗することがある

保守困難なGod class

改善

DRYテストパターン

必要なコードは1カ所にまとめる。

テストコード重複が減る。

メンバー全体に意識共有が必要

HERMETICテストパターン

依存関係を廃止するパターン

外部への依存関係を廃止する

並行実行等可能になる。

テスト時間の増加や設計の必要が発生する。

ランダム実行順序原則

ランダムに実行することという原則

実例

テスト自動化もテスト駆動かもふくめてやはり方針は一緒

・何度も実行できる

改善パターンとしては

・コメントを自動生成するライブラリを作る

→タイムスタンプを使うこともあるが、UUIDなど組み合わせるなどで一意性を担保する

・振る舞いをテストする

write once test everywhereパターン

test tool independence パターン

■「Selenium実践入門」で学ぶテスト自動化の世界■

レニウムとは

昔はCIってあんまりなかった。

商用のツールが大きかった

開発プロセスから分離された自動テストツールが多かった

(専用エディタ、DB等々)

2011年ごろから

商用とオープンソースの衰退が変わった

CIテストツールが増えた

circleci

travis CI

jenkins

・ユーザ企業からの発信事例が増えた

selenium web driverも安定している

開発プロセスと統合された自動テストが増えているエディタやgitなど密接な連携ができるようになっている。

レニウム実践入門(最近出たよ!)

チートシート作成

APIドキュメントではわからないノウハウが入っている

ファイル代アログやHTTPヘッダなど

マイナー機能も網羅

gebグルービーのラッパーライブラリ

gebでよく見るグルービーの文法もあるよ!

fluentlenium

javaのラッパーライブラリ

サイボウズさんの事例

段階ごとに何を作るか、QAと開発の役割分担を明確にした。

firefoxOS勉強会 3rdに参加してきました

表題の通り、firefoxOSの勉強会に参加してきました。

設営もお手伝いする予定だったのですが、 待ち合わせ等々うまく行かず行ったときにはすでに 準備完了済みで申し訳ない限り。 またの機会があれば。

さて、上記はどうでもいいです。 本題の勉強会についてです。 http://www.zusaar.com/event/924003

以下、タイトルとslideshareの資料と私の所感です。 てか途中で消えてしまってショックなのでかなりはしょります

■タイトル モバイルOSとWeb標準とそれらへのアプローチ

■発表者様 @rkisato様

■資料 http://www.slideshare.net/kisato/osweb

■所感 会社の勉強会でFirefoxOSとTizenについて説明する必要があるので 色々調べていたのですが、ネックになるのがここでした。 Web APIがFirefoxOSは標準じゃないよって感じで W3Cの勧告が終わっておらず結局使えるんだか使えないんだか うーんと思っていたので、なんかすっきり

気になった点としては ・nativeは先んじている点があり、Webはきっと3年後には追いつくだろう (でもnativeが3年後は新たなメリットがあるだろう) ・結局W3Cの勧告が終わってから使うじゃ遅い ・各ベンダがそれぞれWeb APIを作成している ・それぞれでWeb APIを作成されると大変だから俯瞰するまとめ資料があるといい。

■タイトル MikuMikuDance

■発表者様 @inuchin様

■資料 http://www.slideshare.net/TakashiYasukawa1/miku-mikudance-onfxos20130828

■所感 第二回のときにも発表された方です。 もうなんていうかフルスロットル。 前回でも結構な難易度でしたが今回はみんな置いてきぼりの風体でした。 なんというかmikumikudanceをミク以外の画像で3D表示されていました。 ネクサスでは動くけどKEONでは動かないとのこと。 動かない理由は不明らしい。 WebGLについて調べてみたい。

■タイトル Firefox OS起動の仕組みを調べてみた

■発表者様 にしむねあ様

■資料 http://es.slideshare.net/muneakinishimura/firefox-os-25504211

■所感 これが個人的に一番聞きたかった発表。 gonk,gecko,gaiaでそれぞれどう動いているのかが、 いまいちわかってなかったので。 また、Androidの4系をベースにしてるよ、という記載を どこかで聞いた気がするのに該当の情報のwebページがなくて 困ってたのですが、こちらでジェリービーンズをベースにしてるって聞いて 一安心。

GAIA ・起動スクリーン上に表示されるものは全てgaia ・オペレータやメーカー独自に自由に実装が可能 GECKO ・実装の部分はfirefoxブラウザのgeckoと同じ ・改変可能だが改変部分のソースの開示必須のため技術流出懸念? GONK ・apacheのライセンスだから改変できるけど、現実的には困難 ・AndroidLinuxから100KBくらいしか変わっていない。基本的なベースはAndroid

まとめ 起動は下から上へ起動 androidではinit.rcをロードするがFirefoxOSでは起動時、init.b2g.rcもロードする Geckoから上の起動処理はwebブラウザの概念そのまま

■タイトル FirefoxOS update 201308

■発表者様 @dynamitter様

■資料 http://www.slideshare.net/dynamis/firefox-os-updates-201308

■所感 4半期ごとに新しいバージョンがリリースされるとかなり大変そうだなぁ。 という印象。 結局バージョンが細分化して、アプリがこのバージョンでしか動かないとか androidと同じく断片化がおきそうな気がそこはかとなくしている。

戻るボタンが付くようになったけど「使うなよ!使うなよ!」な感じなのが解せない。 だとしたらなぜつけたのか。大人の事情かな。

まとめ FirefoxOS1.01が初版=現行の製品バージョン

1.1が9月中旬にリリース予定 ⇒Simple pushが対応 1.2から四半期毎にリリース(流れ的に12月?) ⇒GonkがAndroidの4.3ベースに  asm.js、Baselineコンパイラ、WebRTC、WebNFCなど対応予定

早く日本でも使える機種が発売するといいねという話。

LT編

■タイトル Firefox OSの同人誌を作ろう!<表紙編>

■発表者様 @shino_merry様 (@mhidaka)様

■資料 みつけられませんでした。。。

■所感 同人誌欲しい。 androidも、進撃の火狐も電子書籍になるらしいので ちょっと欲しい。 上記を買うべきか、FirefoxOSやTizenの本を買うか、 かなり迷いどころ。 夏コミで会に行くべきだった。。。

■タイトル 初めてのFirefoxOSアプリ開発

■発表者様 hotchemi様

■資料 http://sssslide.com/speakerdeck.com/hotchemi/first-firefox-os-dev#1

■所感 作ってみた系でした。 でも、FxOS Stubというテンプレートやら、 Building Blocksとか、 実際に開発に役立ちそうなツール等々、 色々あってかなりあとで調べようと思う事柄が多かったです。

あと、JSでOAuthやらさらっと書いてあるけど 結構難しかったんじゃないかなぁと。 マーケットへ申請したらしいですがかなり時間がかかってるもよう。 アプリケーションのtypeをprivilegedにすると特権アプリのため 結構時間かかるようです。 前回の勉強会でも3時間でアップされたよ、というアプリもあれば、1ヶ月かかったよ、という アプリもあって、実際アプリ作成の際のバージョンアップとかは 気をつけないとiOS以上な気がする。

今回も盛りだくさんでした。 前回よりも結構勉強していたのでまだ前回よりはわかったかなぁと言うところ。 すごい勉強会の開催ってたいへんなんだなぁと感じましたよ。 開催してくださった皆様ありがとうございました。

今日の会話

上司「早乙女みたいなのは一度放流したら帰ってこないからなー。逃がさん。」

私「私魚じゃないんですから」

もちろん仕事の話です。

今月くらいで今のお客様のところから離任なのですが、

私が空きになるということで人売り人買いの

上司たちが「どーこーにーいーれよーかーなー?」みたいな感じらしいです。

一旦違う上司の下につくと次一緒になることがまれですからね。

で、上記のセリフですよ。

あんまり激しくなければどこでもいい。

声かけていただけるうちがはな。