「java」を含む日記 RSS

はてなキーワード: javaとは

2022-03-05

プログラマ必要なのはググる力」"ではありません"

プログラミング必要なのはググる力だ」などとまことしやかに言われます。が、これは嘘なので、プログラミング初心者は(中級者以上も)真に受けないで下さい。そして、プログラミング教育に携わる人は、こういう有害な嘘を広めるのはやめて下さい。

なお、ここでいう「プログラマ」とはプログラミング仕事にする人、または作成したプログラムを公開する人を指しています純粋趣味プログラミングをしており、ソースコードソフトウェアも公開するつもりの無い人は、どんな方法プログラミングをしようと自由です。

プログラマ必要な力

プログラマに(プログラマに限らず)必要なのは自身の専門分野に関する基礎的かつ体系的な知識です。それらが不足していては、「ググる」ことさえままなりません。英語で喩えれば、時制や不規則動詞という概念を知らずに辞書を引いて、「I saw him yesterday. 」の「saw」をのこぎりのことだと思い込むようなものです。要するに、調べたい事項が何に関するものなのかを理解していなければ、調べようがないのです。

それでは、プログラミング初心者にとって必要な基礎知識は具体的にどのようなものでしょうか。

まず当然ですが、自分が使っているプログラミング言語フレームワーク機能は一通り知っている必要があります組み込みデータ型や制御構文はもちろん知らなければいけません。高階関数クラス、非同期処理等の発展的な機能も知る必要があります言語だけではなく、パッケージマネージャタスクランナー単体テストツール等の周辺ツール理解必要です。また、「コードコンプリート」とか「Effective ○○」のような書籍に書いてあるような設計コーディングベストプラクティスも知らなければいけません。要するに、現代プログラミングの「常識」は全て知っている必要があります

そもそも「そういう機能存在する」と認識して初めて「調べる」ことができるのです。列挙型という機能存在を知らずに「Javaで列挙型はどう書くのだろう」と調べることはできません。非同期処理の存在を知らずに、「JavaScriptで非同期処理はどう書くのだろう」と調べることはできません。

初心者は何から学ぶべきか

では、そのような一通りの知識を身に着けるためには、どのようなリソースから学ぶべきでしょうか。

結論から言えば、以下のような文献で学ぶべきでしょう。

逆に、WikipediaQiita等の個人趣味で書いた記事プログラミングスクール記事プログラミングスクール家庭教師etc主体に学ぶのはやめるべきでしょう。

もちろん、特定話題について調べる過程で、非公式情報に行き着くことはあるでしょうが、そこで使用されているライブラリ等の仕様については、必ず公式ドキュメントで裏を取るべきです。

時々、こういった正式ドキュメントを読むことが、初心者にはハードルが高いと言う人がいますしかし、冒頭で述べたようなプログラミング仕事にしようとしている人達が、こういうことができないのはおかしいです。

実際、公式ドキュメントを読むことはそれほど難しいことではありません。有名な言語ライブラリ等のドキュメントであれば、高校程度の数学英語とある程度のコンピュータ操作経験があれば、理解できるように書かれています。その程度の素養も無いのにプログラマ特に職業プログラマ)になろうとすることが、そもそもおかしいのです。運動が苦手なのにプロスポーツ選手になろうとするようなものです。

僕「書いたプロセスは50です」 面接官「ごじゅうっ!?

今日面談にて

面接官「Javaのご経験一年ほどあるとのことですが、プロセス数ではどのくらいですか?」

僕「えっと……(プロセスってなんだっけ? コンポーネント単位?)」

僕「50くらいです」

面接官「ごじゅうっ!?

妙に驚いてたなと思って後で調べたら、プロセス=行数のことだった

流石に3000行ぐらいは書いてるよ……一年間で50行って何だよ……

結果まだだけどもうダメ

2022-03-01

anond:20220301112558

Javaに限らないけど、SIerSEって、言語ライブラリフレームワークDB等々、とにかく古いバージョン使いたがる人いるね。

一応、これまでの資産を生かすためとか実績があるからとか理由はつけるけど。

2022-02-28

java silverかCCNA

どっちとるのがおすすめ

ニートだけどそろそろ家追い出されそう

2022-02-27

[]だけどjavaクラスオブジェクトメソッド勉強してンだが

メソッドで使う戻り値の型と引数の型が別の物になるケースってあるの?

