技術者はビジネスをすることを軽蔑していますか?ビジネスマンは雑多な人々を軽蔑しますか?上司:彼らはすべてパートタイムの労働者です!

上司:誰を見下しますか?私のために仕事に行きなさい!

序文

みなさん、こんにちは。以前、職場の異文化についての記事を書きましたが、反応は良かったです。最近、友達が学校の求人の準備をしていると、求人情報で「ビジネスをする」とはどういう意味かと聞かれました。そこで、この記事を書いて、中の出入り口についてみんなに伝えました。

私たちがビジネスという言葉について話したとき、最も人気のあるものは販売またはアフターサービスであるべきです。しかし実際には、インターネット企業のテクノロジーとビジネスには違いがあります。面接では、人事部はこれについてよく話します。私たちはテクノロジー主導の企業またはテクノロジー志向の立場です。私たちの立場は非常に貴重であり、あなたはそれをうまく理解しなければならないと言って、彼女が何を意味するのかを私たちは皆理解しています。

しかし、なぜテクノロジーは高価であり、ビジネスは弱いように思われるのでしょうか。この問題を明らかにしたいのであれば、まずインターネット会社の事業を明確にする必要があります。

ビジネスとテクノロジー

正確には何がビジネスをしているのですか?正直なところ、この質問に対する標準的な答えはありません。誰もが自分の推測に頼っていると思います。この問題についての私の個人的な理解は、製品マネージャーがあなたに依頼することはすべてビジネスであるということです。他のプログラマーがあなたにやるように頼むのは、しばしばテクノロジーです。

実際、理解するのは簡単ですが、製品マネージャーが私たちのところに来ると、通常は何をしますか?ユーザーの問題を解決するなどの分析データの作成など、新機能のバージョンの作成など、一般的に私たちが彼らのニーズを満たすことです。これらは、直接または間接的に顧客やユーザーに向けられていることがよくあります。たとえば、新しい機能が作成された場合、ユーザーは以前はできなかったことを実行できます。たとえば、お客様が特定の場所に不満を持っている場合、私たちは的を絞った変更を行います。顧客のニーズを満たすため、または顧客をより満足させるためのこれらのことはビジネスです。

テクノロジーは正反対で、一部の人々を満足させるためではなく、特定の技術的な問題やシステムの問題を解決するためのものです。たとえば、サーバーの応答速度を向上させる方法、マシンスループットを提供する方法、大規模なデータを格納する方法、大規模なトラフィックの下でサーバーを停止する方法などを考えてください。 。これらのことはユーザーにはわからないことがよくありますが、そうしないと、会社のその後の発展に影響を与えるか、より大きな問題を引き起こします。これらのもののソースは、多くの場合、アップストリームとダウンストリームでコラボレーションするアーキテクトまたはチームである可能性がある他のプログラマーです。技術的なアップグレードや変革のためのプログラマーを見つける製品マネージャーはほとんどいません。

長所と短所

ビジネス

ビジネスを行うことになると、誰もがビジネスを行うことの欠点についてもっと心配するかもしれません。たとえば、技術的な内容が比較的低く、多くのことがより複雑です。開発の場合は、今日ここに機能を追加し、明日そこにCRUD(追加、削除、変更、チェック)と呼ばれるボタンを追加します。アルゴリズムは似ています。ここでは、ユーザーの好みを予測するモデルを作成し、ユーザーの維持を予測するモデルを作成します。モデルが利用できない可能性もあり、統計を実行するためにSQLを実行すると要件が満たされます。

あなたはいくつかのハイエンドな方法を使いたいと言います、そしてあなたはおそらく製品マネージャーまたは運営している女性によって呼び戻されるでしょう。私たちがそれを使用できる限り、私たちはテクノロジーを追求しません。

短期間で大丈夫かもしれませんが、久しぶりに退屈になり、いつ終わるのかわかりません。仕事はこれらすべての退屈で些細なことのようであり、技術分野は長い間成長していません。もう少し高度なテクノロジーを学ぶべきだとあなたは言いますが、それを学んだとしても役に立ちません。そのため、多くのエンジニアの熱意が失われ、逃げ道が見えず、成長できないと感じています。そのため、商売をしている3つの言葉を聞くと、多くの人が頭痛を覚え、非常に抵抗力があります。これらも非常に正常です。

最初は同じように感じました。ビジネスをするのはとてもつまらないと感じました。私は一日中プロダクトマネージャーやオペレーションと喧嘩しました。また、プレッシャーも大きく、システムに問題が発生することがあり、夜中に起きてそれを確認する必要があります。感情のないコーディングマシンのような気がします。しかし、今振り返ると、主にビジネスを行うことのメリットを理解し、より包括的な理解を持っているため、問題に対する私の見方が少し変わりました。

