Hacker News new | past | comments | ask | show | jobs | submit login
Want good programmers? Then pay them. (irrlicht3d.org)
481 points by irrlichthn on May 3, 2012 | hide | past | favorite | 483 comments



So true. I get calls from startup recruiters all the time. They don't seem to realize there's this thing called rent. They want to pay with equity. Might as well pay me with lottery tickets.

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 agree with a lot of what you said; but stating that you will under no circumstances work more than 40 hours a week bothers me. I try to get out of the office every day on time - but shit happens, and there are instances where someone needs to fix something or else the company is losing revenue. You want financial stability with a high salary - but aren't willing to help make the company stable. Yes, a healthy work/life ratio is very important to me, but I won't walk out that door in the middle of a crisis.


40 hrs a week doesn't necessarily mean 8 hours a day. I think it's a reasonable demand by someone that if they stay late one day putting out a fire they're free to leave early on Friday or something.

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...


I prefer a system like this. At my current company in fact, it's formalized. We work X hours a week, and if you work any more, it goes to vacation. Actually, you work X - 4 hours a week, every week the entire year with no vacation, such that it you actually work X hours every week, you end up with (52 x 4 =) 208 hours of vacation a year.

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.


(X/5)+3 I presume?

Your system sounds good. Do you also have the flexibility of working weekends in lieu of weekdays or at home instead of the office?


Yeah, you can work from home whenever, so long as you're generally in the office for core hours on weekdays, or let people know that you're going to be out. Eg, I wanted to go camping Fri-Sun, so I worked a few hours on the previous weekends.


My family and friends are vastly more important to me than any job, period. I work to live. End of story. If I have to sacrifice that most important thing to me in the whole world, then there is no point. I would rather be a homeless bum with the people I care about doing the things I care about than at any job in the universe.


And that's awesome - however I would not hire you. I would never expect someone to put their job before their family. Got a son't game to go to - go to it. Gotta pick up the kids from school one day, why are you still in the office? But I would also expect that if a server is down, or a critical bug is preventing the site from working that I could count on someone to help get things working. Not that you said you wouldn't, but the tone in how you said it would give me that impression. I want to work people who care about their job - it doesn't have to be the most important thing in the world, it should however be part of their passion not because they need to think about the company 24/7, but that I know they will give me their best work.


caring about family more than job != not caring about job

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


I am looking at it from a prospective employer. As I said, it may not be the case, but stating that he would not work more than 40 hours under any circumstances would lead me to believe this and would cause him to not get hired. He could be an excellent worker, gets all his work done on time and be able to leave on time every day of the year - but in the back of my head I am still thinking about that 40 hour limit and will think that I am completely screwed to be able to use his talents when there is a legitimate issue.


It's cool that you wouldn't hire me, because I wouldn't want to work for you, even if you did offer all those nice things. I can see it right in that post "use his talents." I am not a resource to be used. I am a person. We have both agreed upon a mutually beneficial agreement, and either of us may leave that agreement at any time. If you want resources to be used, go to the hardware store.


I think its important to clarify, do you mean 40 hours, on average, or 40 hours in one week? Meaning, do you want him to average more than 40 hours a week? If so, thats definitely a red flag


Just as much employees are resources to run your business, a job is just a means to an end for me. To fund my startup.

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.


See the subject line of the article. Are you prepared to pay people one way or other (extra vacation days, on-the-spot cash bonus to take family out to a fancy dinner) for stepping up? No? Why not?


I think he meant that if there is a serious crisis he might stay. Sure, every once in a while a tornado sweeps through your data center. That happens once every other year. "We need you to stay till midnight because a very serious VC is coming in and this project needs to be done" is not a crisis.

Serious stuff happens, it does not happen every other week.


"under no circumstances do I work more than 40 hours a week."

Should we take him at his word or assume that he isn't precise when speaking? Both are bad signs.


Precision isn't accuracy, and pedantic precision isn't super common in casual conversation anyway.

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.


pedantic precision should be common for a programmer. This is really easy, he could have said, "I will only work overtime in exceptional cases, and those should be very rare." This is what I usually say in interviews.

"under no circumstances will I work overtime" has a very clear meaning.


How is this more precise? You said "rare", and the other party heard "rare", but guys never agreed on what "very rare" was. Believe me, people can have very different ideas about what "very rare" means in this context. :)


There is probably some circumstance I would work a little extra. Seriously, you want ever comment on every blog to be written like a legal contract or a game rulebook? I wasn't about to devote an entire paragraph covering every possible scenario where I may or may not work more or less hours. You get the idea.


Umm, I was supporting your phrasing. :) i.e., that most people get that you will work extra hours when truly required.

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.


rather than implying that the people who took you at your word did something wrong, you should admit that you used a poor choice of words.

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.


LOL, do you hear yourself?

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?


Check your tone, please. I can't downvote, but I don't want to see comments like yours on HN.


You can check my comment history and see that I don't insult people often. However, sometimes when people are being really stupid the correct response is to call them stupid.

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.


Ok, my phrasing was incorrect. I meant to say "how is it precise enough." You get the last word (if you choose to reply to this).


Gotcha, and I agree with you on that. Like I said in my comment, this is exactly what I say in interviews, and I haven't had a problem with it yet. If I do then I'll find a new job. After a little practice you can get a feel for reading people and companies and you can usually tell if you are on the same page. I also always ask how many hours on average people work per week, or something along those lines.

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.


I see some ambiguity: this is the contract negociation; the work may be referring to the entire duration of his employment. Exceptional circumstances are exceptional, and he may choose to give up his Friday then.


Exactly - I would completely understand someone insisting on a work/life balance - I want it, and I have no problem with people wanting that; but seeing it worded that way is a red flag to me.


His wording is quite accurate if you ask me. At least, I can completely agree with it.

Life is about living, not about working, after all.


Well you can do plenty of living when lots of businesses do not hire you due to the fact that they realise sometimes stuff needs to get done. We all want to avoid the constantly crisis mode businesses, but you do this by being reasonable.


Agreed. If a business is constantly in crisis mode, something else is wrong, and 40-45 hours a week seems like a good goal to shoot.


Crisis mode is addictive.

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.


"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."

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.


I've seen this too. One company I worked for had a product that was deployed too soon. We as a dev team decided it was time to roll it out when it wasn't. Our fault. This created a crisis mode. It was a rush - live editing code on production servers to save an engineer rollout (nature of the product was one mistake locked us out of the box), seeing small fixes improve conversion by noticable amounts (or reduce the call queue significantly), etc. Bad engineering practice, but it made me understand the cowboy appeal, and I don't think I want to do it again.

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.


One place I worked had an unofficial policy: Every hour of overtime allowed you to take 2 hours off some other time. If there's a crisis, things can get done quickly, but nobody gets overworked, and there's a strong incentive for management to avoid crises.


I think in cases where you may loose a client or seriously damage a relationship it could also be warranted. Honestly, if they give you flex time, I don't mind all that much. At a job I started fairly recently I had to push really hard for a couple of days (put in probably 3 extra hours a day for 2 days) but then they gave me a day off after those 2 days and then the rest of the week I basically was given nothing else to do so it was really relaxed. I think the main thing is they recognize the sacrifice and act accordingly to not burn you out.


He said 40 hours a week, not 8 hours a day. For example, he could end up working 20 hours for two days in a row. Or he could mean as an average. This is what I do. I may put in a 60 hour week, but I'll be taking time off where I can until I get back to a 40 hour average.


I'd rather suggest that we point fingers at an industry and employers that don't pay overtime for such scenarios before pointing fingers at each other.


I've grown accustomed to not getting overtime after over 15 years in the industry, and I make sure that my base salary covers a job where occasional overtime is possible. Should it be different - of course - but if you know that you are for example joining a startup, where the hours can be crazy and the expectations are high, then you should account for that. (Oddly enough, I am working less crazy nights at a startup than I did in the agency world).


You're kidding yourself if you think you can't pack productivity into 40 hours worth of work a week. Some people have this notion that their job is so important that the work they're doing can't be put off til tomorrow. Certainly, in some seats, emergencies arise, but by and large, you should never have to work more than 40 a week at your 9-5.


Yes. That guy is 100 percent liability.

"I screwed up, but it's 5:00 so I'm going home. Remember my childish contract? So long!"


I'm really glad you mentioned "cute little puzzles". I am sick of them. I'm not really sure who has sufficient time to spend blazing the employer with feats of their programming prowess (I was going to say only undergrads would do that - however, many undergrads in top programs have little time to bathe).

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.


If a recruiter goes after you, and didn't bother to Google your name and look at your GitHub/OS contributions etc. he's obviously cold calling and wasting your time. He's the guy who asks DHH how much Rails experience he's got.

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)?


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)?

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.


> If Stripe can't find enough programmers to fill their needs...

... 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.


For the level of programmer competence we're talking about here, that hasn't happened yet.

Define that level non-tautologically then, please.


> 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.


Then you're being unrealistic, because the expected value of a random applicant's ability is not that high.


But it works the other way around, too. The expected value of a random company is not that high unless the candidate considers themselves to have a good chance of success. Given how opaque the hiring process is from the point of view of an applicant, how do they know if it's worth spending their time solving a random puzzle?

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.