仮にあるとしたら実務ではどういう時に使うん?

全く想像つかねンだわ

2022-02-25

中途未経験IT転職経験者の優しい有識者アドバイスが欲しい

【現状】

来年三十路底辺高卒アラサー

職歴ITと無縁のブルーカラー(派遣社員時代データ入力オペの経験があるので、パソコンと長時間向き合うのは苦痛ではない)

・手先が不器用すぎて今の仕事に適正を感じない&職場の定例作業サボるためにエクセルVBAに触れて楽しさを感じ、年齢的にも転職ラストチャンスなので今後の身の振り方を考える

・とりあえずjava求人数が多いと聞いたので、Java bronze(Silverの取得を目的とした第一目標として)の勉強中。

ITパスポートは取得した。続けて基本情報も取ろうとしたが、午後問題がネックになりそうなので、前述のJava勉強は午後試験対策も含む。Silver取得後、基本情報取得予定。

結婚は考えてない、私生涯独身確定孤独死危機、こっちは黒猫のジジ、一人で食える程度の稼ぎがあればいいので、給与待遇高望みしていない。食いっぱぐれなければ派遣社員でも良い。(SEの友人からは未経験でも低待遇な所は経験積んでも低待遇なので、安売りせずに350万以上の会社を探すように言われた、そんな会社あるん?)

コロナ禍になってから、将来的にはリモートワークが出来る仕事をしたいと考えてる。(親の介護や、コロナ移行の新たな伝染病等を視野に入れて)

【悩み】

転職を考えた場合、他業種に従事しながら勉強することが非効率的だと感じる。さっさとSESに入り込んで就職するべきか、それとも企業実習コース付きの職業訓練に通うべきか。

プログラマとしての就職理想ではあるが、調べてみると年齢的になかなか厳しいらしいので、インフラエンジニア視野に入れている。

・拾ってくれるSESにとりあえず転がり込むか、職業訓練を受けてじっくり勉強してハロワ職員二人三脚就活に挑むのが安牌か、IT経験としては判断がつかない。

俺の立場だったらどうしてるか、色んな意見が欲しい。

2022-02-22

anond:20220222202818

自社サに潜り込んだ。そんで、SES とはおさらばしたよ。もう昔の話だけど、JavaJavaScript とクラウドができたか採用されただけだけど。結局は親の仕事を継ぐために別業界に来ちゃったけど。

2022-02-21

自称プログラマー危険

大手企業管理職にはちょくちょく「プログラム書けますよ」っていう人がいる

だいたいの人は研修Java習ってちょこっとだけ書いたことがあるような人なんだけど

この前、仕事した人が

趣味でも書いてるし全然書ける」

とか言ってて凄いマウント取ってくる人だった

そんで

「君はエディタは何を使ってるの?」

ってvimEmacsかの戦争を起こしそうな質問してきた

最近はもっぱらVS Codeですねー」

「ぶいえすこーど・・・?」

Visual Studio Codeですね。流行ってますよ」

「ふーん。エディタお金は払いたくないなぁ」

とか言っててマジかこいつという気分

他にもVirtualbox使ってるだけでドヤ顔してたりスクレイピング自慢してたりするんだけど

大手企業管理職だとこの程度でも十分マウント取れて立場を確保できるんだろうなぁと思うとちょっと羨ましい

2022-02-12

anond:20220212120540

CとかJavaならコンパイルしたもの確認するのが正しいんだろうなぁ…

anond:20220212110846

ぶっちゃけ俺はどうでもいいんだけど、JAVAじゃなくてJavaって書いたほうが素人に見られないよ

anond:20220212101306

ITパスは取った

一応予定ではJAVAのBRONZE取ったら基本情報受けて午後はJAVA選択する予定だった

[]だけどせっかくだし就職しようと思う

SESなら門戸広いらしいかSESにするとして、一応今JAVA勉強してるんだけど、JavaBronzeって就職してから取るべきか、取る前に就職するべきか迷うわ🤔

2022-02-11

職場を一人で回してた上司心臓の病で倒れた

上司が出勤できなくなり、職場地獄になった。

コロナ禍になってから色々思うことがあって、俺はちょうど退職考えてた所なんだけど(20代最後だしリモートに移行しやすIT系ジョブチェンたかった)、人間関係凄い良い職場だったから急に辞めるって言い辛くなった。

