会社勤めとフリーランスではプログラマの違いは多岐にわたっていますが、決定的な違いは2つの角度から働き方の特徴を見てみるとわかります。
1つは収入や勤務の仕方に関する違いです。会社勤めをしているプログラマの場合には収入や勤務時間が比較的安定しています。就業規則や雇用契約によって勤務時間がきちんと定められていて、月給がいくらかも決まっているからです。残業が発生することもありますが、時間外手当を受け取れるなどの対応を受けられます。
しかし、独立してフリーランスをするとプログラマの収入や勤務時間は不安定になるのが一般的です。手に入れられた案件の条件や、契約できて適切に処理できた案件の数に左右されるからです。
もう1つは業務内容で、会社勤めとフリーランスでは大差が生まれます。プログラマの業務はプログラミングによってシステムのプログラム部分を構築することという点では違いはありません。
しかし、会社で働いている場合には指示に従ってプログラミングをする立場で、どんな内容のプログラムを作るかは会社が決めます。自分で提案してプログラムを作れるようになる場合もありますが、あまり事例として多くありません。
フリーランスプログラマの場合には、案件によって業務内容が決まるため、希望に応じて選択できる立場になります。興味やスキルに応じてどのようなプログラムを作るのを得意としているかは違うでしょう。それに応じて案件を選択するとプログラマとして活躍しやすくなります。