This is the reason Finnish companies don't advertise salary, which is common in the UK and US for example - it's all collectively bargained in some way out of your control.
If we aren't a good match for you I know a bunch of other interesting startups that I can put you in touch with. Ping me at [email protected].
And I know what you mean about foreign clients: the majority of my contracting revenue has been from clients in more progressive countries. Part of it is also that Austria is a small country (though higher population than Finland), so of course there are more potential good clients elsewhere.
So, most employers don't go with it ;-)
I'm quite happy with foreign clients as they pay better and the work tends to be more interesting - the only killer is the different timezones.
It's not just consultancies and OEMs that will help apply for this - I work at a startup and I am classified as a knowledge migrant.
Any Django/Python devs who are interested in living in a beautiful city and only paying tax on 70% of your salary, please get in touch - we're hiring!
Btw, is that startup cloudfrag? Where're you guys located? (I'd rather be a garbage man than write Python for a living, but I'm always curious about Dutch startups that I didn't know about)
In essence, I think Python is the mediocre features of all languages combined. It's a mish-mash of ideas, badly mish-mashed together. I don't want to use a mediocre language.
- It's object-oriented, but not consistently so (len() anyone?)
- It's object-oriented, but not really the standard library (derive from dict? Oh, no, you should derive from UserDict then. dict isn't a class, didn't you know that?)
- The language's evolution shines through even more than that of PHP. First it was "functions! short little functions! those are easy!" (except "print", come on, that's so common that we must make it a statement), then came some data structures, then came objects and classes, so they backported those datastructures onto OO stuff, but not entirely, and oh by the way here's some additional magic functions for some more magic because magic is cool! And lambdas cause hey, you asked. (note: if this isn't the real history of Python, then I apologize to the apostles; to me it feels like this is the history)
- It supports functional programming constructs, but in such a limited fashion that any code not written in a imperative style quickly gets very hairy and difficult to understand.
- It's batteries included, but half the APIs are hell (admittedly, this is getting fixed with the whole "for humans" hype)
- Package management is hell. easy_install isn't easy, oh and it's not installed by default so good luck figuring that other library's "getting started" tutorial out. But hey, you need pip for this! Doh, pip is the new best thing. Except for those database drivers there, they have an installer. Oh, and they'll only work on Python 2.7.1 32-bit, but they won't warn you if this doesn't match cause that would make the code longer! We hate long code. BTW, I've heard this is less bad on non-Windows, but still, what's wrong with a single package management system, shipped with the language?
- Its documentation is complete, but very limited. Few examples, a lot of information vaguely hidden in very short sentences. What are this function's argument's types? Is this index value here zero or one based? What type does it return, and why can't I click on that to get to that type's documentation?
Now, none of these are horrible sins. In all honesty, maybe I'm overreacting with the garbage man thing. But Python is so popular, and only growing in popularity, and IMHO entirely undeservedly so. If Python was as popular as, say, Lua, I'd probably have complained less.
For a language with pretty much the same "general" featureset (dynamically typed, big community, multi-paradigm, low entry-barrier), I think Ruby does it better on all fronts except docs. Though in reality I prefer C#, but that's simply an unfair comparison.
To give you small example. Today I just solved a problem by chaining sed and cat statements through pipes, whereas the guy next to me considers usage of anything apart from Java as a waste of time. Any attempt to convince him why spending one whole day writing a Java program is not worth, when something like sed can do the task in minutes is futile.
Because your mind is trained to think in one specific language and its ecosystem, you find it difficult to embrace anything else. No matter what its merits are.
Python has its own warts. But it useful for a lot of problems.
Also,
> Because your mind is trained to think in one specific language and its ecosystem,
IMHO, someone who can only deal well with one specific language and ecosystem doesn't deserve the name "programmer". My suspicion is that it's people like this who call themselves "Rubyists" or "Pythonistas" and identify with the language like it's a football club. It's a novice thing.
Personally, I'm very comfortable in C++, PHP, JavaScript and C#. Rather comfortable in Ruby, Python and Java. And by "comfortable" i mean "did a significant amount of real work", not "read a tutorial". Still, think Ruby is better than Python on nearly all fronts. I know for a fact that many others disagree with me, but I sincerely doubt that that's only because they're "trained to think in Python" and I'm not.
Except for the Pythonistas of course, but they're not programmers.
You can contact us via that page, or feel free to email me directly (email in profile).
Interesting. During the recent Euro crisis, when journalists discovered that some workers and officials in Greece enjoy a similar "extended year" of extra salary months, there was wide uproar across Europe about how the corrupted Greeks are being overpaid in ridiculous ways.
In the EU it's nowadays easy to see the speck in your brother's eye, but not notice the log in your own...
Any solution to the current focus problem is paraded as a global solution.
But when the long ignored problems finally burst, the Press simply say 'the problem resurfaced' as if it had gone away somehow.
Relating to Austria, their banks were all wiped out lending to Hungary (more than 80% of loans to Hungary were Austrian)
There will be no mention of these zombie Austrian banks until one goes under. (Like Dexia)
---
from 2008:
http://www.economist.com/node/12564042?story_id=12564042
http://www.moneyweek.com/investments/stock-markets/the-plagu...
http://www.moneyweek.com/personal-finance/credit-default-swa...
If you can afford to pay 14 months a year it's simply equivalent to an increase in your monthly salary with 12 months, which no one would have a problem with.
That said, it's irrelevant if you get paid 14 salaries or 12 salaries that are 1/6th higher and correspondingly adjusted tax/social security rates. It's just a trick to make the "common man" feel better, just like the employer's share of tax & social security. Employees would be outraged if it all came off their (correspondingly higher) paycheck.
The developers are payed by companies, they don't get money from your pockets while also working against you.
Employees are not impossible to fire, that's a myth. There was this big Siemens layoff some years ago where several hundred developer lost their job, just because Siemens decided they are not into software anymore. Also, it is common to pressure people into signing mutual "job quit contracts" (don't know a better word).
How did you get screwed in Austria? I haven't been screwed yet, but I'm not doing much contract work in Austria anyways.
How did you get screwed in Austria?
It's hard to overstate how much the SVA (the social security provider for self-employed people) annoys me. The amount you pay them in theory depends on your earnings[1] but in practice how much you pay right now is linked to how much you earned 2 years ago: They assume your profits will go up 8% each year, so for the current year, you pay ((profits 2 years ago * 1.08²) * social security rate) + (difference to what you underpaid 2 years ago).
So if your income is unusually high one year, you pay social security as if you earned the usual amount, which means your profit is artificially high, and thus you pay a lot of tax. Then, 2 years later, you have to pay the difference of what you should have paid in the year you earned lots. Conversely, if you're having a bad year for whatever reason, you have to pay the same amount you usually would, even though you're earning very little. So the worst situation is if you earn a lot and then 2 years later earn very little: you pay lots of tax in the "good" year and get stuffed for social security in the bad year.
This is exactly my situation right now: in 2010 I decided I'd need some runway for our startup so I took on lots and lots of contract work. In 2011 and 2012 I've mostly been working on the startup, so I'm only doing maintenance work for existing contract customers. All of my contract revenue this year has been going straight into the SVA. The SVA bill is more than the rest of my cost of living put together.
And yes, back in 2010 I did try to increase my SVA payments because I knew this would happen, but they wouldn't let me.
Of course employees simply do not have this problem: even if their income fluctuates like crazy (seasonal workers etc.), every month they pay a percentage of the exact amount they earned. Yet self employed people are the ones whose income is most likely to fluctuate.
[1] 7.5% for health insurance, ~17.5% for pension, ~1% other - so this is quite a lot of money, and unlike tax there's no free earning threshold. In fact, it's the opposite: if you earn below around €550 p.m., you owe as much as if you earned €550.
In "down" years you're also forced to lend them money that you'll get back 2 years later. I fail to see how this is a good deal.
Even if the tax bands happen to coincide, it's pretty hard to find even fixed-term savings accounts that earn more interest than inflation these days. Even my pension fund is actively losing money. (of course I don't have a choice about paying into it)
It is not like there is a cultural pressure to keep the pay for a programmer down, because that would break down quickly if there are a lot of positions not being filled.
I somehow doubt that the value earned by hiring a programmer is much less than elsewhere.
So really that leaves only some other operator that is messing up smooth market operations, and that is the extra costs in hiring.
Your last point is the strongest. Would you hiring a programmer if it was impossible to fire them. If you were a programmer that knew he couldn't be fired, what would your output look like.
* Salaries are typically quoted per month, but there is a bonus of 2 months's salary paid per year, so yearly gross is 14 x monthly. The bonus is taxed at a lower marginal rate (6%, no social security contribution, IIRC, vs 37.5% lowest marginal rate).
* There is no fixed minimum wage in Austria. Instead, there is a collective bargaining system, which sets minimum salaries for each industry. Within each industry there are defined categories of jobs, education and levels of experience, along with minimum employment contract conditions and payment for each. This has some bizarre consequences, such that equivalent jobs (e.g. secretary) have different minimum wages in different industries.
* Employers are required to pay a lot of social security/tax on top of what the employees themselves pay. (just checked this: 21.83% social security, communal tax 3%, about 6% other "social" contributions according to http://www.gruendungswissen.at/gruendungswissen/blog-post/20... )
* Employees are almost impossible to fire. If that programmer ends up doing negative work, he's going to be on your books for a while.
I've never been anything but self-employed in Austria (we get screwed in entirely different ways) but culturally I think there is an expectation that you won't negotiate on your salary. This is further reinforced by the built-in graduated minimum pay: why permit the employee to negotiate a raise if they'll legally be due a raise anyway?