一部の企業でCEOアワードと呼ばれるものを聞いたことがあるかどうかはわかりませんつまり、CEOは毎年、この賞を授与するために最善を尽くしたと思うチームを選びます。この賞を受賞すると、チーム全体のパフォーマンスと年末の賞は非常に印象的です。King's Gloryチームがその年にCEO賞を受賞し、チームの全員がその年に数百万の税金を支払ったと聞きました。

私はいくつかの企業のCEO賞を観察しましたが、それらのほとんどはビジネスチームです。たとえば、Ant Financialでは、この賞を受賞したチームが2つあることを知っています。1つはAnt Forestで、もう1つは小さなプログラムです。明らかに、これら2つのチームはビジネスチームです。

私たちの個人的な観点から、私たちは個人の能力の向上と技術の成長にもっと注意を払うかもしれません。しかし、会社の意思決定者と管理者の観点から、彼らは明らかに会社の発展と成長をより重視しています。インターネット企業の場合、開発と成長は主にテクノロジーではなくビジネスに反映されます。どんなに優れた技術でも儲からず、やがて会社は倒産しなければなりません。そのような例も珍しくありません。

ですから、ビジネスをすることは主なことではありません。主なことはあなたがどのようなビジネスをするかです。それがチームおよび個人のパフォーマンスまたは昇進の機会であるかどうかにかかわらず、それがコアビジネスチームにある場合、それは他のチームよりもはるかに優れています。また、上司の注目と感謝を集め、昇進する機会を得るのも簡単です。

もう1つのポイントは、上流と下流、製品マネージャーやオペレーションとのコミュニケーションなど、ビジネスを行うことはソフトパワーを行使することです。別の例として、上司やリーダーにビジネスを報告する必要がある場合があります。そして、ビジネスを行う過程で、私たちにとって非常に重要なビジネスシナリオの理解深めました。広告ビジネスを例にとると、広告入札メカニズムはどのように機能しますか?マーチャントのクリック率が高い場合、不正行為防止メカニズムを設計するにはどうすればよいですか?CTRとCRの違いは何ですか?異なるシナリオでの広告の違いは何ですか?

これらの問題を理解することは直接的な技術的能力ではありませんが、私たちの転職や雇用にも非常に役立ちます。これが転職時に技術的な方向性を変えない人が多い理由でもあり、以前に宣伝したことがある人は、これらのビジネス理解の蓄積から、転職後に宣伝することを選択することがよくあります。

技術

ビジネスについて話した後、テクノロジーについて話しましょう。実際、インターネット企業が純粋に技術チームを持っていることはめったにありません考えてみたところ、Alibaba Cloudやミドルウェアのようなチームしかないかもしれませんし、人工知能研究所や様々な研究所もあります。xxラボという部署はとても背が高いと思っていたのですが、入ってみるとあるハローが出ました。

私は後でそれについて学びました、そしてこれが全くそうではないことを知りました。さまざまな研究所のプロジェクトは、多くの場合、ビジネスから遠く離れています。つまり、アプリケーションシナリオが見つからないことがよくあります。アプリケーションシナリオがないということは、会社に利益をもたらすことができないことを意味し、会社に収益をもたらすことができないということは、基本的に価値があまりないことを意味します。一部の大企業は大丈夫かもしれませんし、テクノロジーを研究し、会社の将来への道を開くために人々のグループを育てることをいとわないかもしれません。しかし、それでもリスクは大きいです。会社の業績が悪くなると、これらは解雇される最初の技術チームになる可能性があります。

もう1つの隠れた要因は、技術的な方向性が実際に選択を制限していることです。それはどういう意味ですか?非常に単純です。たとえば、ミドルウェアを使用しています。ミドルウェアは非常に技術的なポジションであることは誰もが知っていますが、問題は、ミドルウェアのポジションが一部の大企業でしか利用できないことです。中小企業はオープンソースのミドルウェアを使用しており、基本的に自社で開発していません。つまり、ドラゴンを倒すテクニックを無料で習得したのですが、ドラゴンは少数の大企業でしか利用できず、転職したい場合は選択肢が制限されます。この問題はビジネスには存在しません。ビジネスが小さくても、技術リテラシーが問題ない限り、転職の際に問題になることはありません。

あなたは技術を作ることの利点についてもっと言う必要はないはずです、あなたはそれを推測することができます。比較的シンプルで、商品や操作など、いろいろな人と接する必要がなく、安心してコードを書いて技術を学ぶことができます。また、自らの強みなどを高めるための十分な技術成長もあります。

その他

