radioc@?

レディオキャットハテナ

【勉強会メモ】関西Javaエンジニアの会(関ジャバ) '18 4月度

kanjava.connpass.com

  • 日時:2018/04/13(金) 19:00 〜 21:00
  • 場所:株式会社ロックオン大阪本社

今回のテーマは「キャリア」ということで、それぞれの発表者の考えるエンジニアとしての生きざまが感じられるエモい内容でした。現場では経歴のもっと細かい話やブラックな経験談とか転職で年収がどれくらい変わったとか生々しい話がたくさん聞けて非常に面白かったのですが、あまり細かい話を書いてご本人に迷惑がかかっても良くないので詳細は割愛(じゅくちょーさんの話は全体の流れが重要な気がしたのであまり削れてませんが…)。

エンジニアリングとマネジメント

役職としてのマネジメントに携わるかどうかは別としてエンジニアもマネジメントスキルは重要だと改めて感じました。どの発表でも経歴の過程でビジネスとのバランスを取りながらエンジニアリングを考えて行動されています。コードを書いて生きて「いきたい」ではなくコードを書いていきて「いく」なのはセルフマネジメントしていくということでもあると感じました。

エンジニアリングのマネジメントを適切に行うには、エンジニアとしての勘が働かないと難しい

これは完全に同意です。個人的にはこれだけ変化が激しい業界でエンジニアリングとマネジメントの溝が広がると、発表の中にもあった雇用形態の問題などでエンジニアが疲弊していた十数年前のと同じような問題が別の形で表出するのではないかと危機感を持っています。エンジニアリングとマネジメントの溝を埋めるためにもマネジメント領域でエンジニア的ハックが広がっていけばいいなと思いました。

セルフブランディング

3人ともコミュニティ活動だけでなく個人として執筆活動や大きなセミナーなどの登壇もされているので、キャリア形成と言いつつセルフブランディングに近い話でもあると感じました。言葉にすると大げさかもしれませんが、世の中的に「個」の時代が来るとも言われているので、ひとりひとりが「個」を確立するという視点で今回の内容を考えてみるのも良いかもしれません。そのうえで、行き詰まったときには無意識にはめてしまった枠を取り外すことでキャリアとしても前進していけるのかもしれません。


コードを書いて生きてきた/コードを書いて生きていく

@backpaper0 さん

20代前半

  • プログラマが一番えらい
  • 業務SEとかマネージャ必要なの?
  • 常に新しいことにチャレンジしたい
  • 自分はずっとプログラマー

20代後半

  • 業務SEとかマネージャもすごい人がいる
  • 顧客要望やチームのスキルに合わせて技術選定
  • GitHubの草生やし活動(400日ぐらい)
  • プログラマでいたい

30代前半(今)

  • コードを書くだけではだめ
  • 周りに影響を与えていかないとだめ
  • それでも自分はずっとコードを書いていたい

現在の考え

  • 自分の目的:楽しくコードを書く
  • 仕事の目的:お客様への価値を届ける
  • 仕事において楽しくコードを書くという手段を取るためにどうすれば良いかを考え続ける
  • 今いる環境を変えるor異なる環境へ移る
  • 場をコントロールするのが大事

お金の話

  • 給料を上げるぞ
  • ここ2年ぐらいは給料を上げようと強く思っていた
  • コミュニティでキラキラしてるマンで夢を与えるために給料を上げるぞ

給与ふりかえり

平均年収.jpでチェック

heikinnenshu.jp

ずっとコードを書いて生きていきたいプログラマでもそれなりの収入を得てやっていける

マネジメントスキルとは技術である - エンジニア出身マネージャは管理職業務をハックする -

@daiksy さん

これまでのキャリア

  • 現場から剥がされそうになったら転職

現在

  • 完全にマネージャ
  • プロダクションコードをほとんど書いていない
    • 考え方の変化、環境の変化

管理職とは

  • 管理する人

プレイングマネージャーは管理職?

  • 厳密に言うと違うと思っている(個人的見解)
  • 自分でなんとかできるから管理できなくても良い

管理職とは

  • 自分で手を動かさないが事業やプロダクトに対して責任を持つ人
  • 責任対象に対して自分で手を動かさないからこそマネージメントする必要がある

管理職は素質に左右される?

  • コミュニケーション能力に優れている?
  • 優れたリーダーシップを持っている?

マネジメントは素質に左右されるものではない

  • コミュニケーションにもスキルがある
  • マネジメントには必要な技術がある

マネジメントスキルは 後天的に習得可能な技術 である

心境の変化

  • 以前
    • エンジニアであり続けたい
    • 管理職はエンジニアではない
  • 現在
    • マネジメントスキルは技術
    • エンジニアとして管理職であることもできるのではないか

エンジニアリング環境の急激な変化

  • エンジニアリングのマネジメントを適切に行うには、エンジニアとしての勘が働かないと難しい
  • 多岐にわたるソフトウェア開発に対してそれぞれ異なるマネジメントのアプローチが必要
    • Web開発と同じ考え方で機械学習の開発はマネジメントできない

進捗管理

  • 不確実性をどう制御していくか?
  • ベロシティの偏差を算出して、完了までのスケジュールをうまくいった場合と最悪のケースの両方を想定して予測

