プログラマーの間で一般的な必要なスキルには、スクリプト、デバッグ、プロジェクト管理、バージョンコントロール（GIT）、批判的思考、チームワーキングなどがあります。
ただし、アプリケーションの異なるドメインには、さまざまなスキルセットが必要です。そのため、まったく同じスキルセットを共有する2つのプログラマーはいません。
例として、ソフトウェアエンジニアは幅広いコーディング言語でコーディングできますが、機械学習エンジニアなどのより専門的な役割は、主にPythonでコードを行います。
Some required skills that are common among programmers include scripting, debugging, project management, version control (git), critical thinking and teamworking.
However, different domains of application require different skill sets. As such no two programmers share the exact same skill sets.
As an example, while a software engineer can code in a wide diversity of coding languages, a more specialized role such as a machine learning engineer will mainly code in Python.