あなたに最適な技術キャリアパスを選択する方法

Dev Ops、モバイルエンジニア、データサイエンティスト、プロジェクトマネージャー、フロントエンド—あなたに最適なものは何ですか?

私はテクノロジーに4年間携わっていますが、まだよく理解していない役割に出くわします。テクノロジー業界でキャリアを築く方法はたくさんあります。私が最初の仕事を探し始めたとき、私はキャリアパスの違いについて無知だったことを知っています。サイト信頼性エンジニアが何をしたのかと聞かれたら、私はあなたに話すことができなかっただろう。

テクノロジーのキャリアパスについて多くの質問があります。私はそれについての記事を書いて、人々にそれを指摘できるようにしようと思いました。2018年にアメリカで最高のテクノロジー関連の仕事を20件挙げたBusinessInsiderの記事を参考にします。これは、上向きの機動性に優れた関連技術パスの優れたリストです。彼らは非常に需要があり、あなたが良い賃金で良い会社に就職することを可能にします。うまくいけば、これはあなたがたどる道を決めるのに役立つでしょう。それでは始めましょう:

モバイル開発者

彼らは何をしますか?

モバイル開発者は、企業向けのアプリを作成する人々です。AndroidまたはiOSデバイスを使用したことがある場合は、モバイル開発者の作業を直接操作したことがあります。Windows Phoneなど、モバイル向けの他の開発プラットフォームがあります。しかし、ほとんどの場合、人々が「モバイル開発者」と言うとき、彼らはおそらくAndroidまたはiOS開発者について話しているでしょう。

なぜこのキャリアパスを選ぶ必要があるのですか?

技術力とともにデザインや視覚的なディテールへの注意に目を向けたい場合は、モバイル開発者になる必要があります。モバイル開発者はデザイナーと緊密に協力して、美しく、使いやすく、パフォーマンスの高いモバイルアプリを開発しています。

モバイルデバイスとその動作に関心がある場合も、このパスを選択する必要があります。インフラストラクチャに重点を置くモバイル開発者は、限られたデバイスリソースを考慮する必要があります。また、モバイルデバイスがどのように機能して、アプリをパフォーマンスの高いものにするかについての深い知識も必要です。

どうすれば始められますか?

これは、iOSとAndroidのどちらに焦点を合わせたいかによって異なります。個人的には、2つの理由からAndroidを学ぶことをお勧めします。JavaはおそらくSwiftやObjective-Cで学ぶのに役立つ言語であり、世界の75%がAndroidを使用しているのに対し、21%はiOSを使用しています。これはstatcounter.comによるものです。そうは言っても、あるプラットフォームに対して他のプラットフォームよりも特別な情熱を持っている場合は、その情熱を持って行ってください。

Androidの場合は、この記事をお読みください。これは、開始方法の要点を超えています。iOSの場合は、raywenderlich.comでこのビデオをご覧ください。Ray WenderlichのWebサイトは、iOS全般にとって優れたリソースです。

データサイエンティスト

彼らは何をしますか?

データサイエンティストは、データの処理を通じて企業が問題を解決するのを支援します。では、それはどういう意味ですか?ソフトウェアエンジニアは、Webサイトまたはモバイルアプリのどこかにロギングを実装します。これは処理され、最終的にデータサイエンティストに届きます。次に、データサイエンティストは、これらすべてのデータポイントを収集し、それらから洞察を導き出します。

例としてeコマースWebサイトを使用できます。いくつかの異なるデータポイントを調べた後、データサイエンティストは、カートにアイテムを追加した人の0.5%だけが最終的に購入することに気付きました。次に、データサイエンティストは、これが先月の収益の減少の理由である可能性があると仮定します。彼らは3か月前に率をチェックし、それが5%であったことを確認します。

それがおそらく収益の減少の理由のようです。彼らはこれを適切な利害関係者に明らかにします。これらの利害関係者は、問題の原因となった購入中にクラッシュが発生したことを発見しました。データサイエンティストが会社で働いていなかった場合、これは見つからなかった可能性があります。

データサイエンティストは、データに基づいて成長への新しい道と現在の製品を改善する方法を見つけるために働くこともできます。空は、データサイエンティストを企業で活用する方法の限界です。

なぜこのキャリアパスを選ぶ必要があるのですか?

データを見てパターンを見ようとするのが好きなら、データサイエンティストになりましょう。データサイエンティストは、データを調べ、会社の成長に役立つ洞察を見つけようとすることで価値を提供します。特定のパターンが発生している理由を考え出すのが大好きです。また、使用している製品を深く理解している必要があります。これにより、データの洞察に関する仮説を検証できます。

どうすれば始められますか?