すげえお世話になった上司だし、まだ上司意識戻らないし、このまま去ると上司の一件が一生心の奥底で空回りし続けそうだし、かといって転職するには猶予なさそうだし、お前らに相談しても「IT系はやめとけ」って言われるのが関の山な気がするし、頭が抱えながらjava silverの勉強してます

2022-02-09

その辺の技術者知識で負けないくらいのふるすたっくえんじにあになりたい

機械工学大学で学んだ。機械系4力学さわりだけなら大体やったがもう忘れている。

・切削加工はけがきフライス盤、ボール盤、くらいならできるが複雑な形状は作れる気がしない。そういえば旋盤は使わなかった。耐久性を考えなければ3Dプリンタでなんでも作れるらしいが、3Dプリンタは触ったことがない。

CAD大学の演習でSolidWorksを触った程度。もうすっかり忘れている。手書きの製図とかは調べて思い出せば簡単な形状ならできるかもしれない。

シミュレータANSYSマニュアル通り触った程度。動力学解析とか連成解析とか仕組みは全くわかっていない。

電気工学はだいぶ勉強不足。簡単回路図チップ製品情報を睨めっこしながらINとOUTと接地をどうすればいいかくらいはわかったが、複雑なものになるとダメArduinoとRasberryPiは買ってみたが埃かぶっている。論理回路の読み方はすっかり忘れているが調べれば思い出せると思う。

化学系は全くの無知大学受験で知識は止まっている。物性物理的なところも無知

数値計算PythonMatlabちょっとできる程度。ライブラリを使った行列計算簡単ニュートン法くらいなら書けるが、精度や速さが必要だったり複雑になるとダメ。解析は微分積分常微分方程式を調べて思い出せばできる程度。測度論とか特殊積分かいわゆる大学数学的な道具が必要になる解析はできない。

競技プログラミングちょっとかじったがやめてしまった。むずかしすぎた。

機械学習や統計はなんとなく知識はついているが、手を動かして何か作ったことはない。この前統計検定1級落ちた。

バックエンドSQLをそれなりに書いてとりあえず動くものなら書ける程度。可用性とかパフォーマンスとか考えられるレベルではない。JavaJavaEEを横展開的に書いた程度。理解できている自信はない。保守性高めたりデザインパターン的に綺麗な書き方とかできない。C++は一瞬だけ触ったことがあるが、環境構築ハマった&謎のSegmentation Faultで苦手意識を残したまま。Go?Rust?なにそれおいしそうだね。

クラウドAWSマニュアル通りに使っている程度。1から設計なんてできない。なのでAWSソリューションアーキテクトを勉強中。AzureやFirebaseは触ったこともない。

ネットワーク系とかセキュリティ系は全く勉強不足。応用情報ギリギリ合格できる程度の知識しかない。わかるようにはなりたい。

フロントエンドFlutter勉強中。Flutterむずかしい、どんな言語でもそうだけどチュートリアルから業務レベルまでの乖離ありすぎてよくわからない。javascriptはjQuery一強時代ちょっと書いた程度。VueとかReactとかなにもわからない。TypeScript?なにそれおいしそうだね。

ハード系だったりファームウェア系だったりコンパイラ系は何もわからない。わかるようにはなりたい。

全部中途半端だな、、、

2022-02-07

C言語Java言語Go言語、Rust言語……

人間言葉は「イングリッシュ語」「ジャパニーズ語」と書いたらおかしいと誰でも理解できるのに、プログラミング言語に「言語」をつけるとおかしいというのを理解できる人がめったにいないのはなぜなのか。

2022-01-26

cURLlog4j問題質問がされる件

オープンソースcURLの作者、某大企業から「24時間以内にこの質問に答えるように」との無礼なメールを受け取る - Publickey について思ったことをつらつらと。

概要

log4shell と呼ばれる脆弱性が 2021 年 12 月にあった。これは Java というプログラミング言語プログラムする際に、動作ログを記録するのに非常によく使われるライブラリ log4j にとても危険脆弱性があった。なにがそんなに危険かっていうと

マインクラフトサーバが乗っ取られたとか被害も有名。詳細は Piyolog さんの Log4jの深刻な脆弱性CVE-2021-44228についてまとめてみた - piyolog あたりを参照。

