「java」を含む日記 RSS

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

2021-04-28

anond:20210428195317

MSLinuxオープンソースJAVA出資してた理由は今ならわかる

Linux多種多様な規格を乱立させて特定の一つにリソースが集中しないようにしてライバルの出現自体をなくすため

2021-04-26

JavaのOOコンサルってイキリバカばっかだな

もう20年前の古い腐った話を押し付けるなよ

2021-04-25

いわゆる「お金持ち」の家の子息が普段何をしているか

我が家明治期に興隆した商家で、現在も大枠を考えればモノやコトを売ることで生計をなしている。
いわゆる華族であったが、興隆の経過で江戸期以前の地主武家などと婚姻を経て結びついており、家系図を遡れば皇室とも血筋上の繋がりがあると解釈ができる。

さて、そんな家に生まれた筆者だが正直に言えば高校生くらいまで我が家がそんな家だとは気付いておらず、多少なりとも大きな家に住めている理由として両親や祖父母も「ご先祖様が努力の人だったから」と言っていたので、現在我が家はそこまでお金持ちではなくご先祖様が増やした資産恩恵を受けているのだ程度にしか思っていなかった。ご先祖様すげぇなと。
実際、筆者自身の子供の頃の夢はプロアーチャーであったので全く家業意識していなかった。

我が家はなんか他の家と違うぞ?と気付き始めたのは高校生になった時期で、父や祖父に連れられて社会科見学のような小旅行を頻繁にやるようになってからだった。
自動車工場や造船所、食品工場アパレル工場精密機器工場製紙工場など工業系を中心になぜか見学に連れられ、その工場担当者らしき壮年男性から説明を聞くということを頻繁にさせられた。
今思い出せば、父や祖父はそのくらいの時期から「AはBから生産されていて流通として……」のような話をよくしてくれるようになっていた。
社会科見学のような小旅行面白かったが、なぜ急にそんなことをやるようになったのかという疑問は晴れなかった。まさかそれが後継者教育の一環だったとは。

自分自身の興味と祖父の勧めもあり、大学ではアーチェリーを続けつつもロジスティクスを中心に学ばせてもらい、継続されていた社会科見学が非常に研究へ役立つようになっていた。
そして我が家歴史を完全に知ったのは大学3年生の正月に「就職はどうするのか?」と言われた際に「参考になるかはわからないが我が家家業説明しようか」のように教えられてからだった。
遡れば初代が江戸期に商家として暖簾分けを受け、現在まで続く家業の基盤を明治期に作ることができたとのこと。そこから登場する人名歴史の授業で習うような人々であり、まるで実感のなかった筆者は驚愕するしかなかった。

そんな家の子である筆者が普段何をしているのか?と言えば、某物流企業から商社を経て、現在は父から「そろそろ戻ってこい」と言われ、法人化している我が家の持ち企業へ務めさせていただいている。
筆者の専攻がロジスティクスなので新社会人の頃から数理的に物流計算するのが主な仕事で、笑ってしまうかも知れないが何処へ行くにもCASIO関数電卓ポケットへ入れている。現在関数電卓ソーラーパネル電池駆動するのでスマホなんかよりもよっぽど信頼度が高い。
弊社が集めたデータ取引からロジスティクスに関するデータを貰い、それを数理的に損益分岐点とのその確率をはじき出すというものだが、概算ではなく精密に計算する際はコンピューターに詳しい増田の皆様にも馴染み深いであろうAWSさくらを利用している。
ちなみに筆者のスマホAndroidiPhoneにはまともなターミナルがないので、ふと出先で大きな計算リソース必要になったときAWSSSHしにくい。まぁノートPC使えよって話だが。

もちろん計算するだけでなく、創作物イメージされやすいであろう会食などで人脈交流をしたりもするが、実際のところ筆者の世代ともなるとLINEZoomSlackなどで友人たちと交流している頻度のほうが多い。
正直LINEZoomは昨今の流れもあり使いたくないのだが友人たちは経営学部卒などの文系が多いので、どうもセキュアなコミュニケーションツール活用が上手く行かない。
可能ならば弊社で利用しているオフィススイートMicrosoft office 365やGoogle Workspaceへ移行したいのだが、一部の従業員の皆様の反発から上手く行ってない。後継者といっても実務へ強権を奮えるほど実力はないのだ。筆者の管轄研究グループは即座にSlackを導入できたり出来たのに。う〜む……。
流れのまま愚痴を言えば、例えば総務などはミドルハイエンド性能なChromebookで十分じゃないか?社内ツールもいつまでJavaベースのを使っているのか。HTML5ベースに移行してしまえば互換性の問題Windows使い続ける理由もないんだが。いまだ動いてる骨董品メインフレームをそろそろ引退させてあげようよ。
父は「実務に口を出すべきでない」と言うが、多少筆者の趣味も入ってはいもの環境を整えるのも我々の役目ではないだろうか。
強権を奮って一気にモダンコンピューティング環境にしたい。営業にも今のガラケーから最新のGoogle Pixel 5あたりのスマホを配ってあげるのに。

というようなことを青臭く思っているのだが、実際の後継者なんてこんなもんである。実権を握れるまでおとなしくしているしか無い。
従業員の皆様には申し訳ないが、おそらく筆者にはご先祖様ほどの商才は無いんだろう。苦労させてごめんね。

2021-04-22

anond:20210422120910

PHP技術者認定試験やら、Java認定試験やら、DB認定試験やら、ベンダー試験活用して合格してないと使わないというふうにすればいいと言ってるけど、賛同されたことがない。

入門書も読んだことのないコピペプログラマやら、DBリファレンスも見たことないのにテーブル設計やってるSEとか、最低限の水準に達してないのは排除できるのに。