ビジネスやテクノロジーに加えて、別の種類の雑多なものがあります。つまり、コアビジネスもコアテクノロジーへのアクセスも実行できず、限界チームで実行できるのは限界的なことだけです。これは、ほとんどのエンジニアにとっても標準です。正直、これはとても恥ずかしいことで、私はそれを経験し、深い理解を持っています。

現状を変えることができないとき、現状を見続けると、それは自分自身をより苦痛にするだけです。現時点では、自分の能力を発揮し、目立たせて再利用するためのさまざまな方法を考えることに加えて、自分を楽しませ、自分のニーズを満たすことを学ぶためのより良い方法もあります。たとえば、上司が技術的なコンテンツを使って仕事をしてくれない(または上司が自分で仕事をしていない)場合、どうすればよいですか?それでは、私たちは自分たちでいくつかの技術的なことをすることができますか?

私たちはレバレッジになり、現在のシステムの問題の1つを選び、それを解決する方法、または最適化する方法を見つけることができます。どのシステムやツールが使いにくいかを考えたら、自分でより良いツールを作ることができます。会社のアイドル状態のマシンの一部にアクセスする権限がある場合は、独自の実験デバイスとして、さまざまな分散クラスターフレームワークをそれらにデプロイすることもできます。会社の資源を使って利益を上げることはできないと規定している人だけですが、会社の資源を使って自分自身を向上させることができないと言う人は誰もいませんよね?

改善方法

私は6年目に自分でAndroidの開発を行っています。卒業から2年後、ByteDanceの大家族に加わることを光栄に思います。バイトの4年間で、あまりにも多くの人が行き交うのを目撃し、アリに転職して直接給料を2倍にした同僚に感銘を受けましたが、金メッキを施した金で壁にぶつかる人もたくさんいました。 「大きな工場」。技術的には!

私自身も成功例と言えますが、4年で1-1から2-2を達成しました。もちろん、その背後にある「悲しみの涙」については後ほど説明します。一般的に、私の継続的な学習、レビュー、要約のおかげで、私のスキルが向上します!テクノロジーの向上に関心のある友達を助けたいと思って、過去4年間の私の具体的な学習ルートとメモを共有しましょう!

次の完全な研究ノートPDF、あなたは労働者の兄弟をサポートするために+コメントを好きにすることができます、無料でそれを拾うためにここをクリックしてください

  • 建築家にとって不可欠なスキル

現在、Android APP開発の主流言語はJava言語です。Java言語の最大の特徴は、ソフトウェアの相互作用の可能性を高めることです。Android携帯のほとんどすべてのアプリケーションはJava言語で書かれていると言えます。

知識のポイント:
1。Javaジェネリックの詳細な理解
2.詳細な説明の説明
3.並行プログラミング
4.データ送信とシリアル化5.Java
仮想マシンの原理
6.効率的なIO

建築家にとって不可欠なスキル

  • デザイン思考のためのオープンソースフレームワークの解釈

インターネット企業の継続的な発展に伴い、製品プロジェクトにはますます多くのモジュールがあり、ユーザーエクスペリエンスの要件はますます高くなっています。小さなステップと高速な反復の目的を達成することはますます困難になっています。プラグイン技術が生まれます。プラグイン技術がない場合、MeituanやTaobaoなどの多数の「アプリ」を統合するアプリケーションは数gにもなる可能性があります。

したがって、今日のAndroidモバイル開発は、ホットフィックス、プラグイン、またはコンポーネント化されておらず、インタビューの80%以上が合格しません。

知識のポイント:
1。ホットフィックスの設計
2.プラグインフレームワークの設計
3.コンポーネントフレームワークの設計
4.画像読み込みフレームワーク
5.ネットワークアクセスフレームワークの設計
6.RXJavaレスポンシブプログラミングフレームワークの設計

デザイン思考のためのオープンソースフレームワークの解釈

  • 360°オールラウンドなパフォーマンスチューニング

さまざまなレベルの開発エンジニアの手に渡ると、技術レベルが不均一であるため、多くの携帯電話が非常に高いソフトウェアパフォーマンスで実行されている場合でも、アプリケーションを開く際に遅延が発生します。

また、商品内容の反復により、機能がますます複雑になり、UIページがますます豊富になり、円滑な運用の障害にもなっています。要約すると、APPのパフォーマンスの最適化は、開発者が持つべき包括的な品質になり、開発者が高品質のアプリケーション作業を完了することを保証するものでもあります。

1.デザインのアイデアとコード品質の最適化

2.プログラムパフォーマンスの最適化

  • 起動速度と実行効率の最適化
  • レイアウトの検出と最適化
  • メモリの最適化
  • 消費電力の最適化
  • ネットワーク伝送とデータストレージの最適化
  • APKサイズの最適化

