質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.74%

  • MacOS(OSX)

    1195questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Windows

    921questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • ネットワーク

    339questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • セキュリティー

    318questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • 情報処理技術者

    9questions

    情報処理技術者とは、経済産業省が「情報処理の促進に関する法律」に基いて行っている国家試験、及びその資格保有者のことを指します。情報技術の原理・基礎に関する知識や技術があるという評価を受けることができます。

「グル」や「ウィザード」と呼ばれるレベルのハッカーになりたいです

受付中

回答 5

投稿 2017/09/17 05:35

  • 評価 0
  • クリップ 4
  • VIEW 4,541

mello

score 22

「グル」や「ウィザード」と呼ばれるレベルのハッカーになりたいです

年齢は23です。

コンピューターに精通し、使いこなせるレベルの人を「グル」や「ウィザード」と呼ぶそうですが、そ
のレベルにまで到達するには、どういった学習プロセスを踏むのが一番良いでしょうか?

知識量が膨大になってくると学習効率というか、
才能が重要になってくると思うので、誰しもがなれる訳ではないと思うのですが、

仮にグルレベルまで行ったら日本だけでなく他の先進国ではまず食いっぱぐれる事はないと思いますし、今後、IT社会におけるビジネスで何らかの先見の明を見出せる可能性もあると思っています。

過程が、よほど獣道でなければ、学習に何年か費やす価値はあると思っているのですが、一体何からどういう道筋で学習していけば良いのか、わかりません。

とりあえず何もしていないという訳ではなく、
これが出来たら他の言語(機械語・アセンブリを除いて)は大体なんでも出来ると教わった
「C++」を学習していて、ポインタとか構造体とかテンプレートがある程度、理解できるようなった段階です。

グルレベルに向けて、今後の効率的な学習プロセスを教授して頂けませんか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2017/09/17 08:31

    複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

回答 5

+10

何をもって「グル」や「ウィザード」と言えるレベルになるのかは少し曖昧なので、そこをはっきりさせてから話す必要があると思います。


「グル」は、スゴイ技術力がある人、ということよりも、偉大な何かを作り出した人、と私は考えています。だからこそ、Linuxカーネルの生みの親であるLinus Torvaldsが「グル」と言われていることに納得します。日本人の「グル」はいるのかと言われれば、Rubyのパパであるまつもとゆきひろは「グル」だと私は思っています。

さて、松本さんがスゴイ腕前で、C++がばりばり書けるのか、というと、そうでも無いようです。もっというとCに関してすら、そうでも無いようです。松本さんが書いた初期のRubyは本当に遅く、Rubyのコア部分(インタプリンタの根幹をなす部分)は笹田耕一さんが書いたYARVに置き換わり、現在のRubyも笹田さんが中心になって書いているようです。

なんだ、まつもとゆきひろはたいしたことがないな、ということではありません。松本さんの言語そのものに対する知識や研究の度合いはかなり深い物があります。現在のRubyはコミュニティーでの合議で仕様が決まっていきますが、最後はMatzがそう言うならで決まっている場合も少ないようです。新しい言語を作ることは、その実装よりも、その設計の方が、遥かに重要で、遥かに難しいのです。

何を言いたいかというと、もし、「グル」と言われたいのであれば、何かを新たに作るしか無いと言うことです。どんなに技術力があっても、「グル」にはなれません。ただ、「グル」だからといってスゴイ技術力があるとかそういうことでもありません。ただ、面白いことに、リーナスさんや松本さんが「グル」になりたくてLinuxやRubyを作ったわけではありません。安価なx86でUNIXのプログラムを(高価なUNIXを買わずに)動かしかったから、純粋オブジェクト指向なPerlっぽい言語が欲しかったら、と、彼らは必要に迫られて、そして、それに興味があったから、作ったに過ぎないのです。「グル」はなろうとしてなれるものと言うより、自分が欲しいものを作ったら、いつの間にかみんな使ってくれて、「グル」になっていたと言うことだと思います。


「ウィザード」が普通のハッカーの最上級だと考えています。もし、それを超えるものがいれば、Wizard King(魔法使いの王)でしょうか、暗黒面に落ちればWitch King(魔王)になるかも知れません。

彼らは「十分に発達した科学技術は、魔法と見分けがつかない。」を地で行く人達です。10分かかる処理の高速化を彼らに任せれば、1時間後は5分になり、1日後は1分になり、1週間後は10秒になり、1ヶ月後は1ミリ秒になるでしょう。彼らは、最適化のためなら演算ユニットを自作することすら否みません。見積もり工数1人月の開発案件を「うちのウィザードが一晩でやってくれました」というのもよくあることです。