anond:20210422114439

そんなことは無いんだが

スマホアプリの開発が「Javaだし、ポインタがないか簡単でしょ?」とか思ってるタイプはいるんだろうな

java正規表現使うとき

\が増えまくるやつ

設計したやつ頭おかしくない?

2021-04-21

anond:20210421173523

だよねこツッコミ待ち?の記事だよね

後で読む的にブクマ伸びてるんだろうけど

素でこの知識披露したらかなり痛い人になりそう


一応



2021-04-20

anond:20210420215442

そういうステップアップできるレール引いてくれる会社だとありがたいんだがなぁ。

java研修一か月やらされた後COBOL経験5年として官公庁勤務になった奴の話聞いて血の気引いたわ。

2021-04-18

anond:20210417204658

だいたいどんな技術レガシーと化して、新しい人がほとんど入ってこなくなるけども現場ではそこそこ使われているという状態になるのでそこまで勉強する必要はなくなる。

例えばC/C++, Java, Linux, Windowsあたりの技術って昔はみんな一生懸命勉強してたけど、今の20代の人は一通り使えるだけでいいやと思っててあまり深く学ばないのでオールエンジニア老害と言われながらでしゃばるチャンスは多い。

教育格差がその人の人生を決めるのだから論には納得してやらん

納得できないのではない、納得してやらんのだ。

北海道人口100人にも満たない集落にある漁師の家に生まれ、将来は家を継いで世間知らずであり現金収入は少ないが食うのに困らない一生を過ごす。
そんな選択が俺にはあった。

だけれど、そんな人生に納得できなかった俺は中学卒業と共に実家を飛び出した。

小学校同級生3人、自転車で2時間先にある中学校は何とか1学年2クラスを作れるという少子高齢が進む地域
中学では腕っぷしの強くヤンチャな生徒、つまりは不良が幅を効かせているような文化圏はてブで都会住みの連中がイメージするステレオタイプなド田舎と言って良い。

その当時の大人世界では義務教育パソコンを習わせたほうが良いという機運が高まり、各校へパソコン配備されるようになってきた時代
しかしながらド田舎公立高校でそのような先進的な機械活用されることはなく、暇を持て余したガキだった俺のオモチャへとなるのがせいぜいだった。

田舎には田舎ルールがある。
それは例えば「中学では後輩は先輩に喧嘩で勝ってはいけない」というのもルールの1つだが、クソ真面目にも早朝から起きて実家の漁を手伝い、授業が終われば部活動野球へ日々精を出していた俺の身体能力は、年上であっても体育の授業をサボるような不良連中より劣っているわけもなかった。
田舎の古い価値観を持った父親のありがたい教育方針であった「男がナメられるんじゃねぇ」のもと、先輩たちが売ってきた喧嘩を買いまくり、不良の先輩たちを不登校へ追いやってしまった結果、晴れて俺は学校からハブられ中学野球試合にも出られなくなってしまった(野球部には所属してて毎日練習はしていた。先輩たちは卒業まで学校に来なかったが)。

ハブられてしまったため日々暇な時間を過ごすようになった俺が出会ったのが図書室の本と、前述したパソコンだった。
最初プリインストールされていたソフトで遊んでいるだけだったが、教員書類ワープロ専用機で作る時代だったのでパソコン知識がなく管理がザルで、俺はそのパソコンパソコン通信とインターネット接続できることに気が付いてしまった。

Yahooからリンクサイトを経由し、電子掲示板という存在を知った俺は日々電子掲示板サイトアクセスし、誰とは知らない人たちと会話をして時間を潰した。
話題には事欠かなかったし、専門性の高い話題が出ると「ちょっと待ってね。ここ図書室なんだ」と言ってソレ関連の本を引っ張り出して、パソコンの先に居るお兄さんなのかお姉さんなのか知らないが、興味深い話を日々聴くことが出来た。

増田クン、これからPerl時代だよ」
「いやボク最近やっと思い通りBASIC書けるようになってCの勉強中なんですけど」
「もちろんCは大事だよマイコンに使えるし。でもさサービス提供するならPerlが向く。DoCoMoiモードだって裏ではPerlだよ」
「ボクの住んでるとこピッチ圏外ばっかり、田舎だもん」
iモードピッチじゃないよ周波帯が違う」

特にコンピュータ関連の話は面白かった。
ゲーム自作できると教えて貰い、プログラミングを始めるようになり、BASICやC、PerlPHPJavaをよく触るようになった。
図書室が我が王国のようになり、問題児図書室に籠もっていてくれているし、図書室通いの結果から試験の成績も悪くないどころかトップクラスであり教員たちもずっと放置してくれた。

そんな生活の中で知れたのは学区に依存しない高校存在だった。
寮もしくはアパートなどで一人暮らしをしつつ通える高校が世の中には存在することを知ったのだ。
これだと直感的に思った俺は親父へ直談判することにした。
俺の故郷未来はないと薄々勘付いていて、正直なところ青二才だったため「じゃあ俺がいい大学入って故郷へ錦を飾れば良いじゃん」と出稼ぎ感覚でいた。
親父は俺の話を無言で最後まで聞いていた。

親父の回答は「勝手しろ

今思えば何をアホなこと話してるんだと思ったが、一応は国立高校だったため学費はそこまで高くなく、何だかんだで小さなから家業を手伝っていた俺がバイトしながら高校へ通うことに関しては古い価値観の「苦労は買ってでもしろ」的な面から了承されたのかなと思う。
おそらく一番困らせたのは高校入学祝いに当時の最新パソコン引越し先でインターネット回線を引く費用を求めたことくらいだったのではないかと思う。

