ゆっくり書くブログ

たまに更新します。iOSエンジニアを目指しています。

『DXEL.1 エンジニアとデザイナーが「いい関係」を築くために』に参加した思い出

突然ですが、2018年下期の個人的目標は『デザインすること』です。きっかけは以下にまとめる勉強会に参加したことなのですが、目標にしたからには参加して思ったことを忘れないように、今更ながら参加レポートを書きます。

参加したきっかけ

開催概要によると、この勉強会は「エンジニアとデザイナーは一緒にお仕事することが多いけど、それぞれ専門が違うのでコミュニケーションが難しいことがあるかもしれない。お互いに伝えたいことを伝え合うことでより良いもの創りができるのでは?」という趣旨のようでした。

engineers-x-designers.connpass.com

自分がデザイナーさんと一緒にお仕事をしている中で、「実装コスト都合でデザインを変えてしまうとき、デザイナーさんはモチベーション下がってないだろうか?」「全部完璧に再現したいけど難しい時、どこで落とし所をつけるのが一番いいのだろう?」「デザイナーさんにとってもっとこうしてほしい!と思うことってなんだろうか?」など、たくさん悩むことがあったので、まさに知りたいことがたくさん聞けそうだ!と思い参加しました。

デザインしたい!と思った発表

実際参加してみて、全ての発表が素晴らしく、今後どうコミュニケーションを取っていくかや何を意識したら良いかのヒントが散りばめられていました。 素晴らしい発表の中でも、「うわーデザインしたい!デザイナーさんの気持ちが知りたい!!」と思うきっかけとなった2つの発表についてまとめます。

約2ヶ月デザイナーとペアプログラミングを行なった話と僕が伝えたいこと @bannzai さん

speakerdeck.com

  • デザイナーさんと2ヶ月間ペアプログラミングをしてiOSアプリの作り方を教えた時のお話
  • 「AutoLayout知りたい」「エンジニアの難しいを理解したい」などの思いがデザイナーさんにあった
  • 「コミュニケーションが楽になりそう」「説明の悩みも減りそう」とエンジニアさんも思った
  • デザイナーさんの興味に合わせて見た目の作り方重視で教え、作るものも一緒に考えた
  • 実際に作ってもらってコミュニケーションがかなり変わった
    • AutoLayout前提の代替案を出してくれる
    • 「文面がおかしい」などの調整をしてPRを出してくれる
  • デザイナーさんの思いを解決することができた
  • お互いに消耗する系の調整をお願いすることができた
  • PRが上がってくるのすごいし嬉しい、楽しい
  • 楽しくないものを減らして、チームで楽しくいいものを作っていこう

この発表を聞いてまず思ったのは、「アプリ作れるようになったデザイナーさん最強だし、デザイナーさんの気持ちを叶えたbannzaiさん最強だ!!!」ということでした。それと同時に、「デザイナーさんにどうやって説明しよう?」「今の伝わったかな?納得してもらえたかな?」と悩みまくっている私にとってこのチームのようになれたら最高!という気持ちになりました。

一方で、これってエンジニアがデザイナーのお仕事を体験することでも、別角度から同じような効果が得られるのでは?と感じました。デザイナーさんの言葉が話せるようになることで、お互いにコミュニケーションが楽になったり、デザインもできる最強のエンジニアになれちゃったりするかも…という気持ちがここで芽生えました。

デザインに込められたエモを知りたい/Emotion in Service Design @_mogaming さん

speakerdeck.com

  • 『企画 → デザイン → 実装 → デザイナーさんに見せる(繰り返し)』という開発手法を取っている
  • 「デザインに込められたエモ(=願い・思い・狙い)を知りたい」と思った
  • エモにあった提案できそう、開発のモチベーションあがりそう
  • デザインのエモを共有してもらう『エモ会』を開いた
  • デザイナーさんからのお話
    • 「空間から想像を掻き立てたいのよ」→ エモい!
    • マテリアルデザインを採用しているのは → 納得感
    • 「エンジニアは足かせではなく翼になるべきだ!」
  • エンジニアさんのお話
    • Sketchの完全トレースってどれくらい意味ある? → 場合による、それなりに似せて後で調節が良い
  • コミュニケーションが活発に取れて分かり合えた、モチベーションアップした

とにかく「エモい」発表でした!エモ会やりたいです、めっちゃやりたいです。私もチームのデザイナーさんのエモをぜひ知りたい!!!と思いました。ただ知りたいだけじゃなく、これを知ることでエモを叶えるためにどんな方法があるかを提案できそう!というところがすごくいいなと感じる発表でした。 そして、「いっそ私もエモを作る側を体験したい!」と思い、更にデザインしたいという気持ちが高まりました。

