私はあなたと同じ立場にあり、あなたが言う「ねじ大学」の道を選びました。私はソフトウェア開発、基本的なHSプログラミングコースに加えてC ++の趣味、そして夢が大好きでした。今、私はプロの開発者ですので、私の経験をお伝えします。
大学に1年間通った後(テクニカルシアターの完全な奨学金を受けました)、私はソフトウェアを構築するよりも好きであることがわかりました。
1年目-家賃を払うためのデスクトップサポートと開発で構成される「自分のもの」を始めました。私が作ることができるものを、それを望んでいる人のために、わずかな価格で開発します。振り返ってみると、おそらく1,000ドルで20,000ドルのアプリケーションを実行していました。あなたがそれが2万ドルのアプリであることを知った経験があったとしても、あなたはそれを求める信頼性を持っていないので、あなた自身で始めるのは本当に残念です。そして何より最悪なのは、自分の知らないことや、周りにいる他の開発者がいないことです。メンテナンスの悪夢であるアプリケーションを作成しました。私はアーキテクチャやデザインパターンのスキルがなかったため、基本的には爆発的なものを作成し、請求書を支払うためのネットワークサポートを行いました。「まあ、少なくとも私は男のために働いていない」と混ざったたくさんのタコ・ベル。私はアプリを書いて世界に出ることの夢をいくつか持っています。
2年目-やってはいけないことを学び、物事が私の顔に爆発するのを見て、やや良い開発者になる。デスクトップサポート、サーバーの学習、およびWebサイトの作成をほとんど行いません。男性にとってはこれよりも簡単なはずですが、私には本当のポートフォリオがありません。
3年目-これのコツをつかみ始めました。[ファイル]> [新規プロジェクト]をクリックすると、どこに行きたいのか、物事をどのように構築するのかについて、漠然と考えています。まだ間違ったアーキテクチャを選択しているので、Webサービスはちょっとクールなように思えるので、それらですべてを構築してみませんか?電卓デスクトップアプリが必要ですか?Webサービスを構築します!少数のクライアントを引き取り始め、IT担当者になり、途中でいくつかのソフトウェアプロジェクトになります。私がやったことの1つは、Webサービスを使用してオフサイトバックアップサービスを作成することでした。そのため、誰もがまだテープを交換している間に「Mozy」になることが私の夢でした。ブロードバンドが当たり前になっているので、私は先んじており、これが私の100万ドルのアイデアになりそうでした。しかし、サービスには問題がありました(アーキテクチャスキルの不足による)。
4年目-最後に、顧客は長期プロジェクトについて私を信じています。私はひどくめちゃくちゃにせずにそれを行うことができます。コードは素晴らしいものではありませんが、動作します。請求書に追いつき始めて、私は他の数人の開発者と協力するようになり(あなたが成功するまで偽造しますか?)、いくつかのExperts Exchangeの質問に答えることさえできます。そうそう。
5年目-今まで気が付いていなかったとしても、1年目の夢はまだ書かれていないので、少し憂鬱になり始めています。私はうまく書いたもののまともなポートフォリオを持っており、ある程度の勢いを得ており、クライアントベースは立派です。それでも、私が知らないことを本当に知らない、そして損益分岐点。
5〜8年目-「プロジェクトを行い、それぞれについて少し学び、その経験を次のプロジェクトに持ち込む」という点で、これらを組み合わせます。今日は8年目の半ばで、私が優秀な開発者になったのはこの1年か2年だけです。1年目の夢は、すでに他の人によって何度も発明されています。あなたが推測していなかった場合のために、私はMozyを作成しませんでした。
その過程で、新しい夢や新しいアイデアが生まれました。良いものもあれば、恐ろしいものもありました。私は今、それらを実現するスキルを身につけており、それらのいくつかは実現しています。それはエキサイティングです。しかし、私はこの旅をかなり短縮できたかもしれませんが、物事を別のやり方でやるだろうと感じています。
大学がこの旅をどのように変えるかについて話すことはできません。このスレッドでは他の人にそれを任せます。しかし、私はアドバイスの断片:
- 他の開発者と協力する必要があります。これがどれほど重要であるかはわかりませんでした。他の誰かのコードを見たり、恐ろしいコードレビューを取得するまで、あなたは知らないことを知らない。
- 大きな責任を負う前に失敗する。本当に自分で外出したい場合は、結婚する前、家の支払い、子供などがある前にやってみてください。あなたは失敗し、何度も失敗します。それに慣れて、それが史上最高の経験であるとして、それを評価してください。しかし、すべての時間とお金を費やしたキラーアプリの顧客が1人ではない場合、それはあなただけの場合に回復するのがはるかに簡単です。
- ブートストラップには何の問題もありません。ネットワークスキルをお持ちの場合は、ネットワークオペレーションセンターまたはヘルプデスク(ITの領域内)で働き、営業時間外および週末に優れた開発者になるために取り組んでください。実際の仕事で人とつながりを持ちます。後で必要になります。
- 125%がソフトウェア開発が大好きであることを確認してください。ソフトウェアへの情熱は「億万長者」の部分よりも先にあり、逆ではありません。あなたがこれに情熱を持っていない場合、またはNew Projectを押しても心臓が少し速く動き始めない場合は、何か他のことをして、これを趣味にしてください。
私は続けることができると確信していますが、面白いことは、これらの夢の1つに取り組んでいる間にこの質問を見て、この質問に答えなければならなかったことです。:) 幸運を。