右も左もわからない状況から一人暮らしを始め、訛りのひどさにクラスでイジられ、バイト先に勤めている大学生の兄ちゃんたちに世話してもらいながらも毎日新しい体験をして過ごした。
世の中は広く世間の移り変わりは早い。着メロ和音が鳴るしディスプレイカラー携帯電話電波田舎にまで届く。

甲子園を目指したが強豪校はやっぱり強く負けてしまい、人生で初めて望んだ結果が得られないことを経験した。
しかしそれでも俺は何となくコレは真理なんじゃないかと思い始めていた。
そして国立大学合格したことを期にコレは真理だと確信したんだ。

人一倍努力人生を豊かにする。

今の俺は別に故郷へ錦を飾れたわけでない。
しかし俺は不良が風を肩で切るようなド田舎出身脳筋漁師の子だ。根本は変わってないと思っている。
それが今やG社に勤めているって言うんだから人一倍努力は裏切らねぇなと。

自分が持ってないものが欲しいならば努力するしか方法がない。
学歴が欲しいならば年収が欲しいならば地位が欲しいならば努力するしかないんだよ。
誰もお前のために人生なんかかけてくれない。
お前の人生にかけてくれるのはお前自身しか居ないんだよ。

俺はネット上で忌み嫌われる努力教徒だろう。
でもこれだけは忘れてくれるな。
俺の献身的努力を捧げた先は俺自身だ。

2021-04-17

人前で喋るのが苦手すぎる

高卒三十路手前だが今まで派遣社員として裏方で電話対応のない事務員として働いていた。

タッチタイピングExcelVBA含む)は比較的得意だったので、いい加減手に職つけたいと思っていた所、幸運な事にIT企業に拾ってもらった。

入社してから1ヶ月研修があり、javaを使い簡単アプリケーションを作るという内容なのだが、最終日に役員に向けて発表があるらしい。これが憂鬱すぎて研修内容が頭に入らなくなってしまった。

というのも、俺は新卒公務員をしていた。昔から人前で話すのが苦手だったが、数をこなせばこなす程慣れるどころか自意識が強まり喋れなくなってしまい、精神を壊してしまった。最終的には精神科のお世話になって仕事を辞めた。数年のスパンを置いて2度ほどwais-3を受けたが、不安事があると俺は動作性知能言語性知能共にIQ20程下がるるしい。

周りの人間も「人前で話すの嫌だなぁ」とは言っていたけど、俺は嫌すぎて目がチカチカするし光がすごい白く感じるしずっと動悸がするし雑談する余裕も無くなるし色んな音が耳元で聞こえてくるし食欲もなるし朝動けなくなる。

プログラミング自体はまあまあ楽しかったし一生コーダーで良いのだが、俺みたいなタイプ人間ってどういう生存戦略を立てて生きているんだろう。

2021-04-11

経験大学1・2年生がエンジニアとして就職するための現実的な話

エンジニアって給料高いしホワイトらしいじゃん。大学卒業したらエンジニアになりたいかプログラミング勉強しよう」と考えてるタイプの、大学1~2年生に向けた話を書こうと思う。

学部や専攻が情報系じゃない奴を想定している。

実のところ、お前らはギリギリなんとかなる可能性があるんだが、詐欺みたいな情報商材やスクールに騙されてやすい層でもある。

頼むから騙されないでくれ。見ていて心が痛む。


これ以外の層、例えば転職しようとしてる奴らには少なくとも増田からまともなアドバイスはできないが、参考になるところはあるかもしれない。

あと、情報系の奴は素直にそのままCSを学べ。学部勉強を頑張ってくれ。

お前らが目指すべき道

大学時代で長期インターンアルバイト経験を積み、現場ノウハウを身に着けてから新卒Webベンチャー給与は並程度だが、ホワイトで今後のキャリアにも繋がる)に就職


これが唯一の正解というわけじゃないが、現実的路線の1つとして推しておく。要は完全未経験の人がまともなエンジニア職に就くのは難しいため、未経験状態を脱してから就活に臨もうというプランだ。

今回はこれを達成するための話をする。

前提知識を得ること

まず基本的にお前らははカモ扱いされている。前提知識があれば詐欺みたいなスクールに引っかからなくて済むので最低限でいいので把握しろ

年収1000万円は無理だぞ

エンジニア給料が他の仕事より高い部類だと思う。だが、それでも平均で500~600万円台だ。普通に1000万円もらえると思ってた奴はまずこの現実を受け止めろ。

平均でこれなんだから、未経験者が1000万円で雇用されることなどまずありえない。

何の仕事でもいいから雇う立場を考えてみろ。未経験者に1000万円出すか?冷静になって考えれば分かると思うけどな。


もちろん、働きやすさや将来性などを鑑みるエンジニア職を目指す意味はあると思うが、夢を見すぎないことは大事だ。

フリーランスに夢を見るな

年収1000万とはいかなくても、フリーランスなら高収入かつ自分のペースで働けてウハウハなんでしょ?」とかいう奴も時々見かける。

馬鹿を言うな。これも未経験者には無理なんだよ。未経験者が目指すべきは就職、これ一本で考えろ。


至極当然の話だが、フリーランスはどこかの会社から仕事発注してもらうことで報酬をもらっている。発注者にとって魅力的な人材じゃないと仕事はもらえない。

仕事発注する会社はどういうフリーランスを選びたいと思う?そりゃ経験者だよな。スクール自習くらいの経験しかない未経験者に頼むわけねーじゃん。

IT業界人手不足から経験者にもチャンスが」とか言われてるけどさ、それは「ちゃんとしたスキルを持った人材が足りてない」という意味であって、人がいれば誰でもいいという訳じゃないからな。