さて、「ウィザード」はどれぐらいの人なのでしょうか。まずは、広くて深い知識です。ハードウェア(PNPやNPNと言ったトランジスタの基本的な事からトンネル効果によるリーク電流が流れる仕組みなどの半導体の物性はもちろんの事、UTPが撚線である理由や同軸ケーブルの光より遅い伝搬速度、HDDやCD等の仕組みと青色LEDを使ったBDがなぜ高密度が実現できるか、電波の周波数の違いによる干渉度合いや回折性、アルミなどの素材による熱伝導率の違い等)からソフトウェア(UEFI->OS->アプリというのはもちろんの事、言語だけでは無くてコンパイラ毎の特性、ライブラリやフレームワーク、古い時代から最新までのパラダイムやアルゴリズム等)といったコンピューター全般は当たり前のこと、計算科学を初めとした数学(チャーチ=チューリングのテーゼや圏論、暗号論等)や社会心理学(ソーシャルエンジニアリングには必須)等の学問も必要です。最先端の技術文書は全て英語ですので、英語が読めることは最低条件になります。

知識だけがあってもそれを生かしきれなければ意味がありません。彼らの仕事は今まで誰もやってこなかったことを創造することです。といっても、既存の道具を使わないというわけでは無く、そのほとんどは、既にあるものの組合せに過ぎません。ただ、目的を達成するには何を組み合わせれば良いのか、そして新たな組合せによって何ができるようになるのか、そういったことをシュミレートや実践を繰り返し、最適を探り出すのが彼らです。その組合せにこそ新しさがあり、彼らの仕事が「魔法」に変わるのです。

全くの未知の何かを作り出すのは研究者の仕事であり、彼らの仕事ではありません。彼らがやっていることは既存技術の応用にすぎません。と言っても、何を適用するかというのは本当に難しいことです。言ってみれば、数学の応用問題を解いていくようなものです。数学の応用問題は習った基本的な手法を使えば解くことができます。ですが、複数の手法の中から、最適なものを選び出し、かつ、組み合わせなければ解くことができません。そこには「この場合はこれをする」という決まり切ったマニュアルなんて物は無く、色んな事例や、これまでの知識から、一つ一つできそうなことを試していくしか無いのです。

知識については、誰でも詰め込めば、それなりに身に付きます。しかし、応用力となると才能と言うより勘やセンスの問題になります。頑張れば、センター試験レベルの数学は(私は取れませんでしたが)誰でも満点がとれるようになれますが、国立大学二次試験レベルの数学になると勉強だけでは補いきれない壁があると私は思っています。「ウィザード」に求められる応用力もそれと同じだと思います。そういった応用力は、単なる努力では身に付かず、人格や世界の見方すら変わるような発想の転換みたいなものが訪れない限り、後から身に付くことは無理だと思います。


大昔に読んだハッカーに関する本に「ハッカーはなろうとしてなるものではなく、気付いたらなっていたというものだ。」というのが書いてあったような気がします(凄くうろ覚え、本もどっかいったし)。面白そうだから、あると便利だから、お金が無いから、趣味です、そんな動機でコンピューターの深部を触り始め、誰も思いつかないような手法を編み出し、多くの知識と高度な応用力が身に付いてしまって、気付いてみたら周りからはハッカーだと思われていた。それが彼らだと思います。

ハッカーになるためにC++を勉強しても続かないと思います。C++の知識が必要な何かをするために、C++について勉強していたら、いつの間にかできるようになっていた、ぐらいで無ければ、ハッカーと言われる人にはたぶんなれません。

投稿 2017/09/17 09:54

raccy

raccy

React.js総合1位

score 13099

  • React.js総合1位
  • TypeScript総合1位
  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

+7

端的に言えば、目指してなるものではない、と考えます。寝食を忘れてのめり込むような人が、「気づいたらなっている」ようなものです。

そして、「食いっぱぐれる事はない」かどうかも怪しいものです。「IT系のことを仕事にする」ということは技術の発展の最先端に立つわけですので、少しうかうかしていればあっという間に置いてきぼりを食らってしまいます。

よほど尖った技術力を持っていれば別かもしれませんが、「好きでたまらない」人にはかなわないものです。対人交渉力、デザインスキルなど、別な要素を掛け合わせできたほうが、ビジネスという観点からはより貴重な人材となると考えます。

