Java/AWS系のスキルを伸ばしたい人に相談されたので答えた内容のメモ

これをやったら成長するんじゃないか、というものに関して恐縮ですが課題ベースで選ばせていただきました。
インフラ・ネットワークに対する知識をAWSに活用する
– AWSの公式ブログを読む
– 年収1000万クラスのエキスパートが書いてるので間違いない
– AWSの機能紹介みたいな記事も多いが、「どんなサービスでどんなAWSのソリューションを用いているか」という記事を見ると数あるAWSサービスの概略が見えてくるかも
– 例: https://aws.amazon.com/jp/blogs/startup/saoy2019_finalist_stockmark/
– AWSデベロッパーセンターを読む
– AWSは専門用語まみれな分、公式の資料が体系化してまとまっている事がほとんどなので公式のドキュメントを眺めながら無料枠で遊んでいるうちに覚える、なんてことも
https://aws.amazon.com/jp/developer/
– AWSの無料枠で何か作ってみる
– AWS破産みたいな単語もあるので敷居の高さはありますが、スキルセットにAWSを持ちたいならば軽く運用したり、お勉強代と割り切って何か作ってみるのも良いかもJavaの実践的なスキルを身につける
– Japan Spring User Group(JSUG)の活動を見る
– Springの日本のユーザーコミュニティ。Springに対する技術的な向き合い方や実践的なノウハウの共有イベントが定期的に開催されている
https://twitter.com/japan_spring
– Java Championの動向を知る
– Javaの世界的なリードエンジニアがJavaとどう付き合っているのか、といった所から実際のJavaのコード(だいたいGitHubやってる)まで、学べる事は多いです
頭と手を高速で動かす運動をする
– 「何か体系的な実装スキルが身について、それを思考レベルで実装できる」事は転職先や自分の業務と関係なく今後のキャリアに役立つはずです。
– 自然言語処理100本ノック(Python) https://nlp100.github.io/ja/
– AtCoder(プログラミングコンテスト、頭の体操) https://atcoder.jp/
– Deeplearning4J(Javaで深層学習のアルゴリズムが書かれている) https://deeplearning4j.org/
これは限りなく余計なおせっかいで人によってはキャリアを捻じ曲げるような意見だったのだけれど、「運用系はオンプレ/Javaは実務的なスキルがあまり無い」といった悩みを持っている人に対して20分くらいアレコレ考えた内容を闇に葬るのももったいないのでメモとして残しておく。だいたい実務歴2年の人に向けて書いた。

実務未経験ならある程度のリスクもあれど「自習の方法が分からない」ならプログラミングスクールも有りなんじゃないかと思っていて、じゃあ少しキャリアはあるけど結局どのあたりから手を付ければ知識が身につくのか?という悩みは結構多いらしい。
  • 実務経験が少ないうちにマネジメントに片足を突っ込んでしまい、実務に対するスキルの研鑽が出来ない
    • 本当に趣味として出来るコーディング(達成感のあるチャレンジ)をやる
    • 副業が許されている環境であれば、ClowdWorksやランサーズ等で実装役として働く経験を積む
  • 業務委託や他社システムの改修がメインだとサーバー運用系の知識や経験が身につかない
    • AWS/GCP/VPSで自分で立てて、何か「手入れのコストの低い」Webサービスを自分で持ってみる
      • 診断メーカーもどき
      • 自動更新系のキュレーションサイト(EC系のスクレイピング+アフィリエイトとアドネットワーク)
    • CrowdWorksのクラウド構築・運用系案件とか
「結局実務や実装に関する意義の無い開発は自分を持ち上げない」という意見を持っており、それが「プログラミングスクールの卒業者のポートフォリオがしょぼい」話に繋がってくると思っている。

そんな中で「知識はプロフェッショナルからのみ取り入れる」「実装スキルを身に着けたいなら成果が決まっている中でどれだけ速く実装できるかという課題感をもって取り組めるものを選ぶ」という点を重視して書いてみたのでした。