日曜大工犬小屋しか作ったことないような人に家を建ててほしくないだろ?エンジニアもそれと同じだよ。


とにかく、いくら社会就活が嫌でも「フリーランスになればいい」という甘言だけは真に受けるな。痛い目を見るぞ。

会社エンジニアの分類を知ってくれ

ここはフロントエンドエンジニアバックエンドエンジニアとかそういう話じゃない。

お前ら、「稼げて楽な仕事」「将来性がありそう」だと思ったかエンジニアを目指してるんだよな。まずはその関心に基づいた分類を知ったほうがいい。

IT企業には大まかに言って、自社でサービス企画・開発してリリースしてる企業(自社開発企業)と、顧客から受託開発をする企業の2つに分けられる。

みんなが憧れるキラキラホワイトエンジニアは大抵が自社開発企業だ。受託開発の会社は俗に言うIT土方になることが多いが、どちらも職種としては「ITエンジニア」扱いされる。

エンジニア」という雑なカテゴリしか仕事認識してないやつは、上手く騙されてブラック受託開発の会社に吸い込まれていく。


当たり前だが、ブラックな方が人手不足なので未経験でも就職やすい。

そこで、「就職保証」をやっているプログラミングスクールの多くは、キラキラホワイトエンジニアイメージで人を集めておいて、ブラック会社に送り込むようなことをやっているケースがある。

最低でもこれには引っかからないようにしてくれ。

ちなみにブラックなところは延々と単純作業をやらされ、転職するためのITスキルすらつかない例もある。

そういう環境に放り込まれると基本的には詰むので、1回でも足を踏み入れてはいけない。


もちろん自社開発が100%ホワイト受託開発が100%ブラックだとは言わない。

それぞれ例外はあるし、あくまで傾向にすぎないが、受託開発と聞いたら一旦は身構えるくらいの心構えではいてほしい。

適性

プログラミングスクールは「未経験でも頑張れば誰にでも出来る」としか言わないし、広告でも未経験者の体験談を列挙して誰にでもできるような雰囲気を醸し出している。

こういうのを見ると「自分も出来るのでは」と思うかもしれないが、残念ながら物事には適性というものがある。プログラミングは万人が習得できる奇跡のシロモノでもなんでもない。


頑張っているのに何も習得できない人も実際に多く存在する。逆に未経験なのに恐ろしい勢いで理解する人もいる。これらは単純に適性の問題であるしか言いようがない。

体育が苦手、歌が苦手、数学が苦手、古文が苦手、それと同じで、プログラミングが苦手というだけだ。

苦手な奴が苦しみながら長時間頑張ったとしても、得意な奴には楽勝で追い抜かされている。そんなことを仕事にするメリットはあるのか?

他の分野については得意・不得意が存在することを受け入れているはずなのに、何故かプログラミングだけは「誰でも短期間で出来るはず」と思いこんでいる人が多い。

これはプログラミングスクールPR手段詐欺まがいなのが悪いのかもしれないけどな。


もし適性がなかった場合プログラミング自体に魅力を感じているわけじゃなければ素直にエンジニア以外の道を進む方がよい。ITに関心があるなら、IT企業企画職みたいな携わり方もある。

別にエンジニアになれなくたって高給・ホワイト仕事はいくらでもある。なんならエンジニアを超える待遇仕事だってあるわけだ。

適性がないのに無理してエンジニアになろうとしたところで、先程書いたようなブラック企業しか入れないかもしれない。それよりは別職種ホワイトものを探すほうが絶対に良いと思う。

どんな仕事でも就活突破したら終わりではない。その先にその仕事が続くことを考えると、自分の得意分野で勝負するほうが良いだろう。

プログラミング習得

文法覚えて終わりだと勘違いするな

語学学習雰囲気でやってんのかな。プログラミング言語文法を覚えたらもうプログラミング習得したと思いこんで、現場に入ろうとする人がいて驚くときがある。

文法っていうのはツールの使い方みたいなもので、それ自体エンジニア価値じゃない。プログラミング勉強に終わりはないか表現として正しくはないかもしれないが、文法ってのは10%未満に過ぎない。

例えば、ひたすら包丁の使い方だけ練習してても凄腕シェフにはなれないじゃん?プログラミングもそれと同じ。


エンジニアってのはプログラミングをするだけの人じゃなくて、プログラミングによって何かを作る人だからな。

プログラミングのための環境構築みたいな周辺知識もしっかり鍛えて、ちゃんと何か作れるようになろう。

環境構築なしでプログラミング勉強できます」と謳っているサービスは便利だけど、そこだけで勉強を終わるのは絶対ダメだぞ。必ず自力で何かをリリースできるようになってくれ。

スクールに通うべきかどうか

金があったら好きにしろとでも言いたいが、入る前によく考えてほしい。

スクールに入ろうとしている奴は「先輩エンジニアたちはみんなスクール卒業してエンジニアになった」と勘違いしているのかもしれないが、そんなことはない。

経験エンジニアになれているのは、だいたい自主的勉強して才能を伸ばした奴だ。スクールきっかけだった奴もいるかもしれないが、あくまきっかけだ。スクールの修了=エンジニア就職と考えてる奴はブラック企業に吸い込まれると思うぞ。


とはいえ完全に独学するとなると、何から始めていいのかわからないという問題はあると思う。そういう意味で何かしらカリキュラムが設定されているスクールが便利なのはわかる。

ただし、数十万するようなスクールに行く必要があるのかは甚だ疑問である

まずは1ヶ月数千円くらい、格安で利用できるオンラインの教材からスタートするといいだろう。