そんなわけで即座に影響範囲脆弱性のない新しいバージョンになっているか調べろ!って IT 関連企業はとてもバタバタしていた。

という背景の中、オープンソースソフトウェアである cURL の作者にとても失礼な log4j問題に関する質問メールが送られてきて、「サポート契約すれば即座に教えてあげますよ」ってかっこいい返しをして盛り上がっている。

cURL とは

cURL (https://github.com/curl/curl]) はオープンソース(以下 OSS)の通信ライブラリコマンドラインツールLinux などのサーバからファイルダウンロードしたりするのにとてもよくつかわれるライブラリ

C言語で書かれている。

ライセンスMIT を参考にした独自ライセンス https://curl.se/docs/copyright.htm]

つっこみどころ

OSS基本的に無保証提供される。そのことはライセンスに明記されている。

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

そんな OSS に対して、

あなたがこのメールを受け取ったのは、■■があなたが開発した製品採用しているためです。私たちはこのメールあなたが受け取ってから24時間以内に、お読みいただいた上でご返答いただくよう要求します」 

といった上から目線メール開発者に送るというのは、IT 企業として無知にもほどがあるといったところ。加えて log4shell 問題名前のとおり log4j脆弱性なので Java でかつ log4j を使ってなければ影響はないのに、C言語でかかれた cURL に問い合わせているので問題を全く理解していない。(Java の j が消えるので log4shell という命名はどうなんだというのは個人的にある。つーか Poodle とか Spectre とかファンシー名前つけてあそんでんじゃねーとも思う。)

しかも緊急性の高い脆弱性に今ごろ質問?って感じ。

なお cURL はどうやら開発者Daniel Stenberg 氏が wolfSSL というところを通じて商用サポート提供しているらしい。 https://curl.se/support.html]

ということで、「サポート契約を結んでいただければ、喜んですべて速やかにお答えしますよ」 というのはネタでもなんでもなく、普通対応

でもこの返しかっこいいしあこがれちゃう

そしてブログに書いてある2回目の返信で、David名前を間違えられたのに対して、Fotune 500 の巨人ということで "Hi Goliath," と返しているのも最高にクールですね。

なんでこんなメールが送られてくるのか

あくま経験想像だけど

こういうフローが事前に規定されていて CVE とか問題が検知されると発動する。このとき担当大丈夫です!って回答するときエビデンス証拠)を求められるのだけど、クソな情セキは自社の担当言葉を信用せず、開発会社からの言質をとれ!って命令するので、くそメールスパムされるという背景があったりする。(担当無知だったりイケイケだと、とにかく下請けやらせればいいというパターンももちろんある)

そして情セキも経営層に報告するのに必要で、経営が0リスク信者だと報告が大変なのはわかる。わかるがそれを説得するのが情セキの仕事やで。

加えて担当レベルになると大手は「そんなん下請けやらせればいいだろ」ってマインドのところが多く、上から目線かつ丸投げすることが多いように思う。

理由

もちろん担当者はピンキリからこうとは限らないけど比較的多い印象。

ま、これ今回 Daniel Stenberg 氏が公表たからばずってるだけで、日本でもしょっちゅう行われているし、Hacker News みると海外でも一般的ムーブのようです。 LogJ4 Security Inquiry – Response Required | Hacker News

ほんと IT 業界地獄だな!

小さいところは