Sure, I didn't say anything about that, but in this scenario it's implied that you're applying to this company, so presumably you know something about it and like it. You likely know a lot more about the company than it knows about you.

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.


At some point an employer needs to see code that a candidate has written, so unless the candidate wants to write code specifically for each company they send a resume to, maintaining some open source software is surely the most efficient mechanism to do that.

Artists maintain a portfolio of their work; why shouldn't programmers?


Artists don't usually have to show what brushes or paints they used to make a particular work.

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.


That's because it usually doesn't matter how an artist creates a piece of work, as long as their methods are not too idiosyncratic; what matters is the end result.

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.


I understand the urge to minimize risk as much as possible. However, the truth is that in any field whether it's business development, sales, marketing, etc. what you do see most often is the person's track record and not how they actually went about doing things.

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..


I agree with you that cute puzzles are annoying and unnecessary, but if you look at the puzzles Stripe has on that page, you'll see that they are anything but cute puzzles. Something like the CTF that they built is an awesome and fun way to see if a developer has the chops to run with the big dogs. These are cool real-world problems. They're not sitting you down in front of a whiteboard and forcing you to complete esoteric puzzles in a limited amount of time, yet they're giving you a few different ideas as to how to impress them. You have all the time in the world and it's up to you to prove it. Stripe, to me, seems like an amazing company with some of the best talent out there. Just my two cents.


They are boring though. If I have to take a programming test, I'd rather take that time build a real feature onto your product, even if for free. If you like the results, at least I've created real value for my time, not just played a silly game. There's a risk that you won't like the results and it will be thrown away, but that's a reasonable gamble.


No way. I'm not going to do free work for your company to make money off in the hopes that you'll give me a job later.


What if you did the work for free, but the company would have to pay you for your work if they liked the results, even if they ultimately did not hire you?

Wouldn't that still be better than working on some contrived game that has no real-world relevance for free?


Then you aren't really working for free. More like on contract.


But that would only be true if they decide to use the results. Otherwise, it's just another contrived quiz with no real-world merit. The worst case is remains the same as the status quo, but the better case is that you'll be paid for your time in the interview.

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.


This is how we hire, and I think it's great. Both sides get to see if it's a good fit, we see how you work and if you have a product sense. You get to see if you like our product and company culture. Win-win.


I think some of the ITA programming puzzles (for instance) are fun on their own merits.

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.


Filtering only goes so far. If you rely on these tactics instead of asking the actual questions. You will very soon end up hiring people who know nothing about the real world, but would have memorized tons of interview trivia.

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.


Maybe we are talking past each other. This is the page I was thinking of:

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.


As others here have mentioned, the questions on the jobs page are explicitly designed to not be cute puzzles. If you don't have a Github profile or other code samples, these questions help us get a sense of how you think about programming. But they're also entirely optional - we should perhaps make this clearer. We'd love to hear from you if you're still interested in Stripe.


Maybe I'm just incredibly naive, but are fizzbuzz tests really that necessary? I have a hard time believing anybody could get an interview, let alone graduate with a BS in compsci, without being able to do something THAT simple ....


Yes, they are necessary. I've seen "senior" people bomb on it. There's a segment of "developers" that are good at selling themselves as programmers, manipulating the interviewer so you talk yourself into thinking they are awesome. You've probably met some of these types at conferences, and think they'd be a worthwhile hire. But stick a simple programming problem in front of them, and they can't back it up. if you're not that great at spotting these people, they can slip by the average interviewer without something concrete like a FizzBuzz to show they can back up their talk. And once they make it into your organization, if you don't catch them early, they can be extremely destructive.


Yes, yes they are. I don't even see all of the resumes submitted to my company since they are filtered through the recruiters and our HR guy but the ones I do see still need a fizzbuzz test more often than not.

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.


While this is a little disappointing in that it speaks to the quality (or lack thereof) of developers coming out of college, or elsewhere, it is also really encouraging too! the fizzbuzz problem is actually incredibly simple and I was able to write code out by hand that worked in my python interpreter.

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


Well, not to burst your bubble, but fizzbuzz is a negative filter (ie passing it is the minimum needed to even be considered for a dev job).


Congratulations. You're better than 50% of the programmers I interview. Want a job in SF?


You'd be surprised...

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.


I wonder if there's a harder equivalent to FizzBuzz — one that doesn't take any longer to explain or do, but requires a much higher level of skill to pass. One we used at http://airwave.com/ was "Write a Perl subroutine to determine whether a string is a valid dotted-quad IP address," which is something you can do in various reasonable ways in one to five lines of code.


Is that really so much harder? Somehow, I expect you'd get a lot of opaque regexes like:

  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;
  }


I think we did get someone solving it that way once, and modulo Unicode, it's arguably a reasonable solution. But there are other one-line solutions that are more transparent.

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.


I failed to note in my earlier comment that yes, it is so much harder. Fizzbuzz requires that you write a loop, print some strings, and either maintain a couple of counters or use the modulo operator. Your solution requires:

- 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? :)


There are plenty, and yours is a good example of one. In fact I think actual FizzBuzz is not used much in the wild any more as it's too well known and thus drillable.


You have clearly never had to interview people. Fizzbuzz is super basic and that's the point. It quickly separates the person who was around when programming happened and someone that actually did the programming.


I interviewed a 'senior' developer who had been a consultant for several years. When we asked how he implemented past projects, his answers were really vague. We got suspicious and dropped down to a simple problem like, "write a loop to print the numbers from one to ten."

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.


>"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."

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.


All the more reason to get the most of what you can out of the inequality before the cycle swings back the other way.


Absolutely. After all, that is what most employers will do when the pendulum swings their way.


Great observation. It's very easy to forget after a year or so of good times that bad times ever happened. Yet, this too shall pass. The key component of my philosophy is to always provide more value than paid for, be it 10 days of vacation, or 30. This will create consistent demand for one's services negating the impact of economic cycles.


Doctors don't have infinite sick days, many don't have 30 vacation days (I barely take a week off a year), and most don't have 40 hr work weeks.


Yeah no-where on earth are there 30 holiday days per year and 40 hour maximum. No-one works that.

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)


I'm in The Netherlands, have a 40 hour work week, more than 30 days of paid leave, plus extra days when I move/marry/etc. It's pretty common in Western Europe.

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.


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.


Most of western Europe, if not all, gets at least 4 weeks vacation. 40 hours is a bit more demanding but 42 is pretty common.


All of the EU gets 4 weeks. It's called the European Working Time Directive. That'd give you 20 days paid annual leave. Some member states have higher. (I think) all member states have paid public holidays aswell.

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).


I have 10 in the US. You lucky bastard.


UK here: 35 hr week (which I generally stick to), 28 days holiday (rising to 30 in a couple of years, plus I usually buy 5 extra, plus public holidays).

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.


Brazil: 44h, 30 days PTO, ~12 public holidays, 13th salary (yeah...). If you're not working as a contractor, that is, which is way too common in the IT field.


It's not really 30 days PTO, isn't it? It's "30 consecutive days", which might even include holidays/weekends. And you don't have much flexibility on taking them. Also, it's not uncommon to have 40h agreements.


In Brazil you get paid monthly, not weekly, so weekends are part of the math. 30 weekdays would make it 42 consecutive days vacation - now that would be awesome.


Funny how people allready say EU countries instead of countries in Europe.


Why is it funny? Not all countries in Europe are in the EU.


