エンジニアの働き方には、正社員や派遣、フリーランスなどがあります。

正社員の場合は、固定給料制なので、安定した収入を得ることができます。また任せられる業務の範囲が決まっているので、自分の仕事に専念できます。正社員は福利厚生制度が整っているという良さもあります。フリーランスや派遣に比べると、社会的信用度が高いとも言えます。
ただ、基本的に会社の指示の下で仕事をするので、自由度は低いです。勤務時間や勤務場所も決められています。給料は安定していますが、仕事で大きな成果を上げても、フリーランスほどには、収入に反映されません。

派遣社員として働く場合は、正社員よりも自由度が上がります。自分のスキルに合わせて職種を選ぶことができますし、派遣先が変われば、別の業界で働き、知識を増やすことができます。
勤務時間や勤務地、契約期間を選択できるので、ワークライフバランスもとりやすいです。
派遣で働く場合は、自由度が高いですが、契約が切れ、更新できなければ、仕事を失うことになります。次の派遣先が決まらないと、経済的に苦しくなります。ただ、IT業界では、人材が不足しているため、仕事を選ばなければ、次の職場を見つけられることでしょう。

フリーランスは、仕事を自分で選択でき、仕事時間や仕事場所を自分で決め、単価の交渉なども自分でできるので、自由度が最も高い働き方です。同じ実力なら、正社員や派遣より収入も多くなります。
ただ、自分で案件を探す必要があり、継続して仕事が得られるとは限らないので、収入面での安定性には欠けます。
(※フリーランスについてもっと知りたい人はこちら⇒今さら聞けない?フリーランスの働き方講座