taisablog

taisa's engineer blog

「 振り返り 」 一覧

no image

2019年前半の振り返り

2019/07/08   -未分類
 

2019年が半年を過ぎたので振り返ります。 2019年の抱負 本業頑張るのはもとより、2019年の抱負がある程度固まってきたので書いておきます。 これまでAWSを自分で多く触るケースはあまりありませんでしたが、GCPを使うケースが増えてきたので今年からはAWSではなくGCPをたくさん触っていこうと思います。 … Google Cloud Platformを使う Firebaseを触る機会があって、FirestoreやCloud Functionsを扱いました。あとGCEに migro instance を使って sandbox ページ( http://sandbox.taisablog.com/)を立ててみたりしました。 FirebaseもGCEもかなりいい感じなので今後は個人でちょくちょく使っていくと思います。 Firebase Cloud Firestore 使い方の勘ドコロ 数学をやる 間に合わせ程度に以下の投稿にある内容をやりました。次はまたしばらく必要になりそうなタイミングになったら進めてみようと思います。 小学校6年間の算数から中学3年間の数学までを復習してみた 宅建をとる いろいろと調べたり少しやってみたりしたところ、以下をやればなんとか合格できる気がしましたが状況が変わってきたので受験するのはやめました。 宅建みやざき塾でテキストを購入(テキストだけの購入は不可) 何回か講義を受ける 3月頃にはじめて10月に向けて通勤時間などを活用して約300時間くらい費やす 直前に対策講義を受ける 体力をつける 相変わらず走れていませんが軽い筋トレをしつつ体重は4キロ程減らせました。あと3キロ減が目標です。 ブログ記事 1月から6月末までで11記事でした。年間月2記事で24記事を目安にしているので1記事程足りないペースでした。 2018年振り返り、プレイングマネージャーは難しく 2019年の抱負 PHPの empty, isset, is_null の違いをしっかり理解する PHPライブラリをPackagistに登録する方法 GitLabのprivateなPHPライブラリをcomposer installするには C言語初級者がMacのコンソールで実行可能なテトリスを作ってみた PHPによるDBUnit超入門 私はこうしてGoogleに入社/退社しました系記事まとめ 小学校6年間の算数から中学3年間の数学までを復習してみた Firebase Cloud Firestore 使い方の勘ドコロ Go言語 ORMライブラリ GORMの使い方 7月の記事 Go言語 GORM+GinでTODOリストを作ってみた Go言語 GORM+GinでTODOリストのAPIを作ってみた 目標の見直し 2019年後半は以下をがっちり身に着けることを目標にします。目標の詳細については違うタイミングで少しブレイクダウンする予定です。 技術系 JavaScript(Vue.js) Go CSS / Stylus AWS その他 健康体を維持する / 体力をつける

2018年振り返り、プレイングマネージャーは難しく

2019/01/09   -ポエム
 

2018年は1月から正式に新しい環境で働き出した年になりました。また7月に2人目の子供が生まれたのも大きなイベントの1つとなりました。そんな中、個人としてはある程度やれたかなと思うところもありますが、逆に色々と反省することも多くあった年になりました。 主目標 業務として 業務として立てた目標は、今年1年で目安としていたところまで到達することができたように思います。ただその反面、目標に固執するあまり他のことに手が回らず結果的に周りに迷惑を掛けてしまいました。この点においては反省すべき点でしたが、昨年自分の活動していたことは今年につながることだと信じてやっていたことでもあるので、今年を大事にしていこうと思います。 CTOとして 選択と集中 7月に2人目が生まれたことで1人目以上に個人の時間がなくなりました。なので2人目が生まれてから、まずはコミュニティ活動を抑えることにしました。また、業務でも自分のやることは限定していたつもりでしたが、それでもいつのまにか設計・レビュー・マネージメント・運用・外部連携等やることが増えていき上記にもあるように周りに迷惑をかけてしまいました。 プレイングマネージャーは難しい 前職でも現職でもやっていて毎回思うことですが、プレイングマネージャーは難しいです。クライアントと調整しながら、社内マネージメントしながらどちらにおいても自分がコードを書くことを並行して進めると、自分でもびっくりするようなイージーミスをしてしまったりします。こういう場合、自分が思っている以上に割り切って余裕をもってタスクをこなすのが必要なんだと思います。 速度と品質担保 速度と品質については、色々と考えた上で薄い自社フレームワークを導入しました。これ自体はよかったと思いますが、導入時に不具合を起こしてしまったこともあり、早い段階だったとはいえイケイケゴーゴーでいきすぎたなと反省しました。 チームビルディング その時にあった開発体制をと思い、自分がスクラムマスター役をやり開発メンバーには開発に専念してもらうというゆるい感じのスクラムを導入しました。ただそれはチームにとっては逆効果(メンバーに開発タスクを丸投げのような形)になってしまいました。前職で最後1年間ガッチリスクラムでやっていたこともあり、同じ感覚で進めてしまっていたのがよくなかったです。リモートが多いというのもありますが、コミュニケーションは大事だなとあらためて思いました。 エンジニアリング 自分と後輩エンジニアだけでやっていたことですが、サブプロジェクト的に社内WebフレームワークをGitLab内で公開、社内ツールをGitHubに公開するなどの取り込みをしました。このような取り組みは好きで以前からやっていることで、効果が大きいことも多いので続けていこう思います。 学習技術は機械学習 今年からAIPyハンズオン勉強会を不定期で開催しました。参加人数は少ないもののなんとか4回程実施できたのでよかったと思います。 https://aipy.connpass.com/ ブログ継続 ブログは最低月1(年12投稿)、最高月2(年24投稿)以上が目標でしたが今年は18投稿にとどまりました。 英語でコミュニケーションできるように この件は別投稿に書いたのでスキップします。 2018年の英語振り返り 毎年英語力向上を目指して何かしらやったりやめたりしていますが、今年の英語はどうだったかなと振り返ってみます。そもそも海外で働く予定もなく日々英語でコミュニケーションを取るという状況にはすぐにはならないのでゆるゆるとやっています。とはいえ年1で海外に行った時に簡単なコミュニケーションくらいはできるようになりたいというのが今年の目標でした。 今年は5月にシンガポールへ行きました。PyCon … 株に投資をする 年始めにやる予定でしたが、マイナンバーカードが紛失していて再発行手続きするまで時間があいてしまったため口座開設までにとどまりました。口座は楽天銀行、イオン銀行に開設しました。少しずつ資金を集めてやってみようと思います。 執筆 共著ではあるものの個人的には今年最大の取り組みとも言えるものでした。関係者には感謝です。 React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発 コニュニティ活動 今年は、マレーシアで開催されたPyCon APACに参加し、参加レポートをgihyoさんに寄稿することができました。 「PyCon APAC 2018 in Singapore」参加レポート 2018年5月31日(木)~6月2日(土)にかけて行われた「PyCon APAC 2018 in Singapore」。後半の2日間に行われたカンファレンスデイの様子やセッション以外の現地滞在の様子などを,当日参加したメンバーが2回にわたってお届けします。 まとめ 新しいことに挑戦することができたり色々失敗したりと多くのことが経験できた年になりました。また、業界関係ない人と飲むことが多く普通に色んな人と楽しく飲んだり遊んだりできたのも今までにない感じで楽しく過ごせました。今年も健康と安全第一になるだけ楽しくやっていきたいと思います。

no image

2017年の振り返り

2017/12/31   -未分類
 ,

2017年も残りわずかとなったので年を越してしまう前に振り返る。結論から言うと今年は近年稀に見るいい年になった。というのも今年立てた目標や中長期的に立てていた目標を達成することができたから。今年立てた目標はこちら。これらの内容について簡単に振り返る。 2017年の抱負 2017年になって1Qが終わろうとしているけど、年末に考えた2017年の抱負を書こうと思う。 2017年の抱負 いろんなことはできないので3つ+サブ目標で考えた。 生産性 ビックデータ ビジネス・インテリジェンス サブ目標 フロントエンド 英語 生産性 これまでも開発の生産性を意識した活動をしてきたが、全員の開発効率アップ、品質アップのような守備的な活動が多かった。けど今年はスクラム体制にして攻撃的な面も加えていきたいと思う。 去年までの振り返り 去年までは2人1組のような小さなチームで開発し、できたらリリースするというサイクルで開発していたが、以下の問題が細かく積み重なってきていた。(サービスの規模がそういった状況に陥る状況にまで成長したとも言える。) マネージャーの管理コストが高い 要件定義して開発に仕事を振る側の負担が大きい 開発者が指示待ちになる 開発した機能が属人的になる 開発メンバーが他のメンバーが何をしているか把握できない(チーム感がない) 開発・営業・運用で足並みを揃えるのが難しい これらの問題を一気に解決する為に2017年からはスクラム体制で開発を進めることした。 スクラムのチーム構成 最初のスクラムチームの構成は以下の7人体制 プロダクトオーナー スクラムマスター(自分) 開発チーム デザイナー兼コーダー 中堅エンジニア 2~3年目のベトナムメンバー(2人) 新卒エンジニア スクラムを始めるあたり読んだ資料と書籍 Wikipedia まず最初に見たのがWikipedia。スクラム自体はある程度決まった型があるので、ここを見るだけでも大体の流れを確認することができた。また、スクラムガイドがリンクされているので合わせて読んだ(こちらも17ページ程)。 SCRUM BOOT CAMP THE BOOK 次に読んだのがこちら この本はスクラムについての概要はわかったけど実際どんな風に進めたらよいかが分からないという方におすすめ。実際の流れを漫画を交えて説明してるので読みやすいし一連のスクラムの流れがわかる。個人的にはスクラムガイドとこの本を読めばスクラムを開始できると思う。 スクラム実践入門 他の書籍も一応見ておこうと思って呼んだのがこちら 生産性 今年の大きな目標の柱として、生産性というのをあげていた。これまでも意識していたことではあるが今年は具体的にスクラムという取り組みを取り入れて実践した。生産性を意識する背景は、主に人口減少・人手不足などがある。とにかく時間をかけて仕事すれば結果がついてくるという時代ではなくなっている今、あたらめて生産性を意識して仕事することにした。結果的にはスクラムマスターとして約1年間スクラム開発をし、一定の成果を出すことができたと思う。スクラムがどんなものか、スクラムを導入するとどんな結果が得られるかが把握できたのでこれからに生かせる経験をすることができた。 ビッグデータ ビッグデータに関する知見はほぼ皆無に等しかったが、今年はAWSを利用してビッグデータに関するサービスをやろうと考えていた。そんな折ちょうどその文脈で新規サービスを立ち上げることになり約5ヶ月位かけてスクラム体制で開発をした。ビッグデータに関しては、AWSサミットに参加したことでどのようなアーキテクチャにすればよいかが考えられたのが大きかった。具体的にはデータレイクという手法を取り入れた。サービスについてもスクラム体制がなんとか機能してスケジュールを大きくはずすことはなかった。実際ビッグデータに関してはデータがたくさんたまるというところまではいけなかったが、それでも1年前にはまったくなかった経験と知見を得ることができた。 ビジネス・インテリジェンス ビジネス・インテリジェンスに関しては、ビッグデータとほぼ同様の文脈なので特記することはないが、ただビッグデータを扱うだけでなくしっかり示唆を出せるものをつくることができた。ただ、機械学習やデータサイエンスといったことを取り入れるところまでは至らなかったのでこれらは来年の主軸の目標にする。 フロントエンド フロントエンドは、今年ようやく本格的にモダンな技術を取り入れることを決意してチーム一丸となって脱jQueryを果たした。業務外でVueJS、React、Angularの勉強会などを行い最終的にはVueJSを採用した。VueJSでやったことをすべてjQueryでやってたらめっちゃ大変な上にサービスの更新も大変だっただろうと思う。本当に導入できてよかった。 英語 英語までは絶対手が回らないだろうと思ってサブ目標にしていたが、案の定英語は他と比べると一番手をつけることができなかった。ただ、2017年の目標は以下の2つだったのでこれについてはしっかり達成することができた。そして2018年は2017年よりも時間を割いて、英語を少しでも楽に使えるようにしたいと考えている。 英語の勉強をするというよりは英語を使う環境に身をおける状態にする 英語の技術系podcastを聞く まとめ ここに書いていない中長期的に立てていた目標も今年で達成することができたので総じて2017年は良い年になった。無理に目標を立てすぎないというのがよかったのだと思う。自分の体調やキャパを考えるとできることはどうしても限られてしまうのでその中でできることを来年も考えてやっていこうと思う。

no image

2016年の振り返り

2017/03/22   -未分類
 ,

2017年になってもう3ヶ月が過ぎようとしているけど、今年初投稿なので今更ながら2016年の振り返りをする。 2016年前半 2016年前半はWeb業界に来て初めてWebサービスの受託開発をした。5年前にSIerからWeb業界に来て以来初めての受託開発だった。プロジェクト前半は若手エンジニア2人いたが、色々な都合により後半は自分1人になりそこからは1人最後までやることになった。 SIerにいた頃、小さめのプロジェクトであれば自分一人でやることはあったが、今回のような大きめのプロジェクトで0→1のサービス開発をマネージメントしながら開発するというのは初めてだった。ローンチ後は何事もなく稼働しているのでよくやったと思えたもののWebサービスの受託開発の難しさを思い知った。 Laravelについて 開発はPHP+Laravelを使った。初めて使ったフレームワークだったが、日本語ドキュメントがしっかりしているのでほぼそれだけで開発を進めることができた。 https://readouble.com/laravel/5.1/ja/installation.html 主なプラグインは以下を使った。 laravel-debugbar laravel-ide-helper Intellij Laravel-Plugin 2016年後半 サービス開発に戻り、戻ってからは主に以下のことをやった。 決済システム導入 CI環境の再整備 ステージング環境の整備と追加 PHPUnit+Phakeによるユニットテストの本格導入 サーバのオートスケール 決済システム導入 これは、受託開発が都合により伸びた為、設計までして他のメンバーに引き継ぐすることになってしまったが、その後、また引き継ぎ開発を進めていった。「決済」といったシステムを扱ったことで良い経験ができたように思う。 CI環境の再整備 サービスの拡大、人の入れ替わり、増加により以前自分で立てたJenkinsのCI環境が整備されずひどい状況になりつつあったので整備した。Jenkins2へのバージョンアップもこのタイミングで行った。 ステージング環境の整備と追加 人員に対してステージング環境があきらかに枯渇していたので再整備と追加をした。具体的にはシステムだけでなく運用者もリリース前テストで利用する為、ステージング環境利用待ちのようなものが発生している状況だった。また、いくつかのサービスがつながっていることもあり環境がブラックボックス化していたのを再構築しドキュメント化しつつ環境を増やした。テスト環境大事。 PHPUnit+Phakeによるユニットテストの本格導入 UnitTestも以前は書くよう推奨していたが形骸化している状況だった。また、新卒メンバーが入ってそもそもテストが書けないメンバーもいる状況だった。これに対して、ハンズオンを開催しある程度書けるところまで持っていき、それ以降はプロダクト開発時にフォローするという形で最終的にはメンバー全員が必ずUnitTestを書くというところまで持っていくことができた。また、テストが増える従って、修正時の確認コストが減り品質が上がってきている実感が得られた。 サーバのオートスケール アクセスが増え、ときに突発的に高負荷が来るという事象が増えてきて、その度にサーバをたて、デプロイスクリプトに新しいサーバを追加しデプロイするということをやっていた。それもいい加減面倒だし事前アナウンスがなければ対応ができないので、常にS3に最新ソースを配置しておき、あとは負荷検知により自動的にサーバを増やすという仕組みを導入した。 社外活動とアウトプット 2015年末に子供が生まれたことと2016年の前半の受託開発に忙殺されたことで全くできなかった。2017年は落ち着いて来たこともあり活動を増やす予定。 まとめ 2016年後半の取り組みに関しては、2017年から始めるスクラムの取り組みの為の下準備という意味合いもあり、テストや環境系の整備をメインに行った。これにより2017年からの取り組みをスムーズに始められたと思う。