(And slightly funny enough, not all of the EU is in Europe. French Guiana is in part of France and the EU and borders Brazil http://en.wikipedia.org/wiki/French_Guiana)


I didn't say treat me the way a hospital treats a doctor. I said you treat me as if I'm a doctor and you are a pharmaceutical sales rep.


Or, treat me like I'm an investor (which I am) and you're a startup (which you are).


However, median compensation for really good doctors is vastly higher than median compensation for really good developers (in the US, anyway).


And really good doctors have really high bills to pay, as well. Not many developers need 8 years of the best schooling (one could make the argument that really good developers don't need any schooling, although it helps).

Your point still stands, but student loans from med school are nothing to brush aside.


That's not a universal truth. Studying medicine in Europe is not significantly more expensive than studying history, CS or whatnot.

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.


For really good specialists, student loans from med school are forgiven after 10 years of practice in academic medicine (which your residency counts towards), and often paid off for you if you go into private practice.


Yeah, well, developers aren't given a giant book on solutions either.

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.


#1 Neither are doctors.

#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.


I have a relative who is a doctor in an ER and they are essentially an independent contractor (not on a W2), they don't really get any sick days, per se, they are paid for what they work (at a very high rate, or I think a share of the income for that month for their department, something like that) but they have to manage it as a business, essentially (own health insurance, etc), I think its different for some as they may be an employee (like for Kaiser) but a lot are contractors.


So, I'm outting myself as outsider here but:

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.


I have been programming since Kindergarten. I can program in any language. I also have the skills of a systems administrator, PC repairman, etc. I can do almost anything you need to do with computers, except setup email servers (screw you postfix!)

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.


>I can program in any language.

Maybe it's just me, but if you actually think this is relevant/interesting then I can't help doubting your credibility.


Yeah, to command six figures, you've either many years (10+) of experience under your belt, a masters + experience or you're applying in NYC or LA/SF where cost of living is astronomical. In the midwest, you'd be hard pressed to find a starting salary at 6-figures except at the very bottom of that 6-fig range.


You shouldn't get paid based on your cost of living. You should get paid on value added.

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.


You aren't actually paid based on cost of living, per se, but as that factors in so heavily, it can swing the value proportionally.

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.


WHY DO PROGRAMMERS THINK LIKE THIS?

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 don't think that's true at all, actually.

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.


You've got it exactly twisted about docs, read this for clarity: http://www.medscape.com/features/slideshow/compensation/2012...

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.


>>Programmers seem to think of themselves as laborers

Worse than that in fact. Never heard of any labor union that would be OK with workers putting in extra hours without overtime pay.


First, let me start off by clarifying that I didn't imply that pay should be based on cost of living. Rather, that I believe it's more market forces at work, but that cost of living plays a huge factor in that.

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.


Most of the software companies in Memphis are probably selling to relatively local customers, thus tying their income to the local markets. The software companies selling to everyone everywhere are in the big tech hubs.


You're probably not terribly wrong there if you're specifically speaking about software companies, but the largest employers in the area are multi-nationals.

FedEx is headquartered in Memphis, as is International Paper, AutoZone, etc.

Of course, they aren't exactly software companies.


Your salary, by its very nature must be less than "value added", and more than "cost of living".

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.


That's an overly simplistic way to look at it.

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.)


I don't see anything wrong in getting paid proportional to 'value added' for one simple reason : My employer makes the same money as somebody in another geographical area but wants to pay me less than what he would be paying me in that geographical area. The difference goes in his pocket, while extracts the same work from me.

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.


... and working to put profit only in someone else's pocket.

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.


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.)


Since you already got the audience, twould make a great blog post.

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.


Since you already got the audience, twould make a great blog post.

http://www.kalzumeus.com/2012/01/23/salary-negotiation/ ?


Not necessarily, this is the heart of the supply-vs-demand concept.

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.


For the view from the other side of the table, read Peldi's posts from Balsamiq.


It's not cost of living but supply of jobs. The job market is smaller so there's much less competition for talent. Employees that aren't willing to move to the hotter markets don't have the same bargaining power.


You can add more value to firms outside the midwest because there are very few firms in the midwest where tech is their core business. I was living in Cleveland and severely underpaid, but I could not find another company in the area that would give me a $20k raise because IT was just a cost to them and not how they made money. I moved to California and more than tripled my salary.


My experience in the midwest was that they generally have very low estimates of what anything they pay for is worth (probably because they get this idea from the lower cost of living).


The problem with this is viewable on freelancer.com and other sites. Once you can be sure a coder will do good work remotely, then you can get a coder to do some work from anywhere on the planet, and those who have a much lower cost of living will happily undercut those who dont.

It may be the single biggest driver against the growth of cities.


What you describe isn't a problem, it's the greatest possible outcome. Think about it from the point of view of the employer and the remote coder.


Yup, they say on their front page that the average job is under $200. That's about 3 to 4 hours work for me.


Employers value proximity. They'll pay extra for it.


Oh, I want to add one more thing, since everyone seems to like my comment.

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.


maybe you should start your own company?

seems to me you chaff quite a bit about being a "wage slave"


Indeed. Also, he seems to want the pendulum to swing from the employee courting companies to the company courting employees. Personally, I think there should be a mutual respect between an employer and employee. Further, someone whose sole goal is not to work, as it seems here, is probably not someone you really want to work with nor to start his own company.

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.


He didn't say he would do nothing when he got rich. He said he would code whatever he wanted, without regard to making money. Big difference. An independently wealthy person could become a star of the open-source world.


That is true. However, his comment still seems downright hostile towards anyone he might work with. It comes across as though he tolerates working with people only by force and has no respect for his coworkers at all.

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.


Actually my working environment is pretty great, and my co-workers are cool. That's why it's hard to convince me to leave.


I am incredibly risk averse. I will not take the chance of becoming homeless.


In the current climate, the risk of that is incredibly low. For one thing, if you're risk averse and amenable to trading risk for equity, you can keep a sizable war-chest at home and simply run off VC money. That way even if you crash and burn you have a safety net to fall into.

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 ;)


I disagree. Why do we have this idea that one needs to be at a company for 20 years? I'd love to see some company pay a million dollars a year to all employees and have a limit of, say, 5 years for working there. It would be interesting to see what effect that would have when every employee knew after 5 years of working there they never had to enter the rat race again if they didn't want to.


If someone acquired us as a way of acquiring talent, they will be sorely disappointed.

Typically in that scenario, there would be an "earn-out" period. Leave within n years, get nothing.


The comment thread here reminds me of how just about every time someone suggests that a prospective employee might have demands of an employer, he or she is "entitled," "arrogant," or "a dick."

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.


I definitely hear from startups who are hiring and will pay O.K. but it seems to me that for every startup that pays, there are 3-5 that won't.

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.


Some startups probably just can't afford a high salary...


If they needed one then they screwed up their business plan.


I think the "cute little puzzles" are absolutely fine if you dont have any code you can send them, but if you have a public github or even willing to send them some private code then yeah, puzzles are a waste of time.


Sometimes, though, the "cute little puzzles" are useful in order to filter out the clowns who interview well but can't write FizzBuzz.

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.


Technical interview is OK, ask the guy about his job. Give him a coding problem in his language of expertise. Check his knowledge of tools, techniques and best practices in his area of expertise. Do all the tech routine.

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.


I have great difficulty with the idea of hiring someone who says they will under no conditions work more than 40 hours a week. That won't work in a situation where we are all working together as a team to achieve something worthy of achieving. I don't hire people by the hour; I hire them to accomplish things.

TL;DR If you want to punch out when the clock strikes 5, get a job in Detroit.


Lottery tickets might be a better deal, they tell you the odds straight out and you get your picture in the news if you win.


I think being dogmatic in these circumstances is perhaps a little short-sighted. As with all things, finding the middle ground – balance – ought to be the goal, and not rigid conformity to rules. In this circumstance, it sounds like you'd might be hard to work with.

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.


What's ironic, is that I'm reading your response, and I'm thinking of how unreasonable it sounds. But after taking a step back and thinking about the symbiotic relationship companies SHOULD have with their employees, this reminds me an awful lot like the demands I've seen from most jobs. They'd like to offer you 2 weeks vacation, a week sick time (because we all choose how long we'll be sick) and if they bounce a check? Bummer, you can either go back out and seek employment or hope things get better.


I get that devs are in demand and that folks should be paid fairly, but after reading this, I don't know if I'd want to work with you in an employer-employee relationship or even as a colleague.

This smacked of a level of entitlement that I think would be cancerous to any group of people working together. Just my $.02.


You need six figures to make rent?


A 1 Bedroom starts at $1600. A 3 bedroom house is ~$3000. 6 figure tax rate is %40 not counting deductions. If you have a family, your rent already takes out over half your 6 figure income. You only live so long, so you need to make some savings too.


So a $100k salary actually gets you $5000/month? Is that true in practice (not on paper)?


I'm in SF right now and that number seems correct (mine don't line up exactly, but close enough). So yes, $100K salary nets roughly $5K a month (assuming no extraordinary deductions).

And a studio is hovering around $2K a month around here, and rising.


guys, the parent was attempting to write satire.

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.


Some context/perspective on the Austrian employment situation:

* 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?


I've had a similar experience in Finland - the shitty salaries (and lack of interesting work that isn't somehow tied to the sinking ship that is Nokia) are one reason I avoid Finnish companies like the plague, and just work for foreign clients.

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.


Just a quick heads up. If you are interested in distributed systems, computational geometry or working on a custom WebGL app fire me an email, we might have something interesting for you at Tinkercad. Our tech team is based in the heart of Helsinki and we are actively looking for new talent.

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.


Not to hijack the thread too much, but with the sort of thing you're doing, I'd seriously consider reaching out to people from the demoscene. There's a pretty large demo culture in Finland, and they'd be perfectly suited to the task, particularly the computational geometry and WebGL side of things. I'd be interested myself if I were in Helsinki.


I was implementing a proof of concept in WebGL for my product and thought, I wonder if someone has implemented a WebGL modeler yet? After a bit of search ran across Tinkercad... Was a super impressive product, and don't know why more people aren't aware of it.


To be clear: collective bargaining normally only sets minimum conditions. You're free to negotiate for more, the employer just might not go with it.

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.


I don't know about Austria, here it's a case of "well, this is the industry standard, why do you deserve more? - oh you're a foreigner? Just be grateful we even give you a job" (even if you speak Finnish).

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.


