Want good programmers? Then pay them.
irrlicht3d.org
irrlicht3d.org
Here's the minimum I need to even bother talking to a recruiter. That means that for me to accept the offer, it probably needs more than this.
Six figures, 30 vacation days, full benefits, infinite sick days, convince me that you won't be out of business in any short span of time and you won't bounce a check. Also, under no circumstances do I work more than 40 hours a week.
The other thing that gets me is how companies expect you to really want to work for them. The fact is you need me more than I need you. I'm not going to spend my time solving your cute little puzzles and what not. My experience speaks for itself. If you want to hire me, you should be the one jumping through hoops to convince me I should quit my job and work for you. Only the past naive college version of myself thought otherwise.
TL;DR: if you want to hire me, pretend that I am a doctor and you are a pharmaceutical company.
I get myself fired up on this issue because I hear from enough companies that I need to quickly qualify opportunities. I'm a curious and generous person, so I'm inclined to listen to these people, but I don't have the time.
If this was big companies being stupid, I'd get it. The HN crowd ... some of the smartest hackers around do little better sometimes. I was very interested in Stripe after hearing some of their folks speak (I don't mean to single them out ... they are a pretty amazing bunch from what I've seen) and saw the cute puzzles (https://stripe.com/jobs#engineer) as a listed way of impressing them. I immediately hit the back button and decided not to apply there. Perhaps it means we would not have been a good fit. Or perhaps, we need more respect in the recruiting process. I understand the need for fiz-buzz tests and all ... but things have gone a bit too far.
But, on the other hand, if you apply to a company, especially one that's more or less famous, puzzles are a very good way of separating the wheat from the chaff on a level playing field. Evaluating a strangers performance based on their solution to a common puzzle is very time efficient and allows the company to process large numbers of applicants fairly.
A common notion here is that great people can just pick up the phone, or will be actively courted by companies, so they don't need puzzles and recruiters. That is great for them (honestly, not a snark), but it's not scalable: Not everyone can know everyone, and there has to be a way for newcomers to enter into the network.
Case in point: Stripe - you want to work for them, but apparently you don't know anyone on the inside that can recommend you. And apparently you're not on their radar already. They do great stuff, they seem like an amazing bunch - so there are likely to be hundreds who want to work for them - and most of them, regrettably, are not qualified enough.
Do you really think it's fair to require Stripe to assign a member of their engineering team (that means you after they hire you) to review every strangers GitHub accounts, when you refuse to invest even a little time in signalling to them that you're the real deal (the puzzles aren't all multi-day endeavours)?
Yes.
Investing time in open source software is a better use of time from the point of view of a candidate, as they can show the same code to many different companies.
So it comes down to who is more in demand. Is your company so desirable that good programmers will invest a significant chunk of time just to have a chance with you? If the answer isn't an automatic 'Yes', maybe you should rethink your hiring strategy.
It also doesn't seem particularly hard to automatically filter out candidates with no GitHub account, or a GitHub account but few contributions.
The Github filter is a bad one, though - lots of good programmers don't do the whole open source thing, and we need to stop this pretense of a good Github account being necessary for hiring. What started as a suggestion in some hiring blog posts has become overblown into dogma now.
Artists maintain a portfolio of their work; why shouldn't programmers?
Sometimes it's best to evaluate the work rather than what goes into it. Granted, this isn't always the case and can't be attributed to multi team environments, but I've often been asked for code when I have a large number of (successful) projects solely developed by me.
Also, small code samples are fine but some employers are in the habit of asking for major work (demos) just to show off your coding chops. That's bad.
For a developer, the how matters as much, or even more so than the result. You could create a complete mess that still manages to just about work, and it wouldn't be obvious from a cursory execution of the binary just how bad it was.
Ideally, if I was going to hire someone, I'd want to know how they develop a reasonably-sized project. An interview or puzzle can give me some idea, but a GitHub account is far superior because it would show me how they work over a longer time frame, and perhaps with other people. I honestly can't think of anything that comes close to demonstrating skill.
So the fact that you can actually see more for a programmer is actually a bonus, but that doesn't mean it should be abused like plenty of companies try and do these days.
Risk aversion is fine, and obviously you want to hire the best candidate but like mentioned elsewhere on this thread:
1. Not everyone has public github projects and I hardly believe anyone should have to work on open source stuff just to show off their coding skills.. Thats really not the right reason to work on open source stuff.
2. For web projects while you might not have access to backend code you can always look at the front end and see if the guy is any good. This is especially true for me considering the fact that I have multiple projects developed from start to finish live and available on the Internet.
Again, small demos or code sample requests are always fine. However, an entire project to get a job somewhere ? Might have been okay when I had nothing to show for it, but after a bit of experience on your resume, it gets old..
There's no such thing as fairness in the job market. If Stripe can't find enough programmers to fill their needs, then yes, they need to allocate their own labor to recruiting. At some point, the business cycle will swing the other way, and it will become necessary for programmers to put our time into hunting for companies who want to hire even one programmer.
C'est la vie.
... then allocating the programmers they have to sifting through a completely open "jobs" mailbox is still probably not a good idea.
> At some point, the business cycle will swing the other way, and it will become necessary for programmers to put our time into hunting for companies who want to hire even one programmer.
For the level of programmer competence we're talking about here, that hasn't happened yet.
Define that level non-tautologically then, please.
Not to get too meta, but what if the company essentially buys your argument? "Yes, this is a non-real world problem for entertainment purposes only..."
But they want to find programmers who find such problems entertaining.
The problem with puzzles is just that. You ask questions and hire candidates based on issues that have nothing related to the job. The end result is you up hiring the wrong people and then say you can't find good programmers.
You can't find good programmers because you are not asking questions meant to hire good programmers. You wanted puzzle experts and that is what you got.
http://itasoftware.com/careers/work-at-ita/hiring-puzzles.ht...
These aren't classic Microsoft "puzzle questions". They are programming challenges that say a lot about your approach to programs and problems. In particular, all of them ask you to make tradeoffs between correctness and performance.
They are cool enough to attract engineers, hard enough to discourage the idly curious, and unique enough that no published solution exists. That's why I said that someone who does this kind of puzzle for the sheer enjoyment of it might be exactly what a high-level software shop is looking for.
Would I want a "puzzle expert" who could solve the problems on ITA's page? Hell yes.
Wouldn't that still be better than working on some contrived game that has no real-world relevance for free?
It still seems like a positive step. No quizzes at all seems like an even better way, but I did qualify the point with the assumption that the quiz would happen regardless.
Granted, it is not a thing you should give everyone. I can usually tell when I look at a resume that such a thing is likely to be pretty pointless (It points me to a github account I can look at instead? Why bother? The resume is clearly written by someone who knows what they're talking about and isn't stuffing everything they've ever done onto a page in a game of buzzword bingo? Probably safe.) so I don't give fizzbuzz tests to everyone but sometimes you have to be sure.
Hopefully I'll have some good github stuff to point potential employers to soon (i'm working on some things now). But at least I know that I should be able to pass some of the incompetency gauges fairly easily!
also, i've never heard of buzzword bingo before, but it sounds interesting! maybe i'll make a program for buzzword bingo. You can use it in your interviews! :P
The guy was writing some really weird stuff. When asked to explain, he confidently told us that in C++, every time you reference the iterator variable inside the loop, it gets increased. His solution was something like:
for (int i = 1; i <= 10; i++)
{
printf("%d\n", i); // <== i gets incremented!
i--; // need to compensate for the extra increment!
}
(except I'm pretty sure he didn't get printf right)So, yeah, I see FizzBuzz as a wonderful way to weed out the incompetent right away, allowing you to focus on deciding whether you need capable or exceptional.
Incidentally, one of the guys on my senior project team in college didn't understand how variable assignment worked. He would write:
int flagsVar = COMMON_BASE_FLAGS;
flagsVar = ADDITIONAL_FLAG_I_WANT;
CallAPI(flagsVar); // Why doesn't it work?!
He graduated.But actually, fizzbuzz is just the bottom level. You also want to do basic coding exercises for whatever specific area you are hiring for, such as:
- Set up an extremely basic web app that lets the user enter a name and echoes it back to them.
- Make a sprite move across the screen.
- Display a 3d cube with different colors on each side and make it rotate.
- Make it play some music.
- Aggregate the data in this simple database.
- Here's some naive producer-consumer code. Make it thread-safe.
- Debug this code that has memory issues.
- Critique this (flawed) design.
- Update the CSS to make this page look nicer.
Basically, you never want to get into a situation where you've hired someone who has managed to talk his way through life. It's far less headache to just use a few sanity checks on every potential hire.
sub isIP {
return (shift =~ m/^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$/)? 1 : 0;
}The Stanford CS Ph.D. candidate whose solution included a Perl function for converting decimal numbers of up to three digits to binary was rejected.
- writing a subroutine
- understanding Perl parameter passing
- understanding Perl regexps, including =~, anchoring, alternatives, metacharacter escaping, character classes, and repeat counts;
- the ternary operator.
And then you could probe things like:
- Do they know how to fix the bug in your version where it incorrectly accepts an IP address with a newline appended to it?
- Do they know it would still work without the return and the ?1:0?
- Can they figure out that they could simplify and clarify the code substantially with qr?
- Do they understand why someone might prefer a non-regexp-based approach? :)
In five sentences or less, could you describe how you got to be the programmer you are today? I.e., skilled enough to be commanding the kinds of benefits you do? It's mostly out of curiosity, I'm not looking to get directly involved with programming.
TBH, I don't see why living in the midwest should drop the salary a company owes you that much. If you are a good developer, you should command a salary comparable to the value you add plus a profit margin for the business.
The only two explanations I can see is that, collectively, software engineers in the midwest are simply not negotiating for the salaries they deserve because given the cost of living they don't feel like they have to negotiate for better or that they are on average of much lower quality in the midwest that there is no room in the salary range there for being an outlier commanding a salary outside that range (i.e. no room for a unicorn in a stable full of horses).
If I worked remotely from Timbuktu, I would laugh at any employer that offered me less based on the cost of living in Timbuktu. It should be no different working in the midwest. Our world is flat.
If I move back to Memphis, TN, I can make approximately half of what I make now in the DC area to live as comfortably as I do. Does that mean I'm worth half as much? No. Does it mean I should expect to make half as much? Pretty much, yeah.
Beyond meeting my basic needs (rent, food, whatever) then it's just a matter of how much expendable income does that salary leave me. I don't know if 'percentage of salary' is the best way to measure it, but it factors in.
Paying me 'market rate' in a place where a 3 bedroom 3 bath house can be had for $150k is a vastly different proposal when that same house is $450k in a different place. That is the 'cost-of-living' difference. Sure, I might add the same x amount of dollars of value to the company in both locations, but if I can't live comfortably in my market, then it doesn't matter.
Note, this argument ignores the competitiveness of the markets as well. There are naturally more potential developers in silicon valley than there are in Bumfuck, Nowhere. Supply and demand does factor here.
Lastly, except in situations of outsourcing, you're generally not paid based on where YOU are, but based on where the company (or the location you report to) is. If you're working remotely from Timbuktu while reporting to an office in Silicon Valley, you should expect SV (or near-to) rates. If you're telecommuting to the midwest, you should expect midwest pay.
The big difference there is in what it costs to replace you. If you're Linus Torvalds, that cost probably goes way up. If you're like most of us, that cost is probably a close approximation to 'whatever they can hire a local developer for', assuming there are local developers in the area with the skills you possess.
A radiologist makes $350k whether he's in Manhattan or Memphis. A hedge fund analyst makes comparable, whether he's in LA or Louisville. A BIGLAWyer makes comparable, whether he's in Chicago or Charlestown. They are paid for the value of services rendered, and the doctors, bankers, and lawyers I know seem perfectly content to maximize their income while minimizing their expenses. Only the programmers seem interested in making as little money as possible.
Put differently: a radiologist thinks about moving from Manhattan to Memphis and says "Boy, that $350k will let me live like a king down there!" Meanwhile, a programmer says "Boy, I only have to make $75k down there to live like I'm living up here for $150k!"
/facepalm
I just did some (admittedly) anecdotal job searches for radiology, and there's a $150k price difference between New York and Indiana.
I knew a few attorneys that have moved into the DC area to raise their rates (and one who commutes two hours in to DC because otherwise, his billable rate is halved.)
The positions people are paid also depend on the cost of living in the area. If the median income for an area is $28k vs. $50k, they're simply not able to afford legal services that cost twice the market. This might mean that lawyers in rural areas only work half as much at the same rate, but that means that without some clever accounting, their yearly income is still (approximately) halved.
I'm not saying that no such positions exist, but I know that doctors, lawyers and the like ARE subject to cost of living variance. I don't know of any position in any field that isn't at least somewhat affected by the median income of the municipality in which they operate.
Choice quote: "As in Medscape's 2011 survey, the highest-earning physicians practice in the North Central region, comprising Iowa, Missouri, Kansas, Nebraska, and South and North Dakota; the mean income of physicians there is $234,000. The next-highest earners were doctors in the Great Lakes region ($228,000). Physicians in the Northeast earned the least, at a mean of $204,000."
As for attorneys, I said BIGLAW. Not "get local joe bob out of jail." (But law does have a bifurcated career path, i.e. T14 or bust these days.)
I note your silence about hedge fund analysts.
Here are the people who are paid in accordance with COL: labor. Programmers seem to think of themselves as laborers, despite having the intellectual caliber to be professionals. Or maybe I am overestimating my tribe. Perhaps we just anemic right hemispheres in our brain, leading to savant-like abilities in the left, leading to the warm embrace of pathetic compensation.
Worse than that in fact. Never heard of any labor union that would be OK with workers putting in extra hours without overtime pay.
From the article you linked, that statement is reinforced:
"There's less competition among physicians in smaller communities and rural areas," says Bohannon. "There isn't that same downward pressure on reimbursement that you have in metropolitan areas. Generally, smaller communities have to pay more to attract physicians."
This is the market at work. It doesn't matter what the cost of living is in those areas, what matters is the demand for the position.
I also can't ignore that that study is done against 'regions' so large that the cost of living within any of those regions probably swings wide in both directions. This is to say that a doctor in the "Northeast region" could either be in NYC, or way up in the Aidirondacks. Both New York state, both factoring into the ranges on the study, but huge differences in CoL. If you have something more specific, I'm happy to be proven wrong, but in my experience, I don't have anything to refute it.
Regarding BIGLaw, I wasn't referring to ambulance chasers either, but I concede that I don't personally know of any biglaw attorneys that have jumped locality. I also don't know anybody in hedge fund analysts, nor do I know anything about the job market.
FedEx is headquartered in Memphis, as is International Paper, AutoZone, etc.
Of course, they aren't exactly software companies.
There's a reason jobs in Timbuktu don't pay the same as jobs in NYC for any job type - all jobs from janitor to CEO. This is not unique to IT. You have to start by paying people a FAIR wage to cover their living expenses, and it goes up from there based on skills and experience.
If you flatly reject a job that doesn't pay you based on some mythical calculation of "value added" whatever that means, you'll be unemployed a long long time. (Unless you want to be a commission only sales person.)
If there are a hundred other people that can do what you do for cheaper? Of course you wont find a job. But if you're the only one? Well after all the companies tell you take a hike, and then find they can't hire anyone else - they'll come back. If the cost of paying you is less than the value you add, and they can't find any cheaper alternatives, it's in their interest to hire you.
As usual, Patio11 is the best voice on this subject - read some of his posts about salary negotiation.
FAIR wage is not meant to cover your living expenses, they supposed to compensate you for your time, effort and results. This isn't slavery, we are no longer working for merely surviving at somebody else's mercy.
If a firm is in Memphis instead of NYC and selling their services to essentially the same clients, then the owners of that business are already earning a greater profit on other cheaper operating costs like commercial real estate. By accepting a lower salary that simply covers a comfortable style of living you're simply putting even more money in the owner's pocket instead of yours.
It's a classic case of pareto optimality. The only explanation I can think of is that many developers don't see themselves as professionals commanding the salaries of professionals as skerrit_bwoy pointed out. There is no reason that good developer in any market shouldn't be living at the exact same standard of living as the good doctors, lawyers, finance people in that market. They should be living in the same homes and sending their kids to the same schools, etc.
These words should be stapled to every CS degree, and reinforced with classes if necessary. The lawyers/doctors have an ingrained culture in their professions of, well, being professions. We should totally steal that. (They can keep the guild systems, though.)
It's should be an obligation of every professional in our industry to negotiate higher and be seen as valuable as we actually are to society. The fact that most professional software engineers know their value and demand it severely hurts the salary bar for every other software engineer.
Silicon Valley and NYC are the only two places where I see developers actually beginning to demand what they are worth.
Many entrepreneurs in a lot of areas outside software were able to do what they did because they were highly paid professionals in a prior life that could afford to invest a chunk of their own money in their endeavor.
If we, as a profession don't ask to be paid according to value added, then in general there are going to be a lot less of us starting our own businesses and when we do, we'll have to cede control to non-technical types that did demand their worth like lawyers and finance guys.
My theory is that the first dotcom boom paved the road for the growth we are experiencing now because it took money from Wall Street and used it to line the pockets of technical folks with cash.
Anything within that range fulfills the minimum requirements of both parties.
The incentive to negotiate is based upon proximity to those limits. An engineer who barely makes enough to get by (like one making 90k with a family of 4 in the bay area) has greater incentive to negotiate than one making enough (65k in Boise, ID where a 3 bedroom house is 150k) in a less expensive area.
In more expensive areas, overhead increases. $6k/month for a office in Palo Alto reduces "value added" for an employee significantly. Electricity costs almost double in CA than in Idaho. These and other factors affect the value added. (This doesn't factor in so much when you work remotely).
I'm not going to get into supply and demand too much, but another big reason they pay less is because they can. Because very few employees are irreplaceable. Leaving a crappy 3 bedroom apartment in the bay area and moving to Idaho and buying a house in exchange for a 30% pay cut isn't a bad deal.
It may be the single biggest driver against the growth of cities.
Also, don't assume that what I am demanding from recruiters is what I am currently receiving. Just because I ask for 30 vacation days doesn't mean I currently have 30 vacation days.
Maybe it's just me, but if you actually think this is relevant/interesting then I can't help doubting your credibility.
It's a bit of a tall (impossible?) order for a programmer - regardless of skill or experience - to expect to interview without going through some serious technical conversations and writing some code to solve problems.
But please don't go on and on with Math problems endlessly over weeks and months. Asking arcane and rare facts about stuff and then deciding his worth over his perceived inability to solve problems in math which don't have any connection with programming in the real world.
Serious stuff happens, it does not happen every other week.
Should we take him at his word or assume that he isn't precise when speaking? Both are bad signs.
Life is about living, not about working, after all.
Look I can't speak for the OP, maybe ze would quit the first week ze's expected to work 40hours and 1 minute. Saying "no more than 40 hours, unless a tornado hits the data center; or my close friend and co-worker's mother dies and he asks me to stay a little late to finish some of his paper work; or a bomb will go off killing a dozen orphans if we stop coding" might be more precise, but it's also less accurate because by listing off every one of a billion unlikely situations in which OP might be willing to work over time it creates the impression that 40 hours is a much more flexible limit than it is.
"under no circumstances will I work overtime" has a very clear meaning.
The OP said "under no circumstances will I work overtime". Someone says that he really meant "i will sometimes do overtime".
I said, "he could have said I will rarely do overtime, only for exceptional cases".
And you claim that this isn't more precise? Did you pass reading comprehension in grade school?
Think about what numerous people are arguing here. OP said, "under no circumstances do I work more than 40 hours a week" and a number of people insist that these words mean "sometimes I will work OT", and that it's perfectly clear. That's stupid.
Also, I absolutely would not tell a company that I want to work for that "under no circumstances" will I work any overtime. Nor will I hire someone that says such a thing.
As I said, you could simply have said, "I will only work OT in exceptional cases, and these cases should be rare". It doesn't take an entire paragraph to get this point across. You get the idea.
And that even a supposedly more precise phrasing suffers from the problem that the listener may not interpret the words the way the speaker intended them to be.
I personally feel that a categorical statement such as yours is less amenable to misunderstanding than a equivocating one. Thanks.
Anyway, we're generating heat rather light in this subthread.
It was sort of like this at one of my previous finance jobs where I was expected to work no more than 60 hours a week (due to their allotment towards me of salary + overtime). Sometimes on Friday I'd get to leave a bit after lunch, which was nice. Although that did mean earlier that week was kinda rough...
So, for example, I'm in crunch mode for the next week working X+3 or X+4 hours a day. And then I'm taking a 2.5 week trip to Nepal a month or so afterwards. Crunch time happens, and we can't afford to thumb our nose at it, but this system means that it can never become the norm.
Your system sounds good. Do you also have the flexibility of working weekends in lieu of weekdays or at home instead of the office?
It was fun to play the hero and get 'That One Critical Feature' out of the door for an important demo. It is a rush. Investors like it. Engineers like it. Soon a company is always in crisis mode; pushing hard to get the next great thing out. It becomes the culture.
At one company I worked at the VP of Engineering was the hardest, longest working person I'd ever met and a driver of that culture. No matter how hard or long you worked, he could beat you at that metric without breaking a sweat. There was a lot of pressure to live up to that example. Mostly I didn't mind because solving problems on a deadline is fun. Mostly.
Eventually, inevitably, that lifestyle started catching up to us. Nerves were frayed. Small technical disagreements started to stretch on into weeks long religious cold wars. We started losing good people who had the good sense to see what was happening.
Those of us who believed in the company and product stayed on, even thrived at some level.
After a few years of this something drastic changed. Our VPoE mother died unexpectedly. It hit him hard. He realized that he had been ignoring absolutely everything but the business. Everything. And the culture shifted on a dime. Engineers were no longer /allowed/ to be called on weekends whereas before we had to respond in 20 min. He would make it a point to go out with us after the workday, or even during the workday, to chat about life, the direction of the company, whatever. Most importantly, he ran interference when it came to the clients and laid down and enforced very sane timetables for completion of projects and features. And if there was a delay, it was ok...not the end of the world.
The product did not languish. Things still got done. Turns out clients, for the most part, could not care less how hard and fast we worked. Having good information for when something would be complete was sufficient. Sometimes better because we were not breaking ourselves trying to impress them with impossible deadlines that we would sometimes miss. Good information was better than fast information.
On top of that, the quality of the product improved. Crises mode was used too often as an excuse for shipping half baked product.
Creativity blossomed. Several revenue generating products were conceived and executed in the breathing space we all now had.
People started recommending talented friends to fill positions again...
Altogether, it was just a much better scene.
Now our criteria crisis is much more strict. It is basically "Will someone (client) die or lose their house if this is not done by some certain time?" If the answer is no, go home.
If you are managing people and part of your evaluation criteria, formally or informally, is "does that person work a lot of hours" or if your 'business stability' requires that kind of sacrifice on any kind of regular basis you are doing it wrong.
TL:DR Unless a client is going to die or go bankrupt if you or your employees don't work extra hours, go home.
This. After years of working at shops where putting out fires was the norm I took a position with a company that handles their client deliverables in the manner you describe. For the first six months I was constantly jumpy, waiting for crunch time to hit and slinking home at 5:00pm feeling vaguely guilty that I was done for the day.
I just couldn't famthom how we could be working on all of the large project initiatives in our pipeline with no screaming clients and no marathon code sprints.
After a year in a sane environment it'd take more than six figures to get me to go back to the soul-eating grind that is so typical in small dev shops.
However, this resulted in a bit of crisis addiction, followed by burnout. However, the CEO learned that crisis mode was a death march motivator. Suddenly it turned into crisis-this and crisis-that. Every small feature was a "drop everything we'll lose customers" crisis. It started wearing pretty quick. At some point he dropped the crisis act and just stated flatly that "your terms of employment state that you will work as needed, i need you now" the day before I had scheduled time off, and the "crisis" was getting a new feature complete for shipping in a year. Needless to say I got a new job.
Basically, I agree with clavalle - crisis mode if not used exceedingly sparingly can lead to a new set of expectations that will chew up a dev team.
I'm not sure how you get that out of what he said, you could conceivably care more about your job than anything BUT your family which is still a lot of caring, IMO
Why should it be any different for me than it is for you?
I can't ever get as passionate about working for someone because at the end of the day, I get 1/1000 of the profits and when push comes to shove, will not be able to make many of the decisions that matter.
My free time is worth everything in the world to me. I don't mind doing extra emergency work once-in-awhile. My problem is that at many companies, this is the norm (because they hire kids right out of college that don't know any better) and you are a salaried employee and will not get paid any extra for it.
This is exactly why I keep this a secret from every company I've ever worked for. From their perspective, I'm a great employee.
"I screwed up, but it's 5:00 so I'm going home. Remember my childish contract? So long!"
Oh, I see, you're having an issue where you're executing 10,000 queries. Let me just open up this book and copy/paste the solution to you.
#2 Yes you are. It's called StackOverflow and a million other sites on the internet where you can google for an answer to your question.
Except several EU countries which have that as the legal minimum…
(e.g. France: 35 hr legal working week, 25 days holidays and ~ 13 paid public holidays per year)
All of the EU gets 48 hours maximum working time per week, that's the European Working Time Directive again. The UK has a sort of an opt-out to it. Some member states have a lower maximum.
Fun Fact: I'm from Ireland (20 days holidays per year). Talked to some Germans, and they were shocked I could get by on 20 (they got 30).
And it's not as if we have less welfare, healthcare, worse education, low productivity, or an instable economy. In fact, in pretty much all rankings Western European countries are doing fine.
Unfortunately, government policies that make such thinks possible are called 'socialist' on the other side of the pond.
They are called 'Socialist' here (EU) aswell.
* The 2nd largest political party in the European Parliament is.... "Progressive Alliance of Socialists and Democrats".
* The UK Labour Party (many times in government) has a footer to "Affiliated socialist societies" in it's homepage ( http://www.labour.org.uk/home ) (Though it's not really viewed as socialist party in UK as much now that it's "New Labour").
* The "Core Party Principles" of the Irish Labour Party (which is in government) starts with: "The four principles on which Socialism is based are …" ( http://www.labour.ie/principles/ )
The difference is that "socialist" isn't a dirty word in European countries.
What's interesting is I work for a large multi-national (listed on NYSE and TSX) - local expectations override the rest of their US-centric culture.
Your point still stands, but student loans from med school are nothing to brush aside.
E.g., in Belgium, any year spent studying at college- or university-level costs €550 (±$720), plus the cost of the books. If your parents earn less than a middle class income, you pay significantly less.
The major difference that does hold true everywhere, is the fact that doctors start earning a salary much later.
little do you know, that except for infinite sick days or 40 hour weeks, you are "lampooning" a lower-than-average rate for anyone qualified in the bay area. Look at it this way. If Amazon can use you to create a million dollars in value, and therefore vies with Google, who can use to to create a similar amount of money in value, and between them and about a hundred similar startups the going rate is 150,000 per year for your work (with the rest of the 750,000 that you generate going 1/3 toward paying your other miscellaneous overhead associated with you, and half toward their bottom line), then how is 100,000 reasonable?
I bet you consider the following offer reasonable: in your geographic area, start selling goods (through any venue you like, including online forum, web shop, etc) which you buy wholesale. You can pick any goods in any industry or category that you want, and work with whatever wholesalers you like! You have complete autonomy over the entirety of your "stack". Please deduct 15 euros per hour for your labor - totally reasonable - and send any profits above that amount to me. If you make less than 15 dollars per hour doing this then you can keep 100% of your sales. (Naturally, it is not possible to lose money, since the local price cannnot be less than the wholesale price.)
How is this not a reasonable offer, please explain to me. (Not a rhetorical question.) If you cannot explain why this is not reasonable, please reply to me with your contact details so that I can start paying you per above. I look forward to your reply.
Incidentally, I also look forward to any explanation for a lack of response with contact detail, as I have a LOT more jobs available at this price than I can fill.
You can pay me too much money.
If you give me say, a million dollars a year, I will work for one year, and then you will never see me again. I will go home and live my life as I please, and only code what I want to code. The code may or may not make money. I may or may not try.
If I work at a startup that cashes out big, then I will travel the world, settle in the tropics, and you will not see me again. If someone acquired us as a way of acquiring talent, they will be sorely disappointed.
seems to me you chaff quite a bit about being a "wage slave"
There are certainly a lot of people who do in fact do nothing when they become independently wealthy. But many also continue working regardless because they actually enjoy what they do.
People should absolutely be paid fairly and treated with respect. But if you expect someone to worship you for some reason, wether employer or employee, you should probably adjust your attitude.
No doubt his phrasing is overboard, perhaps due to a poor working environment or mistreatment by management. Personally, even I "won the lottery" tomorrow, I would not just abandon the projects I'm working on and the people I'm working with. I enjoy the work and respect the people.
The current state of the software industry is funny that way. The worst case outcome of being a failed startup founder is a six figure job ;)
Typically in that scenario, there would be an "earn-out" period. Leave within n years, get nothing.
And a studio is hovering around $2K a month around here, and rising.
That being said, an employee with balance and boundaries, particularly if they can be seen in your life outside of work, is far more desirable in an employee than someone with none. How we live our lives outside the work place is indicative of how we function inside the office, and setting boundaries around the office shows a healthy valuing of our personal time.
There was a time, after the crash of 2000, when programmers actually had a difficult time finding work. It doesn't matter what the career, training or job, this stuff goes in cycles, always.
You're at the the top of the cycle now; there's a gap in the supply/demand for good coders. It's a great time to be a programmer. But the invisible hand of the economy has a way of sorting these things out.
>"The fact is you need me more than I need you."
This won't always be the case. Keep that in mind.
This smacked of a level of entitlement that I think would be cancerous to any group of people working together. Just my $.02.
It never fails, be the topic salary and hours, choice of technology, vacation time -- being as explicit about your requirements as employers are theirs is a very good way to get poo flung at you.
We're not serfs, people.
TL;DR If you want to punch out when the clock strikes 5, get a job in Detroit.
* 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?
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...
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.
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.
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...
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.
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).
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 kai@tinkercad.com.
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.
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)
Programmers are a unique lot, Well last few weeks I've been pulled up for work on weekends. Almost 18 hour schedules a day. And what do I get in return? Not even a thank you. Its presumed to be a part of my job. Any other profession and unions would be up in arms about bonuses and pay for extra time. But not here, not in our profession. We don't have any work hours, we don't have holidays and vacation, we don't have a concept of over time pay. What we get in return are stupid certificates, mementos and some bravos(as though somebody cares about them).
Compensations in the software world are a huge rip off. There is no co relation between the work and pay that we get.
And please don't tell me about start up's. If you are lucky by any means to end up with good amount of stock, and an another round of luck if the start up is successful then you are OK. But most of us fail ingloriously, spend best years of lives burning through crazy hours, without vacations for peanuts in return. The Start up lottery is what it is, its a lottery.
Over the years my net learning's are:
1. Corporate/Company loyalty is JackCrap.
2. Work only as much as your paid, use rest of your time for personal projects and other ways of making money.
3. Save money, and invest for your early retirement. Never having to depend on employment to make a living post 40's.
4. Make people pay, never do anything for free. Cash counts.
5. Your biggest asset is time. Use your time well to make money, and invest it over large periods of time to make more of it.
But put things in perspective. Being a skilled programmer is one of safest careers you could have in these days of cold economic downturn. Instead of worrying about being downsized, realize that even a company in the red can afford to hire you to automate processes which currently require paid employees. In other words, you have the ability generate direct ROI which is not the case for many employees these days.
I think a work to live mentality is good. There's no reason you can't be a great programmer working your 40 hours a week and then going home. There are plenty of companies that will appreciate what you bring to the table. You could also try a lifestyle business rather than joining the "startup lottery", though if you really see it as a lottery then you're devaluing the impact that individual decision-making plays, and you will never be an A-player with that attitude.
I am not downplaying the efforts of so many individuals that make it big in start up's. And I know very well how hard people work, and that is precisely my point. All I'm saying sometimes you don't succeed despite best efforts, sometimes other things which have nothing to do with your performance go wrong.
There are many things that you can't control. That is OK. And despite all this, I will still keep trying, anyway.
My problem is that we are not paid in proportion to our work. And that most of the times becomes the biggest source of frustration and pain in our industry.
As for being paid in proportion to your work, that's not how markets work. You're paid in proportion to what someone is willing to accept to the task. If you want to be paid in proportion to what you're worth then you have to start your own company. That way if you're worth nothing you earn nothing and if you're worth a million dollars you make every penny. When you take a job you're essentially offsetting your upside with no downside risk, it's actually not a bad tradeoff considering how hard it is to make a $100k profitable business. A guy that could add $100m to Google's bottom line might not be able to do 1% of that by himself, so Google could pay him $90m, but why should they if he's willing to work for less?
This is temporary luck, which will probably be different in the next downturn. (Just consider the IT death, ten years ago.)
I saw something similar for good developers -- that network very well and/or had a visible backlog. But sure, my data points might have been unrepresentative or the IT death might have hit harder where I was at the time (Sweden).
What I can say: Ten years before that (ca 1992), Sweden had an even worse crash (think Ireland, today) -- and I know of good people that couldn't find a job.
Unlike other jobs, you need to always update your skills, learning new languages.
And there is no safety, since your position can always be outsourced by an MBA who wants to save the company a few bucks.
And thanks to blackberry/remote computing, you are pretty much always connected to your job...and can be called in to work at night, on the weekends...and any time your boss pleases.
And there is a huge age bias...so the longer you work, the worse off you are going to be.
And unlike other jobs, with programming, your salary tends to peak early. 5 years experience? $100,000. 15 years experience? $115,000
So sure...programming pays well...but not really as much as you are worth. There are plenty of jobs that will both pay you more, require less hours, require less commitment, and will be a very safe career(from outsourcing)
I mean sure...programmers make a decent salary...but let's not fool ourselves into thinking we struck some sort of lottery by deciding to go into programming.
Tell me more!
T14 law school and BIGLAW.
MBB consulting drone and then BigCo Apparatchik.
Buy-side finance, like equity research, portfolio manager, private equity, etc.
Commissioned officer in the US military.
CPA Accountant.
Patent attorney.
Also what does constantly being on-call have to do with programming? Plenty of professionals have to deal with this across the board. And plenty of programmers don't have to.
Can you elaborate on #3? Are you in the US? Did you move to a cheaper location? I don't understand how the future's going to play out with respect to retirement. I'm in my early 30s if that helps. I looked for a financial planner ... but could not find any in my area. Just financial advisers wanting to sell me the latest "product". Any books/tips?
Funny story: my fiance and I got went to the local Barnes and Noble to check out their personal finance section. Over half the books were on how to make a fortune in foreclosures. The other half was the rich dad/poor dad crap. We ended up getting a very very simple book called "the smartest money book you'll ever read". It was saying the right things but still - very high level. I wish someone wrote a book on how to retire for intelligent people with jobs in the private sector. I'm beginning to suspect the math is so bleak that it isn't possible :(
I agree I'm going through the same route as a you. But I'm in my 20's now. Pretty confused as to how the future would turn out. Our country has had a very unpredictable curve when in comes to economic conditions. Especially IT industry has changed drastically. During the 90's and early 2000's, you could just join the industry get promoted to be a manager in a couple of years. Get a US trip, save enough money to amass a lot of real estate, money and assets to retire. These days its totally different, developer salaries are just as normal as any other industry. No more quick promotions, foreign travels and hit & run successes.
But its all the same in any part of the world.
Currently I'm seriously contemplating if all this is worth it. I put in crazy insane hours, totally devoid of social life, without holidays/vacation, no friends, no life, putting my health on risk and still with a insecure future and peanuts in return.
I just feel like working my life out, even if with all the conditions I describe. I just feel like I want to make tons on cash and then go on to settle down in ShangriLa.
If you really want to get rich, you are not going to cut it by working harder - that's what Einstein calls insanity. Cutting social life by a few hours every day does not scale well - the maximum you can get out of your day is twice as much (if you work 16h instead of 8h). Overworking deprives us of seeing what chances we are actually given - that's what I had to learn while having a burnout in my early 20s. It sounds like you need to step back, look at your worklife, and find new possibilities and ways of generating value. Being an employee is just one of so many ways.
I'm starting to come to that conclusion myself. They say you need $1M to retire today. With inflation, we're probably talking at least $2M by the time I'm ready to retire.
Given that you and I are of similar age, these are critical times for compounding our retirement funds. With so little investment opportunity right now for the average investor, it is very difficult to keep your savings up with inflation, let alone increase your wealth. Unless you want to turn virtually all of your income into retirement savings, $2M seems pretty much out of reach.
This is, perhaps, another reason why the startups are so hot right now. Given the current financial climate, it seems like the only hope of seeing a decent retirement for the average person without a lot of capital to start with.
Like it or not, you definitely need to work hard but you absolutely must have luck on your side.
A lot of people work hard to just survive. Only a few make it. In order to get rich enough to retire comfortably. You not only have to get rich but also get rich early and quickly to invest and multiply your money.
not on a risk-adjusted basis
If you haven't read it, I recommend. It only takes a few days to get through.
I agree most of the rest of the series is just about milking the franchise and aren't really worth the trouble. But the first is definitely worth reading.
Nevertheless there has never been a short of pioneering spirits willing to risk it all to strike it rich (just look at the gold rushes in the Dakotas, California and elsewhere). This is really the modern day equivalent.
There was a thread here last year where people talked about their exits. A common story was "worked my ass off for X years, ended up with $10k". It's survivor bias.
There is something to be said for getting paid well. I work for Google, I'm not high-level and I haven't been here forever (~1.5 years) and, honestly, you get paid--and treated--really well. Now you'll never strike it rich but you can live incredibly well and, if you prove yourself, have an awful lot of freedom to pursue your goals with an amazing amount of resources and latitude.
Some of the comments in this thread bother me, particularly the 30 days paid vacation a year. In Europe maybe. In the US? Good luck. Never working more than 40 hours a week nor staying late? It just smacks of entitlement. I'm not saying you need to kill yourself for the company but it really is a two-way street.
I tried pursuing that once. The end result of that is what Chris Dixon calls "transactional" work [1]. You owe them nothing. They owe you nothing. I've worked in banking and finance and that's as good as it gets there. It's really soul-destroying actually.
So I work more than I should. Thing is, I'm never looking at my watch because I enjoy what I do. And if I want to go off for a nap or wander off and see a movie or do something else to relax or recharge I can.
Now someone will inevitably bring up that not everyone can do that. Fine. Whatever. You've made other life choices. I get it.
The biggest problem startups are facing in hiring (IMHO) is that there is a disconnect between equity offered to early employees and the risk. Last cofounder? 33% or 50% typically (before dilution). First employee? 1-2%. Maybe 3%.
We're not in 1999 anymore. You don't need $5-10 million to launch a startup anymore. What used to take $5 million now takes as little as $50,000. The lowering of the barrier to entry means talented engineers are nearly always better off starting their own startup rather than working for yours, unless you have an amazing track record.
As you said, in Europe this is common, and the viewpoint that it "smacks of entitlement" is puzzling. Is it just a cultural difference? I'm don't think there is any evidence either way that this affects productivity.
Thirty days of holiday a year is affordable if North Americans would be fine with houses that were 13% less spacious, but most North Americans I met heavily optimize living space, where Europeans outsource their after hour times to pubs and social atmospheres. An "excellent" amount of vacation in North America is 20 days + 7 or so Government mandated days off. I've yet to meet someone under 35 that has a better deal than that, even in tech, and for most workers it is 10 days + 7.
Commutes and spending time in traffic is killing me. It is a dead, useless time, it creates stress and eats away at my life little by little every single day. If you spend 1.5 hours driving to work each way, add that time up for 10 years and you'll be shocked. If I wouldn't have a family I might think twice, but thinking that I could spend that time with them instead and being stuck on the freeway is unbearable to me.
Disclaimer: I work in software in silicon valley.
Depends entirely on the employer.
27 years old, with 25 "PTO" days + 6 fixed 1.5 day holidays + 2 fixed 2.5 day holidays. Middle-ish USA (Memphis TN).
Ignoring sick-leave and training that works out to 30 days / year off, they don't let you cash it out and there is a 25day cap designed to get you to actually use that time off. (Most people end up taking a month off every other year or so, they also let you go a little negative to encourage longer vacations.)
PS: They also do maternity / adoption leave, and give separate time off for funerals etc.
PS: I know plenty of people who work insane hours there. But, it's not 'required' just useful for promotions etc.
My girlfriend is psychology student and they told her in a lecture that studies have shown that productivity ROI massively declines if working more than 30 hours per week (again, no citation, shame on me). That surely depends on whether you really do focussed work, or if you spend the workdays socializing at the water dispenser or coffee machine.
[1] http://www.vacationgap.com/ [2] http://www.businessweek.com/globalbiz/content/aug2009/gb2009...
Thanks.
I get 25 and in 4 years I'll get 30. You just have to work for the right company.
As you get older you'll notice that extra money you make from working at a workplace that is giving you only 2 weeks of vacation and expects you to work 50+ hours a week means less and less. As you are getting closer to death the utility of the money you make goes down. A company that makes you take time away from your family is not worth it.
Work is fun and is great but that is a hobby. My family is my real focus in life and I will do all I can to spend as much time with them.
I am just saying that you can find places to work that is not a startup (if you don't want to expose yourself and your family to that risk), you just have to look.
> "Thing is, I'm never looking at my watch because I enjoy what I do."
So do I. In fact, I love what I do. I'd be extremely disappointed if I had to stop going to work.
But it isn't the only thing I enjoy. You want stable hours and liberal time off because there is more enjoyment to your life than writing code and creating software. I dislike long hours not because I dislike what I do at work, but because my life is more than my work. I have other passions, hobbies, people, other things I want to be able to commit to.
> "Fine. Whatever. You've made other life choices. I get it."
And so have you - so we'd appreciate it if you stop referring to the rest of us as entitled and petulant. I respect your choice to throw the entirety of your life at your primary craft - so respect our choice not to.
This is an old plan used by most companies.
I like doing what I do, but I would love to something else if I had the money to free me up.
For most people, their area of least incompetence becomes their passion.
Furthermore, workaholism is for people who don't understand what it means to be human. Steve Jobs was a sucker - almost as much as his followers who didn't realize that he was.
That's really respectful, yea.
(irony alert)
I mean, both can be very exciting, but I'm sure they're at very different levels.
Why should we sell out private life to corporations?
Working 40 hours a week is considered being "entitled"? What is entitlement is employers pushing down pay rates by paying on salary while pressuring for extra hours without overtime. Fostering this culture and attitude just collectively serves to push down everyone's pay rate and detracts from the attractiveness of our field.
I've had these arguments about how many hours a salaried employee should work. Despite the law saying 40, the lawyer was insistent that they could make me work any amount of hours.
The next two weeks I put in 20 hours a week. Then I explained to her that any means any, and that if they didn't like it they could terminate my contract, go spend a month finding a replacement and then explain to the client why they had materially breached the contract. Or they could be reasonable and let me work an amount of hours that is reasonable (and probably more productive).
Often when employers demand the most ridiculous of hours are the times in which they are in the poorest of negotiating positions.
Businesses use their negotiating position all the time to lower wages, it's not called entitled, it's called business.
If you like to work a lot, fine by me - I myself spend a ton of time outside of work building software. But think about how healthy it would be to be paid fairly for going the extra mile when needed on top of your regular duties - its been so long since that has existed in this field that I think hardly any of us have even considered it. I have a few family members who work in other fields in the private sector where overtime still exists - its the only reason I realize we've been hung out to dry by the government and corporations in some respects.
Some will argue that the free market removal of protections somehow makes us all better paid - I'm doubtful. I think if we had overtime pay it would create more jobs, promote a better working culture in our sector and attract a hell of a lot more people to want to work here.
I wish at least in the mid-size to big businesses, the workaholics would stop looking down at "Joe" for leaving after a solid 8 hours of work and instead would at least start to question why they themselves aren't getting paid extra for staying past 8 hours.
Who exactly is being exploited with numbers like these? And why are we 'entitled' for demanding a fair share of the value we add to the modern economy?
Steve Jobs didn't make the iPhone anymore than the King built Windsor castle. Windsor castle was built by masons and the iPhone by engineers.
Even Henry Ford, 80 years ago knew the key to growing the economy was freeing up time for consumption. If a 40 hour work week was necessary 80 years ago then you can be sure that a 20 to 30 hour work week is appropriate now, and would actually cause our economy to boom.
The exploitation people complain about re: Wal-Mart cannot be measured in profit-per-employee, because that's not how exploitation is commonly understood (though you are, of course, free to define that term however you see fit).
People complain about Wal-Mart because they routinely use socially unacceptable ways to curb employee costs - keeping a vast number of people in contract roles, even if their jobs are actually full-time, in order to deny them benefits, and more. This isn't about profit per employee, it's about taking advantage of unskilled labor and their relative lack of choice to treat them in ways that most of society finds reprehensible.
As compared to your standard MSFT, GOOG, and AAPL engineer who rides to work in a cushy bus with leather seats, WiFi, catered food, a 6-figure salary, a big house in a good school zone, exceptional health, dental, and vision benefits? You can say these guys are getting an unfair deal in that they generate exceptional profits relative to their compensation - but exploitation? Get real.
It's a free market, and software engineers have exceptional mobility (unlike, say, your Wal-Mart greeter). You are free to demand a $285,714 salary from Google (so that they still get their 5% cut). If you are exceptional enough I'm sure they'll agree, but otherwise... good luck!
A low end "six figure salary" in the bay area probably isn't enough to buy a big house in a good school zone. Two workers who earn this salary would have access to that kind of real estate though.
Also - we need more consumption? Wealth comes from production, everything else is just shuffling money around. People in the US are complaining about decreased wages and underemployment, not that they need more vacation.
As to providing infrastructure/etc, they aren't providing anything odesk and some research could provide. If someone talented set off on the own they should be able to put together similar marketing/framework/teams within a few years.
The reason we don't is because honestly we make six figures, it's easy, it's reliable, etc. and it more than enough to pay our bills.
I don't know many freelancers that make 150/hr and have 40 hours of solid work a week every week at that rate - you'd spend a lot of time lining up that work. Sure it's possible, but it's much harder than if you're just working at a large successful company. I believe total compensation at Google is roughly around there for a good programmer anyway, without all the hustling for work or risk.
>As to providing infrastructure/etc, they aren't providing anything odesk and some research could provide. If someone talented set off on the own they should be able to put together similar marketing/framework/teams within a few years.
Not without a huge amount of investment, you're underestimating even just the technical infrastructure at the SV giants.
Further provided you're targeting niche markets where the economies of scale don't matter nearly as much as meeting the needs of the market you can see decent returns per developer with out pushing your wares out to millions of users.
[Citation needed]
Wages are sticky. Very rarely do wages go down, at least in nominal terms. So unless you meant, employers negotiate to not raise wages, and this lowers an employee's real wage in an inflationary environment (in which case you should be more clear) then I don't see any facts to back up your assertation.
30 days of paid vacation? This is easily achievable, say OK, normally for this position we pay $150K and 2 weeks vacation, so we'll cut the pay by 4% and give you an extra 2 weeks. Then it turns into $144K and 30 days.
Most people realize vacation costs money, those that prefer the cash to vacation simply wait til the end of the year and get cut a cheque for their vacation time.
So what a lot of people don't realize is that you pay for every vacation day. If you would get paid out for it at the end then you are opting to get less money overall for some vacation now. Of course, if you did stay with the company forever then vacation is "free" time, but it could also be considered an investment as it usually scales to salary at time of departure.
With this mindset, unpaid time off is the same thing as vacation, you're just moving the cost to the next paycheck instead of your last paycheck.
Just take some unpaid time off. If you are valuable and productive it probably won't make a difference to the company and it might even make you more productive in the long run.
Anyone have a counter argument to this? I've been spouting it for a while and I'd hate to have a gaping flaw.
No more than 40 hours per week and 30 days paid vacation is not "entitlement", it's common sense. It helps to keep people healthy, happy and productive. QED.
Sure, it's doable, and sometimes even necessary (but not even half as much as people like to think) if you're doing a start-up, but as a steady job, it's neither in the employee's nor in the employer's interest.
I do not think it means what you think it means.
Also, please show that 40 h/w and 30 days vacation are the optimum to keep people healthy, happy, productive and employed. If you're just making stuff up, fine, but at least acknowledge it.
I think you got a couple of things wrong and that's assuming this was about making an easy million off some code.
It is not, the problem here is that most engineers (which aren't working at companies like Google) might not be properly compensated for the work they do, while coworkers in other less critical/relevant areas make more for completing tasks that nowhere as complex as writing decent code.
But hey don't look at me! look at all the would-be coders that chose other careers because of this.
Yes -- I think a lot of us are starting to figure that out :-)
> Some of the comments in this thread bother me, particularly the 30 days paid vacation a year. In Europe maybe. In the US? Good luck.
What's so wrong about 30 days of paid vacation per year? I have 30, I know some (rare though) people that have even more (40+). I work to live, not the other way around.
> Never working more than 40 hours a week nor staying late? It just smacks of entitlement. I'm not saying you need to kill yourself for the company but it really is a two-way street.
For me, as a someone from Europe (Sweden) this is among the most stupid things I've heard, is it entitlement just because I work as much as my job pays me for? The agreement you sign (usually) says 40 hours per week, 8 hours per day 5 days a week. If they want me to work more, then pay more?
And before anyone from the states try to say anything about the economy in Europe and it suffering because people don't work as much, etc. Yours is so much further down the drain we lost sight of it.
Google and many other companies take advantage of people like you. While I don't ever expect 30 days of paid vacation, expecting me to work past the 40 hours/week (which is most likely in my contract) is outrageous.
I work so I can enjoy my time off and anything past 40 hours is my time off.
In my 20s, I could make another companies dream my life, but now that I'm in my 30s, I can't do it anymore. Especially when you are not paid any extra and only get a sliver of the overall profits.
I will gladly help out in emergency situations, but from your post, it seems like you work late on a regular basis.
Oh, and free dinners and fooseball tables don't make up for it either.
I work 38 hours a week. Anything more is considered overtime, and not "part of the job".
I think employers should be cut a little slack with entry-level, straight-out-of-school programmers. They regard them as having no proven value, which is fair, and in most cases they will have to sink a significant amount of time and effort into making them productive in a business environment. The world is more than 19-year-old open source celebrities and wizard start-up coders. There are a lot of regular people with CS degrees and no experience beyond school projects. Entry-level positions exist for people like that. (Even programmers with a history of open-source contributions are an unknown quantity when it comes to their ability to contribute to projects they didn't choose, that don't scratch their own itch, that don't come with public bragging rights, etc.)
Not providing an exceptional starting point for exceptional kids is forgivable, because exceptional contributors have their own contacts already that they are presumably working. If you don't have contacts and are stuck looking at normal entry-level jobs, then forgive the corporate world for being a little skeptical. If we want corporations to hire and train normal graduates (and we do, if we care about unemployment, and our future pool of skilled tech workers) then we should accept them being payed a fair guess at what they'll be worth in their first year of employment. If you think you're worth more, then maybe you should forgive employers for not being psychic enough to take you at your word. If you think you're worth more and you have better options, then why do you think entry-level positions are intended for you? You have your path, and these jobs are for someone else.
Several years ago I was offered $60k at a company as a developer. I was coming to them with, at that point, 12 years of web development (backend, php, etc). I pointed out that $60k was not something I thought was reasonable for what I was bringing. "This is what everyone starts at here," was the reply, and I learned that was their starting salary for 'just out of college' devs. They hadn't hired any senior-level devs before (but had dozens of devs), and didn't even know how to put a value on the skills one brought to the table.
I've learned they've since changed their policies some, but that policy actually did a lot of damage to their rep in the local scene, and it was hard for them to get good devs for a while. The few I knew who were really good generally didn't start there, or started, then left after a bit. But... because I knew people there, I learned about their internal stuff. I was (sort of) shocked at how many basic dev mistakes they made, which ended up costing them extreme time/money to fix months or years later. These were rather elementary mistakes in most cases - I'd made them 10 years earlier myself in some cases.
How does one put a value on the savings experienced devs bring to a company, in terms of simply not making bone-headed decisions which cost a lot to fix later on? This is not saying I'm perfect - of course I'd make some mistakes. But mine would be harder to detect ;)
Lastly, somewhat relatedly, devs just coming out of school are almost never taught a few basic skills which are nearly universally required - how to break down a project in to smaller parts, debugging techniques (how to think about debugging, not particular tools), testing (including how to think about making code testable the first time), and version control concepts (again, not a particular tool, but the importance of version control). I'm seeing devs come out of school with degrees who have never heard of git/svn/cvs, nor understand why they need version control ("it's just me on a project").
When a salesperson makes a sale, what percentage of that sale has the salesperson brought in? How much of the sale was actually generated by marketing, design and manufacture? Similarly, if they fail to make a sale, how much of that failure is their own?
It's somewhat worse as a non-salesperson, in that, if you make a sale, you get a commission, and it's yours. The rest of the incoming money/profits go in to the company, but you as employee X generally have no say how the company operates. The profits that should be being funnelled in to XYZ, instead go to ABC, which everyone else can see is a dumb decision, but ... you can't influence it. The salesperson can't either, but they've gotten a direct benefit for their part already (higher/more commission).
Between salespeople, you can certainly tell who is making more money than their peers.
Calculating the relative value of one salesperson vs. another doesn't say anything about how much value either of them brings to the company, apart from the likelihood that one of them brings more than the other.
Learning how to translate your value as a developer into dollars is an extremely useful skill that will help you gain a lot of respect and earn more. Speaking from experience, people are a lot more impressed when I say "I saved my last company $3MM in 8 months" than if I say something like "I set up a reporting architecture which allowed us to automate a lot of work and greatly reduce the number of errors, plus create new reports faster."
So how do you actually figure out your value? Here are some methods:
1. Time savings. Almost everything a developer does reduces the need for other people to spend time working on any given project. Ask a few people how much time they save per week thanks to your software, and multiply that by the number of people using what you've created.
2. Sales increases. Compare companies in the industry that have great development practices to companies that have terrible practices. Find out what features have helped increased sales, and point out how these features couldn't have been created without fantastic developers available. You'll find that a case for hiring good programmers. almost writes itself.
3. If you want to get really advanced, take (1) and (2) and actively seek projects where you'll be make major contributions to the company's bottom line.
Granted the sword cuts both ways. A lot of companies really don't have the kind of business where a skilled software engineer can save enough money to justify a 6-figure contract, but on the other hand, a lot of them do and just don't know it.
[0] http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...
Being seen as an expense in many companies means that there are budgets and less perceived room for negotiating by those deciding your salary. They have a budget to meet. It's not like they can easily go to their superior and say "Hey, if you increase my budget for salaries X, I can reduce the company's expenditures by 2X". Unfortunately budgets for most non-core departments only go down, unless the demand for the service that non-core department by the core departments go up, i.e. "In order to offer 2X capacity, I need 2X the budget"
Plus, you generally never want to be in the non-core part of any company/industry because the quality/talent of the people you work with in the profit center of a company/industry. It's simply much harder to surround yourself with good people.
Instead CS focuses on theory. The distillation of the most important theoretical foundations of the field is actually a pretty useful thing to get, because you won't find it anywhere else but in a University. You can Google all these things sure, but first you have to know what they are. Having the foundation of these things will be quite useful over the course of a career when best practices for testing, debugging and platforms themselves will change dramatically. A couple decades down the line, sure you won't remember the details of what you learned in this class or that, but sometimes just the tangential awareness of something such as the existence of dynamic programming algorithms will give you the hook needed to google around and find an efficient solution to something which an untrained programmer might never know how to find.
http://www.whyprogramsfail.com/
A lot of what I know about debugging I learned in the trenches, but I also learned a lot from that book. My question is that why I had to discover this book myself, instead of being taught.
Cool assignment.
char * getFirstName(char * name){ char * fname = strtok(name, " "); return fname; }
became:
char * getFirstName(char * name){ char * fname = strtok(name, " "); return "fname"; }
And stuff like that. It was fun though.
Computer Science courses must maintain a strong focus on theory. An entire CS course can be conducted using Knuth's TAOCP, paper and pens only. The reason being that Computer Science is a highly specialised extension of Applied Mathematics into computing environments. These courses produce researchers. Programming, software development and project management are out-of-scope.
Software Engineering courses are meant to cover the real world application of the Computer Science discipline, Project Management discipline and a broad variety of other topics relating to business and management. These courses produce software developers and software project managers that mostly sit in modern interpretations of the cubicle farm developing the 150th interpretation of a business productivity app.
Experience levels
3-5 years at University is not enough time to gain expertise in the wide range of areas that make someone a brilliant hacker. The best hackers graduating from University tend to have 10 or more solid years of diverse and highly creative experience through hobby involvement (open source development), school experiences and perhaps relevant paid work.
Work experience tends to lack the diversity and creativity required to develop and maintain impressive hacking skills. Changing jobs every 2 years or maintaining a strong open source/hobby interest can counteract this problem.
Suggestions for higher education courses
1. Treat Computer Science in the purest form -- an extended Applied Mathematics course.
2. Encourage students to complete a Computer Science and Software Engineering course together. This approach ensures that students graduate with a decent understanding of essential theory: graphs, sets, complexity, algebra, etc and have a job prospect at the end.
3. Replace toy problems and short assignments in Software Engineering courses with longer real world experiences. Open source projects, student-owned start-ups and short stints of relevant paid work experience are a much better environment for applying theory and practising software project management principles.
4. Make it clear to students that learning should be a life-long goal. Diversity of experiences across completely different fields (example: marine biology, tourism and software development) is of particular importance.
I went in for a Computer Science degree. I heard the words "testing" and "source control" precisely zero times in class.
I should have gone the Software Engineering route, because there, at least they had actual projects they had to deliver to complete a class.
On the other side, as an "entry level programmer", are you absolutely sure you worth more than 2200 EUR? Care to prove it to a Google recruiter, speaking in your native language just across the border, in Munich? Care to prove to the free market that you can run your own business and earn more? Great. That's what we have free markets for.
EDIT: Just want to add that I'm all for "pay well to hire great developers" approach, but I think this advice mostly applies to companies operating in highly competitive environments: think London startups competing with the salaries paid in the City, or startups in SV trying to lure people away from Facebook. Apart from that, your average employer don't care about what you think you worth and probably doing it for the right reason.
In Austria, an entry level programmer with high level university training will usually get offered 2200 Euro gross
That's what I was referring to.
Probably not. Most programmers don't have any idea what software sells and how to sell it.
It's much more difficult to independently find a good stream of customers and well paying projects than it is to get a job or a contract.
Not sure if we'd have the same luck working by ourselves (there are three of us) instead of opening a business. My guess is that it brings extra credibility to the table, but I have no data to back it up.
It could be worth a try, if no other reason than to be able to ping your network again, now with the news that you've got a business. I realize that there are some extra costs, but keep it to the minimum. And, if you have little to no income at first, they are not likely to be that high.
Context: we are based in Brazil.
I'm not saying it's perfect but that a viable alternative to job that employers have to learn to compete with if they want to get programmers they need.
If you manage to kickstart good relationships with clients, that brings other contracts without efforts.
As a programmer you usually accumulate detailed domain knowledge in a variety of industries. You often end up knowing more about the core business of a company than their individual stakeholders and employees. Programming requires specifications, and often, an IT project forces companies to identify and formulate business processes for the first time. Often this leads to the realization that existing processes are simply broken.
On top of that, you get a feel for how companies work. As an example: internal politics, warring departments battling each other. You see good and bad examples of leadership and management.
In meetings with clients I often feel more like a management consultant than a programmer.
Someone fresh out of university probably hasn't accumulated useful domain knowledge from real-world industries. Hence the suggestion of "Avoid getting a job, just program something for money!" seems dubious.
The joke was on me, for sure. It turns out it is very hard. Extremely rewarding, certainly, even if not financially: almost every entrepreneur I know could have made much better money in some bullshit corporate job.
But the notion that if "an entry level programmer [...] sits down and starts creating his own software, he will probably earn much more one year later by himself already"? I'm confident saying that's arrogant youthful idiocy, because that's exactly what I was full of when I started out on my own.
Acid test: how good are you at picking up chicks? That's a pretty good proxy measure of how good you'll be at sales/marketing.
I've worked with a number of companies turning over in the low £millions, and it's very rare that the founder is taking lots of money off the table whilst low balling the staff on salaries.
These businesses simply don't have the margins and the runways to let salaries get out of hand.
As most of the economy is made up of these kinds of businesses, many of which have IT as the cost centre providing some non-remarkable CRUD development, this is probably a big factor that holds down average salaries.
Turn it around a little and image you are the small-medium sized business owner. You need a person, but can can only sensibly offer a salary of 75% of the market rate.
Are you best just not to offer the job for fear of exploiting someone or looking like a cheapskate, or do you put it out there and hope to find someone who is happy to work for that price?
[I'm a developer who agrees with the OP so I'm playing devils advocate slightly, but there are two sides to this.]
I'd happily consider working for 75% of market rate, if I could work a 60% week. Add to that the ability to work remotely and things can start to look really enticing. If on the other hand you expect someone to work 100%, plus unpaid over time, plus be in the office every morning by 8 am, plus being on call, plus an absolute minimum of vacation days, and still only want to pay them 75%, then hiring will be almost impossible.
If you really can only afford 75% of market rate, you can probably still get good people if you're willing to be flexible on all the other non-salary aspects of the job.
>and still only want to pay them 75%, then hiring will be almost impossible.
Oh hiring will still be possible, you're just going to get really crap people.
I get contacted all the time by start-up hustlers who tell me in detail what they expect or want. When I compare their "wild desires" to what I estimate they will contribute to building something from nothing, I am left with only one conclusion: They believe engineering/programming/technology is as trivial as blogging about your dream of becoming the next Mark Zuckerberg.
Sorry, fellas, but coding and talking are not the same thing. Coding and hustling are not the same thing either.
Another pet peeve of mine is people who contact me claiming they are looking for a technical co-founder. I go along and quickly learn they have already made all technical decisions and claim they have "90% of the code in place". In the back of my mind, I know why they say that: They just don't want to admit my contribution would be worth more than a single-digit percentage of their unborn company.
In the end, I can see through all that and I am not about to let anyone take advantage of me.
I am not alone either and all those smart individuals you need to build a successful company can see through it all as well.
Conclusion: 90%+ of all start-ups fail lamentably. Because too many entrepreneurs just want to get rich before anything else and it's hard to convince people to join you when you are so obviously self-centered.
Yes, you can. It's called a collective, or a cooperative. There are some functioning software cooperatives, Galois Systems being one of the more lucrative examples.
1) Not paying enough
2) Not doing interesting work
(with the very occasional 3 of "having a bloody awful reputation")
The trick is, of course, finding a non-blunt way of getting this across :-)
According to simple market rules, less supply with more demand should increase the price/salary, but it doesn't.
In markets of asynchronous information, supply and demand fails. It's quite possible for developer salaries to remain constant or even decrease at the same time as demand for good developers goes through the roof.
Genius, hm?
I think people really underestimate what a small portion of a successful business the ability to code well is. I am not saying it isn't helpful, but I would put my money on someone that is an average coder with great business, marketing, customer service skills over a great coder that lacks those any day.
This isn't to downplay a developers role in business, I am a developer myself, it's just that a great developer can't turn that into money without working for someone else, or having the other business skills that are required.
Pay up: there's an actual deficit of coders in the market, know why? because years ago people who were grade-A material for programming decided to go into finance instead, because those guys actually get paid
You know who makes the most money in the gaming industry? not the artists, they are actually among the worst paid. The coders? they are above the artists that's for sure, but still not even close to the highest tier: business.
Yeah, the beancounters, the guys that take 1/3 of the game and sell it separately as a DLC, they are the best paid in the gaming industry, not the guys that you know, actually make the games...
That's not just "years ago", that's very current.
I'm from the Canadian Prairies; a lot of our industry here is oil. Rig workers don't require much skill, the job is physically demanding yes but almost anyone can pick it up and do it should they wish to do so. This is a low skilled labour job but its extremely high demand because oil is a massive industry. Guess what? They earn $75,000+ per year in some cases. That's more than entry level programmers who require degrees. I don't think its unfair as a programmer because their jobs are in demand. If you want me to work as a programmer in the area then you better make it worth my while. Shortage of programmers? Attract them with incentives!
If only there was a strong correlation between programmers self-assessment with respect to their value and what they're actually being paid. That would help everybody and would make salary negotiations a lot easier.
I know a lot of people make money just by being the manager's 'best man', Just polish the managers boot and he will give you the title of 'best team player' around.
On the other most good programmers tend to concentrate on their work, poor social skills and merely delivering stuff that doesn't get highlighted. You can do a lot of fire fighting at work, no body above your immediate manager will even know about it. There are a lot of people around you who are known to level above you manager just because they can make more noise and blow their trumpet louder than anybody else.
Perceptions drive a lot of things in this world.
There isn't the 50 years of collective physique at play. They haven't seen software giants rise and fall. And they haven't been exposed to the inputs that create a successful software company. As time goes on things will improve.
Just avoid these companies like the plague.
Everytime I see someone speak about the absurdly high salaries around Silicon Valley and saying that they are too low, I cringe a bit inside.
That said, what I find strange is that experience in software doesn't seem to be rewarded. I keep hearing about fresh grads getting offered nearly a 100K right out of school. How much does a veteran developer make? Almost the same as far as I know.
I guess its a supply/demand thing. SV has high demand for engineers and not enough supply of employee talent, therefore salaries increase to compensate. (Although judging from this thread they haven't increased enough..)
Europe does not match the talent demands of SV (maybe because fewer big internet companies based there), therefore salaries don't need to increase as much to attract talent. The demand is a lower proportion of the supply...
Take Stockholm as an example. I found it to be ridiculously to be expensive .. even to eat out! That just means people don't eat out as much as they do in NYC or SF. However, the wait staff were wearing far better clothes than me and didn't seem to care about tips ... I believe they get paid better wages than the US. That's good for them. I don't think they should get paid any less. I'm just saying it is a different social structure.
Security, low crime rate, very few homeless people, drug addicts etc.. I can basically go to a party, get drunk there and take a walk after that in any part of the city during night without being afraid that some homeless person will attack me. If you ask me, thats a big pro for staying here. Sure, I would probably earn more if I did the same job in San Francisco, but then I would have to deal with a much worse social situation, and I would have to be more cautious.
Does the crime rate actually differ much between SF and Vienna? A quick google search provides very little info, but suggests there is not much difference. I haven't been to SF lately, but crime is a negligible issue in NYC.
Though SF may be a special case - I've heard they have extremely generous benefits and the homeless move to SF to collect them. Can someone with more knowledge comment?
http://en.wikipedia.org/wiki/United_States_cities_by_crime_r...
San Francisco has more homicides with its population of ~800k than all of Austria combined with a population of 8,5 million.
Though the poverty and hopelessness can be a little sad if you walk through the bad areas.
I am just against the notion that propping up that random incompetent guy (at least to some degree, so he wont roam the streets doing crazy stuff) is always a bad decision.
Preventing those people from failing miserably (and the negative side effects that come with it) - thats basically why we have a lower income over here.
And my pricetag for giving up all that is higher than just doubling my income.
I reckon the "effective" crime rate for the places of SF where someone with a developer's salary may choose to live are comparable to those of the similar places in Vienna. I bet the same goes for most other "quality of life" proxies.
As an austrian colleague once put it: Maul auf oder Geldbörsl auf!
One of my best friends (developer) gets FAR too little for his experience, intelligence etc, but when I tell him to ask for more he says that he's happy like this and he doesn't care. Most devs (I met here and I met a lot) are like that; of the 100s of devs we employed we had maybe 30 asking for a raise directly. The rest (and we are talking a period of 12 years now) are just happily plodding along. People rather have the boss not whine when they don't turn up after a boozer or when they want to suddenly out with the family than more money. Fine.
I'm from EU, the Netherlands. Most people are know are not very money focused; quality of life is the word. A lot of them work less to spend time with their kids/family and most are happy making nice money to live, go on vacation twice a year (and the trend here is to go inside of EU because 'there is enough beauty, why go further?', which is often much cheaper than flying to the other side of the world) and have a good pension.
Of course, we expect US laws to be less generous because it is the government of a federation of states, like something between a European national government and the EU.
[1] http://en.wikipedia.org/wiki/Medicaid [2] http://www.fns.usda.gov/wic/ [3] http://en.wikipedia.org/wiki/Head_Start_Program
1, Public education is free in US. Of-course the quality varies depending on which school district you live. But in most metros (other than NYC/Bay area/north east) you will be able to buy a 4 bedroom house in a good school district for around $250k.
2, Healthcare - Health Insurance is paid by the company in almost 99% of the cases. Depending on the insurance plan sometime you will have some out of pocket costs (lke $20 copay per doctor visit etc).
3, Vacation - Most companies offer around 2 weeks of paid vacation a year (in addition to sick leaves). Yes its less than in europe but you can always take non paid vacation.
So the bottomline is US offers 2x the salary with 1/2 the cost of living and 3/4 the social benefits as Europe. If you do the math its better to work in IT in US compared to any part of the world.
2. [Healthcare]. Not all insurance plans are equal and most of them do not cover limitlessly. In the unlucky event of something like cancer, Americans are left bankrupt, Europeans are not.
3. [Vacation]. Most of the times those two weeks actually include sick leave. Moreover taking one month of unpaid vacation can be a career suicide, so people don't actually do it.
Healthcare: If you have a good health insurance, you are covered better than any other govt sponsored health system in the world. Again i agree you are screwed if you don't have a insurance but that's a whole different argument
Vacation: I am a Indian living in US and many of my friends take a month off (2 weeks paid + 2 weeks unpaid) when they go to india. Its not a big problem
From what i see most of the people arguing that europe is better are Europeans who never worked (for a meaningful time) in US or american leftists who adore everything european :)
Healtcare: I want to see data supporting that, IMHO it's just patently false.
Vacation: if you say so I rest my case…
I'm the worst of possible worlds I am an European leftist who's actually employed by an American company but works remotely from Europe, so I'd say I know pretty well both systems.
Education: Yea, get ready to pay insane prices to get in these so-called "good districts" because there are so few and everyone wants in. Realistically, you're going to have to send your kids to private school if you don't want to worry about violence and them learning anything useful. But you'll still pay for the near useless public system.
Healthcare: this is a bold faced lie. Two separate independent reports compared health care around the world and found that the US was the most expensive in the world and did not provide the best care. Where do you get your metrics? Some talking head like Hanity?
Vacation: I don't know where you work but a lot of companies seriously frown on taking unpaid leave. There is a lot of culture in the US that feels that 2 weeks is all anyone should want. When I was telling my friends about how excited I was to come to Europe and get 5 weeks vacation, one of them told me he thought that was immoral!
I worked the majority of my life in the US and I'll never go back unless it's to do a startup.
Healthcare paid for by the company is the stupidest thing ever. The company is trying to save money and having them pay for health care means (a) you have little or no choice of what provider they choose and (b) you cannot be without a job ever due to the insane exposure that would put you and your family under and keeping the insurance plan you had with your employer will usually be prohibitively expensive.
Many employers just give you "catastrophic" coverage which will leave you with something like a $10k deductible (I'm serious) and if you do manage to go over that expect to take the company to court for not paying. Anecdotal but I only know two people who tested this (I'm one of them) and in both cases the insurance companies refused to pay. I sued them to get my bills paid. The other guy wasn't so lucky. Shame, he would have retired by 40 if it weren't for a surprise illness.
You can't "always" take non paid vacation. In many companies if you do that make sure you take all your stuff with you and polish your resume before you leave.
2x the salary? Not where I live. I'm above all but a Facebook/Google salary (but those are within view) and I don't know what 3/4 the social benefits you're talking about are. The US has worse roads, hostile public services (e.g. DMV, police, etc.), a horrible health care system and poor worker protections (compared to Europe). Could you break down your social benefits because I literally cannot imagine what you could possibly mean with this.
"It would take a lot of research and work to discover what a "good district" is, while in western Europe you can just send your kids to school and not worry about it. Lots of states don't have any good districts at all." All of this is false, sorry. There are sites like greatschools.org where most public schools are rated. It is relatively easy to distinguish a good district from a bad one. And I don't believe you can send your kids to schools and not worry anywhere in the world, it is just a bad way to raise them. As about states not having any good districts.. Examples, please.
Health insurance certainly sucks, but 10k deductibles are not common at all. Insurance companies pay most of the time, if you are in network they really cannot refuse after the fact.
Salaries for software engineers in US are much higher than in most of Europe, and taxes are lower. Though it is probably not 2x.
2, It takes about an hour to find out the good school districts in any metro!.
3, 2x salary is real, Just compare the 2200 euro beginner salary ($35k yearly) mentioned in the post with US. An beginner american programmer can easily start at $60k. After tax it will be really 2x than in europe.
Anyway with so many downvotes i think its not a good idea to argue further :)
The sad thing is then watching the outsourcing taking place, and how the money "saved" in outsourcing, is then spent repairing the work from bad deliveries.
So development cost actually increases, but since now two cost centers are being used, the business costs look nicer on the spreadsheets.
And I can understand why people compare software engineers to doctors and attorneys: Cases of highly trained "knowledge workers". But one big difference is that doctors are most often hired by other doctors. And lawyers are most often hired by other lawyers. Most engineers are hired as support-staff in an unrelated field. The ones that do work for software companies and startups are usually paid more. These are all just a few correlated data points but I think there's something to it.
if you're having trouble finding people you are, by definition, not paying enough.
My previous company was offering competitive salaries, good environment, challenging work, and we had trouble filling position with decent developers...
The problem was that you weren't actually offering "competitive" salaries, you were merely offering what may have been standard for your area but no longer was sufficient, by your own report.
You can decide that you can't afford actual competitive salaries, but calling your salary offers competitive when they are not will not help you in any way.
Companies that complain about not being able to afford decent developers are just saying they don't have a strong enough company to cover the costs of the inputs to their business. It doesn't matter if the input is oil, steel, baking powder, or software developers.
Companies that can afford high developer salaries when there is a shortage are the ones that get a high enough ROI on a developer's time that they can actually buy more of that time at the current market rates, and still have enough left over to pay the executives.
It's not about being cheap vs. generous.
Someone else should immediately retort with "At what price?"
>It's a bit silly to say "there are no shortages! Only cheap consumers!"
It's only silly insofar as shortages result despite the existence of consumers willing to pay market rates; these generally involve state-imposed price ceilings. What is silly is conflating "shortage" with "someone somewhere wants something but isn't willing to pay the market rate".
Admittedly, your local real-estate market might be too wound-up (think NYC, Bay Area, Boston, or LA) for raising salaries to do anything but raise land-rents.
Supply and demand is not magic, and it does work.
I think its because competition for dev jobs is much lower in europe because there is no Google, no Facebook, no Microsoft etc.
That said, if you work as a contractor for some of the big companies in cities like Berlin, Hamburg, Munich etc you can easily make 100K EUR, even as a bread and butter PHP dev.
First of all, where are you getting this $120k number for entry level people from? Very few actually get $120k right out of school. According to WSJ we just surpassed $100k as average, and remember that includes senior people making $200-400k at Google et al. Top companies who are selecting the cream of the crop can afford to pay this because they know how to get great talent and make the most of it.
If startups are paying $100k+ to people straight out of school (mine certainly isn't) then it's an unfortunate symptom of easy money and does not bode well on the fiscal responsibility of founders which is key to early-stage success. Bubble or not, money will not stay this easy indefinitely and that will have a direct impact on low-end salaries.
Finally, European benefits are not to be underestimated when put up against US salaries. 2-3x vacation, free healthcare, inability to be fired, cheaper education, etc, etc.
In the comparison with Europe, it's always good to keep in mind that benefits differ wildly between Austria, Portugal, the UK, Sweden, Estonia, …. But yes, there is much to be said for at least the Swedish benefits. A five week vacation, free universities, free healthcare, harder to be fired (complete inability is more of an italian thing), etc.
I'm definitely not complaining, but with a comparable entry level salary ($40k vs $55k for me when I started), something close to comparable taxation (I paid a total income tax of about ~27% that year, what's US levels, 20%? 25%?) and all our benefits, it feels like you guys get the very short end of the stick, which is a completely different message than gets bandied around by the media.
*Edit: Just did some reading and realized I seem completely off base on my income tax estimates for the US. I'll let it stand for posterity.
This is specifically the reason I work in London for 4-6 months of the year as a contractor and do my own thing the rest of the time.
First, there's always the love visa -- find yourself a swedish girl and move here (you don't need to marry). On a more serious note, the easiest thing is to get a job at a Swedish company with a US presence (or vice versa) and get them to help you move. For example I know Spotify is recruiting aggressively and they have offices in Stockholm, SF and NYC. Most medium to big software companies here already has international people on staff and a lot of them has experience with the (comparatively little) bureaucracy required.
If you're any good and really serious about it, feel free to send me a mail (on my profile) and I'll see if I can help you out in any way :)
As a result, only very incremental progress can be made. If the standard salary is 70k, employers will balk at offering more than 80k. If they have to offer 90k, they'll feel that a bad shortage exists, because they're offering way above the "market" salary - causing them to conclude that good devs can't be had "at any price".
Here's what I think they don't get - to really solve this, they need to start attracting people from other professions. They need to get the top minds that are currently going into medicine, law, finance, and so forth (well, the percentage that could and would go into software development if they rewards were greater).
Honestly, I don't see industry ever making this jump. I think they'll keep competing for the same smallish pool of talent and scratching their heads about why they can't attract more candidates for an incremental increase in pay/benefits.
I understand that there's an implicit "reasonable" condition on price, so my real disagreement is around what counts as reasonable. Most of these companies would view a 200k salary as unreasonable. I'm not so sure.
Examples abound, but I remember a company talking about how great its salaries were, and one example was a guy with a PhD from University of Texas (Austin) and 5 years work experience. His salary was $125,000. I wouldn't expect it to endear me to many Americans to scoff at $125k a year, but when you think about how long PhD programs are, how high the attrition rates are, how much talent it takes, and the kind of salaries available to people with professional degrees that take a shorter time (with far lower attrition rates)... well, it's pretty clear that $125k actually isn't all that competitive. I'm sure that it would give employers sticker shock, but to get competitive with the other fields attracting the best and brightest, they might well have to go over 200k for someone like this.
If it's not "worth it", then clearly there is no shortage, it would be a suboptimal use of talent.
It's pretty underwhelming pay for a doctorate.
We've had a couple people here who were soley motivated by money which stuck out like a sore thumb and ultimately didnt last.
The reason is simple. Try to remember one software package developed in Austria? Can you name one software company based in Austria that is successful in selling software or services? Do you know of any, even moderate, company from Austria whose primary role is creating and selling software? That's right, you can't.
That's because software engineers there work for companies where spending money in producing software is a cost, not an investment. If software is not a primary line of business, than there are two things in place. One is that developers are an expense. Second is that you don't need that good or experienced developers working on glorified enterprise internal applications.
So, if you want money, either work for a company where software development is primary line of business and be paid accordingly, or work on your own. You can't make good bucks working for cost center.
If there is an overall shortage of qualified developers, paying more to hire great developers does not fix it. All it does is raise the salaries of the existing qualified developers. That is fine and great for them, but it doesn't solve the shortage.
Microsoft quotes the new higher a large number (120k per year) but it is all back end weighted to a bonus at the 15th month or some sort.
this allows Microsoft to see the work product and fire the ones that don't cut it, way before the bonus comes.
It is my understanding that generally a new hire will do well on their first year's review cycle as a low mark would reflect poorly on the hiring manager that approved them. So generally you'll hit your target bonus of 15% or whatever it is nowadays.
http://news.ycombinator.com/item?id=2473544
It's good to know that I wasn't crazy for thinking the salary was too low.
If one really wants to maximize free time contract work is where its at.
Because every minute I spend worrying about my financial situation is a minute I absolutely cannot spend working on your software.
After that, it's all good.
Though sick days and vacation is nice, too. Or at least don't ask me about it when I just kinda disappear for a day or have a completely unproductive day.
Just look at dot com era (if you're old enough to remember). Tons of money, thrown at everybody and anybody. The vast majority of which were not "good" programmers. Many weren't even programmers just good at faking it, till they made it.
I get paid £18k with 5+ years experience in what we're doing.
But point is: to get quality, it costs money.