エンジニアとして働くには、知識を学ばなければならない。しかし、実践的な知識については、会社に入ってから学ぶこともできる。また、予め専門学校や大学で勉強し知識を身につけていれば、入社してからプロジェクトリーダーにもなることもできる。会社によっては成果主義ではなく、素晴らしいプログラミングの技術を持っているのにも関わらず、その成果が認められないということも多くある。

そのため、エンジニアはヘッドハンティングされることが多くある。ヘッドハンティングは、会社をよりよくするために他の会社の社員を自分の社員として雇うことを指すのだが、エンジニアは他の職種に比べて技術職であるために技術が優れている人ほどヘッドハンティングされる確率が上がってくる。実績を残したかどうかは情報がもれない限りわからないのだが、企業の業績が伸びていると感じたらヘッドハンティングは行われる。

ヘッドハンティングはそれほど簡単ではなく、仕事に満足している人がほとんどであるために成功することは希である。しかし、採用する側も条件を提示することが有り、今の条件に不満がなくてもより優遇される会社に移動する人も多く存在する。プログラミングは、まさに技術の世界であるために、知識や技術が豊富である人ほど優遇される。しかし、年齢が低いからといってその技術が認められないということもあるために、自分の技術を認めてもらうためにも、他の会社に移動して最大限自分の技術を発揮するのも一つの方法である。