Yes, there is also a strong bias against employing non-natives (or at least non-Germanics) in Austria, orthogonal to the other issues, which was quite shocking after living the previous years of my adult life in the UK, which has a much more liberal culture. This bigotry is much less of an issue (I'd almost say a non-issue) in actual technology companies though. It's telling that the proportion of immigrants among the self employed is much higher than the total proportion of immigrants (though that effect is seen in many countries, and I don't know if it's much higher in Austria).


Interesting! This is nearly a 180 degree opposite in the Netherlands. Companies can't find the talent they need inside (because they pay them too little, but ok), so they try to attract foreigners. Foreign "knowledge workers" also get tax benefits for the first many years, and many employers (particularly consultancies and larger OEMs) have people specialized in getting foreigners a worker's visa.


Ah, the "30% ruling". For those that haven't heard of this wonderful piece of legislation if means you only pay tax on 70% of your salary if you qualify as a knowledge migrant. Yes, you get 30% of your salary tax free. There are also other benefits, e.g. you don't pay income tax on dividends from your home country.

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!


Wonderful for you maybe. I call it positive discrimination.

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)


Out of curiosity why would you rather be a garbage man than write Python for a living?


Maybe because he prefers languages where he has to do his own garbage collection ;-)


Usually when I explain this, I get downvoted by the HN Pythonista downvote mafia, but since you asked, I'll take that risk.

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.


Any attempt to compare <insert your favorite tool here> with something else is going to make you disappointed. I am not a Python fan either, but Python has its own use cases for which its well suited. Its barrier to entry is low, and a lot of web frameworks are around.

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.


Ehh, are you saying that you can't compare programming languages for their merits? Then why aren't we all using COBOL today? Taste? I'm not so sure.

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.


PS: I had someone email me to see if this post was serious. It is - if you know Django/Python and want to live in Amsterdam, please email me.


Yes, to both - unfortunately personal circumstances keep me here in Finland. I'd recommend Amsterdam to anyone, however, it's a great city.


Sounds tempting.. is there a hidden jobs link in the site somewhere? ;)


No, but here's one: http://www.fashiolista.com/content/fashiolista-jobs/ :)

You can contact us via that page, or feel free to email me directly (email in profile).


Ah, thought your startup was Cloudfrag. I've seen Fashiolista before and was on my list of potentially interesting startups to join. I'll probably contact you when I'm back in the market :)


Don't worry, you don't need a sense of fashion to work here. It was one of the first things I asked in my interview - if it was a pre-requisite, I would have had no chance :-)


I meant the job market but that's also good to know :)


Being brazilian and having lived in the UK, calling the british a "much more liberal culture" is incredibly funny :)


In Finland IT-companies must pay a minimum salary for full-time workers, it's something around 2000 euros (source: http://www.teknologiateollisuus.fi/file/7960/ERTO_Tes_fi_201...) but the limit gets higher when you get more responsibility.


I just saw a add of a firm that wants to get a clojure programmer wiht a Ph.D. in robotics, computer vision or something around there. I got the first part down at least :)


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.

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...


The Press wrongly just focus on one issue at a time. Other problems become side-notes or explicitly ignored.

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...


I think the anger was from Greeks "paying themselves" more than they can afford, and getting into astonishing amounts of debt.

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.


I don't know if it's still the case, but bankers used to receive 16 salaries in Austria. The 4 bonus months presumably taxed at the low rate.

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.


I guess the workers and officials were getting "bonuses" payed by the state in a bankrupt country.

The developers are payed by companies, they don't get money from your pockets while also working against you.


It is a similar situation in Portugal with one extra month paid in the summer and one at Christmas. It seems an eminently practical idea so that lower paid people would have ready cash for holidays and Christmas. However given the furore over the apparently profligate peoples of the Mediterranean the government is currently in the process of phasing it out completely.


Austrian (currently self-employed) developer here. You are mostly right, except that:

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.


Veering into the crash barrier of off-topicness, but...

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.


I'm in Austria too. My accountant told me that it is possible to just pay higher SVA payments. So if you assume that you will have to pay 5000/year, but they only charge you 3000/year, you just pay them an extra 2000 EUR on your last payment. And as long as you pay that before the end of the year, can deduct that from your taxes.


Interesting. I specifically asked at both the SVA and the Finanzamt and they both told me it wasn't possible. Well, too late for me, unfortunately, I got screwed in 2010 and I'm about to shut down my business in Austria anyway.


I think the trick is to just pay the SVA the extra money without asking questions and then hope that the Finanzamt accepts it. But I'm not a specialist and I haven't tried it yet; but I will try it this year.


Strange procedure, but I wouldn't be surprised if your accountant knew more about this than the bureaucrats at the Finanzamt or the SVA. In my experience, the former are friendly but useless and the latter are hostile, inefficient and useless. In any case, good luck with it!


Sounds like you're just given a payment delay of 2 years, which seems a pretty good deal to me. Put the money in a bank account for 2 years, let it earn interest, then pay it down.


It's a terrible deal because you have to pay your top marginal income tax rate (37.5-50%) of your "good" year on that money that isn't even yours, which you otherwise wouldn't, as social security payments are tax-deductible. In the "bad" year 2 years later, you obviously can deduct it, but as your earnings are low, you're in a lower tax band or even wouldn't be paying any tax at all (which is the case for me). So in my case this loses me thousands of Euros.

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)


A layoff is not considered being fired.


It is not considered being fired by you ;) This particular layoff was a strategic decision - and a bad one too, they are now advertising in TV that Siemens is a good place for IT folks.


The point is that the existence of layoffs does not rebut the claim that programmers cannot be fired (individually) in Austria.


Or the claim that it's a financial burden. Layoffs involve expensive severance payments.


I think you might have got to the the main issue.

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.


The market is notoriously inefficient in hiring/working because companies work so hard to keep prices (salaries) hidden so one has a really difficult time knowing what the market value of a given skill is.


Well this looks like the story of nearly developer community no matter which part of the world you are in. Lets face it 'monthly salaries' suck.

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.


You're pretty jaded. And believe me I've been through all of this as well. I've been underpaid and overworked for sure.

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 disagree completely.

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.


Last time I checked median income across the US population was around $50k, so maybe you should count your blessings.

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.


"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)."

Tell me more!


I'd imagine he is referring to sales/business/management roles which can tick a lot of those boxes in many cases but the type of work might drive a lot of engineer-types insane


Any of the medical careers, from nursing to MD to podiatrist to dentist.

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.


I can't speak for some of the items on that list, but I call BS on the medical jobs. I know some doctors and dentists, and let me tell ya, the only thing they've got on engineers is the pay (and even then, sometimes not). They've got an order of magnitude more stress, worse hours, and way more required commitment than even the worst coding job I've ever had.


lol when you get laid off at 50 and they continue to pull $200k we'll see who's got more stress


>>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.


I don't deny that luck is a factor, but dwelling on luck will decrease your chances because successful entrepreneurs tend to focus on things they can control. That was my main point in response of the pessimism of the GP.

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?


>>Being a skilled programmer is one of safest careers you could have in these days of cold economic downturn.

This is temporary luck, which will probably be different in the next downturn. (Just consider the IT death, ten years ago.)


The only thing I saw happening at that time was that even though a lot of companies disappeared, all the good developers found new or kept their jobs, but all the crap developers lost their jobs.


It isn't that simple.

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.