まず、データがビジネス上の意思決定をどのように推進するかをよりよく理解するための、Courseraのこのコースから始めます。そのコースがあなたの興味を深めるなら、学習を始めるためのいくつかの素晴らしい方法を推奨するこの記事から始めてください。

プロジェクトマネージャ

彼らは何をしますか?

プロジェクトマネージャーは、その肩書きが意味することを正確に実行し、製品を管理します。しかし、それは正確にはどういう意味ですか?さて、プロジェクトマネージャーとして、あなたはあなたが取り組んでいる製品の高レベルのビューを持っている必要があります。

製品を時間どおりに出荷できるように、全員が最も関連性の高いタスクを実行して作業していることを確認する必要があります。チームのすべての人が何をしているのか、どのようにやっているのか、いつ行われるのかを理解する必要があります。最終製品が上位に提供したタイムラインで必要なすべてを備えているように、すべてのピースを並べます。

これはまた、行き詰まったときにブロックを解除するのを手伝う必要があることを意味します。製品の仕上げを他のチームに依存している場合は、他のチームとの会議を開催する必要があります。チームの同期会議を実行して、全員が順調に進んでいて問題がないことを確認する必要があります。

プロジェクトマネージャーになることの最も難しい部分は、すべてが時間通りに高品質で行われるようにすることです。また、チームのメンバーが圧倒されないようにする必要があります。これは常に微妙なバランスです。

なぜこのキャリアパスを選ぶ必要があるのですか?

あなたは組織化されており、他の人とのコラボレーションが大好きです。高品質の製品を提供するために、多くのニーズのバランスを取ることができます。あなたは時間と品質の間のトレードオフを理解し、どちらかをいつ押し戻すべきかを知っています。

あなたの製品を待っている人々が、あなたが高品質の製品を届けるのに4ヶ月かかることを知っているとき、あなたが2ヶ月でそれを終えることを要求するとしましょう。余分な時間が必要な理由について説得力のある証拠を提供する能力が必要です。また、プレッシャーに屈しないようにする必要があります。

プロジェクトマネージャーになるには、納期と品質の完璧なバランスを維持する必要があります。

逆もまた真である可能性があります。開発者は、3日前に完了したことを確認すると、1か月かかると言うことがあります。あなたは質問をし、製品がそれを必要としないことを知っていても、開発者がこの特定の作業を過剰に設計したいと思っていることを知ります。開発者に必要なものだけを構築させる方法を考え出す必要があります。

前に言ったように、組織化され、製品を軌道に乗せながら他の人と効果的に仕事をすることができることがすべてです。これは信じられないほど難しいです。あなたは製品についての高度な知識を持っている必要がありますが、人々に彼らの仕事の責任を負わせることができるようにすべての部分について十分に深い知識を持っている必要があります。

どうすれば始められますか?

テクノロジーのプロジェクトマネージャーの多くは、アジャイルとスクラムの方法論を使用して作業を整理しています。スクラム認定の取得を検討することから始めます。詳細については、スクラムのWebサイトをご覧ください。

プロジェクトマネージャーは、経営学の学位またはプロジェクト管理の学位を持っている傾向があります。すでにコンピュータサイエンスの学位を取得している場合は、これらの分野のいずれかで未成年者を取得することを検討できます。

プロジェクト管理に取り掛かるもう1つの優れた方法は、友人やオープンソースプロジェクトで小さなプロジェクトを管理することです。実践することで、プロジェクト管理スキルを完璧に実際に応用することで、候補者として目立つようになります。

Trello、Jira、Quip、Excelなどのプロジェクト管理ツールに慣れることもできます。プロジェクトマネージャーが使用するソフトウェアに精通していると、プロジェクト管理のスキルを身に付けるのに役立ちます。

フロントエンドエンジニア

彼らは何をしますか?

フロントエンドエンジニアは、HTML、CSS、JavaScriptを使用してWebサイトのUIを構築します。アクセシビリティ、セキュリティ、使いやすさ、パフォーマンスなど、Webサイトにとって重要な側面に焦点を当てています。Webサイトにログインしたことがあるか、Webブラウザでeコマースストアから何かを購入したことがある場合は、フロントエンドエンジニアのコードを操作したことがあります。詳細については、この素晴らしい記事をご覧ください。

なぜこのキャリアパスを選ぶ必要があるのですか?

多くの点で、この仕事はモバイルエンジニアの仕事に似ています。どちらもUIを構築し、視覚要素に関しては細部に一定の注意を払う必要があります。どちらもデザイナーと協力して、パフォーマンスが高く、使いやすいUIを実装しています。主な違いは、使用される言語とツール、およびモバイル開発者がWebサイトではなくアプリケーションを作成しているという事実です。

