ソフトウェア開発者として働く方法

著者: Peter Berry
作成日: 19 Lang L: none (month-012) 2021
更新日: 1 J 2024
Anonim
エンジニア必読!人生設計のバイブル『SOFT SKILLS ソフトウェア開発者の人生マニュアル』
ビデオ: エンジニア必読!人生設計のバイブル『SOFT SKILLS ソフトウェア開発者の人生マニュアル』

コンテンツ


ソフトウェア開発者になるのに最適な時期はありません。ソフトウェア開発者の需要は常に増加しています。また、彼らが完了することを求められているさまざまな作業も増加しています。それから給料があります。

による USNews.com、平均的なソフトウェア開発者は2017年に101,790ドルを稼ぎました。Gorroo.ioによると、平均的なC#開発者は年間10万2千ドルを稼ぎます。

つまり、プログラミングは現在、世界で最も需要の高いスキルの1つです。オンラインで仕事をしたい場合、またはキャリアの次のステップに備えるために、コードを学習するよりも賢い動きはほとんどありません。

平均的なC#開発者は、年間10万2千ドルを稼ぎます。

しかし、どこから始めればよいでしょうか?あなたが過去にコードに手を出したことがない人なら、あなたは始め方について完全な損失を感じているかもしれません。この投稿では、ソフトウェア開発者が行うこと、必要な資格、仕事を見つける方法など、知っておく必要のあるすべてを探ります。

ソフトウェア開発者は何をしますか?

ソフトウェア開発者は、ソフトウェアを開発する人です。つまり、彼らはコードを書き、ツールを使用し、多くの場合、プロジェクトを開始から完了まで運びます。または、既存のコードのバグを特定したり、アップグレードしたり、新しい機能を追加したりするために雇われることもあります。

いずれにせよ、あなたの仕事は主に、さまざまなプログラミング言語、API、およびツールを使用して問題を解決することから成ります。クライアントのために、代理店を通して、またはより大きな組織の一部としてプロジェクトに直接取り組むことができます。


ソフトウェア開発者の種類

「ソフトウェア開発者」が広義の用語である理由は、作業を依頼される可能性のあるソフトウェアの種類が非常に多く、それを実現するために使用できるツールが非常に多いためです。

ソフトウェア開発者は、Webサイトを構築したり、インタラクティブ機能を追加したりするために、Web開発者または「フルスタック開発者」として働くこともあります。モバイルアプリを開発したり、社内の業界ツールで作業したりします。

考慮すべきもう1つの違い:ソフトウェア開発者とソフトウェアエンジニア、違いは何ですか?

これらの用語はどちらも同じ意味で使用される場合がありますが、違いは、完了している作業の種類と採用されたアプローチにあります。ソフトウェアエンジニアは、エンジニアリングの観点からコードを検討します。ライフサイクルを考慮し、エラーやバグを検討し、通常、大規模なチーム間で大規模なプロジェクトに取り組みます。

一方、ソフトウェア開発者は、プロジェクトの主要なクリエイティブディレクターになる可能性が高くなります。通常、特定の役割を果たすために、クライアントまたは組織向けに最初から最後までソフトウェアを開発します。

そのため、エンジニアリングチームの一員としてFacebookで働いている場合、あなたはソフトウェアエンジニアです。クライアント向けのアプリを作成する場合、あなたはソフトウェア開発者です。しかし、どちらの状況でも両方とも呼ばれるかもしれません。

ソフトウェア開発者にはどのようなスキルと資格が必要ですか?

ソフトウェア開発者になるためには、プログラミングを学ぶ必要があります。


次の質問は、「学習するのに最適なプログラミング言語は何か」または「雇用主が望むプログラミング言語は何か」です。

