フリーソフトウェアハッカーになるには
ページ名:フリーソフトウェアハッカーになるには
このWikiHowでは、プログラミングコミュニティでフリーなオープンソースソフトウェアを開発・保守する方法を紹介します。このようなことをする人たちは「ソフトウェアハッカー」と呼ばれることもありますが、その立場自体は、ソフトウェアに侵入することよりも、ソフトウェアを作成したり調整したりすることに向いています。
1
ソフトウェア開発に必要なことを理解する。ソフトウェア・ハッカーになるということは、ユーザーを満足させ、ソフトウェアを適切なものに保つために、フリーソフトウェアの構築、調整、アップデートに多くの時間を費やすことを意味します。そのために、あなたは以下の基準を満たす必要があります:
- システム言語(例:C++)とプログラミング言語(例:Python)の両方をきちんと理解している。
- どのプラットフォームでプログラミングしたいかを知っている(例:Windows、Androidなど)。
- 選択した言語、プラットフォーム、ソフトウェアのジャンルについて、多くの時間を費やして学ぶことを厭わないこと。
2
誰でもフリーソフトウェアハッカーになれることを知っていること。一般に信じられているのとは反対に、数学の卓越した理解、コーディングの知識、コンピュータサイエンス(またはそれに類するもの)の大卒であることは、フリーソフトウェアハッカーになる方法を学ぶのに必要ではありません。
- ソフトウェアを開発する方法を学ぶことに正当な興味があり、適切な批判を受け入れる気持ちがある限り、ソフトウェアハッカーになれないと考える理由はありません。
3
最終目標を明確にする。ソフトウェア開発は、単なる副業からフルタイムのキャリアまで、どんなことにも使えます。プログラミング言語を学んだり、プラットフォームを選んだりする前に、自分が何を達成したいのかを知っておくと、この先も集中し続けることができます。
- 厳密には必要ではありませんが、ソフトウェア開発のキャリアが最終目標であれば、コンピュータサイエンスやソフトウェア開発の学位は就職を早めるのに役立ちます。
- あなたの目標が、単にアプリや、ユーザーが以前は難しかった、あるいは不可能だった仕事を達成するのを助けるプログラムを作ることであるなら、問題のソフトウェアがすでに開発されていないかどうかを確認しよう。
4
作業するプラットフォームを決める。Windows、macOS、iOS、Android、Linuxといった主要なプラットフォームには、それぞれ独自のコミュニティ、好まれるプログラミング言語、個別のニーズがある。ソフトウェア開発に飛び込む前に、自分のソフトウェアがどのプラットフォームに適用されるかを知っておくことは非常に重要だ。
- 開発するのと同じプラットフォームで作業するのがベストです。例えば、Androidアプリを開発するのであれば、Windowsを使うよりもMacやLinuxのようなUnixベースのシステムを使う方が良いでしょう。
- Linuxは、多くのソフトウェア開発者がよく使う(しかも無料の)ソリューションだ。
5
コーディング言語を選択する。コーディング言語には2種類あり、開発に入る前に少なくとも1つずつ学ぶ必要がありますが、最終的には複数の言語を知る必要があります:
-
システム言語 - システムと直接インターフェースするためのコンピュータ言語。一般的な例としては、C、C++、Javaなどがある。
-
プログラミング言語 - ソフトウェアの機能だけでなく、インターフェイス(ユーザーが見るものなど)を設計するために使用する言語。一般的な例としては、Python、Ruby、Perlなどがあります。
6
コマンドラインに慣れる。どのコンピューターにもコマンドラインアプリケーションがあります(Windowsのコマンドプロンプト、MacやLinuxのターミナルなど)。コマンドラインを使ってコンピュータ本体と通信し、必要に応じて詳細なコマンドを発行することができます。
- ソフトウェア開発の大部分をコマンドライン自体から行うことはありませんが、特定のプログラムを実行したり、ソフトウェアコマンドをコンピュータに統合したりするには、コマンドラインを使用する必要があります。
7
.メモ帳++は、視覚的な補助を実装することでコーディングを簡単に追跡できるようにし、教育ツールとしても機能するため、非常に貴重なプログラミングリソースです。
- 最終的には、さまざまなコマンドラインベースのテキストエディタやプログラムを使って大量のコードを書くことになるだろうが、メモ帳++は、最初のうちは驚異的な(しかも無料の)学習ツールだ。
8
開発環境をインストールする。選択したプログラミング言語やプラットフォームには、ほとんどの場合、コンピュータからプロジェクトを保存したりテストしたりできる開発ソフトウェアがあります。可能であれば、プログラミングの学習を始める前に、選択した言語の開発環境を見つけてインストールしましょう。
- 例えばAndroidアプリを開発するのであれば、Android Studio開発キットをダウンロードしてインストールします。
- JavaユーザーはEclipseなどの開発環境を使うことが多いだろう。
9
.使いたい言語が決まったら、次はその言語の使い方を学ぼう。オンライン・チュートリアルは無料・有料を問わず数多くあり、ほとんどの図書館にはプログラミング言語に特化した書籍(例:『C++ for Dummies』)が置いてある。
- 無料のプログラミング・リソースはオンライン上に豊富にあるので、有料のクラスやブートキャンプに申し込む前に、これらを上手に利用しよう。
10
自分の好きなカテゴリで運営されているコミュニティを見つける。SourceForgeやGitHubにあるようなオープンソースプロジェクトには、熱心なフォロワーがいることがよくあります。同じプログラミング言語を使うプロジェクトや、自分のプロジェクトと同じような目標を持つプロジェクトが見つかれば、そのコミュニティに参加して提案を加えたり、開発プロセスを観察したりすることができます。
- どんなスキルでもそうだが、(たとえ傍観者であっても)制作プロセスに参加することが、実践的な経験を積むための最良の方法なのだ。
11
コミュニティと交流する。コミュニティのフォーラムに投稿することから、あなた自身のオープンソースプロジェクトを始めることまで、何でもできますが、主な目的は、あなたのアイデアや障害をコミュニティにぶつけ、彼らのフィードバックに耳を傾けることです。
- 独自のオープンソースプロジェクトを始める場合は、プロジェクトの方向性に関してコミュニティと妥協する覚悟を持ちましょう。
12
貢献できるオープンソースプロジェクトを探しましょう。ソフトウェア開発ではよくあることですが、あなたの主なアイデアやペットのプロジェクトが、あなたよりはるかに経験のあるコミュニティによってすでに進行中かもしれません。もしそうなら、そのプロジェクトに参加させてもらうことを検討しよう。そうすることで、ソフトウェア・プロジェクトがどのように機能するかについての理解が深まると同時に、グループという環境ではありますが、あなたのプロジェクトを実現する手助けになるでしょう。
- オープンソース・プロジェクトは、あなたの最終目標ではないかもしれませんが、複数の異なる視点が集まってユーザー指向の製品を形成するのを見る素晴らしい方法として役立ちます。
13
自分の作品に対する公開批評を受け入れる。ソフトウェア開発を進め、作品を提出すると、批評を受けることになります。コミュニティからのフィードバックに耳を傾けることは、今後の開発を構造化するのに役立ちますが、その後のプロジェクトで同じような問題に取り組むための貴重な近道や方法を教えてくれるでしょう。
- すべてのフィードバックが建設的であるとは限りません。無礼なフィードバックや不当なフィードバックを受けた場合は、礼儀正しく対応することを忘れないでください。
14
ソフトウェア開発の課題、プログラム、コンペティションに参加する。チャレンジ、ブートキャンプ、レクチャー、クラス、あからさまなコンペティションなどは、コミュニティのフォーラムや、Craigslistのような場所、キャンパスなどでよく見かけます。このようなイベントやキャンプに申し込めば、同じ志を持つ仲間と一緒に、ガイド付きの経験を積むことができる。
- GoogleのSummer of Codeプログラムもそのひとつで、オープンソースプロジェクトやコミュニティコーディングに親しむことができる。
15
スキルを磨き続ける。ソフトウェア開発は、テクノロジーが進化するにつれて成長し続ける分野なので、新しいプロジェクト、言語、オペレーティングシステム、その他希望する分野の関連情報について、常に学ぶようにしましょう。
- フリーソフトウェアハッカーの成功の多くは、好奇心にかかっています。あなたが質問し続け、答えを探し続ける限り、あなたのソフトウェア開発の時間は生産的で長続きすることでしょう。
この記事は、CC BY-NC-SAの下で公開された " How to Become a Free Software Hacker " を改変して作成されました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。
シェアボタン: このページをSNSに投稿するのに便利です。
コメント
最新を表示する
NG表示方式
NGID一覧