まとめ

「デザイナーさんとのコミュニケーションをより良くする方法が知りたい」という当初の目的は、全ての発表からたくさんヒントをいただいて達成できました。 エンジニアさんの発表を聞いて、「なるほど、ここは他の方も難しいと感じるのか、代替案を出していいところなのか」と具体的に考えることもできましたし、デザイナーさんの発表を聞いて、「こういうコミュニケーションは辛いんだな、こんなところに気を使っていきたいな」と気付くこともできました。

しかし、上の二つの発表を聞いて、「デザインしたい!!!!!」と思えたのが一番想定外でよかったことだったのでは?と思います。
下期はデザインを少しでも理解することで、自分はもちろんデザイナーさんも楽しく仕事ができるようにしていきたいです。頑張るぞ〜!

最後になりましたが、今までなかなか聞くことができなかったテーマのお話をたくさん聞くことができ、本当にこの勉強会に行ってよかったです。開催してくださった方々ありがとうございます。 次回もあれば是非参加したいです!

24歳になりました

ちょっと前ですが、4月26日で24歳になりました。(お祝いいただいた方ありがとうございました!)

24歳は私の母親が結婚した年なので、自分にとってそれなりに節目の年です。
中高生くらいまでは(割と本気で)24で結婚すると思っていたし、24になったらすごく大人になるもんだと思っていました。

自分にとって節目の年なので、ずっと滞っていたブログを書こうと思います。

24歳やりたいこと

誕生日近くになると、次の1年はこんな風に過ごしたいな〜とぼんやり考えるようになります。 ですが、考えているだけだとだいたい忘れるので、24歳でやりたいことを書いておきます。
(仕事的な2018年の目標・月の目標は別のところで書いているので、それ以外についてです。)

  • わかりやすい文章を書きたい
  • 旅行にたくさん行きたい
  • アプリをたくさん使いたい

この3つがプライベートでやりたいことです。

新しいものにアンテナを張り、知らない場所にたくさん行って、知らないものをたくさん触ってみたいなあと思います。 それで広くなった知識とか新しく発見した気持ちとかを人にわかりやすく伝えられたら最高という気持ちです。

24歳のイトウもよろしくお願いいたします。

シンプルタスク管理アプリ『tasemo』をリリースしました

2018年の目標『アウトプット』の第一弾として、タスク管理アプリ『tasemo』をリリースしました!
リリースしたのは1/30なので1週間以上前ですが、リリースしてから嬉しかったこと・学んだことがあったのでそれを書きます。

tasemoって何?

本当にシンプルなタスク管理アプリです。やることを『Todo』に追加、終わったらタップして『Done』に移動するだけです。

  • ふとやらなきゃいけないことを思いついた
  • とりあえずやることをパッとメモしたい
  • やったかやってないかわかればいい

といったシーンで、日々の細かいタスクをパッと管理できます。

tasemo

tasemo

  • Shizuna Itoh
  • Productivity
  • Free

なんのために出したの?

一言で言うと「自分のため」なのですが、2つ主な理由があります。

1、RxSwiftとRealmを学びたかった

これがこのアプリを作ったきっかけです。
1月に「RxSwiftを本腰入れて勉強するぞ!」と思い、ドキュメントを読む・サンプルを写経するを繰り返しました。月末にはある程度わかってきたので自分でアプリを作ってみようと考えました。
この時、別で作っているアプリにローカルDBが必要となり、Realmをきちんと理解しておきたいという気持ちもありました。
なので、『この2つの技術を使って作れるアプリ』というのが第一条件でした。

2、とにかく簡単にやることをメモするアプリが欲しかった

私は普段手帳の端っこにパッと思いついたことをメモしています。「シャンプー買う」とか、「〇〇ちゃんを遊びに誘う」とかその程度のことです。 ただ毎日手帳を確認するわけではないので、そのまま放置してしまうことが多くありました。

とはいえ、今世の中に出ているタスク管理アプリたちは本当に高性能なものが多く、「手帳の端っこメモ」だけを満たしてくれるアプリは見つかりません…
じゃあメモアプリ使えば?と言われるかもしれませんが、「終わったものと終わってないものはパッと分けたい」という気持ちを満たすメモアプリも見つからず。

本当に簡単に使えるタスク管理アプリを自分で作りたい!しかもこれならRxSwiftとRealm使えるぞ!と考えました。

出してみてわかったこと