新しい言語や技術スタックを学び、使用するのが好きな人なら、フロントエンドエンジニアになる必要があります。フロントエンドエンジニアになるには、HTML、CSS、JavaScript、SQLを使用する必要があります。その上、Django、Ruby on Rails、.Netなどのバックエンドサーバーサイドフレームワークを知っておく必要があります。

このパスを検討するもう1つの理由は、スケーリングに関する問題に関心がある場合です。モバイルアプリケーションは、一度に1人のユーザーにのみサービスを提供します。これは、一度に1人のユーザーしかモバイルデバイスを使用できないためです。ウェブサイトは、潜在的に何百万もの人々に同時にサービスを提供する必要があります。これには、ボトルネックの発生を防ぐための異なる考え方とアプローチが必要です。

どうすれば始められますか?

これは簡単です:)freeCodeCampのコースをチェックアウトするだけです。これにより、熟練したフロントエンドエンジニアになるために必要なすべてのスキルが得られます。

DevOpsエンジニア

彼らは何をしますか?

これは説明するのがはるかに難しい役割です。これが本当に役割なのか、それとも単なる考え方なのかについては多くの議論があるからです。このアイデアは、DevOpsエンジニアが開発者と運用の両方の仕事を引き受けるという事実に分解できます。したがって、「DevOps」という用語。これらの役割のそれぞれを見てみましょう。

一般に、ソフトウェアエンジニアは、できるだけ多くの機能を構築して、上位のユーザーに見栄えを良くしたいと考えています。これらの新しい素晴らしい機能の1つは、ソフトウェアエンジニアの見栄えを良くする、会社の成長に役立つはずです。

運用エンジニアは安定性を求めています。つまり、ソフトウェアエンジニアがあまりにも多くの新機能をリリースすることを望んでいないということです。新しい機能には予測不可能なものがあるからです。そして、予測不可能性とともに、不安定性が生じます。運用エンジニアは、すべての新しいリリースが安定していることを望んでいます。彼らはリリースプロセスがスムーズに進むことを望んでいます。しかし、リリースする機能が多すぎると、リスクの高い機能がこの目標を脅かします。これは、ほとんどのソフトウェアエンジニアが目指していることです。

これらの2つの役割は明らかに対立しているように見えますが、それがDevOpsエンジニアが非常に役立つ理由です。DevOpsエンジニアは、開発と運用の間のギャップを埋めることができます。これを行うことにより、これらの時々サイロ化されたエリア間に意味のある通信ルートを作成します。DevOpsエンジニアは機能を作成し、それがユーザーを満足させる本番環境で安全に確認します。これができることは、どの企業でも高く評価されています。

なぜこのキャリアパスを選ぶ必要があるのですか?

コーディング機能に興味があるだけでなく、コードを本番環境にリリースする方法について学びたい場合は、このキャリアパスを選択する必要があります。ソフトウェアエンジニアリングとリリースエンジニアリングのあらゆる側面について学ぶ意欲が必要です。

学ぶ必要のある知識とツールが膨大なため、「DevOps」エンジニアと呼ばれるには長年の経験が必要になる可能性があります。あなたは新しいことを学ぶのが好きなはずです。あなたの技術スタックのあらゆる側面を知るという考えはあなたを興奮させるはずです。予期しないことが起こったときに誰もが行く人になりたい場合は、DevOpsエンジニアになることを検討する必要があります。

どうすれば始められますか?

初心者向けにコードが本番環境にリリースされる方法について学ぶことから始めます。これは、独自のWebサイトを構築し、それを自分で展開することによって実行できます。最善の方法は、しばらくの間会社で働き、展開プロセスのすべての部分に取り組むことです。他の人が対処したくない問題を修正するボランティア。それは学ぶための素晴らしい方法です。

それ以外に、DevOpsに入る方法についてこの記事を読むことをお勧めします。それは非常によく書かれており、DevOpsエンジニアになるためのさらに実用的な方法を提供します。

あなたが探していた役割がわかりませんでしたか?

これらの役割の要約を楽しんでも、希望する役割が見当たらない場合は、コメントを残してください。私は、最も拍手喝采されたコメントのために、これらのキャリアパスの概要の別のラウンドを行います。うまくいけば、あなたはこれらの技術キャリアパスのこれらの要約を楽しんだ。私の希望は、少なくとも、優れた技術を世界にリリースするために必要なスキルと知識の幅広さをよりよく理解することです。

私は、最も拍手喝采されたコメントのために、これらのキャリアパスの概要の別のラウンドを行います。

あなたが読んだものが好きですか?

私が日本で壊れた英語の先生から、ほんの数年で一流のハイテク企業で働くようになった経緯について読んでください!

テクノロジーの仕事を得るには、コンピューターサイエンスの学位が必要ですか?

最初の技術面接に合格する:準備方法。

SwiftとObjective-C。彼らはどのように比較しますか?