オンライン教材でも質問サービス提供しているところはあるから、完全に1人というわけじゃない。


もし、オンライン教材だけで能力が身につけられないと思ったら、その段階になってからスクール検討すれば十分だろう。

ただし、エンジニア自分で調べて自分習得するスキル必要仕事だ。もしオンライン教材ですら難しいのであれば、適性が無い可能性を少しは考えておいた方が良いかもしれない。

駆け出しエンジニアと繋がらなくてよい

#駆け出しエンジニアと繋がりたい 的なハッシュタグがあるんだけど、粗悪スクールのカモみたいな奴がやたら多い。

以前定期的に観察していたが、何やら教材の数をこなすのがメインになっている人が多い。

本を読んだりスクールに行ったりといったことでいってエンジニアの力が身につくわけじゃないので、これを見ていると悪い影響を受けやすいと増田自身は思っている。

心細いか初心者同士で繋がりたいと思う気持ちはわかるが、詐欺師まがいの粗悪スクールが紛れ込んでくるハッシュタグで傷の舐めあいをするのはリスクしかない。

競技プログラミングはお前らには早すぎる

競技プログラミングほどのアルゴリズム能力を求められる会社はまだまだ一握りだ。しかもそういう企業トップクラス人間を求めている。

トップクラス人間東大京大情報系を専攻しているような人間で占められており、悲しいが「未経験文系競技プログラミングで大逆転」みたいな事例は聞いたことがない。

趣味としてやる分には全然良いが、競技プログラミングさえやれば就活で安泰だとは思わない方が良い。

それよりも、未経験レベルであれば、自分で何かプロダクト(Webアプリスマホアプリ)を一通り作れる方がよほど評価される。

時間が限られているなら、開発スキル養成を優先した方がいいだろう。

アルバイト・長期インターン

実はこれがあるから大学生なら未経験からでもエンジニアを目指しやすい。1年・2年でなるべく早い段階でアルバイトインターンで実績を積み始めるといい。

「未経験から転職」ではこの手が使えないので厳しいという事情もある。

経験としてカウントされる

一般的就活アルバイト職歴経験としてみなされにくいが、エンジニア新卒採用では経験としてきちんとカウントされる場合が多い。

ただし、短期インターンだとプラスにはなりづらいので、インターン≧長期アルバイト>>短期インターンくらいに捉えておくといいと思うぞ。

バイト探し

Webエンジニア求人バイト情報サイトバイト情報雑誌には掲載されていない場合も多い。載っていても微妙なケースだったりする。

各社の採用サイトWantedly等だけに掲載されている場合が圧倒的に多いと思うので、そちらをメインに探せ。

まずは自分が知っているWeb企業名前と「アルバイト」みたいな検索を掛けてみたら、案外見つかると思うぞ。

希望バイトインターンからスキルを逆算しても良い

初心者はどの言語から始めればいいのか」というのはよく見かける疑問だが、特に答えはない。別にPythonから始めてもいいし、Rubyで始めてもいい。PHPも悪くない。どれでも正解だ。

とはいえ、正解が多いからこそ困ってしまうのは分かる。


そこで、自分希望するバイトインターン候補からスキルを逆算するのも一つの手だと増田は思っている。

例えば、ちょっと興味あるけど採用されるかは分からない、というレベル企業が「PHPRubyPythonJava等によるWebアプリの開発経験」をアルバイトに求めていたとする。

このような場合特に注意書きがない限りどれか1つの言語で条件を満たせばよい。一番最初に書いているくらいだからPHPを中心にしているんじゃないだろうか?とアタリを付けて、PHPを中心にした開発スキル習得を目指せばよいだろう。

就活

これらはアルバイトインターンでも同様ではある。

学部のディスアドバンテージが少ない

良いことなのか悪いことなのかわからないが、日本Webエンジニア新卒採用学部足切りされることが少ない。

要は文系学部出身でも、アルバイト個人開発で実績があれば問題ないケースが多いということだ。


海外だとCS学位要求されることも多いので、これに関してはお前ら日本学生やってて運が良かったなとしか言いようがない。

もちろん機械学習など専門性の高い分野は別だがな。


ただ、この風潮いつまで続くかわからない。今後5~10スパンくらいで考えるとCS学位を重視するブームが来てもおかしくはないと思う。

プログラミングスクール卒を掲げるのは恥だと思ってくれ

実は結構いるんだけど、プログラミングスクール卒をまるで学歴のように誇示している奴はかなり不利となる。

正直なところ、採用であるエンジニアプログラミングスクールに対してネガティブイメージを抱いている人が多いのだが、スクール卒の人間はそれを誇りに思っている事があるらしくミスマッチが生じている。

これだけ書くとスクール馬鹿にするなと言われそうだが、ネガティブイメージには2つ理由がある。


まずは質が悪いスクールが多いこと。さっきから言っているが、昨今のエンジニア志望者は楽して稼ぎたいかエンジニアを目指すという奴が増えている。

その結果として情報商材のパラダイスとなっている。再生するだけで英語力が身に付くCD絶対に株で儲かる方法、そんなレベルプログラミング情報商材が大量に出回っている。

これはスクール例外ではなく、そのレベルの教材だけで生徒をエンジニアとして送り出すところが多い。エンジニアはこの状況を知っている。

それに、プログラミングスクール無限にある。採用側はそれらのカリキュラムを調べるほど暇ではないため、スクール卒となると全体的にそういう扱いをせざるを得なくなる。



もう1つはスクール出身者の問題。わざわざスクール卒と書く奴は書くことが他にない。