「とりあえず出してみる」のが本当に本当に大事!

主に勉強のために作ったアプリだったので、「誰かに使ってもらいたい」という気持ちは正直ほとんどありませんでした。
開発者の方から見たら、UIUXも全然工夫がないし、なんだこれは!と思われるだろうな…くらいに思っていました。

しかし、とりあえず『速くリリース・その後改善』という進め方が良いはず、と思い最低限動く段階でリリースしました。

3日後に何気なく自分のアプリ名を検索してみると、なんと!どなたかが個人で作ったアプリ紹介サイトに記事を出してくださっていました!!しかもそのタイトルが『使いやすいシンプルな付箋的タスク管理アプリ「tasemo」』でした。

自分では「まだ何にもできないし、さすがに人に言えない」と思っていたアプリを「使いやすい」「シンプル」と言ってくださる方がいたこと、それをわざわざ記事にしようと思ってくださったことが本当に嬉しかったです!(アプリ作り始めてから一番嬉しかったかもしれない)

さらに、これを見た友人たちが「便利そうだから使うね!」と連絡をくれたり、「これ使い始めた!こここうしてほしい!」と意見をくれるようになったり、後日アプリ検索サイトにも載っていたりと嬉しいことが続きました。

普段すごく優秀な社内のモバイルエンジニアの方を見て、有名な洗練されたアプリをたくさん見ています。それと比べた時に、「私がたった3日間程度で練習のために作ったアプリを使ってくれる人なんているわけない」 と決めつけていました。
しかし、出してみるとそれに価値を感じてくれる人が何人もいました。そこで少なくとも自分にとっては価値があると思ったから作ったということを思い出しました。

この経験によって、会社の先輩方が大切にされている「アウトプット」と「速」がいかに価値のあるものかを実感しました。

  • 「価値がないかも…」と悩む前にまずアウトプットしてみること
  • 完璧にしてから出すよりも、速く出すこと

この2点がとても大事だということを学ぶことができました!

補足:今後の開発

とはいえ、まだまだ改善の余地がたくさんあるアプリです。
はじめは練習用だったので、そこまで改善を考えてはいなかったのですが、使ってくださる方がいる以上はより良いものにしていきたいと今は思っています。

今後どんどんアップデートしていく予定なので、もし使ってみようかな?と思っていただけたらぜひ使っていただきたいです!
そして、直接でもコメントでもなんでもいいのでご意見いただけると本当に本当に嬉しいです…!速!で反映させていただきます!

(ちなみに、この時に学んだRealmやRxSwiftの技術的な話もいつかまとめようと思っています。)

2017年が終わりました

2017年が終わったので、今年を振り返ろうと思います。

色々思い返していたら、大きな出来事がほぼ綺麗に4Qに分かれていたので一つずつまとめてみました。

ちなみに入社してから今まで受けていた研修のことは、ペパボテックブログ『エンジニア新卒研修を受けました』に書いたので良かったら見てください。

1〜3月

卒業

入学当初は数学教師になりたいと思っていたはずが、4年たったらモバイルアプリエンジニアになっていました。
入ったのが偶然『数学・情報数理学科』という情報にも力を入れた学科だったので、プログラミングに出会うことができました。今思うと本当にこの学科に入って良かったです。
課題があまりにもできなくて友達と大学に泊まり込んだり、テスト前に数学得意な同級生にひたすら質問したのも良い思い出です…

卒業式の時は環境が変わるのがすごく怖かったり、学科やサークルのみんなと離れるのがすごく寂しかったのですが、今でもそれなりにみんな会えてるので嬉しいです。

引っ越し

大学4年間住んでいた千葉の家から今の家に引っ越しました。
千葉の家は偶然サークルの友達が3人同じアパートで、たくさん友達が遊びに来てくれたとても思い出深い家だったのですごく寂しかったです。

今の家は会社の最寄りまで5分、実家の最寄りまで10分ととても交通の便が良いです。そして駅から徒歩3分という素晴らしい立地。大学の時の家は駅徒歩30分で冬の帰り道が本当に辛かったので、毎日駅からの近さに感動しています。
今住んでいる駅にはあまり知り合いがいないので、大学の頃ほど家に人が来たりはしませんが、これからたくさん思い出ができるといいなあと思っています。

4〜6月

入社

社会人になる、ということが本当に大きな変化だと思っていたので、入社式はすごく緊張しました。会社の先輩方がすごく素敵な会を用意してくださってとても嬉しかったのを覚えています。

福岡研修