Sir ... I tip my hat to you.

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'm beginning to suspect the math is so bleak that it isn't possible :(

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.


This reminds me of a saying my friend told a while ago, 'You need money to make money'.

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.


> it seems like the only hope of seeing a decent retirement for the average person without a lot of capital to start with

not on a risk-adjusted basis


The odds are low, sure, but the odds are essentially zero if you take any other route. Granted, a lot can change with time.


I am from Bangalore, India.

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.


Ask yourself: Do you really want to spend so many years buried in work, and postpone "real life" to later? Life is here and now, and you don't know what will be tomorrow.

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 know you wrote 'Rich dad/poor dad' crap, but the original Rich Dad/Poor Dad book is one of the simplest and most useful books on personal finances ever written. But it's a book about lessons, not a prescriptive 'this is what you should do' book. The book is about understanding cashflow, and understanding what is and what isn't an investment. It's about being able to see through the crap that financial advisers throw at you, and about making people realise there are no 'secrets' to retiring comfortably or making money.

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.


Read http://www.mrmoneymustache.com. An inspiring blog by a couple of ex-engineers.


The comparison to equity being getting paid in lottery tickets is apt (IMHO).

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.

[1]: http://cdixon.org/2009/10/23/twelve-months-notice/


I really disagree with the notion of the post here, and I think this part really nails why:

> "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.


Exactly, One more thing that I didn't like about it was the feeling that its OK for the employer to overwork you and then not compensate it, under the pretext of 'interesting work'.

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.


I'll add that if you LOVE doing what you do for 40 years, straight through retirement, you are one odd duck indeed. The idea of "passion for work" is a power play to get folks to put in more for less. Don't get it twisted.

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.


Steve Jobs was a sucker because his values were different than yours? Really?


No. But he probably was a sucker for imagining that everyone was (or should be) as passionate as he was. That's a very common flaw among passionate bosses: they forget that many employees don't enjoy their jobs as much as they do.


One reason they may not enjoy as much is because being a simple employee following orders it's often not as exciting as being the boss and calling the shots.

I mean, both can be very exciting, but I'm sure they're at very different levels.


> Steve Jobs was a sucker

That's really respectful, yea.

(irony alert)


The plan is a lot older than you think. For millennia, people have married above their station by being interesting.


"Never working more than 40 hours a week nor staying late? It just smacks of entitlement."

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.


Then color me entitled.

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.


IMHO we need more of this (standing up for ourselves). I think there are some who don't fully realize the extent to which we have been lobbied against by just about everyone involved in this business to allow rates to be suppressed either through sanctioning of unpaid overtime or the facilitation of outsourcing.

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.


I try to raise this point every time someone says WLMT exploits their employees. Wal-Mart extracts about $6000 per employee in profit, this is about half the national average, and when you get to companies like GOOG, MSFT, APPL you're looking at an average of $200,000-$300,000.

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.


Woah, what. I was completely on the side that expecting reasonable hours and time off is not "entitlement", but yours strikes me as the exact attitude OP is railing against.

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 big house in a good school zone"

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.


This is silly. You're only able to make 200-300k/year for the company because of the infrastructure and audience they've built for you and all the other engineers to use as leverage. It is orders of magnitude harder to make that much on your own, regardless of how good a coder you are.

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.


200,000-300,000 gross isn't that much really. ~150.00 an hour with 40 billable hours per week ~60 actual work hours if you're freelancing. Most good programmers should be able to hit that.

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.


When I say infrastructure/audience, I'm talking about the many millions of users in the ecosystem which your code will be used by, and the marketing machine to push it out there. The same code that's used by 10k people if you set out by yourself has a 100x impact if it's used by a million Google users. That's why Google has such a high revenue per engineer number, and you're not going to replicate that without a lot of brand building and marketing, which is hard, expensive, and takes a long time and a good amount of luck.

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.


I work at a SV giant. I'm aware of the infrastructure we have in place. This infrastructure is primarily here to combat the increased complexity brought on by having x employees running around. Configuring something like github, automated deployments, change management policies, marketing/advertising campaigns is significantly easier with fewer employers.

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.


>Businesses use their negotiating position all the time to lower wages, it's not called entitled, it's called business.

[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.


Is there something intrinsically wrong with giving someone 30 days' holiday per year? Surely this is the same kind of freedom to spend your time as you wish that Google (with its 20% time) is famous for?

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.


In my experience Europeans have a different view of life than North Americans. Especially East coasters. In work I find they are more interested in perfection and creativity, and less so on productivity, output, and efficiency.

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.


Interesting observation on how Americans optimize on living space. In a certain way I optimized for more time with my family. That comes as #1 priority. That means to thing: more vacation time and minimum commute to work (it take me 7 minutes to get to work). This mean reducing the living space and living in an older house. Granted I am not American by birth so perhaps it is something in the "blood" as they say.

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.


I am a 31 year old programmer working 40 hour weeks in the US. I get 21 days PTO + 2 floating holidays + 7 Government holidays + 5 days training days + 3 months sick leave at full pay + unlimited sick leave at 60% pay (long term disability). I also pay 2k/month in rent for a small, but nice apartment in the DC area.

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.


Where is this?:)


http://www.boozallen.com/ they start you at 16 or 17 days PTO after 5 years it's bumped to 21, but all the other benefits stay the same.

PS: I know plenty of people who work insane hours there. But, it's not 'required' just useful for promotions etc.


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.

27 years old, with 25 "PTO" days + 6 fixed 1.5 day holidays + 2 fixed 2.5 day holidays. Middle-ish USA (Memphis TN).


All US employees at Mozilla have 21 days + 10 government-ish holidays off so it's not unheard of.


Does vacation here mean paid only or total? Personally I wouldn't mind that much if it meant paid only and I was allowed to take a pay cut in exchange for more (unpaid) vacation days.


In the US, "vacation days" and "sick days" are PTO (Paid Time-Off). So workers can sometimes "cash out" vacation days rather than taking them off, but it is uncommon to take unpaid days off.


I understand it's uncommon as the culture is generally more money/debt driven. I'm just curious if suggesting it to a prospective employer would be negotiable or an instant disqualifier ("How dare he be satisfied with less money?? He must be a pinko commie!")


Most employers are fine if you take extra unpaid days off as long as you tell them in advance.

Disclaimer: I work in software in silicon valley.


> I'm just curious if suggesting it to a prospective employer would be negotiable or an instant disqualifier ("How dare he be satisfied with less money?? He must be a pinko commie!")

Depends entirely on the employer.


I know some engineers that get 30 days off (including federal holidays).


Interesting fact: Holidays do affect productivity - positively [1]. As an Austrian, I have to say that I can't imagine life without holidays. I'm self-employed now and don't go on vacation as much as employees, but I really need the occasional week off (also, I'm working way less hours). I once heard of a study that Europeans are as productive as Americans, although they work much less (could not find it, here is an article on the issue [2]).

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...


30 days holiday per year also solves the "hero programmer" problem. Having to function without one professional for 30 days out of each year teaches that organization to function without that person and not rely on them in a way that makes them a single point of failure.


Indeed. How is Airbus able to compete with Boeing? It's not by working longer hours... But the flipside of European culture is entrepreneurship is harder (e.g. failure stigmatized still).


> particularly the 30 days paid vacation a year. In Europe maybe. In the US? Good luck.

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.


Enjoy the Kool-Aid. And the burn-out.

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.


"QED"

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.


Don't dig for gold, sell shovels.

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, in all the companies I've worked for so far you accrue vacation up to a cap, and if you leave the company you get paid out for vacation you don't take. This has lead to a nice chunk of change when I switched jobs in the past.

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.


Once you hit the cap, refusing to take vacation costs you money, as you can't accrue any more.


Most places won't let you take unpaid time off when you have vacation days left.


30 vacation days with 40 hour work week is standard in most European countries.

Why should we sell out private life to corporations?


Well and also, "rich" is of course relative. I'm absolutely confident a midlevel Google engineer's salary would put him in the top 1% of folks in my hometown (even adjusted for cost of living). And that's just keeping it to the United States.


I'm late to the party, so this is probably not going to be read by anyone, but here's my 0.02$

> 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.


Dude if you are working at Google and _not_ getting paid then the industry would be about to collapse...

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.


The lowering of the barrier to entry means talented engineers are nearly always better off starting their own startup rather than working for yours

Yes -- I think a lot of us are starting to figure that out :-)


>Never working more than 40 hours a week nor staying late? It just smacks of entitlement.

I work 38 hours a week. Anything more is considered overtime, and not "part of the job".


"So I work more than I should. Thing is, I'm never looking at my watch because I enjoy what I do"

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.


In Austria, an entry level programmer with high level university training will usually get offered 2200 Euro gross. I'm not kidding.

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.


most companies don't know how to value the contributions of software developers. i'm not actually sure they know how to value the contributions of most employees, period, except for salespeople. However as a dev, I'm biased some. I do think the potential for high value contributions, and the ability to avoid even costlier mistakes, is higher in the IT/dev dept vs other corporate departments.

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").


> 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 ;)

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.


This is also the way that you can get paid what you are worth by a small non-technical company that knows nothing about software development and thinks of programmers as other employees that should be a paid a middling salary.

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.


#3 is the center of patio11's usual advice for programmers who want to make more money[0]. It boils down to "find a part of the company that is making money, go there, and show them how your contribution helped make more money."

[0] http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...


The one thing I would add is you don't need to be in a profit center of the company, though it helps. Even administrative roles have a lot of ways to contribute to the bottom line (the $3MM example I gave was in a reporting department!)


You don't need to be in the profit center of the company, but, and this is a big but, when you are not in the profit center of the company you, your colleagues and your department are seen by the CFO and accounting side as an expense and not a cost.

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.


Precisely. It's a business, treat it as such. If you want to focus on The Holy Craft Of Programming, get a PhD and good luck with the academic track. Otherwise, go into business as a businessman who happens to be an excellent programmer. (Assuming you don't want to be underpaid and unappreciated your entire career.)


I'm not even sure they know how to value salespeople's contributions. Compensation in sales is often in the form of a lower salary combined with percentages of sales and/or bonuses for meeting targets.

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?


Good points. At the very least, there are some processes in place such that if you directly bring in more revenue to the company, you generally share in it as a salesperson. Usually not so as anyone else in a company, unless you've got profit sharing of some sort.

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).


That's just saying that companies cannot value the contributions of salespeople vs "non-sales". Which is isomorphic to "companies cannot correctly value non-sales employees" anyway. You're not arguing with the case, just restating a corrolary.

Between salespeople, you can certainly tell who is making more money than their peers.


That's a good point - if you can't calculate the value of anyone but salespeople, then you can't calculate the value of salespeople either.

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.


Re: basic skills. I think we have a big problem with schools. Why don't they teach how to test? Why don't they teach how to debug? Really, what are they teaching that is more important than these basic skills?


They do teach those things, but a classroom context can not replicate the reality of large-scale long-lived multi-developer projects. There's just not enough time in a college degree to give any realistic approximation of that, plus what does the academic world know about that? They're not qualified to put together that curriculum, and what's the point anyway since you can learn it in the trenches at any company out in the private sector.

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.


Computer Science vs. Software Engineering

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.


There is no substitute for hard-won experiences, but debugging is a skill that can be taught. The academic world (well, some part of it) knows about debugging and is surely qualified to put together a curriculum. Really, go read "Why Programs Fail".

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.