経験者の採用における理想像は「エンジニアとしての就業経験はないが、これからOJTで学んでいけるだけの基礎知識があり、技術に興味があって今後も新しいことを学ぶ意欲のある奴」という辺りになる。もちろん会社文化へのフィットなどもあるがな。

ただ、新しいことを学ぶ意欲というのは評価しづらい。誰だって聞かれたらそう答えるじゃん。そこで実質的には、自主的に何か作った経験があるか否かがその指標として機能している。

技術に興味があれば、習得した技術をより深めて自主的に何か作るもんじゃないの?」という考えを持っているエンジニアが多い。

もちろん、インターンバイト経験があればそんなこと書く羽目にはならないけどな。

インターンバイトに応募するときには書かないようにしろよというアドバイスだ。

優れた技術者コミュニケーション連呼厨になる話

技術力がある、技術者を大事にしている」というイメージのあるソフトウェア企業で働いているが、

私の周りの偉い人たちがことごとく「コミュニケーション」を連呼してモヤモヤしている。

「偉い人たち」というのが営業畑の人間だという話ではない。

うちの会社技術営業は完全に組織が分離しているので、

ここでの「偉い人たち」は全員(少なくても『元』)技術者であり、そのほとんどは優れた技術者だ。

例えばカーネルコミッタだったり、有名なソフトウェア開発者だったり、本を書いている人もいる。

雑談になると技術の話で盛り上がることもあるのに、仕事の話になるとやたらと「コミュニケーション」が連呼される。

コミュニケーション大事なのは分かる。偉い人ならなおさらだ。それを否定するつもりは毛頭ない。

でも私より技術力のある人に「君は技術は十分できるからもっとコミュニケーションを」と言われるとモヤモヤするし、

社内で新しい技術勉強会などがあるときは「興味がある人は参加してみたら?しらんけど」といった雰囲気なのに、

コミュニケーショントレーニングに関しては「みんな是非参加するように」と言われるとなんだかなあと思う。

そこで、優れた技術者が出世してコミュニケーション連呼するようになった理由を考えてみた。

ただし、特に根拠はないため全部私の妄想だ。

--

人によって程度の差はあれど、多くの人は自分ができることは他の人もできると考えがちで、

自分にとって難しい問題他人にとっても難しいと考えがちだと思う。

プログラミングが上達してソフトウェア開発のスキルが身につく過程を考えてほしい。

最初プログラミング言語の文法がわからコンパイルエラーにあたふたしてた人も、

段々と慣れてきてそれなりに思った通りのプログラムが書けるようになってくると

文法なんて大した問題じゃない。問題なのはそれを使って何を書くかだ」

なんてことをいっちょ前に言うようになったりする。

とりあえずきちんと動くプログラムを書けるようになった人が、

仕様の変更により大幅な書き直しをするような失敗を経て設計重要さを実感すると、

「動くプログラムを書くのは大前提。将来の変更を見据えた設計こそが大事だ」

などと未来を見据えた発言をしたりするようにもなる。

大きなシステム設計して、さらには設計自体も部下に任せ、

複数プロジェクト管理し、複数人に仕事を割り振ったりすると、

個人技術力ではどうしようもない問題に多数直面して遂に、

ソフトウェア開発でコーディング設計が占める割合はほんの一部に過ぎない。

 どうやって人と『コミュニケーション』をとるのかが本質になるのだ」

といった類の発言が飛び出すのではないだろうか。

この発言が飛び出す頃には、かつてプログラミングで苦労した記憶など忘れている。

実際問題自分設計コーディングをして困ることはほとんどないのだから

苦労するのはコミュニケーションだけであり、いかにそれを改善するか苦心する。

そして、その苦労を部下にさせまいと親切心からまれるのが

コミュニケーション連呼する偉い人」なのではないだろうか

--

「結局コミュニケーション大事なら、コミュニケーション連呼するのも間違っていないのでは?」

と言われればそうなのかもしれないが、誰にでもそればかり勧めるのはどうにも違和感がある。

うちは自社でソフトウェアを開発している会社だ。手を動かしてものを作る人がかならずいる。

C++オブジェクトのlifetimeを気にせずセグフォするコードを書く人が受講すべきトレーニングは本当にコミュニケーション改善法なのか。

業務上Javaを書く必要があるのに「Javaは分からいから」といって自主的にも学ぶ気がない人が受講すべきトレーニングは本当にコミュニケーション改善法なのか。

実機での動作確認を怠りバグを入れる失敗を複数回繰り返す人が受講すべきトレーニングは本当にコミュニケーション改善法なのか。

私には何もわからない。

--

「なるほど。そんな問題があったのか。

 でもそれは君が相手とうまくコミュニケーションをとって、問題解決を目指すべきだし、

 それが難しければ上とコミュニケーションをとって、改善方法提案すべきだ。

 コミュニケーションはすべてを解決する」

おわり

2021-03-20

anond:20210320174526

7と8。

技術的なところが気になる人はこれだけ読んでくれたらいい

7. アプリケーションコード自体はRocketChatのものとほぼ同じ

最後技術的な観点からエアレペルソナが純国産ではないということを指摘する。

結論から先に述べると、このアプリは純国産ではない。

RocketChatという海外で開発されたOSSチャットアプリフォーク、改変したもののよう。

ttps://github.com/RocketChat/Rocket.Chat.ReactNative

ttps://rocket.chat

フォーク元はバリバリ多国籍外資である。(RocketChat自体問題のないアプリであり、このエアレペルソナとはフォーク関係を超える関係はないと思われる)

冒頭のこの部分に関してである

ttps://play.google.com/store/apps/details?id=chat.airlex.reactnative

Google Playで公開されているエアレペルソナAndroidアプリリバースエンジニアリングして調べてみた。