とかであんまり上から目線でこない感じはするけど、これはあくま個人資質なのでやべー人はやべーです。オラオラ系の中小とかやっぱいます。でもこんな細かいことはあんまり聞いてこない。(個人の感想です

この手のメールになんでカチンとくるのかって言えば

ということで、皆ちゃん保守サポート契約して、契約範囲質問しような!

そして金払ってても相手人間なんで、お互い敬意をもって接しような!

その他諸々

Public Key でこの件にからめて記載されている奴について

OSS「faker.js」と「colors.js」の開発者自身ライブラリ意図的改ざん 「ただ働きはもうしない」

https://www.itmedia.co.jp/news/articles/2201/11/news160.html]

ちな、これ詳しくないんだけど、OSS 作者が 「もうただ働きで支援をするつもりはない。これを機に、私に6桁ドルの年間契約書を送るか、プロジェクトを分岐させて他の人にやってもらうかしてほしい」 というのもよくわからないんだよなぁ。

火事財産失ってむしゃくしゃしてやったのかなんなのか。人気 OSS になったのに全然金にならんぜ!ってのが辛いのはわかる。が、OSSライセンス的に支援義務としてやる必要はないので、そんな義務的になってる報告は無視してええんちゃうんと思ってしまう。今回みたいにサポートフィーよこせみたいなスキーム必要だったのかもしれない。

あと個人開発で、善意でこれ便利だろ?って公開しているものに対して、辛辣言葉の心ないバグ報告やら改善要望は心には刺さるので辛いのはある。それで辞めてしまう人も居る。

ブコメフリーライドって書いている人が居るけど、MIT ライセンスでだしてんだから OSS理念である自由ソフトウェアという意味で、再配布、改変、利用は自由でいいんだよ。イヤなら MIT 以外のライセンスでだせばよい。古くは MySQL の Dual ライセンス最近Redis とか Mongo みたいに。

ただ、金欲しいとか大体 Donation 募集したりするとかやってると思うんだけど、そういうのもあったのかなかったのかがよくわからにぃ。ポートフォリオになるので、採用にはつかえるんじゃないのかね?

じゃなきゃ GitHub に Public でコード公開しないと思うんだけどな。いまいちピンとこないのであんまり言及しない。

RedisMongoDB、Kafkaらが相次いで商用サービス制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発

https://www.publickey1.jp/blog/19/redismongodbkafkaaws.html]

で、商用ライセンス問題。これ今回のくそムーブ問題じゃないのここに並べられるのに非常に違和感がある。なんか OSS大企業対立を煽るようなミスリードを誘っているように感じてしまう。

大手クラウドベンダOSSライセンスに則って利用・改変するのは問題がない。つーか儲かってるから金よこせっていうのはちょっと違うんじゃないかなと思う。

オリジナルを開発した会社リスペクトされず、商業的に儲からないってのは、心情的、道義的、人気的にどうなの?クラウドベンダも金払ってあげれば良いんじゃないの?とは思うよ。(2社は協業したけど)

ただ、オープンソースで公開するということは次のような利点を求めてするこって、それがイヤならプロプラで良いわけさね。

Apache License 2.0 とかのライセンスOSS として公表しているものの利用をフリーライド表現するのも、それがなんか嫌儲Evil ってのはちょっと判断できないかなぁ。

大手が自社でメンテできてしまう(できるようにする)というのは経営戦略であり、開発元がクローズにするってのも経営戦略。罵り合い合戦ちょっとなぁという感じ。

OSS理念的に改修した分は元のソースもっとフィードバックしろよってのはあるけど AGPL とかで出してないんだよなぁ。

この辺は賛否両論色々あるので気になったら調べてみて。

以上。ご査収ください。

2022-01-25

アメリカガチシステム開発現場を行動観察

アメリカガチシステム開発現場を行動観察

ここから今日の本題です。

アジャイルコーチとして、アメリカガチの、ガチシステム開発現場に、言うたらエスノグラフィ(行動観察調査)をしてるようなもんです。三流プログラマながら。

そういうリファレンスみたいなことをお伝えしたら、皆さん(Regional Scrum Gathering Tokyo 2022の参加者)が喜んでくれるかなとか思って、内容を構成しています

ただ、僕が知っているのはマイクロソフトだけですし、自分職場だけなので、主語が大きすぎるとか、そう言うのはやめてください。心が傷つくから(笑)

そういうのを踏まえて聞いてください(笑)。全部一次情報で、人から聞いたものではないです。ちょっとだけマネージャ関連のところはマネージャに聞いたところもありますが、基本的には自分経験したことのみで構成します。

ウォーターフォールは使われていない

まず滝。ウォーターフォールがどれぐらい使われてるのかって話ですけど、これは簡単です。ゼロパーセント、本当に見たことないです。

fig

からといって本当に素晴らしいスクラムをみんなやってるかっていうと、そうでもない。どれぐらいプロセスに対してマチュア成熟)かはチーム次第なんだけど、少なくともイテレーティブじゃないのはないし、アップフロントデザイン(開発前の仕様策定)を大量に時間をかけてやってるというのもない。

デザインドキュメントっていうのを書く人もいれば書かない人もいて、書く人が多いですけど、書いても5ページぐらい。