In a CS class I took, we built a project over the course of a month. The TA's then introduced 5 bugs into the project, locked us in a room for 3 hours and we were required (individually) to find and identify the 5 bugs in that time. If you failed, they do it again a week later for a lower grade.

Cool assignment.


I'll assume you simply ran your comprehensive test suite, inspected the five failing tests, and left in five minutes :-)


pretty much. Though some were nasty:

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.


In my CS program they taught debugging, but the majority of what I learned about debugging happened in the lab. Working on the problem sets was a microcosm of debugging that transferred quite well to the professional world, but I suspect not all CS curriculums have as rigorous a programming practice as mine (University of Minnesota, based on the MIT curriculum: scheme, c, java, c++, perl).


It depends on your degree.

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.


I'm knowing people who are getting "web developer" certificates and degrees, and who also never hear the words "testing" or "source control". In 2012. Sad.


I would have killed to make 60k at my first dev job. I made 35k.


I made a bit less than that, but that was during the time my peers were still in college. By the time they were graduating, I had experience under my belt and was able to get a job that paid far more than a 'just out of college' salary.


$25k here, but that was a while back ;)


There are two sides behind this story. In small, not very competitive markets, like the one in Austria, companies are not expecting the programmers they hire to be great; not being very bad would be enough. All they will be asked to do is to support the legacy accounting system -- what's the point of hiring a ninja for that? This, combined with the typical CFO mentality ("That's all the budget I can allocate and I don't care about the position not being filled because it's the IT director who will be affected by that, not me. Frankly, I don't even think that accounting system needs rewriting. When's the lunch?") drives the offer side down.

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.


The OP didn't mention 'entry level' with respect to that post. The post was looking for someone with 5 years of experience in tech X. That's probably not 'entry level' anymore, no matter how you slice it.


From the original post:

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.


Sorry - missed that. I saw his reference to 5+ years.


Wake up, people: Are you serious? You want highly specialized people with actual skills, and expect them to be OK with that comparable low payment? If the same person sits down and starts creating his own software, he will probably earn much more one year later by himself already.

Probably not. Most programmers don't have any idea what software sells and how to sell it.


I seriously doubt that. It's not like most programmers live in a bubble and never have contact with other people.

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.


Running a successful business isn't about knowledge. It's about skill. The first time I started a business, I thought, "Hell, I understand all the technical stuff, and the rest looks simple. How hard could it be?"

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.


The OP is writing about an "entry level programmer with high level university training".

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.


Most programmers are retarded about everything but programming. Everybody knows this, hence Big Bang Theory, nerd culture, etc.

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.


Actually since I am freelancing, I have doubled my revenue. There are interesting job offers, for projects I would love to be part of, as a lone freelancer cannot easily tackle big projects, but the pay is really to low compared to what I can earn independently.


Consulting in general is a money machine. Freelance consulting even more so, but I suppose it requires you to have the right network.


I used to think that I would spend half of my time networking. That's what happened the first few months but then I realised that if I continued to network that much, I would have far too much work.

If you manage to kickstart good relationships with clients, that brings other contracts without efforts.


What do you get paid? I'm curious about this "consulting money machine." Most contracts I see are $50-$75/hr with no bennies. Not exactly stacking mad chips.


I'm also in this ballpark (300-600€ / day) which in the end amounts to twice the monthly salary I used to have.


You just ask people what they need and make it for them and they pay you. It's called freelancing. Almost no selling and absolutely no market research involved.


Even freelancing isn't straightforward.

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.


How do you go about it, may I ask? I am close to exhausting my network and not seeing a breakthrough stream.


That's interesting. Ever since we started our company, we had to go looking for potential clients exactly zero times. We are always working on something or other. All from our existing network. My guess is that there was some repressed demand. Currently, the paycheck is lower than what we could get working with a reasonable company, but it's under our control and (potentially) unbounded.

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.


Isn't it "market research" to find those people and ask what they need? Isn't it "selling" to convince them that building this thing will be worth paying your freelancer's rate?


Usually someone refers those people to me and they just tell me what they want and I tell them the price and they agree or go elsewhere or give their price which I accept or not. As I said, no market research and almost no selling involved.

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.


Sometimes small and medium businesses simply don't have the money to pay the big bucks that we think we are worth.

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.]


can can only sensibly offer a salary of 75% of the market rate

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.


Oh how I wish this would be considered more! I'd be willing to take quite a beating on the rate for even a 4 day work week (4 8 hour days, not dressed up 40 hour weeks).

>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'd like to add to that but for me you hit the nail on the head.


Everyone is probably better off if the contracted out to freelancers in those cases. Hrmm... probably any way. It's harder to find people who can get up to speed on the business specifics quickly, but... it's also easier to augment on an as-needed basis. It requires companies to be better/faster at documenting their processes/operations, or at least being able to communicate them to a new person faster, and this part people aren't very good at. Therefore it takes a long time to get contractors up to speed, and therefore it's viewed as excessive, vs. just hiring someone. Problem is, that hired someone goes through the same process. It's just that they don't do that as often, so the problem isn't as apparent (or seems 'normal' for employees to have to endure). I'm simplifying, but, I think more companies would do better outsourcing more of their stuff to freelancers. But, to outweigh the negatives, it requires more discipline on a company's part, and most don't have it (or even recognize they need it).


This is spot on. Most businesses, the Fortune 5000 if you will, are not operating with hefty profit margins and most as you say, have people who are not taking lots of money off the table.


you need something you can't 'sensibly' afford, what you think are your options ? You have to settle for something less which is in your price range or if you are lucky you can get 25% discount and get real thing either/or it is mutual agreement so if it works for both of you ...


Smart individuals don't relish the thought of being saddled by hustlers who intend to ride them to the top of the mountain. Granted, you can't make everyone a co-founder, but there is quite a bit of leeway between that and token equity.

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.


Granted, you can't make everyone a co-founder

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.


On occasion I have long complicated discussions with companies about how hard it to find developers. Assuming they're actually asking for a sane skill-set the problem is usually down to two factors:

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 :-)


I think companies can get away with both those things if they have a good engineering culture. That is to say, if they respect the engineers enough to let them have a higher problem solving role than simply implementing what some non-technical manager passes down.


Surely "let them have a higher problem solving role" == doing interesting work? :-)


Yes I would agree with that, though it's non-obvious. I mean the best solution could be a CRUD app that would be the very epitome of boring to many seasoned programmers, and yet I think there will always be some smart programmers who will find it interesting if for no other reason then that they personally haven't done that type of thing before.


4) Doing interesting work but not being able express that to prospective developers.


That's not one I've ever come across - interesting. Wonder how common it is.


German dev here. Here, you hear companies complain about qualified laborer scarcity("Fachkräftemangel") and the politicians eat it up. It's not true though; it's just that the companies have totally wrong ideas of what they can demand/offer. There are a lot of unpaid internships, entry-level pay with senior-level experience jobs and a lot of the companies file much more job offers than they actually need, just so they can get more applications.

According to simple market rules, less supply with more demand should increase the price/salary, but it doesn't.


Quite; allowing for inflation, developer salaries have been flat since 2001. There is not a shortage of developers, and that is provable.


Provable how? Not raising developer salaries might be indicative of there being no shortage of developers, but it's not proof by any stretch of the imagination.

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.