ちなみに、エアレペルソナには利用規約のようなものは見当たらず、リバースエンジニアリング禁止条項も無いようだった。

ttps://apps.evozi.com/apk-downloader/

ttps://github.com/pxb1988/dex2jar

この辺を使ってapkダウンロードし、apk解凍し、chat.airlex.reactnative/classes.dexjar fileに変換した。

classes.dexから変換されたjarファイルを展開するとchat/airlex/reactnativeというフォルダパッケージが見つかる。

このパッケージ内のファイル(.classクラス)がエアレペルソナの処理を行うもののようである

特徴的なクラスにEjsonという名前のものがある。

このクラスJadを使い、デコンパイルしてみた。その結果が以下である

ttp://www.javadecompilers.com

ちなみにここからapkアップロードするとdex2jarをしなくてもJavaソースコードにまでデコンパイルしてくれた。便利。

package chat.airlex.reactnative;

import android.content.Context;
import com.ammarahmed.mmkv.SecureKeystore;
import com.facebook.react.bridge.ReactApplicationContext;
import com.tencent.mmkv.MMKV;

public class Ejson {
    private String TOKEN_KEY = "reactnativemeteor_usertoken-";
    String cardId;
    String host;
    String messageId;
    String messageType;
    /* access modifiers changed from: private */
    public MMKV mmkv;
    String msg;
    String notificationType;
    String rid;
    Sender sender;
    String senderName;
    String type;

    public Ejson() {
        ReactApplicationContext reactApplicationContext = CustomPushNotification.reactApplicationContext;
        if (reactApplicationContext != null) {
            MMKV.initialize((Context) reactApplicationContext);
            new SecureKeystore(reactApplicationContext).getSecureKey(C0617Utils.toHex("com.MMKV.default"), new RNCallback() {
                public void invoke(Object... objArr) {
                    if (objArr[0] == null) {
                        MMKV unused = Ejson.this.mmkv = MMKV.mmkvWithID("default", 1, objArr[1]);
                    }
                }
            });
        }
    }

    public String getAvatarUri() {
        if (this.type == null) {
            return null;
        }
        return serverURL() + "/avatar/" + this.sender._id + "?rc_token=" + token() + "&rc_uid=" + userId();
    }

    public String token() {
        String userId = userId();
        MMKV mmkv2 = this.mmkv;
        return (mmkv2 == null || userId == null) ? "" : mmkv2.decodeString(this.TOKEN_KEY.concat(userId));
    }

    public String userId() {
        String serverURL = serverURL();
        MMKV mmkv2 = this.mmkv;
        return (mmkv2 == null || serverURL == null) ? "" : mmkv2.decodeString(this.TOKEN_KEY.concat(serverURL));
    }

    public String privateKey() {
        String serverURL = serverURL();
        MMKV mmkv2 = this.mmkv;
        if (mmkv2 == null || serverURL == null) {
            return null;
        }
        return mmkv2.decodeString(serverURL.concat("-RC_E2E_PRIVATE_KEY"));
    }

    public String serverURL() {
        String str = this.host;
        return (str == null || !str.endsWith("/")) ? str : str.substring(0, str.length() - 1);
    }

    public class Sender {
        String _id;
        String username;

        public Sender() {
        }
    }
}

フィールド名を見てみると、cardId, host, messageId, messageType, mmkv, msg, notificationType, rid, sender, senderName, typeが存在する。

メソッドには、getAvaterUri、token、userId、privateKey、severURLが存在する。

ところで、RocketChatというOSSチャットアプリ存在する。

ttps://rocket.chat

そのRoketChatのAndroid実装の中に同名のEjsonというクラス存在する。

ttps://github.com/RocketChat/Rocket.Chat.ReactNative

ttps://github.com/RocketChat/Rocket.Chat.ReactNative/blob/develop/android/app/src/play/java/chat/rocket/reactnative/Ejson.java

見比べてみると、フィールドにcardIdが追加されている以外はフィールドメソッド名、そしてその処理の内容まで一致している。

他にもReplyBroadcastなど、同様のクラスがエアレペルソナに見つかる。

以上のことからエアレペルソナはRocketChatをフォークして、パッケージ名を変えて作られたチャットアプリであり、開発の大部分はRocketChat社の努力と多数のOSSコントリビュータによってなされたものであると思われる。

これを純国産日本製と呼ぶには大分無理がある気がする。

そもそもこのOSS時代に純だの何だの言っている時点で怪しい。

8. OSSライセンスに関して

さて、エアレペルソナがRocketChatをフォークして作られたものであるとすると、気になるのはライセンスである

RocketChatのOSSライセンスMITライセンスである

ttps://github.com/RocketChat/Rocket.Chat.ReactNative/blob/develop/LICENSE

MITライセンスは非常に緩いライセンスであるため、エアレペルソナの様にフォークして別のアプリケーションとして公開することにはおそらく問題がないということは強調しておく。

現状エアレペルソナログインできておらず(2要素認証コード送信されないといった問題が起きている模様)、使用している各OSSライセンス表示が適切に行われているかまでは調べられていない。

2021-03-10

Rustまったくわからん

普段、おまえは何の努力もしてないのではないか

凡人以下ながら新しいネタとか技術とか数学アルゴリズムは引き出しを増やすように心がけてるんだけどね

食い扶持になる可能性もあるし

しかし、未だにRustがうまく使えないというか、学習コストが高すぎる気がするんだがどうしたもんかな…

国が公開してるとあるExcelファイルを読み込んで、それを望まれCSVJSONに加工する、

という仕様は同じにして色々な言語で書いて比較しようと思っているのだけど、

PHPNode.jsPythonGo自分には問題なく書けてる