何年か前にサム・グッケンハイマーというDevOpsで有名な人が日本に来たとき日本のお客さんに「ウォーターフォールアジャイルメリットデメリットを教えてください」って聞かれて、彼が「ウォーターフォールは全くメリットがないのでやめておきなさい」って言い放って。

僕が当時そのことをブログに書いたらすごい炎上しましたけど。

私は間違っていた。ごめん。ウォーターフォールは何のメリットも無い - メソッド屋のブログ

分かります。誰も使ってないんだから。やっぱりもうやめといた方がいいですよね、正直話無理があります

開発者それぞれが責任を持って設計実装する

次は、僕のチームがどんな感じで運用されてるかっていうお話します。

マイクロソフトには統一プロセスとかなくて、基本的にチームをどう回すかはチーム次第なんですよ。でもだいたいみんな似たような感じでやってると思います

基本的にはスモールチームです。どんな大きなプロジェクトであっても、スモールチームの集まりって感じです。

自分のチームについては、これがよいやり方かは分からないですが、個人商店みたいなもので。「IC」というのはIndividual Contributorですね、開発者

fig

マネージャからアサインされるバックログ基本的にはふわっとしているので、ICがそれを明確にします。

IC仕様自分明確化して、自分デザインして、インプリメントする。だからそれぞれがレスポンシビリティを持っていて、それぞれが実装をする。

ただ、同じマイクロサービスメンテする役割の人みたいなのがいて、それは「Buddy」(バディ)みたいになっていて、僕の場合は例えば「スケールコントローラー」っていうのを開発していますが、スケールコントローラーのチームでバディになってると、質問というかお互いに話が聞きやすい。すぐに答えてくれやすいですね。

他のチームとかになると、ちょっとバリアがあって。やっぱりみんなそれぞれの仕事をやっているので、プライオリティがそれぞれあるんですよ。だから違うチームの人になると意地悪じゃなくて彼らのレスポンスは1日に1回とかになったりするわけですよね。仕方がないことです。

多分このチームの単位マネージャ管理できる最大以下の人数で構成されてるんじゃないかなと思います。だから本当に自分のチームはそれぞれが個人商店みたいな感じですね。自分レスポンシビリティを持って自分でやる。それは新人であっても一緒です。

司会)ここでちょっと会場から質問が入りました。このチームというのはどういう単位なんでしょうか。プロダクトの単位なのか、どういう単位なのか。

(右下の点線で囲われたところ)このチームはスケールコントローラをやっていて、(右上の3つのICを指して)このあたりはプラットフォームと言って中の基盤みたいなことをやってたりします。

でも基盤もかなり巨大なので、内部でいくつか分かれているんですけど、同じマネージャが見て、みんなを助けている、という感じですね。

司会)隣のチームと、このチームを分けているのは、マネージャが違うだけ?

ええと、大きな機能で分かれているというのがあります。例えば隣のチームはランタイムっていうチームなんで、Azure Functionsのランタイム担当してるんですよ。

給料を上げるのは他人との競争ではなく自分との戦い

さて、エンジニア評価っていうのはどんな感じになってるかっていうと、この図にはマイクロソフトは入っていないのですが、僕の友達に「ゆうさん」っていう人がいて、彼がブログGAFA給与体系みたいなをまとめてくれて、マイクロソフトも似たような感じです。

参考:GAFA米国本社エンジニア年収ジョブレベル別に比較してみた【GoogleAmazonFacebookApple

この図がまさに僕が言いたいことなので、この図を使います

fig

こういう情報って外部に公開されてるので別に隠すことはないし、マイクロソフト給料の額とかも調べられるんですよ。

どういうふうになってるかっていうと、エンジニアとしてランクがあるんですよね、「SDE1」「SDE2」とか。マイクロソフト場合は「シニアソフトウェアエンジニア」があって「プリンシパルエンジニア」がある、みたいな。

このランクの人はこういうことができる、っていうのが明確に定義されていて、それによって給料が決まるんですね。

から自分給料を上げたかったらどうするかっていうと、プロモート(ランク上げ)してもらえるように頑張るって感じです。他の人との戦いじゃないんです。

いまより一つ上のランク仕事をしばらくしていれば、マネージャが「こいつは今はシニアだけどプリンシパル仕事してるからプロモートしよう」とノミネートしてくれる。

