はてなキーワード: RUBYとは
某話題の書籍を買って読みました。ひととおり読んだのですが、話題の1章を読みつつ取ったメモを、本が回収される前に置いておこうと思います。
ちなみに最初は電子書籍で読んだのですが、回収かもって話を聞いて紙も買いました。
以下にメモをそのままのっけるので、たぶん書籍と照らさないと意味不明だと思います。
・Web1は「1970年代から1980年代」というのが若干謎ではあるが、この本ではそういう定義だとおもって受け入れる余地はあるか。実際、列挙されているTCP/IP・SMTP・HTTPの最初のRFCは70~80年代
・HTTPはWebサイトの「構築」をするものではない(Webサイトのデータを取ってくるためのプロトコルである)
・TCP/IPの4層モデルとかOSI参照モデルとかを意識しているんだろうけれど、いまひとつWeb2とWeb3の対比ができていない。また、後段で「ブロックチェーンもプロトコル」と主張する割に、このLayersにも「Protocol Layer」が存在しており、いまいち言いたいことが伝わってこない
・Web2 Layersの雑さは見ての通り。「中間のレイヤー」としてなにを想定しているのかが気になるところ。「プラットフォーマーの上に載っている」という結論ありきで作られた図のように思える
・Web1の例としてHTML/CSSのWebサイトのことを提示しており、それはそれで正しいのだが、冒頭のWeb1は1980年代のプロトコル云々というところと整合しない。
・JavaやRubyはわかる C++もそりゃあたくさん使われてるわけだが、この並びで出てくるのはちょっと違和感。PHPとかは?
あとP2PはべつにWeb3独自ではない SkypeとかWinnyとか、クライアント・サーバではない仕組みは2000年代からいくらでもある
・このへんはあんま詳しくないのでよくわかんなかった そういえばログインIDにメールアドレスを使わせるようになったのってなんでなんでしょうね
・この書き方だとSNSログインすると情報収集できそうに読めるけど、SNSログインを介したからって即ログイン先の情報をプラットフォーマーが集められるわけではない
・ブラウザのとこはそうだね~っていう感じだったが、Firefoxがハブられてるのがかなしかった オープン云々のはなしをしたいならMozilla財団の果たした役割は相当に大きいと思うのだが、(この本に限らず)無視されてることが多い
・OSの部分は突っ込みどころがいっぱいあるしスクショがバズったのですでに突っ込まれている
・あくまで例示で出てきてるだけなので本質的なところではないし、よくあるまちがいではあるのだが、POPはどちらかというと「受信したメールを取ってくるため」のプロトコルと呼んだほうがいいと思う じぶんが使っているメールサーバ(というかMTA)までメールが届くのはあくまでSMTPが使われている 「プロトコルが一緒じゃないと~」という文脈で考えると、いったん向こうのMTAに到達しさえすれば、読み手がPOP3で受信しようがIMAP4で受信しようがどうでもいいわけで、例示としてあんまりうまくない
・唐突にICMPが出てきてびっくりした 重要であることはまちがいないのだが、あんまり「プロトコルの例」として出てくるとこはみないので
・後段で「Web3ではいろんなプロトコルがあるんですよ~」という話をするんだったら、ここでWeb3のプロトコルとしてBitcoinとEthereumしか出さないのはなんか話が通りにくいのではないか
自称・ベンチャー企業に来て後悔している、というか恨んでいる。自分のいたベンチャー企業なんて、反社会的勢力 隠れ蓑でしかなかった。そこで得たもの、というものはなくて、むしろ父親と学歴と情熱を失った。 だからベンチャー企業とか NPO なんかに社会的な価値を見出して入社する必要なんてない、むしろ新卒採用では JTC に入れよーという話をしていこうと思う。
元スレは
https://anond.hatelabo.jp/20220613020726
https://anond.hatelabo.jp/20220614002648
です。
国立医学部を目指して多浪し挫折したあとに入った大学は早慶未満マーチ以上の偏差値の大学だった。そのため、周りは年が若くなじめないままサークル勧誘期間が終わってしまったのであった。まちがいなく大学内では浮いた存在であったし、自分も馴染む気がなかった。当時の言い方をするならば「ボッチ」であったか。大学に入ってすぐに、一緒に入学した同期の入るだろう会社には入社できないのが自覚できたので、授業が終わったら大学図書館 or バイト先にそそくさとむかっていた。幸いにして、高校時代はプログラミングを部活でしていたので、どこにいっても「卒業したら、うちにこない?」と言ってもらえた。自分は富士通とか野村総研なんかは年齢制限で入れないけど、飯を食べるには困らないだろうな、という確信はその当時に得た。大学の情報工学の内容は高校時代に習得した内容よりも劣っていたので馬鹿にしていたのは、後でボディブローのようにこの怠慢は効いてきた。ここまで書くと大凡のスキルはコーダー程度であることは察していただけると思う。当時に十分にかけていたのは Ruby, JavaScript, Java, PHP と Objective-C、MySQL といった応用領域ぐらいで、大学でやるような R や Haskell なんかの基礎領域は習得してないで、アルゴリズムの勉強はさっぱりだった。まぁ、あんまり優秀な学生ではなかったと思うが、それでも情熱はあったとは思う。真面目な学生ではなかったが、教授には可愛がってもらった。
これが、当時の自分の心境とスキルである。ここから冒頭に書いたような人生がスタートする。あれは、記憶が正しければだけれど、twitter のリプライだっただろうか。当時の自分は他人の設計書を基本として書くということにうんざりしていた。いつの日にか自分の書いたコードで上場するという目標のために本物のベンチャー企業で上場する時を共にしたいというのに、どうやったらそんな会社を見つけ出し、入り込めばよいのか皆目見当がつかなかったのだ。それで、twitter のアカウントを手がかりに、あらゆる募集サイトに「プログラミングする企業に入りたいです」という書き込みをした。なんなら、増田にすらその書き込みをした。それで、色々な人から「うちに来ない?」というリプライをいただいた。正直、嬉しかった。それで、そのうちから「選ぶ」という選択をしなかったのは間違いだった。当時の自分は、それをせずに「サイバーエージェントに紹介しますので、とりあえず勉強会に来ませんか?」という書き込みをみて、ふらふらと雑居ビルの一角にある共有オフィスへと出向いてしまったのだった。タイムマシンがあればこの日に戻って止めると思う。それぐらい後悔する日々が始まるとは当時は思わなかった。
もうすぐ真冬になろうという頃、「サイバーエージェントの正社員になれるかも」という期待で、列車に揺られて前記のビルへ向かった。期待とは裏腹に、妙に古臭いビルであった。ベルを押して、勉強会だという部屋に通してもらうと、若い学生たちがそこにいてプログラミングを勉強しているという。正直、自分も医学部さえ目指さなきゃこういう生き方もあったのだろうな、とは羨ましく思った。自分をオファーしたという人(O氏)は、この勉強会の座長だという。「私は人工知能を研究しており、アメリカで博士号を取得した『天才』数学者で、日本を活気づけるために母国にもどり、この会社を立ち上げました」という。サイバーエージェントではないらしい。あれ?、とは思った。まぁ、無下にはできないので、そこで課題を出されたのを5分ぐらいで終わらせた。伊達に何年もプログラミングをしているわけじゃない。ループで書くべきところを、再帰で書いた。すごいでしょ、オレっちとね。「できました、見てください」というと、O氏はこう言い出した。「ナニコレ?」とO氏。「ええ、再帰ですよ、漸化式みたいな?」と自分。出力は合っているので、O氏も認めざるを得なかったらしいが顔が険しくなっていく。どうも機嫌を損ねたらしい。そうすると、O氏は自分を別室に呼び出して「履歴書は?」と聞いてきた。「勉強会ですよね?」と返すと、「いいから、履歴書!」と言う。にっちもさっちも行かなくなったが、共有オフィスの他社の中国人職員の方が機転を利かせて仲裁してくれた。「そんなに言うのなら、彼にポートフォリオを作らせてみて評価してはいかがでしょうか」と。
イライラしながら帰宅したあと、もう二度と見たくもないO氏の顔とサイバーエージェントの正社員というものを天秤にかけたとき、やっぱりサイバーエージェントにいきたいなーと思った。というか、実は当時に DMM のオファーもあったのだけど、サイバーエージェントの方が良いと思って辞退した。このクソ人間(O氏)を認めさせたら、サイバーエージェントで働けるというのは魅力的だった。それで、Android(Java) + iPhone(Objective-C) でマルバツゲームを作り、 Bootstrap + jQuery と Ruby on Rails と MySQL で集計させてスコアを比較させる、そしてサクラVPSで CentOS で運営するというプロダクトを持っていった。時代を感じますね。閑話休題。ソレを持っていたら、O氏は今回は前回と性格が違った。いきなり、怒鳴りだすのだ。ポートフォリオを見ないで。いわゆる「良い警官・悪い警官」というやつをやろうとしたのだろう。当時はそれがソーシャル・エンジニアリングだと気がつけなかったが、いま思えば以前からナンパとかで良い思いをしていたのだろう。後で書くが、彼はロリコンだ。専門に人工知能を掲げているが、本当はチヤホヤされたいだけで自分は努力せず、インターンの学生にタダでプロダクトを作らせて「弊社は凄いです!」「あわよくば上場して金と名誉はゲット」、そんでもって若い学生のインターンとセックスしたいという真正のクズ野郎だった。自分の深層意識で「こいつはヤバいやつだ」というアラートはビンビン鳴っていたが、「サイバーエージェントの正社員」というニンジンが目を曇らせた。
そのあと、一月ぐらいはそのクソ会社でタダで自社サの修正をやっていた。こんなのもできねーのと思いながら。ある日「別の会社に行こう」といわれ、面接をうける。なぜか O氏も同席で。話を聞いていると、派遣させられるらしい。派遣登録もしてない会社が。「サイバーエージェントじゃない!」と抗議をすると、「俺に恥をかかせるのか!東京で働かせなくするぞ!」と脅され、派遣きまったあとで、履歴書を無理やりかかされた。給料はホームページに書いてあった額の半分、社会保険は無し、年金もなし、保険書もなし、という最悪な条件だった。派遣先はキツかったが、優しかった。それに、派遣当日から転職のオファーをもらった。記憶が正しければ、平日に働いて、土曜日は帰社日、日曜日は勉強会に出席という日々だった。本当に休む暇がなかった。平日はほぼ終電だったのに、土曜日に東京の端っこにこいとか、日曜日は勉強会だから出席しろ、とか本当に辛かった。それでも派遣先の会社には迷惑をかけたくなかったので、期間が終えるまでは必死に働いた。そして、O氏から逃れるために「あなたとは信頼関係が築けない」という文を書いて退職した。そのあと、自分は大学にも行かないで、別の会社に就職した。あと、O氏は給料を払わなかったので、辞めた後に圧力をかけて支払ってもらった。
プログラミングのスキルは働いてもスキルが付くということはなく、自学自習を続けないと上場するのに必要なスキルは身につかないというのもわかってきた頃、父が死んだ。事故死だった。自分は医学部に行けなかったことの申し訳のなさに、東京の大学に行った後は父を邪険に扱っていた。とても後悔した。それで、半年ぐらい真面目に勉強して私立の医学部に入学し、医学部生として留年しない程度には進級はした。しかしながら、ふと寝る前に「プログラマーでいたかったな」と思うことは毎日のようにある。もう医師になるつもりで、プログラマーに戻るつもりは無いが、それでもプログラミングのことは好きで、毎日1時間は時間をつくって勉強している。好きなんだよな、プログラミングが。
最後に、O氏についてだ。あまりに犠牲者が多すぎるのでネット上で事実を書いていったら、裁判所から開示請求が来てしまった。だからここでは本名と社名は書けない。だけれども、若者たちに「ホイホイベンチャー企業にいくと辛い目にあうかもよ?」っていう事例を例示しなきゃ、とは思うので「ヤバいベンチャー企業の実態」について書いていこうと思う。
...という感じ。だから、基本的にベンチャー企業に期待しないほうがいいよ。下手をすると、犯罪の手助けをするようなつらい思いをするよ。もし、仮にベンチャーに行くなら、高給かストックオプションはマストで行こうね。おじさんとの約束だよ。
突然ですが、皆さんのITエンジニアのイメージはどんな感じでしょうか?
今日はそんなIT業界のエンジニアにこれからなりたい方にお届けしたいお話しです。
コンピュータ専門学校や大学でコンピュータ系の学部を出ていたり、
個人的にプログラミングが好きで個人活動をされていたりして新卒時に就職活動をしてこの業界に来られる方だと思います。
Webなどで人気のRubyやPHPなどでWebサービスの作り方を教える教育サービスを受講して来られる方でしょう。
教育体制や会社の規模、企業の顔である事務所の所在地やエントランスに騙される事無く、
自分がどんなことをやりたいか(本当に今考えているやりたい事が自分の為になるのかも考えて下さい)、
『甘くないです、どんな勉強をしてこようが相当の覚悟がなければ半年持ちません』
『あ、そもそも半年持たない前に、この業界に入れません・・・』
え?
何で???
こう思われた方は多いと思います。
けどこれ事実なんですね、
ではその辺りを私の私見になりますがお話していきたいと思います。
中途でこの業界にきたということは1~2年でその方たちに追いつかないといけないんです。
なぜ追いつかないといけないかと言うと、
30歳を超えた経験の浅いヒヨコPG達に優しく教えてくれたり、
バリバリの専門性特化になるかマネジメントを経験していって管理側に行くそんな時期だと思います。
そんな人材が求められる年代で悠長なことは言ってられないのがあります。
また、有名なWebサービスをやっている企業が新卒以外で即戦力にならない、
エンジニアの下地もできていない方たちを中途採用するでしょうか?
たいていは第二新卒などの中途採用で未経験者を採用しているのは、
そうです、ずばり、
『え、でも20代30代の未経験の方も歓迎って書いてる企業もありますよ?』
1年が経ち2年が経ち。。。
『あれ、気づけば34歳、今年35歳やん、俺(わたし)何してんのやろ????』
積んできた3年~5年の経験はエンジニアとしての開発スキルではなく、
開発できない35歳、
これが現実です。
なので、本当にエンジニアを求めている企業は中途採用での未経験は取りにくいのが現状です。
でも、中には頑張って努力をしてくれる方ならと年間2~3人中途未経験を採用している企業もあります。
そんな先が見つかると良いですね。
と言いつつも、知ってか知らずかわかりませんが、
年間5名ほどの方は未経験採用していないのを承知で応募させて欲しいと言ってこられます。
お互いのためこれだけは決めている事です。
『何が何でもエンジニアになってやる!』
『仕事だけではなくプライベート削ってでも勉強して1日も早く独り立ちしてやる!!』
もちろん1年以上の経験者が欲しいですが、
かつ努力ができる方なら歓迎です。
ゆうて私が無職ですけどね!
「もう怖くて何も始めれない/踏み出せない」
っていう肯定感の底が抜けた状態さえ伴走つけて補修できれば、自走を始められるから
(追記)
私は職訓(Java) → Pr◯gate → D◯tinstallである程度勉強してみたけど、
https://prog-8.com/lessons/info
・D社はJS, PHP → Laravel ※最近Pythonも
https://dotinstall.com/lessons
が特に充実してると感じた。
・P社のスライドレッスンは超細切れでわかりやすくて、ゲームっぽく楽しく進められた
・D社の動画レッスン後半はかなり実践的かつ難しくて初学者置いてけぼりにする勢いだったから、なんとかクリアできた人の伴走があるかないかでは、修了率かなり変わると思った(のが教える意義あるかもと思った理由)
https://dotinstall.com/lessons/todo_app_fetch_php
このJS非同期通信編まで繰り返しやって自分でゼロから完成できるようにして、
Laravelレッスンやって、あと自分で調べてUser実装(古いレッスンはあるけど)まで出来るようになれば
大抵のものは作れるようになるから他言語の学習コストも格段に下がるし、
バイト程度なら経歴や年齢問わずさせてもらえるようになるのではと勝手に思っている。
あと別の問題として
いわゆる駆け出しエンジニア界隈の誘惑が強烈すぎるので、理性ある第三者がいないと
一見キラキラのデザイン方面(または◯ffice)に誘い込まれてしまいそう
https://twitter.com/i/events/1495044681947750404
もう書いている内容の時点でエンジニアに既に向いてないじゃん
でも向いてなくてもなんとなく食っていけるのがIT業界のいいところよな
Macを推奨するサイト(ブログ)が多いが…
数量的にきちんと把握したものではないですが、「プログラミングに向くPCはMac」(特にMacBook)という解説のサイトは多く見つかりますが、大抵はプログラミングスクールが制作した集客用ページ、フリーランス(ブロガー)による広告収益目的のページで、制作の意図には商業的な目的がありそうです。
「エンジニアはMacを使用している」という主張もありますが、実はこれは根拠がありません。
ITエンジニアがWindowsとMacどちらをよく使用しているかを調査した統計は見つかりませんが、エンジニアに限らず、一般的にどちらが使用されているかを示すデータならあります。情報処理推進機構がインターネット利用者の使用OSを調査したものですが、圧倒的にWindowsです。macOSはたった4.3%です。数年前とは言え、状況は劇的には変化していないでしょう。
Windows7 (21.9%)
明確な根拠がない以上、主観の域を出ませんので、安易に信用はできません。
私見ですが、MacBookを推奨するサイトが多い理由の1つは「おしゃれでウケが良いから」です。twitter上の駆け出しエンジニア(もしくはエンジニア志望)の方々を見ると、大抵、見た目がきらびやかなものに飛びつく傾向があるので、その点、MacBookはウケやすそうです。まぁ、スタバに座ってMacBookで仕事をすれば確かにおしゃれです。
Google AdSenseを収益源にするサイトは閲覧数が重要なため「どのような記事なら見られるか」から逆算して考えます。なので、必然的に見た目の格好良さが重視されます。これは、SEOとかWebライティングと呼ばれる技術の悪い側面ですね。
ちなみに、私もMac(MacBook Pro)を1台所有していますが、購入のきっかけは勉強のためでした(色んな機械を触ってみたいから)。Macは特にメイン機ではありません。開発環境がWindowsにもあるので、両方を使用しています。
「Macはプログラミングに向いている」は本当か?
複数のプログラミングスクールのサイトで「MacはRuby、Python、PHPは特に開発効率が良い」という解説も見つかりますが、理由が説明されておらず根拠がありません。
WindowsだとVisual Studio Codeという非常に強力なエディタが無料で使用できるし、テキストエディタのAtomもプラグインを入れれば、それなりに開発はできます(ちなみに両者はMac版もある)。後で解説しますが、Web系がメインのエンジニアであればmacOSは親和性は高いのは事実ですが、だからと言ってWindowsの開発効率が悪いことはないです。
それに、Python、Rubyは今後はデフォルトではmacOSには含まれなくなります
https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes
プログラミングPCにWindowsとMacどちらを選べばよいか、という問題 | YukiPress
前職と比較すると平均技術レベルはマジで変わったように感じる。
前職だとクリーンアーキテクチャやらCI/CDやらは言葉の意味すら知らない人も多かったけど、
今の職場だとイケてるエンジニアは当然知ってるよねみたいな概念は最若手含めてほぼ全員理解してる感じ。
FargateやらKubernetesやらGraphQLやらAWSやらGCPの聞いたことないサービスやら新しい技術は常に吸収して実戦投入してて、
凡人エンジニアである俺にはついていくだけでも結構きつい、でも乗り切ったら市場価値もめっちゃ上がるんだろうなって感じもある
コードの品質についても常に議論を交わしてて、コードレビューの厳しさとか今までやってきた会社とは比にならないレベル。
命名として若干ニュアンスに違和感があるとかUT項目の境界値が1ずれてるとかでもどんどん突っ込まれるし、「よくわかんないけど動いてるから良し!」みたいなのは容赦なく潰される。
ペアプロ・モブプロはしょっちゅうみんなやってる。クラス設計に関する議題だけの会議とかも開かれたりする。
会社の規模も超大手ってわけじゃないけど俺が関わってるサービスの部分だけでも前職比較だとサポートとかデザイナーとか含めると10倍とは言わないけど近いくらいはいる。
開発手法もアジャイルの規模大きい版が実施されてて、それもなんちゃってじゃなくてちゃんとセオリーに則ってる形で管理されている。
ただ「これだけの人数いて、これだけ高い技術力があるのに作ってるサービス自体は俺が極少人数で枯れきった技術スタック使って作ってた前職のサービスと大して変わんなくね?」っていうのもまた感じた。
そら管理コストがかかる分10倍の人数がいたって開発速度が単純計算で10倍になるとは思ってないけど、前職で作ってたサービスの2倍分も価値を提供できてんのかなこのサービス?っていう感じというか……
前職は優秀な人を放任してタイムアタック的にひたすら高速リリース繰り返すみたいな感じで、(一応セキュリティ周りとか品質とか最低限はちゃんとしてたよ)管理コストが少ない分一人あたりの生産性は高かったと思う、属人化ってことだからそれが良いとは思わんけど。
動いてるものが同じなら採用技術がオンプレだろうとFargateだろうとGraphQLだろうとRubyだろうとウォーターフォールだろうとアジャイルだろうとユーザーにとっては関係ないし、
NetflixとかGoogleみたいな世界ならともかくとして、世の中の大半のシステムってそういうことじゃないじゃん?
難易度の高いイケてる技術スタックを使う=必然的にエンジニアのお賃金が高くなるってことだから、経営者視点から見てもこういう選択って果たして正しいのかなぁって。
なんならエンジニアの賃金上げるための利権的な使われ方なんじゃっていう気もしてきた。
どう思うよ。
ソフトウェアが非効率的じゃないとハードウェアベンダが困るだろう。
今はマシになったみたいだが、昔々、2001年頃、雷鳥1Ghzぐらいの頃は、javaはクソみたいに遅くて、
なんですかこの言語クソみたいに遅いですよーって上司に言ったら
お前はSunが何屋か知ってるのか?って返されたことを今でも覚えてる。
//その後、ハードの進歩でクソ遅かったjavaはまともに動くようになり、
//サーバーが売れなかったのかどうかは知らんが、Sunは滅びた。
サーバーはperl, php, rubyとより非効率な言語が流行り、
ブラウザも大飯食らいになり、javascriptみたいな非効率な言語や、pythonのようなクソみたいに遅い言語がもてはやされる。
その結果として、メモリも4GBで人権侵害、8GBでもまだ足りぬというありさまだ。