A medium city in north Italy.
There are significant differences in terms of salary and HUGE differences in term of jobs availability and cost of living.
Some planning is needed if you want to a nice living.
Of course you can grow with time, both in salary and in responsibility, for now I'm the classical code monkey but I have an idea for a startup that would like to develop so I will leave the job before the end of the year.
Yes and not, you surely can develop successfully with mono on linux, but .NET is not "write once, run everywhere", is more a "write once, run everything" framework.
It's heavy tangled with all the Microsoft and Windows technology and promote the reuse of code in that ecosystem.
Source: Me, someone that see COBOL all day and still live happily after that.