そうやってノミネートされたら次のレベルに行けるし、行けなかったら転職をする。転職するとそこでネゴシエーションやすいので、その時に例えばシニアとかプリンシパルになれればその給料がもらえる。

ただ、そういうふうに上に行くとレスポンシビリティも大きくなるので、自分でチョイスする感じですね。自分でチョイスするし、自分との戦いなので。だから他の人と比べて不公平とか全然思わない。

給料を上げたかったら次のレベルになればいい。そういうアクションをとればいいので、あくま自分との戦いって感じになります

マネージャ自分仕事キャリアを助けてくれる

マネージャ存在っていうのは僕的にはすごい(日本と)違ってるように感じています

日本にいるときマネージャって進捗管理課題管理をしたりとかして、プログラマとか開発者を指揮するとかそんなイメージだったんですかね、僕のイメージとしては。

アメリカ場合は、彼らが重視してくれるのは僕のキャリアなんですよ。僕がハッピーかどうかとか、僕がキャリア成功するかっていうのをすごい重視してくれるんです。

fig

これまで何人かマネージャが変わりましたけど、みんなそうでした。マイクロソフトには明確にそう定義されているんです。だからマネージャはみんなそういう動きをしてくれます

マネージャ大事仕事アンブロック」

マネージャのすごく大事仕事に「アンブロック」というのがありますIC、つまり開発者の人がどこかで詰まっている状態になると、マネージャが助けてくれる。ブロックされているものアンブロックしてくれるんです。

fig

例えば、僕が技術的に詰まるとして、誰かに聞かなあかんけど、誰か聞かなあかん人がなかなか答えてくれへんとか、そういうこともあるかもしれないです。

そういうブロックをされる状況が一番生産性を阻害すると思うんですね。

そういうときマネージャアンブロックを手伝ってくれる。ある人に繋いでくれたり、マネージャ経由で他の人が僕に協力してくれたりとか。

マネージャが、このプルリクエストを見たら分かりやすいよと教えてくれるとか。

基本的納期の設定はない。マネージャも急かさな

あと結構面白いのは、少なくとも今の僕の職場では、納期基本的にない感じです。

fig

あるときもあるんですよ。どんなときかっていうと、マイクロソフト最大のイベントの「Build」というのが5月ぐらいにあって、そのキーノートで発表される予定のプロダクトみたいなもの。それが決まったら納期があるのかもしれないですけど。

基本的納期的なものはなくて、できたときが終了なんです。

マネージャも僕に対して「早くしてください」って言ったことは1回もないですね。どっちかというと、僕が「何か遅くてごめんな」とか言ってたら、「いやそんな気にすんなよ」って、「よくあることだよ」とか言われたりする。

これは多分いろんな意味合いがあるんですよね。多分クラウドプラットフォームって、難しいことがいろいろあって、例えば自分が1週間でできるって思ったのに2カ月かかったりとか、ほんまにあるんですよ。

例えば、JVMにあるJarをアタッチするだけに見えた仕事に、僕は半年かかりました。

僕の能力のなさもあるかもしれないですけど、そういういろんな予想外のことが起こる。

やっぱり世界中の人が使うプラットフォームなので、よく分かってない実装とかしたらむちゃくちゃになるんです。ちゃん理解して、より良いアーキテクチャを作らないとひどい目にあう。

から多分マネージャ絶対に急かさないんだと思いますちゃん理解して出来るようになれば、次からは開発が速くなる。だからマネージャとしてはそこで急かさないことによって未来への投資をしてる感じなんじゃないかなと、僕は思ってます

バックログはあり予定もあるが、達成されないこともしょっちゅう

司会)すいません、マネージャの話しに行く前に。質問が集まっていて。納期がないという話に関して皆さんが大混乱に陥っていてですね(笑)納期がないとすると逆に何があるのか。バックログみたいなのがあるのか、ロードマップがあるのか。どういうものを始点に駆動されていて、牛尾さんの仕事が始まるのか。

バックログですね。大きなトピックだけはある。今期はこれをやろう、というのはあるんですよ。

だいたい今期はこれとこれをやっていこうというのがあって、それを荒い粒度ですけどブレイクダウンしたストーリーにして、それをICアサインするんです。

でも、それが今期に達成されないということはしょっちゅう起こります

思ったよりもすごく難しかったとか、あるシステムで改変が入るのでそれまで作れないとか、そういうのがしょっちゅうある。でもそれでそのICが責められることはないです。

