遠い昔 (1983 年)、私は高校の廊下の端にある閉ざされたドアの外にあるこの巨大なライン プリンター (下に表示) の前に立っていました。その日は Career Day で、もっと知りたい職業としてデータ処理 (コンピューター プログラミング) を選びました。
廊下の端にあるプリンターの前に立つ前に、私たちは教室に座って、データ処理とは何かを説明する教師の話を聞いていました。先生が息を切らして手を振ったとき、彼がデータ処理とは何かをまったく知らなかったことは、私たち全員にとって完全に明らかでした.
しかし、先生がこだわっていたのは、数学とコンピューターの関係でした。
「データ処理でキャリアを積むには、数学に非常に強くなければなりません」と教師は言いました。 「数学が苦手なら、コンピューターを扱う機会はありません。」
私は椅子に腰を下ろした。私は自分が数学が苦手であることをすでに知っていました。 「彼ら」は私に言った。
30 分間の講義が終わると、先生は私たちを高校のデータ処理室に案内してくれました。最後に、人々がコンピューターの前に座って実際にプログラミングをしているのを見ました。私は彼らのコンピューターモニターをちらりと見て、プログラマーが実際に何をしているかを見ました。いいえ。
巨大なプリンターの前に立つと、先生はこう言いました。うるさいです。」
グループの誰かが閉じたドアを指さして、「では、中に入って彼らが何をしているのか見てもらえますか?」と尋ねました。
先生は首を横に振って言いました。しかし、これが彼らが使用するプリンターです。」
それだけでした。私はしばらくの間、巨大なプリンターを見て眉をひそめました。
巨大なサイレントモンスター(当時はまだ印刷されていなかったので退屈だった)を見つめながら、私は「うーん!まあ、これは私にとってコンピュータープログラミングのアイデアを殺します。私は数学が苦手で、データ処理はまったくつまらないようです。」
ここ 2023 年に、私は IT (情報技術) で 32 年間 (現在も働いています) 働いており、1999 年から (23 年以上) ソフトウェア開発者をしています。私は 1991 年からずっと IT の仕事に就いています。高校の先生が、絶対に成功できないだろうと保証してくれた仕事で家族を養うことができたので、これは大きなことです。
あの先生はずっと前に、数学がとても重要だということについて、的外れでした。数学はプログラマーになるのに役立ちます。しかし、それは絶対に必要ではありません。人が優れた (または優れたソフトウェア開発者) になるために本当に必要なものを彼が知らなかったのは残念です。
コンピュータープログラマーになるという考えはあきらめましたが、コンピューターで遊ぶようになりました。
コレコ・アダム
私の最初のコンピューターは、1984 年に入手したColeco Adam (wikipedia)でした。Coleco Adam は、Colecovision ゲーム システム (ゲームに同じカートリッジを使用) を作成したのと同じ会社によって構築されました。 Adam にはワープロと、高速カセットからロードできる BASIC プログラミング言語が組み込まれていました。
アンドリュー・リーによる画像。
BASICプログラミングをやってみた
私は、Family Computing 誌のリストからプログラムを忠実に入力しましたが、常に何か間違ったものを入力したり、雑誌に間違って印刷されたものがあったりして、プログラムはまったく機能しませんでした。
これは、先生が私に言った、「あなたは数学を知らないので、コンピューター プログラマーにはなれないだろう」という言葉を裏付けているように思えました。
驚くべきことに、私が入力しようとした元のプログラムの 1 つが、次のリンクにある Archive.org によって実際にアーカイブされていました (これは、私が 1984 年に読んだ実際のファミリー コンピューティング マガジンです)。
実際に入力しようとしたコードのスナップショットを次に示します。
TRS-80 - タンディ ラジオ シャック モデル 80
そしてその翌年 (1985 年)、高校 3 年生のときにプログラミングの授業を受け、TRS-80 で BASIC を学びました。最終プロジェクトのために他の学生のコードをコピーしたことを覚えているので、多くを学んだり理解したりしたかどうかはわかりません。
1986年コモドール128
最後に、1986 年に地元のデパートでコモドール 128 を購入し、ゲームを始めました。ゲームのロード方法を学ばなければならなかったし、当時はマニュアルを読んで学ばなければならなかった。
しかし、途中で、使用していたすべてのコマンドを非常によく記憶できるようになったことに気付きました。ただ楽しんでゲームをしていたので、あまり考えていませんでした。
コンピューターをいじり続けるうちに、理解が深まり、快適に使えるようになりました。先生が言ったことを考えていなかったし、自分の数学力の不足を心配していなかった.習っていましたが、よくわかりませんでした。
それから 1989 年頃、さまざまな大学のコースを試してみましたが、実際にはうまくいきませんでしたが、ついにいくつかのコンピューターのクラスを受講し、自分が学んでいたことが理にかなっていることに気付きました。
しかし、収入も必要だったので、コミュニティ カレッジのコンピューター ラボに就職し、ワープロの始め方やフロッピー ディスクへのファイルの保存方法を知らない人たちの手助けを始めました。
コミュニティ カレッジの 2 年間で十分だった
COBOL (Common Business Oriented Language) のクラスを 2 つ受講しましたが、まあまあでした。めっちゃ退屈。私は応用科学コンピューター情報システムの準学士号を取得して卒業しようとしていましたが、燃え尽きてしまったため、3 つのクラスを終える前にやめました。
私はまだ3つのクラスを終えていません:
地元のパソコンショップに就職しました。 IBM 互換の PC を製造および販売しました (386s および 468 Intel プロセッサは販売されておらず、Windows 3.0 が実行されていました)。
1992 年に、私は大企業で特定のソフトウェア パッケージの技術サポートを行う仕事に就きました。何かが起こったので、それが私のキャリアの本当のスタートでした。自分のスキルがすべて揃っていることに気付きました。また、Windows で実行される小さなプログラムの作成にも集中するようになりました。 C++プログラミングを学び始めました。
数学の要件について考えるのをやめ、ソフトウェアを書き始めました
だから、あの先生が過去に言ったことを気にする代わりに、何かを生み出すことに集中するようになりました。私は自分が楽しんでいることに取り組んでいましたが、それは「遊ぶ」ようなものでした。
私の仕事では、人々が DOS をセットアップする方法 (config.sys ファイルでhimem.sys を構成する方法) を理解する必要があったため、その過程で PC がどのように機能するかを学びました。
もちろん、道中ずっとゲートキーパーがいました。私がプログラムを書き始めたとき、一緒に働いていた開発者は、私の知識不足をからかったり、私が書いたプログラムに穴を開けたりして、私が学ぶべきことがたくさんあり、私がプログラマーになる可能性は低いだろうと思い出させました。 .
悲しい困難な人生について泣き言を言ったり意見を述べたりしているように聞こえるかもしれませんが、そうではありません。
あるいは、自分のしたことを自慢しているように聞こえるかもしれません。それは本当にそうではありません。実際、スキルがまったくないにもかかわらず、コンピューティングでキャリアを築くことができたことに驚いています。
この記事では、次の 3 つのことを明らかにしようとしています。
ただし、途中で成功するのに役立つことがいくつかあることに気付きました。
最初のものは、どの人や大学からも与えられません。しかし、それはあなたがそれを持っていないという意味ではありません。
幸いなことに、IT の世界に足を踏み入れる (そして通っていく) うちに、最も役立つものに出くわしました。
始めて落胆している場合
たぶん、これらのことのいくつかを明らかにすることができます. それらは、あなたが道を歩み始めて落胆した場合に、あなたの道を歩み続けるのに役立つでしょう.
ソフトウェア開発と学習について私が学んだこと
何年にもわたって、私が IT の世界にとどまるのに役立ついくつかのことを発見しました (燃え尽きることなく)。これらのことは、私が正式な訓練をほとんど受けていない (大学の学位を取得していない) にもかかわらず、前進するのに役立ちました。
最初に知っておくべきことは次のとおりです。
何かを学ぶのは難しく、プログラミング言語やテクノロジーを学ぶことは非常に難しい場合があります。新しいテクノロジーや言語を学ぶと、1 日の終わりに圧倒され、無力感を感じることがあります。プログラムや機能を機能させるのに苦労しているため、成功したことがないように感じるかもしれません。しかし、自問すべき重要なことは、「私は本当にこれをやりたいのか?物事を理解するという挑戦が本当に好きですか?」
正直に言えば、たとえ行き詰まって理解できないと感じても、乗り越えることができます。
あなたがすることすべてに真っ逆さまに恋をしなければならないと言っているわけではないことを理解してください.過去に使用しなければならなかったプログラミング言語で、嫌いなものがあります (PERL、嫌いです!)。嫌いな部分を乗り越える方法があります。
テクノロジー (または理解できないもの) に圧倒されることがありますが、それは実際にはテクノロジーが私たちを愚かだと感じさせるからです。
今言ったことを普通の人は口に出さないので、もう一度言わせてください。
テクノロジーはしばしば私たちを愚かに感じさせます。私たちは自分自身、自分の知識、さらには自分の生活に疑問を持ち始めます。 "私は一体どうしたんだろう?なぜこれを理解できないのですか?バカに違いない。」
IT ライフのほとんどを愚かな気持ちで過ごしてきた
IT 業界は常に変化しているため、私たちは自分が扱っていることについての知識を持っていない状況に陥ることがあります。これは知識不足です。
知識の欠如は弱点のように感じる
これは弱点のように感じます。私たちは、未知のテクノロジーの未知の場所から作業を行っており、足を踏み入れるのは困難です。 IT 業界は非常に頻繁かつ急速に変化するため、私たちはしばしば弱点から作業を進めています。
多くの人がこのように感じていることを理解してください (しかし、声には出しません)
IT 業界の多くの人々はこのように感じていますが、この明らかな弱点を明らかにすると、評判や仕事さえも失う可能性があると感じているため、大声で言うことはありません。
正当な人間であると感じながら、知らないという自由を自分に与えなければなりません。すべてを知る必要はありませんし、すべてを知ることはとにかく不可能です。
このすべての学習は非常に圧倒され、私たちをひどく弱く感じさせる可能性があります.主題に飽きると、弱さはしばしば倦怠感に変わります。あなたの脳は反抗し、こう言います。私はこのようなことを学ぶのさえ好きではありません。」
その瞬間にあなたがしなければならないことは、次のことだけです。
欲しいものを作ることに集中すれば、エネルギーが得られ、困難な部分を乗り越えることができます。
必要なものを完全に構築できない場合は、何かに近いことを行う例を見つけて動作させ、その例を必要なものに変更することに集中してください。
自分の運命をコントロールすることで力を得られるように、自分のことをしなければなりません。
学んでいることだけに集中するのではなく (たいてい非常に退屈です)、テクノロジーをどのように使って欲しいものを手に入れるかということに集中してください。それはあなたに活力を与え、チュートリアルの倦怠感から抜け出すでしょう.
圧倒されてやめたくなったら:
私はすべてのソフトウェアをオープン ソースにリリースしており、私の GitHubですべてのプロジェクトをチェックできます。
ソースをチェックアウトし、プルダウンして変更を加えることができます。
アプリへのリンク=> https://cyapass.com/js/cya.htm
ソースコードへのリンク(ElectronJS は (Linux、Mac、Windows) でネイティブに実行されます) => https://github.com/raddevus/CYaPass-Electron
Windows ストアでアプリを参照してください: https://apps.microsoft.com/store/detail/cyapass/9PFD82D1Z7RW?hl=en-us&gl=us
Snap IO ストアでアプリを参照してください(Linux ディストリビューションの場合): https://snapcraft.io/cyapass
それがどのように機能するかについては、linkedIn で詳細な記事を参照してください( すべてのパスワードを破棄する: パスワードを二度と記憶しないでください)。