マネジメントの学習領域

まとめ

  • マネジメントは後天的に習得可能
  • 技術なのでエンジニア的視点でハックできる
  • ハックするためには知識を身につける必要がある
  • 技術習得のための学習はどんなものでもあれ楽しい

思い込みから逃れた先には、可能性がある - キャリア、コミュニティ、おまけにお金

@jyukutyo さん

客先常駐時代

  • 派遣契約面などで難しい環境
    • 力が欲しかった
    • このままでは毎回プロジェクトは失敗し自分は酷使される
    • しかし所詮1,2年目
    • 学ぶための下地もできていない
  • まずは資格をとりまくった
    • 5週間連続で別々の資格に合格
  • 技術記事を書いた
  • COBOLJavaへ転職
    • 執筆者がいる会社を選んだ
  • 上司から記事の募集⇒とりあえず手をあげる
    • 書くと決まってから調べまくった
  • これはプロジェクトで自分の身を守ることにもなる
    • ⇒待遇がよくなる
  • 技術書を読みまくる
    • 年8万の出費

人生を変えた1冊

実践J2EEシステムデザイン

実践J2EEシステムデザイン

実践J2EEシステムデザイン

DIとSpringにのめり込む

プロジェクトではフレームワークアーキテクチャ選定へ

  • よいポジションよい待遇で入ればプロジェクトの悲しみを減らせる
  • 理不尽を防げる

マネジメントの書籍も読み始める

身近なところは変えられてもそれ以上は…

  • どのプロジェクトにもまともなエンジニア/マネージャは少なかった
  • このまま自分のエンジニア人生を捧げるの…?

このころWeb系企業が浸透

  • すでにやっている会社に入ろう
  • 書籍で読んだことを活かす

XPベースのアジャイル開発をしている事業会社へ転職

  • アジャイルチームのリーダーになった
  • すべてはサービスのために
    • 企画者と話しビジネス要件と技術要件をあわせてバックログを整備
    • 週間のイテレーションを回し
    • ビルドプロセスを改善
    • 障害対応とパフォチュー

主体的に仕事をやれる幸せ

  • 自分の能力を広げる
  • 自分の能力を会社に寄せる

両方大事

何も迷うことはないはずだったが考えもしない方向に進んだ

  • 関ジャバ6年目
  • Java Day Tokyo 2015登壇
  • 関ジャバつまりコミュニティから自分の世界が勝手に広がった
  • いろんな人から話を聞いてJavaOneへ行く
    • Java One San Fransisco 2015
    • 衝撃を受ける

めちゃくちゃエンジニアを楽しんでいる世界中の人たち

  • 当たり前のように英語でスピーカーをしている日本人たち
    • 関ジャバ発起人の1人もやっている
  • めっちゃ楽しげ
    • プロジェクトやメンバーを守る⇒自分を押し殺していた
  • 僕もそうなりたい
    • Devoxx US 2017
    • 15分の英語セッション

セッションが採択されてから猛烈に英語習得

  • 通勤時、発音CDを口付さみ
  • NHK語学のストリーミングを聴きまくる
  • 有給を取って1週間フィリピンの語学学校へ
  • 海外エンジニアと交流してさらに自分を高めたい
  • 自分を取り巻く状況が勝手に良い方向に変わっていく
  • JOnsen
    • 英語で議論でボコボコにされる
    • 復活する時に前より強くなれる

2015年からすでに5回海外カンファレンスへ

  • 打算的にやっているわけではない
  • 単にそのほうが面白そう

エンジニア人生というより人生そのものを豊かに

  • 2017年会社では課長に
  • マネジメント研修なるものが控え
  • 課メンバーの育成も仕事の中心に

そういうのが仕事でもそこまで嫌じゃない

  • でも関ジャバ代表としてこんな普通じゃない経験をさせてもらっていわゆる日本企業の管理職になってしまっていいのか?

経歴を公開してオファーを待ってみよう

  • 企業から直接メッセージをもらったときやりとりを始める
  • エンジニアとしての自分の力量には自信がない
  • こんな経験してる人も日本にはまだ少ない
  • 日本の普通じゃないキャリアを歩んでみよう

⇒現職へ転職

まとめ

  • 今の自分の少しだけ外にあることを(かなり後悔しながら)なんとかこなす
  • 背伸びしてギリギリできるかな?をやってみる
    • 背伸び=今の自分の外、だけどすぐ横にあること
  • 失敗しても実は失うものなんてない
  • そうやって少し外を繰り返していくといつの間にか選択肢が増える

「いろんな選択肢のうちのこれしかない」と「やることがこれしかない」は全然意味が違う

無意識にはめた自分への枠を取ろう!

Java News - Java 10リリース!

@jyukutyo さん

Java SE10リリース

  • 3/20
  • non LTSリリース

varガイドライン:Style Guidelines for Local Variable Type Inference in Java

orablogs-jp.blogspot.jp

Graal

おそらくこの内容

www.youtube.com

JVMCI

リリースサイクルの話、ライセンスの話、バージョンアップの変更点などは2月の関ジャバの記事を参照。

radiocat.hatenablog.com