投稿 2017/09/17 07:34

maisumakun

maisumakun

ユーザーランキング総合1位

score 30173

  • ユーザーランキング総合1位
  • ユーザーランキング月間1位
  • Ruby総合1位
  • Ruby on Rails総合1位
  • Node.js総合1位
  • Git総合1位
  • CodeIgniter総合1位
  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

+3

このあいだ、別の会社の方から「ウィザード」「レジェンド」と呼んでいただける機会がありました。振り返ってみると、好きでたまらず、寝食を忘れてのめり込んだ結果、そう呼んでいただけるようになったように思えます。普通に生活しているなら、時間はおそらく足りません。
そして、現時点でこの腕っぷしがあれば、たぶん食いっぱぐれないだろうという自信はあります。

「ハッカーと画家」というエッセイ集に「普通のやつらの上を行け」というくだりがあります。ここで紹介されている「ほげ言語」をまだ知らないなら、取り組む価値があります。
ついでに、「許可を求めるな謝罪せよ」というブログ記事もおすすめします。私はよく「やっちまえばいーんだよ」と言ってます。


以下、個人的な意見ですが……
複数の言語に取り組んで、いろんな評価軸から、アレとコレは似ている、ソレは全然違う、という視点を持てるとよいでしょう。

たとえば、時間軸では、プログラミング言語の系譜なども参考になりそうです。
ハードウェアへの近さという軸では、「アセンブラ~スクリプト言語」のような層別もできるでしょう。アセンブラの下にはマイクロコード、FPGA、ワイヤードロジックのような世界が広がっています。スクリプト言語より上には Scratchなどの世界が広がっています。
こういった目線で見てみると、適材適所で言語を使い分けられるようになるでしょう。文脈に応じて、場合によっては新しいプログラム言語を作って解決することも視野に入ってきます。


この時代に「ハッカーになりたい」と言えるだけで十分に素質はあると思います。頑張ってほしいです、応援します!!

投稿 2017/09/17 09:58

matobaa

matobaa

score 1676

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

+2

一説にはこういう階層があるとか。
beginner -> novice -> user -> knowledgeable user -> expert -> hacker -> guru -> wizard

「つかいこなせる」だけだと knowledgeable userに過ぎません。

日本で言うと、守破離といいますね。wkipediaに書かれてる説によるとこうらしいですが。

守:支援のもとに作業を遂行できる(半人前)。 ~ 自律的に作業を遂行できる(1人前)。
破:作業を分析し改善・改良できる(1.5人前)。
離:新たな知識(技術)を開発できる(創造者)。

ハッカーは守破離の「離」段階でしょう。学習を手段としている限りは、グルはおろかハッカーにもなれないと思いますよ。

まずは何の文化のハッカーになりたいかを決めて、ごく普通に「エキスパートになる」ための学習と実践を積んでください。その上でさらに経験実績を積み上げて、オリジナルな仕事ができるくらいになれば、あるいは新しい分野を切り開く(すでに回答が出ているように ruby の提唱とか)とグルと呼んでもらえるかも。

guruは日本語では導師ですね。一般に「他人に1教えようと思ったら自分では10知ってないとできない」といいます。導師ということははハッカーとかエキスパートの10倍は「出来る」人にならないといけませね。

また、単純に修行を自分の内面に積み重ねるだけなのは仙人に至る道なので、他の人に恩恵をもたらすような成果を出すのがグルへの道かもしれません。

投稿 2017/09/17 17:18

a_saitoh

a_saitoh

score 10

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

0

maisumakunさんの回答に同意見です。
いかに精通していようが、グルとは“人が認めてそう呼んでくれる”からで、自分でなるものではありません。そして、決して食いっぱぐれがない事でもありません。
参考:
グル ハッカー
プログラマが知るべき97のこと

投稿 2017/09/17 08:15

cateye

cateye

score 1715

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.74%

関連した質問

同じタグがついた質問を見る

  • MacOS(OSX)

    1195questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Windows

    921questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • ネットワーク

    339questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • セキュリティー

    318questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • 情報処理技術者

    9questions

    情報処理技術者とは、経済産業省が「情報処理の促進に関する法律」に基いて行っている国家試験、及びその資格保有者のことを指します。情報技術の原理・基礎に関する知識や技術があるという評価を受けることができます。

SNSアカウントでログイン

  • Facebookでログイン
  • Twitterでログイン
  • Googleでログイン
  • Githubでログイン
  • Hatenaでログイン

teratailアカウントでログイン

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る