3.開発効率の最適化

  • 分散バージョン管理システムGit
  • 自動ビルドシステムGradle

4.実際の戦闘を計画する

  • 開始速度
  • 流暢さ
  • DouyinのAPKパッケージサイズリソース最適化の実践
  • Youkuのレスポンシブレイアウトテクノロジーの完全な分析
  • ネットワークの最適化
  • 淘宝網ダブルイレブンのパフォーマンス最適化プロジェクトの秘密を明らかにする
  • AutoNaviAPPフルリンクのソースコード依存性の分析
  • OOMを完全に排除する実際の戦闘経験の共有
  • WeChatAndroid端末のメモリ最適化の練習

360°オールラウンドなパフォーマンスチューニング

  • Androidフレームワークアーキテクチャ

Androidフレームワークアーキテクチャ(高度なUI + FrameWorkソースコード)この知識は現在最も多くのユーザーであり、2013年から2016年までAndroidのテクノロジーと呼ばれています。

Android開発者は、オンラインでコードをコピーすることに慣れているため、この頻繁に「使用される」コードに精通していることがよくあります。慣れている人は、ほぼ毎日コードを処理し、毎日コードをコピーしています。慣れていないのは、これらのコードを毎日使用しているにもかかわらずです。コードを扱っていますが、私はこれらのコードの原理とコードの深さの意味を深く研究していません。

この記事の要点:
1。高度なUIプロモーション
2.Androidカーネルコンポーネント
3.大規模プロジェクトに不可欠なIPC4
。データの永続性とシリアル化
5.フレームワークカーネル分析

Androidフレームワークアーキテクチャ

  • NDKモジュール開発(オーディオおよびビデオシリーズ)

NDK(Native Development Kitの略)は、AndroidアプリケーションでCおよびC ++コードを使用できるようにするネイティブプログラミングインターフェイスに基づくソフトウェア開発キットです。このツールによって開発されたプログラムは、仮想マシンではなく、ローカルで直接実行されます。

Androidでは、NDKは一連のツールのコレクションであり、主にAndroidSDKを拡張するために使用されます。NDKは、開発者がCまたはC ++ダイナミックライブラリをすばやく開発するのに役立つ一連のツールを提供し、Javaアプリケーションをapkに自動的にパッケージ化できます。

この記事の知識ポイント:
1。NDKによって開発されたC / C ++の概要
2.JNIモジュールの開発3.Linux
プログラミング
4.低レベルの画像処理
5.オーディオとビデオの開発
6.機械学習

NDKモジュールの開発

  • フラッター学習が進んだ

2019年は間違いなくFlutterテクノロジーが本格化する年です。

すべてのモバイル開発者は、スーパーアプリから独立したアプリまで、純粋なFlutterからハイブリッドスタックまで、Flutterによってもたらされる「迅速な開発、表現力豊かで柔軟なUI、ネイティブパフォーマンス」の機能と概念に夢中です。開発者私たちはFlutterの探索と適用に熱心ですさまざまなシナリオでのテクノロジー、そして私たちはさまざまなさまざまな課題にも直面しています。

この記事の要点:
1。Flutterクロスプラットフォーム開発の概要
2.WindowsでのFlutter開発環境の構築
3.最初のFlutterAPP

の作成4.FlutterDart言語システムの使用を開始する...

フラッター学習

  • WeChatアプレットの開発

最も人気のあるプログラミング開発アプリケーションシナリオの1つとして、WeChatアプレットは市場で非常に人気があり、多くの開発者を貪欲にしています。しかし、初心者にとっては完全に途方に暮れています。WeChatアプレットの開発と作成でどのような知識を学ぶ必要があるのか​​わかりません。困っている友人はこの記事を参照できます。

この記事の主な知識ポイント:
1。
アプレットの概要と紹介2.アプレットのUI開発
3.API操作
4.ショッピングモールプロジェクトの実際の戦闘

WeChatアプレットの開発

  • Android関連のソースコードの解釈
    JavaであろうとAndroidであろうと、プログラマーである限り、ソースコードを読まずに、APIドキュメントだけを見れば、それはただ肌にとどまります。これはそうではありません。私たちの知識システムの確立と完成、そして実際の戦闘技術の向上に役立ちます。

Android関連のソースコードの解釈

Android関連のソースコードの一部の解釈

スペース上の理由から、上記の完全な学習ノートのPDFが必要な場合は、+コメントを付けて、労働者の兄弟をサポートできます。ここをクリックして無料で入手してください。

おすすめ

転載: blog.csdn.net/Androiddddd/article/details/113390504