Maybe they picked up on that technique from the US - our politicians eat it up as well :(


They're just telling your politicians that so that they put more money in training qualified workers and increase the supply. Then, qualified workers will be worth nothing.

Genius, hm?


"If the same person sits down and starts creating his own software, he will probably earn much more one year later by himself already."

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.


And the sad part is that recruiters are going to keep talking crap about "motivation" and how gamification makes working "fun".

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...


> because years ago people who were grade-A material for programming decided to go into finance instead, because those guys actually get paid

That's not just "years ago", that's very current.


OK I meant when it started


I think companies forget the concept of compensation and its relation to attracting talent. You don't pay a person necessarily what they deserve because you'll often fall short. You pay what is necessary to secure the talent you require.

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!


This reflects my experience (UK) - I get recruiters asking me on a regular basis why they can't find any PHP developers, when I look at the job ad it's because the offers are things like 'experienced mid-level developer, 20-24k'.


I've seen crap programmers get paid insane amounts of money and incredibly good ones get paid peanuts...

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.


Programmer salaries are decided most of the times by people, who don't know a jack about programming.

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.


Not just programmers.


Remember the USA has had 50 years of Silicon Valley. The rest of the world is playing catchup. While developers may understand the what creates a successful software product/company, the businesses adopting software development have no idea what they are doing.

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.


To be honest, the US companies probably have also more money to throw at the problem than those of any other country.

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.


Why do you cringe? Do you know what the average price of a house is in MV/Palo Alto/Sunnyvale? Cheapest housing I could find that was decent (not fancy but descent by my personal definition) was just over 2K/month in rent. 6 figures in Silicon Valley isn't the same as it is in most parts of the world.

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.


A naive search shows you get a 1000 sq feet house for 2K$ in MV/Sunnyvale. If it's really true, that doesn't exactly sound a huge amount. Look at the rents in Paris or Stockholm, and imagine you're paid 50k$.


In the US, you are responsible for your own retirement (in most of the private sector). If you lose your job for a prolonged period of time, you also need to have funds saved up (generally, the safety net is thin). You're comparing apples and oranges.

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.


You are right. A 1000sqft place in London will cost you at least $3500 a month ($42k a year). In certain locations outside of SV programmers have lower salaries and higher cost of living.

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...


Honestly I more cringe when I realize my coworkers in Texas only make 10k less than me and the cost of living is 2 times less.


I am a Vienna-based programmer and am looking at job adverts regularly. I fully agree with what you have written, sometimes I feel they mus be joking. There is no appreciation for hackers and what they are worth. Take this advert for example: http://derstandard.at/anzeiger/derjob/d/155533/c-senior-soft... 5 years experience in C++ and only 2,500 EUR gross? Seriously?


I'm in Vienna and work for a local startup in the mobile application development scene .. and yeah. Pay-rates are definitely not what they should be, here in Austria. I think it has a lot to do with the "Kollektiv-vertrag" prices being set too low by the government itself ..


one way to think of it: with your average salary you are propping up all the people not as good as you who still get the same salary. if you cannot feel good about this you then move away from your socialist country. I did.


Well, I've been thinking about moving from Vienna to somewhere more competetive for some time (though its not about the money, I'm paid really well here - just about competition, which I happen to enjoy a lot), but the reasons for not doing it are some of the features you get when living in a more "socialist" (though I wouldn't call Austria socialist) country.

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.


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/List_of_countries_by_intentiona...

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.


Almost all of them are gang related--YAY drug war! As an upper middle class software engineer it's not really a good argument.

Though the poverty and hopelessness can be a little sad if you walk through the bad areas.


I'm not saying life is bad in San Francisco, those statistics are just one part of the equasion. (the other parts: leaving behind family, friends, the good life I already have etc)

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.


The crime rate is probably different. But that is not really meaningful to your every day life since your life doesn't happen in the whole city. ie the crime rate is an aggregate.

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.


Its definitely a point. Unfortunately I moved to this country, and have gotten too involved in it to be able to move easily (house, wife, kids..) or else I'd definitely move to a country where programmers are paid more what they're worth, not what the socialists want.


+1, which comes back to the low appreciation for hackers :-)


/agree The "Kollektiv" is nice, but not for everybody.


I am from Vienna as well and I have been working for about 5 years in this city. From my experience, almost all numbers in job adverts are merely symbolic. You are supposed to negotiate. If you have some expertise and make a good impression, you can easily double the number in the advert.

As an austrian colleague once put it: Maul auf oder Geldbörsl auf!


You are right. But about that advert: Most people don't see that that's the minimum payment as demanded by the state. They actually pay more (and funnily, in that case, I know that company and they pay quite well and know to honor the skills of their developers). Kind of sad that recruiters in Austria haven't yet noticed that everybody thinks the minimum payment is not what people are interested in reading on there and confuse it with the actual payment.


I agree. The minimum salary notation is just stupid, but in engineering it is used often times. In Sales/PM/BizDev I mostly read "We pay 60,000 EUR or above" for jobs demanding 5 years of experience, which makes much more sense than the "2,500 EUR per month" in this advert.


Really I didnt know that. I always thought they are crazy. But then I am a free lancer so I don't go interview.


Interesting. I was actually considering going to work in Vienna (not far from my current location, Brno). It's a really nice city.


I see people getting low salaries who do not assert themselves. I know of friends and employees who are capable of sticking up for themselves getting over twice the amount the ones get who do not. Employees who don't ask for a raise don't get one as apparently they don't want one.

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.


I wouldn't compare European salaries with US so quickly. I have a cautionary tale to tell: when in 1990 the USSR collapsed, many Russian physicists decided to move abroad, some to western Europe, some to the USA. At first the European ones were complaining about their lower salaries, but once they started having kids and needing more medical care, they realized that they were actually much better off than their American counterparts. The lesson here is: you might even make much less, but in Europe there are much much better public schools which are free, hospitals are (mostly) free and in general Universities are either free or at least one order of magnitude less expensive than in the US. Should I go on? Most contracts in the US do not have unlimited sick leave, whereas in Europe we get that and 20 days of holiday; the US are one of the four countries in the world with no national law on maternity leave (who are the other three is left as an exercise to the reader…). But I agree with the general point that salaries of developers should not be so low compared to managerial positions.


I see this argument (Europe is superior) made again and again. Let me try to clear the misconceptions. Please note i am a immigrant in US and somewhat qualified to compare it with the other countries.

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.


You're not clearing any misconceptions, you're making them. 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.

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.


1, 10k deductible?, thats unheard of unless if they worked for a startup with funding issues :)

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 :)


I don't know why people are downvoting parent, most of the points are true.

"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.


1. [Public education]. If one supposes a good public school in the US is comparable to schools in France or Scandinavia, which I doubt, the issue of secondary education being at least 10 times more expensive remains.

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.


Public education: I was talking about schools in good school districts. They are comparable to most European schools.

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 :)


I grew up in the US and now live in Europe so I'm at least as qualified as you.

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.


Public education: but what happens when you need to go to college?

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.


Yes it costs a lot more to go to college in US compared to Europe. But if you take into account the higher salary and low tax you will be still better off in the end. This is assuming you have 2 kids not 4 :)


1. Why do you doubt it? There are very good public schools in US. But the variance is very high, so the bad schools are very bad, which brings the average down.


The US has a national law on maternity leave, the family and medical leave act.

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.


A national law that imposes at least 0 weeks of maternity leave. http://en.wikipedia.org/wiki/Parental_leave#Americas


No paid leave.


Do less fortunate women with a new born child receive some kind of support from the state in the US, in case the father or family doesn't support them?


There are various programs to help with different things. Examples are Medicaid [1] for health care, Nutritional Assistance for food [2], and pre-Kindergarten education [3]. How effective these are I'm not sure, I don't have any first-hand experience with them.

[1] http://en.wikipedia.org/wiki/Medicaid [2] http://www.fns.usda.gov/wic/ [3] http://en.wikipedia.org/wiki/Head_Start_Program


I think this is a consequence of the corporate mentality that prevails in Europe. We're still (or at least many of the big players) at the stage at which developers are seen as easily replaceable, as "mere code writers". People do not value our contribution as they should, it's like we're doing something that in a couple of years will be done by robots. While it's still true that it's easier to find a job in IT than somewhere else, the pay is quite limited in some countries, and unless you are willing to sell your soul to the devil, your career aspirations too.


This is like saying, "Want diamonds? Pay for them!" which, I agree, is an entirely valid statement. But the reason the diamonds/good programmer are so expensive has little to do with their inherent value. It has more to do with lack of supply. A B level player will not suddenly graduate to A level if you start paying him higher.


Who is DeBeers in this analogy?


I don't have a very good answer to that but in India, our education system is certainly a big shareholder. And the job security afforded even at low skill levels due to outsourcing, another.


Same thing in Germany and Portugal, too markets I know very well.

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.


From my own experience of comparing my salary to those of friends in this industry, a lot of the discrepancy I see is largely based on very poor negotiation skills. In my case, my dad taught me how to negotiate salary on my first real job the way some guys dad's teach them how to box. I'm horrible in a fight but have proven to be a fairly good negotiator.

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.


Excellent points. Your typical doctor or lawyer is in a revenue generating function (doctors, in fact, are THE revenue generators of hospitals), and are therefore hired by other revenue generators and paid accordingly. But your typical programmer is writing some access database for the HR department to throw away in a year.


"we're having trouble finding people" is a familiar refrain from people looking to hire developers.

if you're having trouble finding people you are, by definition, not paying enough.


Or there is a shortage of developers in your area.

My previous company was offering competitive salaries, good environment, challenging work, and we had trouble filling position with decent developers...


Raise salaries and attract developers from outside your area.

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.


Raise salaries and attract developers from outside your area.

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.


When someone says "there is a shortage of oil" it is indeed true that oil costs skyrocket. It is also true that there is a shortage of oil. Shortages cause prices to increase, so much so that many people might not be able to afford a resource at all. It's a bit silly to say "there are no shortages! Only cheap consumers!"


But the point is that if you drive to a gas station, there is gas to buy. Imagine you drive a delivery truck, the price of gas goes up, and you go out of business. It means you didn't have a profitable enough business to handle the reality of the market you operate in.

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.


The point here is that if you can't find programmers at a given salary, that salary is not in fact "competitive".

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.


That is certainly true and I am not taking issue with that.


>When someone says "there is a shortage of oil"

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".


If there were too few developers then you should have raised the salaries and gotten developers to move to your place.

Supply and demand is not magic, and it does work.


There cannot really be a 'shortage' per se, as developers can (and often do) change jobs.


Its pretty similar in germany. I know quite alot of people that do some more or less simple work for some of the big german industrial companies (cars, food stuff etc) and work 9-5, have alot of holidays and earn more than the average software developer that works his butt off. If you throw in a couple of late/night shifts at those jobs you will get a very good extra pay as well... as a developer ? you wish...

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.