福岡では、働く上で「仲良くすること」や「まわりの人への思いやり」が大切だということを学ぶことができました。それまで、「こんな技術を身に付けたい」「こんなサービスを作りたい」という目標はたくさんあったのですが、周りとの関わり方をしっかり考えたことはありませんでした。

福岡研修でチームになり話し合いをする中で、周りの気持ちが考えられなくてうまくいかないことがたくさんありました。その時に福岡の先輩方のコミュニケーションの取り方を見ると、常に相手への配慮があり、自分に足りないものはこれだなと感じました。
私も先輩方のように、常に一緒に働いている人たちへの思いやりを忘れずにいようというのはこの研修からずっと目標にしています。

7〜9月

基礎研修

とにかく自分がどれだけエンジニアの常識を知らないかを痛感しました。不安になることもありましたが、ここで基礎的なことをたくさん知ることができて本当に良かったです。

オーストラリア

夏にメルボルンにいる友達のところへ遊びに行きました。野生のペンギンを見たり、汽車の窓枠に座ったり、たくさん楽しいことがありました。ただ、衝撃的なほど、英語が聞き取れなかったです…強制的に英語に触れられるのも海外旅行のいいところなので、来年もどこか行けるといいなあと思います。

10〜12月

OJT

初めて自分の書いたコードがサービスの一部として動いたのが本当に嬉しかったです。それと、OJTを通して今まで関わることがなかったたくさんの社員さんとお話しすることができました。「2週間しかない」と常に焦っていたのであっという間に過ぎてしまいましたが、たくさん助けていただきながらも色々な課題を解決することができ、配属後も頑張っていけるという自信になりました。

アウトプット

社内のテックMTGという主に技術的な内容で15分程度の発表をする社内のイベントで登壇をしたり、会社のブログを書いたりしました。

発表をすることにも文章を書くことにも苦手意識があったので、準備期間はかなり辛かったのですが、色々な方のスライドやブログを見たり、何度も先輩にアドバイスいただくことでなんとかどちらも完成させることができました。
やったことは大したことではないかもしれませんが、今までやりたくなくて逃げてきたことをやり遂げることができたのは良かったです。

たくさんアドバイスしていただいた先輩方、本当にありがとうございました。

2018年

今年を振り返ったので、2018年の目標を少しだけ考えようと思います。

アプリエンジニアになる

2017年、個人的に出そうとしていたアプリいくつかがついにリリースできずに終わってしまったので、来年は必ずリリースします。
ぴよぴよは昨日またリジェクトの連絡が来ました…対応します…)

ありがたいことに業務としてもモバイル開発をさせていただけることになったので、自分で知識をつけるのはもちろん、先輩からたくさん学びながら、2018年末には「アプリエンジニアです!」と自信を持って言えるよう頑張ります。

アウトプットする

上にも書いたように、2017年少しだけアウトプットしてみたところ、この準備過程で自分がやって来たことを丁寧に振り返ることができることに気がつきました。なので、2018年はもっと積極的に発表したり文章を書いたりして行きたいです。
今度はより技術的なことをアウトプットできると良いなと思います。

新年一つ目のアウトプットとして、『師弟登壇2018 【若手エンジニアの集い】』で、今年受けた研修のことをお話しします。 エンジニア職や、色々な会社の研修内容に興味がある方は是非。

最後に

長々と書いてしまいました。読んでいただいてありがとうございます。 来年もどうぞよろしくお願いいたします。

『.gitignore』を一瞬で作るメモ

Swiftでアプリ作ろうとしてた時、 GitHubを使って『.gitignore』ファイルを一瞬で作れることを(今更ながら)発見しました。

『.gitignore』って何?

gitでバージョン管理をする際に、対象から外すファイルを指定するものです。
例えばキャッシュのファイル等、いちいち変更をコミットしたくないファイルを無視できます。

(.gitignoreそのものについての詳細や、書き方などはいろいろと文献があると思うので割愛します。)

簡単に作るには?

まず、GitHub上で様々な言語に対応したテンプレートが公開されています。

GitHub - github/gitignore: A collection of useful .gitignore templates

しかし、これを毎回見なくても自分のリポジトリ内で一瞬でテンプレートを使用できます!!!!!

一瞬で作る方法

  1. GitHub上で、gitignoreを作成したいリポジトリページへ行き、『Create new file』をクリック。 f:id:shizuna-ito:20170606213738p:plain

  2. ファイル名を『.gitignore』と記述する。 f:id:shizuna-ito:20170606214130p:plain

  3. ファイル名の右側に『What to use a .gitignore template?』という記述が現れ、言語を選択できるようになる。
    f:id:shizuna-ito:20170606214519p:plain

  4. 自分の使用する言語(もしくは環境)を選択すると、勝手にテンプレートを適用してくれる

  5. テンプレートから過不足部分を変更する。

  6. コミットメッセージを入力し、『Commit new file』をクリック。