多分、C++やCも、流石に何か便利なものにvcpkgやconanとか使って依存するだろうけど書けると思う

しかし、Rustは難しいなあ

Excelファイルパースするサンプルコードも難しいというか、長くね?と思ってしまうんだけど

これに慣れる日は来るんだろうか…

Go学習コストが低いと思うから、とりあえず動作するコードを書くのは問題ないんだよなあ

C#とかDとかNimとかErlangとかKotlinとかDartとかもやろうかなあ

でも、少なくとも後ろ2つはほとんどJavaみたいなもんだろうか

考えてみれば、自分Haskellが駄目なので、Rust駄目は関係があるんだろうか

Lisp方言みたいなのが多すぎてよくわからん

2021-03-09

anond:20201222191134

作業効率化のためにシェルスクリプトで書いたツールは今も使っているが、JavaRubyPythonで作ったツールほとんど使っていない

JavaRubyPythonは、何でもできてしまうからちょっとしたフォーマットの変更などで変更や拡張が頻繁になされるし、その結果プログラム肥大化する

一方、シェルスクリプトは得意不得意が極めて明確で、扱うデータにはかなり強い制約がかかる。その結果、本質的機能以外の変更に晒されることが少なく、個々のプログラムは単機能疎結合になりやすい。

というか、「まともなデータ構造が無いかデータに強い制約をかけないと実用的なプログラムを書けない」「構文やモジュール機構が貧弱すぎて単機能にしないと読めなくなる」ので、ある程度センスのある奴なら必然的に良いスタイルプログラミングすることになる。

2021-02-26

情報系に進みたい高校生多すぎないか

今の日本ほとんどの大学情報系が人気だけれども、本当にみんな情報系に行きたくて行ってるのか?

自分場合は昔からプログラミングが大好きで、中学の時にはずっとJavaゲーム作ってたし(ツールも使わずに)、高1の時にはnumpyでCNN(画像認識AI)作る的なこともやってた。だから当たり前のように情報系に進んだ訳だけど、そんな人間かに少数派だと言うのはわかってる。

でも逆にそれ以外の人が情報系を志望する理由がわからない。「プログラミング」とか「エーアイ」とか「データサイエンス」なんて見た目の良い言葉に憧れただけなのか?もっと酷いのだと、「偏差値が高いから」なんて理由で選ぼうとしてた奴も友達にいた(説得してやめさせた)。他の学科高校で基礎をやったアドバンテージがあるかもしれないが、情報系はそんなのない。大学入って0からスタートで上手くいくとみんな本気で思ってるんだろうか?だったら大学入学してすぐ本買うなり競プロやるなりしてプログラミング勉強を始めるべきではないか?それをしている情報系のB1なんてかなり少ないと思う。

マジで頼むから情報系にいる限りはプログラム書けてくれ。願わくば情報系に入った時点で「アルゴリズムってどういう意味?」なんて質問をするのはやめにしてくれ。高校生はそれくらいのやる気を持って情報系を選んでくれ。

2021-02-17

anond:20210217222521

せっかくITキャリアあんのに勿体ない。

でも転職活動は弾を打ち続けるの大事。結局最初面接こぎつけるまで3ヶ月、仕事決まるまで8ヶ月かかった。

合わなかったら2年で別の会社転職するつもりでいたし、すげえ安く見積もられると次の転職ときに買い叩かれるから吹いてでもある程度の金額のところな。

あと、ちゃん転職エージェント使って。それも数社。最初転職ときは5社通した。

面倒だけど職務経歴書書き方だけで全然書類通る率変わるから、一度ちゃん指導を受けたほうがいい。

担当者がムカつくところは無視してOK。安い転職しか持ってこないのも価値がわかってないか適当にながしておいてOK

登録しておくだけで別の担当者からアプローチあっていい話につながったりする。

あと、英語だけはなんか資格とっとけ。IT英語これ最強。どっちも適当でもいま有力人材

英語苦手ででもTOEIC600位まで頑張っておけばなぜか案件ねじまれる。840超えてればたいていイケる。実際働き出すと900超えてても無理な人は無理なんだけど。

転職エージェントIndeedだけじゃなくて大手外資専門狙って。あと、怪しげな個人は合うだけ無駄だけど電話でなら話聞いてもいい。電話説明出来ないのは大した案件持ってない。

ITというか開発の手順わかるだけで外資日本語環境開発の仕事結構ある。

一番やばいのは自分メンタル。本当にこれすっごいキツい。けどまあ、妄想逃避とランニングでなんとかした。市のプール水泳もいいかんじ。

最初の3年引きこもってた後の転職の頃は本も読めないくらい。今全然読める。本当8年前頑張ってよかった。

あと週数回のバイトとか単発ものバイトとかで生活費の足しにして。社会復帰リハビリにもなるし。

カネがないと転職活動もできないけど、カネを使わないとしんどいのも解消できない。

本当おっさんがんばれ、超がんばれ。

追記

20代前半のプログラミングスクール出身者のほうがワイより多分有利なんやろな。

保証する。絶対そんなことない。おっさん40代でも大丈夫。むしろJava先生って呼ぶ。

2021-02-14

anond:20210214222444

ブラウザアプリで、Javascriptだとは言った。

Android対応ともいった。

だがブラウザーごと作ってないとはいってない。@海外からの問い合わせはアプリのことではなく、会社ごと買ったらいくら?(そんな動きを標準のブラウザはしない(俺達が作ったから知ってる))でした。話速い英語

そもそもAndroidアプリJava

Javascriptではない

だがしかし、本当にJavascriptAndroidアプリが動いている。

謎の技術力 互換性高いよ。ブラウザコードも持ってるからね。

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