As a 28 year old, developing part-time since 15, full-time since 22, and always self-learning in my own time i've seen lots of people in other industries with just 4 years full-time experience, not self-learning, doing nothing in their own free time getting offered a lot more for job positions. The strange thing is, often these people have trouble finding work as most industries aren't as easy as ours. I guess supply and demand is just skewed in the jobmarket. I also guess it-work is under appreciated but it's all our own fault. B.t.w. I started as a freelancer so I have only myself to blame for my income.


There's another way of looking at this. Do you want to work with smart colleagues and good management? Work for a company that pays you & the other developers well. It'll be much more enjoyable to go to work each day.


There may be a correlation, but it takes a lot more than good pay to foster an enjoyable company.


It's more of an indicator of negatives rather than positives; A company that pays comparatively shit (€2200/month comes out to about $35000, seriously!?) will probably not be a place that respects developers and attracts talent.


It's actually $40,000+ because they get paid 14 salaries. Given the other benefits of living in Europe, this is competitive with the US in general (not Silicon Valley) for entry level programmers.


$40k entry level is competitive? That's a whole factor of three away from the $120k people volley around here for entry level jobs in the valley. It's really that much of a difference?


Yes.

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.


This might be something I've conjured up in the back of my head, but I'm certain I've seen people talking about $100k+ as a salary for an MIT grad. It's always seemed crazy exuberant to me so I'm glad to hear different.

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.


I don't know about the US in general, but $40k for entry level sounds about like what I've heard for the upper Midwest.


That's what the blog post already conveys :)


True, just wanted to hammer home the point.


2200EUR a month is around £21.5k a year, which while in London is not enough to live on where i live (Edinburgh) is on the lower end of a normal wage range (£20k-£25k) for a PHP Developer here.

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.


I'd be very happy to make 2200€. I'm in France, and I'm paid barely above minimum wage. Granted, I don't have a very high level of college education, but even so, I made more when I had a job in a factory a few years ago. And the job market here doesn't seem to be that competitive, unfortunately.


If you're willing to move, come to Sweden. Stockholm is screaming for IT talent, we're open to immigration and the pay for someone with a few years of developer experience is quite a bit beyond that.


Any tips for an American wanting to emigrate?


For non-EU peeps, it's a bit harder.

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 :)


....IF you don't mind buying (speculate on) an apartment, paying twice as much as everyone else, or live outside of the city with transportation issues.


Yeah the housing market is a bit of a pain, though I live (just) outside the city and the subway always runs on time. Got a 20 minute commute to work. Worse when you get to the commuter trains (especially in winter) I guess. But even with living in the burbs, Stockholm's so small that it's no real pain, compared to say London or NYC.


I see plenty of French nationals move to Montreal for this same reason. They get a slightly higher salary but it goes a heck of a lot farther here.


It's gross, not net salary, in the end, it equals to a minimum wage salary =)


In France the situation is the same. Starting salaries go from 35k€ to 50k€ gross a year. No wonder a lot of students from college start as investment bankers or quant.


You might want to rephrase this as "In Paris".


Yep, I'm around €35k/year w/ 6y experience in the "province" (that's what we call the "non-Paris area" in France.)


A French e50K salary probably costs the employer the same as a $100K US employer, or at least very similar.


That's ok for a starting salary.


It is unfortunately not competitive with trading desks which ask for the same kind of skills. It is a vicious circle : software companies pay less, good programmers go to banks, software companies get bad programmers and so feel they don't have to pay well. It is a shame.


In my experience, from what I see in Brazil, entry-level programmers with no professional experience are paid much more than the equivalent in other professions. And, even after years of "training" in college, they will need a year of two of actual on-the-job training before they start adding enough value to justify their cost. In short, a company that hires fresh-out-of-college programmers is making an investment in them.


Im interested on moving on to Brazil, how much its the average salary ? and there's some craiglist like site for IT jobs ??


It's a bit hard to compare, with different costs of living and the overvaluation of the Brazilian Real exchange rate. But salaries are mostly way below American levels. A decent programmer can make US$ 20k/year. More gratuated developers, analysts and architects will make US$ 30k - 50k. Over US$ 60k would be considered a very good pay. As for websites, I suppose one of the biggest is http://www.catho.com.br/. As a foreigner you would probably want to go to São Paulo because it's the main economical center and it's pretty safe for Brazilian standards.


This is probably either a symptom or a contributor to Brazil's rising prominence on the world tech stage.


I think a big part of the problem is that employers are competing only for the pool of existing programmers. This makes sense - the bigger problem (expanding the size of the pool) is beyond the influence of almost all employers (maybe the giants facebook and google can influence this somewhat).

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.


It works both ways though. A programmer position that makes business sense at 40K might not make any sense at 90K. It's not like all companies need programmers regardless of price. If the price is too high, they can just go another way.


I agree - my criticism is directed only at those companies that claim that they desperately need programmers and can't find them at "any" price.

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.


Including bonus and stock I make that working as a developer in test with only an associates degree in management.

It's pretty underwhelming pay for a doctorate.


Programmers do get paid...sometimes. Look at programmers in the finance industry. It is somewhat unfair, but it seems that your pay depends more on the industry you work for, than your actual skills. It's a market. It's all about where you are.


Indeed. You want a higher salary, go where the money is.


Since I am a programmer, I vote up this post, hoping it helps that I get a raise!


We've built our team around the idea that, you pay people enough so that money isn't an issue and then move on. The main focus is on creating a positive work environment and doing our best to keep moving forward with new and interesting work. As a result we have a great team who are generally positive go-getters even in rough times.

We've had a couple people here who were soley motivated by money which stuck out like a sore thumb and ultimately didnt last.


Seems like everyone in discussion focuses on vacation, sick leave and salary in the US, and noone is talking why is the software engineer salary in Austria, and similarly in the rest of Europe less than in the US.

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.


Try to work as webdev in Hungary (mostly php, rails and other mainstream languages are not really used). I know a place where you could get about $1200. But that's the rare case. For a freshman $400 is the max, if you're not lucky enough to born in Budapest. I deeply consider moving somewhere abroad, because here I don't feel I can be as good as I want to be...


> There are currently 22% more open job positions in this area compared to last year

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.


Well over the longer period it will bring more people into the career. Economic issues work on the scale of years. But I assure you that if you start paying more now you'll see more people entering in 6 years (ie. you'll catch the attention of people in the middle of highschool and then when they pop out of uni they are yours for the hiring).


It fixes the shortage if you're the company having a hard time filling a position and you offer more money than anybody else. That's the basic premise of a market.


If you raise the salaries enough, people from other locations will move to take advantage of the opportunity.


Microsoft has learned a trick about recruiting straight from college developers.

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.


I think my benefactors approach to hiring fresh grads has more to do with lowered resistance to, in my personal opinion, horrible internal politics & internal systems.

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.


In South Italy professionist graduated, certificated, with ten yeas of experience as Java programmer, earn net 1500 euros. I’m graduated and work from 2 years and earn net 1200 euros. I prefer be waiter, i’m moving away from Italy to start as waiter, it’s better!


Consider remote working as a freelancer in other European countries, they pay 70€+ per hour if they need you (and you are good ;)). All you need is a fast internet connection and a coffee machine at home :)


As a programmer, I love the fact that the demand is outpacing supply. But, I also have this weird feeling that we are back in 1999. Back then, even crappy programmers commanded 6 figure salaries. Hopefully, I'm wrong.


"there ain't no money in poetry, and that's what sets the poet free"....


I agree with you. They always say there are so much job offers and the industry search developers but with around ~1600 without taxes you don't get enough.


Funny, my first post on hacker news was about programmer salary in Austria. I got offered a senior programmer job in Vienna for a fraction of what I'm making here in the US.

http://news.ycombinator.com/item?id=2473544

It's good to know that I wasn't crazy for thinking the salary was too low.


At my last company I had 20 days vacation and about to transition to 25 days. However, work was so busy that I had to plan and request my vacations 3-6 mos in advance. I now have less vacation but more freedom to take it when i want.

If one really wants to maximize free time contract work is where its at.


Something tells me this question exists in all industries and has existed for most of human history.


I can say exactly the same thing for designers. Want good designers? Pay them good.


"There's no shortage of smart, hardworking engineers. There's a shortage of smart, hardworking engineers willing to work for very little money." ~ David "Pardo" Keppel


Corollary: you'll never have a mass of good programmers in sectors that CAN'T PAY them competitive salaries. This is a bad thing.


Why is that a bad thing?


The brightest and the best selling ads while very little programming talent goes towards combating ignored problems like teen homelessness, and other under represented issues is bad in my book. But, I'm a bleeding heart idealist, and possible dinosaur.


The one thing I do need is the ability to pay rent and bills WITHOUT WORRYING about them.

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.


$$ gets you more programmers, not necessarily good ones.

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.


More money may not get you good programmers but below market rate will absolutely get you crappy ones.


Yep.

I get paid £18k with 5+ years experience in what we're doing.


Learn to negotiate.


Frankly, this is an issue in all industries. The company i work for is always complaining about the quality of people they have to hire. But then they offer salaries of $26,000 a year (not in software obviously).

But point is: to get quality, it costs money.


It's probably less of an issue in some industries, like law or surgery or constitutional lawyers. In these places employers pay much more, and they expect to pay more.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: