私はフリーランスのプログラマーです。プログラミングは、9年前に高校を卒業してからの私の主要な収入です。私はまだ学位を取得するつもりですが、現時点ではまだ私にとって適切ではありません。
自己主導の認識への私の道は次のとおりでした。これらの手順がプログラミングコミュニティに認知されると言っているわけではありませんが、インタビューの際に信頼性を高めるのに役立ちます。
当時IMOのプログラミングにかなり精通していた後でも、基本に戻ってチュートリアルを繰り返し、それらからインスピレーションを得た作品に基づいてポートフォリオを構築しました。また、JavaDoc風の方法でコードをコメントするように強制し始めました。ポートフォリオは現在、華やかさと魅力に満ちているわけではありませんが、ベースラインを構築し、そこにあるものを最終的に置き換えることができます。その後、見込み客に見せるためのデモとコードサンプルを用意しました。これはあなたの最初の仕事を得るのに不可欠です。経験のない人を雇いたいという人はいませんが、プロの経験のない有望なプログラマーにチャンスを与える人がたくさんいます。
後でこれらのプログラムを分析し、よく使うタスクに基づいてライブラリを書き始めました。新しいライブラリを使用して、インターネットでCompSciの問題を調べ始め、ライブラリを使用してソリューションを構築するのにどのくらい時間がかかるかを計り始めました。これにより、将来、特定のタスクに対して何を請求すべきかについてのベースラインが得られます。
オープンソースを発見したのはそれまでではありませんでした。sourceforgeのプロジェクトを興味のある言語で調べて、利用できるアプリケーションを見つけました。これらのアプリケーションをインストールし、毎日のコンピューティングエクスペリエンスの一部として使用し始めました。これらのアプリケーションの長所と短所を毎日のやり取りで見ることができ、自分のニーズに合わせて拡張し始めました。パッチをレビュー用に開発中のコミュニティに送信し、数回後にプロジェクトのメンバーになるために申請します。これは、当時私が考えていたように、「広大な経験」をとるチームで働くときに使用されるさまざまなツールを使用することを学び、次のレベルに持っていった場所です。
私は、オープンソースプロジェクトでの作業を取り上げたすべての慣行を適応させ、個人として働いていたときに比較可能なソリューションを実装しました。フリーランスの開発者としてのキャリアを真剣に追求し始め、フリーランスの募集サイトに参加しました。私は人気のある仕事が何であるかを見て、応募を始めました。断られるすべての仕事について、自分の知識を広げるための仕事を得たかのように、私はそれでも自分自身でそれを完了するでしょう。これは、私のポートフォリオを構築し、現実世界の課題を紹介するのに役立ちます。私がついにその最初のインタビューを受けたとき、私は率直で、専門的な経験がないと彼らに話しました。それから私は、彼らに取り組んだオープンソースプロジェクト、そこで達成したことを彼らに伝え始めました。私が遭遇したいくつかの大きなハードルと、それらにどのように対処したか。