以上の手順で、その言語に対応したテンプレートの.gitignoreファイルを作成できます!
便利!!!!!

今までずっとテンプレート検索してローカルで作成していたのですが、こっちの方がすぐできそうでした。

ただし、テンプレート内容で自分の必要なものがまかなえるかはわからないので、
コメント内容等参考にしつつ、変更や追加は多少すると良いのかなと思いました。

今日の衝撃

はじめに

本当に久しぶりの更新です。この3月に無事大学を卒業し、社会人になりました。
入社してからグループ研修を受けたり、東京研修を終えて福岡に来たりしていますが、その話は福岡から帰ったら書きます。

このことか!と思った

ここ4ヶ月ほど何かと理由をつけてブログの更新をしていませんでした。
今日、同期の入社エントリを見てすごいなーと思い、ふと自分のブログを見てみました。

何気なくダッシュボードをみるとそこにはなんと、「更新日数 3日」の文字がありました。
3日坊主ってこのことか!!!
衝撃です。本当に綺麗に3日でやめることもあるのかと思いました。

というわけで、3日坊主から脱却するためにとりあえず思ったことを書きました。
これからはまた頑張った話とかを書きたいな…書けるかな…という気持ちです。

shibuya.swift#7に参加しました

shibuya.swift7

前回に引き続きshibuya.swiftに参加してきたので、その際のメモをまとめました。

https://shibuya-swift.connpass.com/event/47031/

日時

2017年1月26日(木)19:30〜21:30

会場

株式会社Branding Engineer

カスタムトランザクションやアニメーションを活用した「写真を生かすUI」のサンプル

fumiyasacさん

内容

  • CustomTransitionで遷移時の表現を彩る
  • 外付けクラス;アニメーション時間、アニメーションの実装
  • アニメーション実体を遷移のタイミングで適用する
  • 処理の実体はContainerViewを作成しその中に表示対象入れる
  • navigationがシンプルならアニメーションで目を引くUIに出来る!
  • 必要以上に大きく動きすぎないことを心がける
    • 秒数におけるパラメータの調整
    • 1画面に必要以上にいれすぎない
  • Customransitionの活かし方次第で画面遷移時の様々な表現が可能

業務で絶対必要にならない技術

nakajijapanさん

内容

  • NSTouchBar:いろんなものを動的にボタンにしよう
  • デザインについて
    • 表示したものの中にアクション実装
    • touchbarだけで完結するものはダメ
  • サンプルが充実してる
    • NSTouchBar Catalogが特に良い
  • simulatorが使える(touchBarないmacでも開発できる)
  • 実装
    • storyboardで視覚的に配置が可能
    • コンポーネントは以下のものがある
      • Button(NSCustomTouchBarItem)
      • GroupButton
      • Popover
      • Scrubber(collectionViewみたいなもの)
      • SharingService(SNSシェア用のコンポーネント
  • はまったポイント
    • 録画機能つけようとしたが、録画している時はフォーカスが別のアプリになってしまうのでストップできなかった
  • それ単体で完了する動作に適用するのが良い

merciless refactoring

チェンさん(@vc7, @vince78718)

内容

途中からSwiftLint

kuroyamさん

内容

  • SwiftLint:コードの品質チェックツール
  • 『「謎のスペースあります」「;が付いてます」などの無駄な修正→生産性落ちる』を防ぐ
  • minneのSwift化:6月から、約3割、メンバー同士で教えあう
  • SwiftLint入れた→warning999+(改行した時に空行に自動で入るスペースエラーなど)
  • 対策
    • 一旦全てのruleをdisable
    • スペースの有無、コロンの位置、末尾セミコロンの削除などのruleを一つずつ有効にして修正
  • はまったところ
    • 0.14.0からSwift3対応(minneはSwift2.3なので0.13.xを入れた)
    • バージョンみんなで合わせないと誰かのところだけワーニングみたいになる
  • コードを改善していく中でdisableにしたrule有効化していく
  • SwiftLintが絶対正しいわけじゃない。 チームの方針を優先するべき時もある。
  • 良かったこと
    • 細かい間違いでレビューする必要なくなった
    • SwiftLintのワーニングが見やすいように他のワーニングがでないようにしようという雰囲気が出てきた