いくつかのプログラミング言語がクライアントや雇用主(Python、Java、JavaScript、PHP、Swift、C#、C ++、Ruby)からより多くの需要があることは確かですが、真実はあなたがやりたい仕事の種類に完全に依存するということです。以下に例を示します。

フルスタック開発者

Python、JavaScript、PHP、およびRubyはすべて、Web開発に使用される言語です。オンラインポータルで作業している場合、またはTwitterなどのWebアプリを更新している場合、これらのいくつかはおそらく役立つでしょう。この役割では、データベース(SQL)を理解し、サーバーを回避する方法を知ることも有益です。

「フルスタック開発者」とは、フロントエンド(HTML、CSS、JavaScript)からバックエンド(PHP、Python、 Ruby)、サーバーのメンテナンスに。このタイプの専門家は熱い需要があります。

詳細については、Udemyのすばらしいコースをご覧ください:Full Stack Web Developer Bootcamp。

モバイル開発者

ただし、Androidアプリの開発に興味がある場合は、JavaまたはKotlin(理想的には両方)を学ぶ必要があります。 Android Studio、Android SDK(ソフトウェア開発キット)、およびGoogleが絶えず導入しているすべての新しいコンセプト(インスタントアプリ、バブルなど)に精通する必要があります。

続きを読む: Android開発者としての仕事を見つける方法

iOSアプリを生計を立てたい場合は、SwiftとObjective Cを学び、Xcodeに慣れる必要があります。 Windowsアプリを作成する場合、またはクロスプラットフォームに移行する場合は、C#とVisual Studioの理解が必要です。

ゲーム開発者

ゲーム開発者になるには、C#を学び、理想的にはC ++を学ぶ必要があります。大きなゲームエンジン(UnityおよびUnreal)を理解する必要があります。スキルセットに少しCADを追加することもできます。

Udemyでのゲーム開発向けUnityの究極のガイドは、開始するのに適した場所です。

これは表面をひっかいているだけです。他のソフトウェア開発者は、電子機器を備えたソフトウェアの開発、ビッグデータの処理などを行います。

次に、企業がワークフローを管理し、より大きなプロジェクトで共同作業するために使用する特定のツールがあります。数か月前にロンドンのFacebookを訪れたとき、プロジェクトを順調に進めるために会社が使用するさまざまなツールについて紹介されました。それらには、Pabricator、Mercurial、Sapienzなどが含まれます。

確かに、バージョン管理に使用されるGithubのようなツールは、さまざまな業界で働くソフトウェアエンジニアや開発者に役立つ可能性があります。 AsanaやBasecampなどのプロジェクト管理アプリも同様に、リモート作業に非常に役立ちます。これらの分野での経験があることを示すと、履歴書がさらに完成し、さらに雇用可能になります。

要約すると、あなたが知る必要があることは、あなたがなりたいソフトウェア開発者のタイプに依存します。

最高のソフトウェア開発者認定

ですから、やりたい仕事の種類と書きたいコードの種類を選択したら、次の仕事は必要なトレーニングの種類を特定することです。ソフトウェア開発者になるための学位が必要ですか?

短い答えはノーです。長い答えはノーですが、確かに役立ちます。

学位なしで就職することは可能ですが、それでもコンピューターサイエンスの学位は、さまざまな組織や雇用主にとって必要条件となります。また、優れた基礎的な理解と、学位を持たない応募者に対する競争力を提供します。

続きを読む: 情報セキュリティアナリストとしてのキャリアと給与の将来性

同様に、学位は申請プロセス中に他の候補者よりも有利になります。

しかし、学位は高く、ほとんどの成人は忙しいライフスタイルに合わせて選択することはできません。その場合、次善策は、オンラインコースを受講し、基本的な理解を示すことができる認定を取得することです。

業界に認められた多くの認定資格があり、ポジションを申請する際にある程度の影響力があります。

たとえば、会社から直接Unity認定を取得できます。これは、ゲーム開発者にとって価値があることが証明される場合があります。 Android開発者になりたい場合は、Googleが実行する公式プログラムであるAssociated Android Developerに申請することができます。または、Android認定アプリケーション開発者になることを選択することもできますが、これはかなりよく知られています。

このような認定資格は、雇用を検討しているクライアントや企業に安心をもたらします。彼らはあなたが本当にあなたが持っていると主張している知識を持っていることを実証します。

単に興味のある仕事の種類をGoogleで検索し、その分野で最も有名な認定を見つけます。確信が持てない場合は、C#やJavaなどの大きな言語のいずれかを選択するか、コンピューターサイエンスまたは多くの分野を網羅するフルスタックコースを探してください。

ソフトウェア開発者になるために認定が必要ですか?

最も安価なオプションは、認定や資格のないソフトウェア開発者になることです。しかし、純粋に独学の開発者として仕事を見つけることは可能ですか?

これがまさに私がやったことだからです。 ZXSpectrumでB​​ASICプログラミングを学び、そこからQBASIC、B4A、そしてJava、C#、Pythonなどの知識を深めました。

私がこれを行うことができた方法は、私の履歴書に私に代わって話させることでした。 10万件以上の有料ダウンロードが可能な成功したAndroidアプリを開発し、その背後にあるかなり大きな名前で働いてから、Apress Media(Springer)のゲーム開発に関する技術書を書きました。

これらの成果は、証明書とまったく同じ種類の保証をクライアントに提供し、それ以外の場合よりもはるかに多く請求できるようにします。

空き時間にアプリやウェブサイトを開発して、仕事の例として役立てたり、友人がポートフォリオを構築するための安価な仕事をしたり、GitHubのオープンソースプロジェクトに参加したり、ハッカソンに参加したりすることを強くお勧めします。

UpWorkのようなほとんどのフリーランスサイトでは、基本的な理解を示すために完了することができる短いテストも提供しています。

そのような経験がなくても、領収書の支払いを受け取ることに同意し、多額の請求をせず、仕事の例を提供すれば、すぐにいくつかの仕事を獲得できるはずです。

大規模な雇用主との仕事を見つけることに関して、一部の専門家は、認定はまったく役に立たないかもしれないと示唆しています。

あるプログラミング言語を一度理解すれば、他のプログラミング言語を理解するのは比較的簡単だからです。構文、ツール、およびいくつかのルールは異なる場合があります。あなたが学ぶ最初の言語は、それでもはるかに難しいです。学習するほとんどすべての言語に「if」に相当するものがあります。

1つのプログラミング言語を理解すると、他のプログラミング言語を理解するのは比較的簡単です。

組織内で作業する場合、常にトレーニングが必要になります。すぐにすべてを知っていることを期待する雇用主はほとんどいません。そして、正直なところ、ソフトウェアエンジニアのキャリアの中で膨大な量のむちがあります。開始時に完全に自分の深みから外れ、「偽者症候群」に満ちていると感じてください。でも心配しないで、それがみんなの気持ちです!

コードを自分で教える方法

自分でコードを教えることは難しいプロセスであり、オブジェクト指向プログラミングのような高度な概念は、解読するのが難しい場合があります。幸いなことに、膨大な量の無料の資料がオンラインで入手できます。 Udemyのすばらしいコースを既にいくつか紹介しましたが、他にも多くのコースがあります。たとえば、Gary Simsが実行するAndroid開発者向けのコースがあります。

現在、コードを学習するための優れたツールをいくつか紹介します。

  • Pythonをデータサイエンスに教えるすばらしいコースです。
  • C#コーディングバンドル
  • 9部プロWeb開発者トレーニングバンドル

また、SkillShareのようなサイトにはたくさんの素晴らしいコースがあります。

こちらもご覧ください: 5ステップで初心者向けのAndroidアプリ開発を開始する方法

これらを論理的に処理し、独自のプロジェクトで実践してください。最初は難しいですが、楽しんでいる側面に集中すれば、そこにたどり着きます。

ソフトウェア開発者としての有給の仕事を見つける

パズルの最後のピースは、請負業者、常勤の在宅従業員、またはフリーランサーとしての有給の仕事を見つけることです。

フリーランスの仕事を見つけるには、主に求人情報サイト、PeoplePerHourやUpWorkなどのフリーランスサイトを使用します。

また、特にソフトウェア開発者とエンジニアを対象としたフリーランスサイトもあります。これらには、コードのレンタル、さらにはスタックオーバーフローも含まれます。

ソフトウェア開発者としての専門知識でお金を稼ぐ方法は他にもあります。筆者になり(最終的に私がやったように)、ブログのチュートリアルや技術出版社の本を書くことができます。オンラインコースで教えることができます。独自のスキルシェアコースを作成してみませんか?

NFCサポートは、ほとんどすべての主要な電話が提供する機能です。ただし、主要なデバイスメーカー4社は2015年後半以降、携帯電話でのNFCサポートを大幅に削減しています。LG、Xiaomi、Alcatel、およびOppoは、NFC技術をあまり重視していないようです。近距離無線通信(NFC)チップは、ほとんどのスマートフォンに搭載されているシンプルだが強力なツールです。 NFCテクノロジーを使用して...

最新のGoogleアプリベータ版の詳細から、Androidの新しいバージョンが準備中であることが示唆されています。新しいバージョン番号8.1は、次の人々によって発見されました。 9to5Google Googleベータアプリのバージョン7.11では、登録者に公開されています。関連する文字列は、Android 8.1にDKバージョンのバンプが伴うことを示しています。これは、Android 8.1が新...

詳細