もっと楽しくAndroidエンジニア！！（になろう）

### 前ふり
八流エンジニアの自分がAndroidエンジニアになり早５年になりました。
本記事はこれから新しくAndroidエンジニアになる方、なりたい方、
Androidエンジニア1,2年生くらいの方をターゲットとして用意しました。

業務委託としていくつかのプロダクトにジョインしたこともあり、多くのAndroidエンジニアにお会いしてきました。
（Androidエンジニアはエンジニア界隈ではサファリパークのラッキーくらい珍しいです）
正直デバイスエンジニアって希少なせいか、技術オバケみたいな人が多い印象がありますが、
勇気を持ってお届けします。

#### 軽めの自己紹介
僕はいままでAndroidだけでも
新規アプリ案件・フルリプレイス案件・大規模のアプリの運用保守案件・新規ライブラリ開発案件などしてました。
ときにはCI/CDの構築や運用などもしてきました（詳しくはない）。
他にも、R&Dやら、分析系の業務や、基盤チームに入るやらなんか色々です。
おぼろげな記憶ですがサーバーサイドも10年くらいやってました。

## （挫折しない！）エンジニアのモチベーション
当たり前ですがAndroidエンジニアの僕たちはエンジニアです。
僕たちエンジニアのモチベーションは品質に繋がります。
プライベートの不安や、職場の不安があればそちらに意識が割かれどうしても集中力は割かれ品質は下がります。

ではどのようにモチベーションを維持すればいいでしょうか？

* アジャイルマインドを学ぶ
    * （アジャイルをやれというわけではないです）
* 承認欲求ドリブンをやめる
    * 名著「嫌われる勇気」にもあるように他者評価によるモチベーションは維持できません。
    * 金銭に対する報酬型も個人的にはやめた方がいいです。「楽しく」が続き辛いです。
* 自分以外のエンジニアの情報を仕入れる
    * 勉強会に参加

ここで
アジャイルって何だよ？ドリブン？何？
結局勉強会かよ？ってなると思います。怖くないですし意識高いわけではないです。

`わからないことが自然と怖い`だけです。少しずつ無くして慣れていきましょう。

知ることは楽しいことです。
恐れず新しいことに触れて`楽しい`というモチベーションを高めていきましょう。

## （嫌われない）仕事の考え方

Androidエンジニアは良くも悪くも規模感が小さいこともあり開発して終わりが多く
CI/CD触ったことなかったり、ただの開発する人になったりしてしまいます。
実はこれ`"かなり悲しい"`ことで、
楽しさも見いだせなくなり市場価値としても上がらない状態になり、しまいには同業者に嫌われるエンジニアになります。
なにより、最後の同業者に嫌われるがかなり終わっております。（綺麗に言えてない）

長くなりましたが、ここでこれらに対する`３つの打開策`を紹介します。

* 新しい技術トレンドに関心を持つ
* 運用保守の観点をもつ
* 関わっているプロダクトに当事者意識を持つ

この中で一番必要なのだと思うのは`運用保守の観点`です。
コレを持つだけで同業者からもステークホルダーからも信頼されます。

最近多くの大規模Androidプロダクトが悲惨な目にあっていると思うのですが、
これは昔、開発環境が悪く、Androidの情報が少ない中開発を進めたり、
サーバーサイドエンジニアがJavaを書けるという一点のみで、Androidを開発した背景があるからです。
また、知り合いのAndroidエンジニアの中には、新規アプリを開発してはまた次の新規アプリ開発に行く、
という方もいて、そもそも運用保守の観点を持てない人もいました。

重ねて伝えますが、現在多くのプロダクトが辛い思いをしていることを知っています。
「こんな思いは二度としないぞ！」と多くのエンジニアが開発以外のことを勉強している時代です。
開発スキルはもちろんですが、開発以外に関心を持てる余裕があるといいと思います。


## いわゆる"いいエンジニア"になる方法
先に上げた３つの打開策のうちの２つ`新しい技術トレンドに関心を持つ`と`運用保守の観点をもつ`は、
インプットをすることで解決できます。

そこで僕がやっている具体的な方法を紹介します。

* イベントに参加する！
    * GDG DevFestに参加する
    * DroidKaigiに参加する
    * compassなどで気になるセッションに参加する
* テキスト情報を仕入れる
    * Android Developers Japan Blogを読む
    * TwitterでQiitaでAndroidの情報を読む


### inputが楽しい状態にする
単純に新しいこと仕入れてすぐ業務に生かせる環境があったら本当に最高です。
`楽しさ`に繋がります。
新しいことを知ることは楽しいことという感覚が身につくといいかもしれませんね。

残りの`当事者意識`に関しては、持っていたほうが得です。
大変じゃない？と思ってしまうかもしれませんが、`楽しさ`に繋がります。
圧倒的当事者意識とまでは言いませんが、持っておいて損はないです。
傲慢にも１つのプロダクトが自分のおかげで回っている、くらいに思えるようになるのが成長した証だと僕は思っています。

### これだけ...です...!
はい。
先に申し上げましたが八流エンジニアの私は参加するのみです。５年間ただただ参加しています。
日々人生かけてエンジニアしている方々からまとまった情報を得れる機会というのはとても貴重です。
個人的にはGDGとDroidkaigiだけは必須で参加してほしいです。
登壇者の方はアウトプットを色々していますので、qiitaやgithub、twitterを見てみるといいかもしれません。

勉強会ですが平日は厳しい！お金がかかる！等あるかもしれません。
安心しててください。企業の中には休みもお金もくれる会社はあります。
プロダクトにとってエンジニアのインプットが大切なことと理解してくれる会社はあります。
~~（うちの会社は・・・やってるわけない・・・）~~

中にはオンラインサロンに参加する人やyoutubeで勉強する人もいるとは思います。
が、自分は一切やってないのでわからないです。
技術書は１年に１，２冊読む程度です。
podcastを漁るのもいいかもしれません。

### 最後に
色々それっぽいこと言いました。
惰性90%の身体で生まれた僕はセルフコントロールしきれません。
ですので、日々勉強を継続するのは難しいです。
そんな時は組織の中で検査できる体制を作れるといいですよ。
アジャイルの中の考え方ですが「透明・検査・適応」の検査はやったほうがいいです。
組織（チーム）づくりで、アジャイルマインドを持っていない場合は学んで取り組んで行きましょう。

本当のエンジニア初学者の方には、この１冊をお勧めします。
他の方も紹介していると思いますが、自分もこの本を読んだことある人と仕事したいなと感じています。
> プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則
https://www.amazon.co.jp/dp/B071V7MY82/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

案件の状況にもよりますが、
言語知識がないとか、FW（フレームワーク）の知識がないとか、ライブラリの知識がないというのは問題にはなりません。
誰もが初学者だったことを知っているからです。
不安がらず、わからないものはわからない。できないものはできないと伝えましょう。

以上でーす。
かー
どっか良い企業からスカウト来ねーかなー（はなほじ）