変化は見通せないので仕方ないですよね。オーガナイズはされているけど、できなかったときはできないと認める、ということです。

司会)お客様からバックログの元になるような要求がきて、それがリリースされるまでのタイムスパンはどのくらいなんでしょうか?

僕らの場合プロダクトオーナーみたいなチームとしてプロダクトマネージャがあって、バックログの発生元はプロダクトマネージャが決めるのですが、そのインプットソースとしては、彼らの戦略(ストラテジ-)とカスタマフィードバックですね。

あとはハッカソンエンジニアがなにかプロポーズするときもあります

そういうもののなかからプロダクトマネージャが、今期これをやればインパクトがあるんじゃないかと考えるものピックアップされます

で、それが達成されてリリースされるまでの期間は本当にピンキリです。

僕の場合は、早いときは1週間で終わりましたけど、さっきの話みたいに1週間で終わると思ったやつが半年かかったこともあります

僕の上司で僕よりもプログラミングができない人はいない

ではマネージャ技術力の話に進みたいと思います

僕の上にはプリンシパルマネージャがいるんですね、それが日本で言ったら課長みたいなもので、その上に部長みたいなのがいて、で、テクニカルフェロー、これは事業部長みたいな感じです。

彼らの技術力はどんな感じか。

僕の1つ上の上司は、Azure FunctionsのJavaランタイムをイチから書いた人です。

その上の人は、Azure Automationの開発をしている人で別チームなので細かいところまでは知らないのですが、技術力がハンパない、ということだけは分かります

何でかと言うと、どんなテッキー話題を振っても、ものすごく早く深く理解するんです。彼が経験したことのないことであっても、Kubernetesでも、彼がやったことのないPythonとかでも、完璧理解してアーキテクチャの深い話をするんです。

給料が高くて当然だと思いますね。

fig

で、テクニカルフェロー。これはAzureの主要なサービスをイチから書いていたりします。

まり何が言いたいかというと、僕の上司で僕よりもプログラミングができない人なんて一人もいないんです。

そしてこういう人が僕の仕事サポートをしてくれる、応援をしてくれるわけです。

からこんな上司に何かを説得する必要なんてないんです。彼らがテッキーミーティングに参加して、しかも僕らにすごい鋭いアドバイスをくれるんですよ。

皆さんがもしマネージャをやるときには、こういう人たちと世界で戦わないといけない、ということをちょっと意識していただきたいんです。

へーOutlookぽちぽちけがスキルのクソ雑魚ポンコツ年功序列PMになってるようなケースがないのねアメリカ

anond:20220125140214

元増田です。

バラバラ知識でどうやったら完成品ができるのかわからんかった

これは本当に思い当たる節がある。

授業が何の話をしていてどこで役立つのか全く分からなかった。

開発を経験して初めて伏線回収できる。

開発の勉強は取っ掛かりが最も難しいから、手を動かしてモノを作れるようになるには、開発経験のある仲間(を得る運)が絶対必要だと思う。

自分も天性の能力があった訳ではなく、仲間にいろいろ教えてもらった上でやっとできるようになった。

>CとかJAVAとか秀丸で書いて、コマンドプロンプトで実行してみたいな感じやったもん

大学先生って50代や本業プログラマーではない生粋研究者が多いから、授業で秀丸とか勧められるのは本当にあるあるだった。

大学の授業で教えられてる以上、普通大学生はそこに疑問持てないと思う。

大学って(本来は)職業訓練校ではなく純粋教育機関から就職エンジニアとしての実務のことを考えると最適でないカリキュラムがとられてると思う。

卒業生の進路が研究者プログラマーなど様々だから仕方ないかもしれないけど…。

2022-01-24

IT開発企業技術スタックページ見たら明らかなブランドガイドライン違反してる独自カラーに色変えたロゴとかあるよね

Oracleガイドラインに載ってない緑色に染まったJavaロゴ見てリテラシー低っ!!!ってなった

2022-01-21

TeikadeでJavaコード書いてたあの頃がいちばんプログラミングしていた気がする

最近なんかおもんないわ…

三十路職歴なし高卒ニートだけどjava勉強始めた!

頑張って職見つけるぞい!😁

とっかかりとしておらくるのjava bronzeとるぞい!😁

ログイン ユーザー登録
ようこそ ゲスト さん