It was fun to play the hero and get 'That One Critical Feature' out of the door for an important demo. It is a rush. Investors like it. Engineers like it. Soon a company is always in crisis mode; pushing hard to get the next great thing out. It becomes the culture.
At one company I worked at the VP of Engineering was the hardest, longest working person I'd ever met and a driver of that culture. No matter how hard or long you worked, he could beat you at that metric without breaking a sweat. There was a lot of pressure to live up to that example. Mostly I didn't mind because solving problems on a deadline is fun. Mostly.
Eventually, inevitably, that lifestyle started catching up to us. Nerves were frayed. Small technical disagreements started to stretch on into weeks long religious cold wars. We started losing good people who had the good sense to see what was happening.
Those of us who believed in the company and product stayed on, even thrived at some level.
After a few years of this something drastic changed. Our VPoE mother died unexpectedly. It hit him hard. He realized that he had been ignoring absolutely everything but the business. Everything. And the culture shifted on a dime. Engineers were no longer /allowed/ to be called on weekends whereas before we had to respond in 20 min. He would make it a point to go out with us after the workday, or even during the workday, to chat about life, the direction of the company, whatever. Most importantly, he ran interference when it came to the clients and laid down and enforced very sane timetables for completion of projects and features. And if there was a delay, it was ok...not the end of the world.
The product did not languish. Things still got done. Turns out clients, for the most part, could not care less how hard and fast we worked. Having good information for when something would be complete was sufficient. Sometimes better because we were not breaking ourselves trying to impress them with impossible deadlines that we would sometimes miss. Good information was better than fast information.
On top of that, the quality of the product improved. Crises mode was used too often as an excuse for shipping half baked product.
Creativity blossomed. Several revenue generating products were conceived and executed in the breathing space we all now had.
People started recommending talented friends to fill positions again...
Altogether, it was just a much better scene.
Now our criteria crisis is much more strict. It is basically "Will someone (client) die or lose their house if this is not done by some certain time?" If the answer is no, go home.
If you are managing people and part of your evaluation criteria, formally or informally, is "does that person work a lot of hours" or if your 'business stability' requires that kind of sacrifice on any kind of regular basis you are doing it wrong.
TL:DR Unless a client is going to die or go bankrupt if you or your employees don't work extra hours, go home.
This. After years of working at shops where putting out fires was the norm I took a position with a company that handles their client deliverables in the manner you describe. For the first six months I was constantly jumpy, waiting for crunch time to hit and slinking home at 5:00pm feeling vaguely guilty that I was done for the day.
I just couldn't famthom how we could be working on all of the large project initiatives in our pipeline with no screaming clients and no marathon code sprints.
After a year in a sane environment it'd take more than six figures to get me to go back to the soul-eating grind that is so typical in small dev shops.
However, this resulted in a bit of crisis addiction, followed by burnout. However, the CEO learned that crisis mode was a death march motivator. Suddenly it turned into crisis-this and crisis-that. Every small feature was a "drop everything we'll lose customers" crisis. It started wearing pretty quick. At some point he dropped the crisis act and just stated flatly that "your terms of employment state that you will work as needed, i need you now" the day before I had scheduled time off, and the "crisis" was getting a new feature complete for shipping in a year. Needless to say I got a new job.
Basically, I agree with clavalle - crisis mode if not used exceedingly sparingly can lead to a new set of expectations that will chew up a dev team.
It was sort of like this at one of my previous finance jobs where I was expected to work no more than 60 hours a week (due to their allotment towards me of salary + overtime). Sometimes on Friday I'd get to leave a bit after lunch, which was nice. Although that did mean earlier that week was kinda rough...
So, for example, I'm in crunch mode for the next week working X+3 or X+4 hours a day. And then I'm taking a 2.5 week trip to Nepal a month or so afterwards. Crunch time happens, and we can't afford to thumb our nose at it, but this system means that it can never become the norm.
Your system sounds good. Do you also have the flexibility of working weekends in lieu of weekdays or at home instead of the office?
I'm not sure how you get that out of what he said, you could conceivably care more about your job than anything BUT your family which is still a lot of caring, IMO
Why should it be any different for me than it is for you?
I can't ever get as passionate about working for someone because at the end of the day, I get 1/1000 of the profits and when push comes to shove, will not be able to make many of the decisions that matter.
My free time is worth everything in the world to me. I don't mind doing extra emergency work once-in-awhile. My problem is that at many companies, this is the norm (because they hire kids right out of college that don't know any better) and you are a salaried employee and will not get paid any extra for it.
This is exactly why I keep this a secret from every company I've ever worked for. From their perspective, I'm a great employee.
Serious stuff happens, it does not happen every other week.
Should we take him at his word or assume that he isn't precise when speaking? Both are bad signs.
Look I can't speak for the OP, maybe ze would quit the first week ze's expected to work 40hours and 1 minute. Saying "no more than 40 hours, unless a tornado hits the data center; or my close friend and co-worker's mother dies and he asks me to stay a little late to finish some of his paper work; or a bomb will go off killing a dozen orphans if we stop coding" might be more precise, but it's also less accurate because by listing off every one of a billion unlikely situations in which OP might be willing to work over time it creates the impression that 40 hours is a much more flexible limit than it is.
"under no circumstances will I work overtime" has a very clear meaning.
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.
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.
The OP said "under no circumstances will I work overtime". Someone says that he really meant "i will sometimes do overtime".
I said, "he could have said I will rarely do overtime, only for exceptional cases".
And you claim that this isn't more precise? Did you pass reading comprehension in grade school?
Think about what numerous people are arguing here. OP said, "under no circumstances do I work more than 40 hours a week" and a number of people insist that these words mean "sometimes I will work OT", and that it's perfectly clear. That's stupid.
Also, I absolutely would not tell a company that I want to work for that "under no circumstances" will I work any overtime. Nor will I hire someone that says such a thing.
Life is about living, not about working, after all.
"I screwed up, but it's 5:00 so I'm going home. Remember my childish contract? So long!"
If this was big companies being stupid, I'd get it. The HN crowd ... some of the smartest hackers around do little better sometimes. I was very interested in Stripe after hearing some of their folks speak (I don't mean to single them out ... they are a pretty amazing bunch from what I've seen) and saw the cute puzzles (https://stripe.com/jobs#engineer) as a listed way of impressing them. I immediately hit the back button and decided not to apply there. Perhaps it means we would not have been a good fit. Or perhaps, we need more respect in the recruiting process. I understand the need for fiz-buzz tests and all ... but things have gone a bit too far.
But, on the other hand, if you apply to a company, especially one that's more or less famous, puzzles are a very good way of separating the wheat from the chaff on a level playing field. Evaluating a strangers performance based on their solution to a common puzzle is very time efficient and allows the company to process large numbers of applicants fairly.
A common notion here is that great people can just pick up the phone, or will be actively courted by companies, so they don't need puzzles and recruiters. That is great for them (honestly, not a snark), but it's not scalable: Not everyone can know everyone, and there has to be a way for newcomers to enter into the network.
Case in point: Stripe - you want to work for them, but apparently you don't know anyone on the inside that can recommend you. And apparently you're not on their radar already. They do great stuff, they seem like an amazing bunch - so there are likely to be hundreds who want to work for them - and most of them, regrettably, are not qualified enough.
Do you really think it's fair to require Stripe to assign a member of their engineering team (that means you after they hire you) to review every strangers GitHub accounts, when you refuse to invest even a little time in signalling to them that you're the real deal (the puzzles aren't all multi-day endeavours)?
Yes.
Investing time in open source software is a better use of time from the point of view of a candidate, as they can show the same code to many different companies.
So it comes down to who is more in demand. Is your company so desirable that good programmers will invest a significant chunk of time just to have a chance with you? If the answer isn't an automatic 'Yes', maybe you should rethink your hiring strategy.
It also doesn't seem particularly hard to automatically filter out candidates with no GitHub account, or a GitHub account but few contributions.
The Github filter is a bad one, though - lots of good programmers don't do the whole open source thing, and we need to stop this pretense of a good Github account being necessary for hiring. What started as a suggestion in some hiring blog posts has become overblown into dogma now.
Artists maintain a portfolio of their work; why shouldn't programmers?
Sometimes it's best to evaluate the work rather than what goes into it. Granted, this isn't always the case and can't be attributed to multi team environments, but I've often been asked for code when I have a large number of (successful) projects solely developed by me.
Also, small code samples are fine but some employers are in the habit of asking for major work (demos) just to show off your coding chops. That's bad.
For a developer, the how matters as much, or even more so than the result. You could create a complete mess that still manages to just about work, and it wouldn't be obvious from a cursory execution of the binary just how bad it was.
Ideally, if I was going to hire someone, I'd want to know how they develop a reasonably-sized project. An interview or puzzle can give me some idea, but a GitHub account is far superior because it would show me how they work over a longer time frame, and perhaps with other people. I honestly can't think of anything that comes close to demonstrating skill.
So the fact that you can actually see more for a programmer is actually a bonus, but that doesn't mean it should be abused like plenty of companies try and do these days.
Risk aversion is fine, and obviously you want to hire the best candidate but like mentioned elsewhere on this thread:
1. Not everyone has public github projects and I hardly believe anyone should have to work on open source stuff just to show off their coding skills.. Thats really not the right reason to work on open source stuff.
2. For web projects while you might not have access to backend code you can always look at the front end and see if the guy is any good. This is especially true for me considering the fact that I have multiple projects developed from start to finish live and available on the Internet.
Again, small demos or code sample requests are always fine. However, an entire project to get a job somewhere ? Might have been okay when I had nothing to show for it, but after a bit of experience on your resume, it gets old..
There's no such thing as fairness in the job market. If Stripe can't find enough programmers to fill their needs, then yes, they need to allocate their own labor to recruiting. At some point, the business cycle will swing the other way, and it will become necessary for programmers to put our time into hunting for companies who want to hire even one programmer.
C'est la vie.
... then allocating the programmers they have to sifting through a completely open "jobs" mailbox is still probably not a good idea.
> At some point, the business cycle will swing the other way, and it will become necessary for programmers to put our time into hunting for companies who want to hire even one programmer.
For the level of programmer competence we're talking about here, that hasn't happened yet.
Define that level non-tautologically then, please.
Wouldn't that still be better than working on some contrived game that has no real-world relevance for free?
It still seems like a positive step. No quizzes at all seems like an even better way, but I did qualify the point with the assumption that the quiz would happen regardless.
Not to get too meta, but what if the company essentially buys your argument? "Yes, this is a non-real world problem for entertainment purposes only..."
But they want to find programmers who find such problems entertaining.
The problem with puzzles is just that. You ask questions and hire candidates based on issues that have nothing related to the job. The end result is you up hiring the wrong people and then say you can't find good programmers.
You can't find good programmers because you are not asking questions meant to hire good programmers. You wanted puzzle experts and that is what you got.
http://itasoftware.com/careers/work-at-ita/hiring-puzzles.ht...
These aren't classic Microsoft "puzzle questions". They are programming challenges that say a lot about your approach to programs and problems. In particular, all of them ask you to make tradeoffs between correctness and performance.
They are cool enough to attract engineers, hard enough to discourage the idly curious, and unique enough that no published solution exists. That's why I said that someone who does this kind of puzzle for the sheer enjoyment of it might be exactly what a high-level software shop is looking for.
Would I want a "puzzle expert" who could solve the problems on ITA's page? Hell yes.
Granted, it is not a thing you should give everyone. I can usually tell when I look at a resume that such a thing is likely to be pretty pointless (It points me to a github account I can look at instead? Why bother? The resume is clearly written by someone who knows what they're talking about and isn't stuffing everything they've ever done onto a page in a game of buzzword bingo? Probably safe.) so I don't give fizzbuzz tests to everyone but sometimes you have to be sure.
Hopefully I'll have some good github stuff to point potential employers to soon (i'm working on some things now). But at least I know that I should be able to pass some of the incompetency gauges fairly easily!
also, i've never heard of buzzword bingo before, but it sounds interesting! maybe i'll make a program for buzzword bingo. You can use it in your interviews! :P
But actually, fizzbuzz is just the bottom level. You also want to do basic coding exercises for whatever specific area you are hiring for, such as:
- Set up an extremely basic web app that lets the user enter a name and echoes it back to them.
- Make a sprite move across the screen.
- Display a 3d cube with different colors on each side and make it rotate.
- Make it play some music.
- Aggregate the data in this simple database.
- Here's some naive producer-consumer code. Make it thread-safe.
- Debug this code that has memory issues.
- Critique this (flawed) design.
- Update the CSS to make this page look nicer.
Basically, you never want to get into a situation where you've hired someone who has managed to talk his way through life. It's far less headache to just use a few sanity checks on every potential hire.
sub isIP {
return (shift =~ m/^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$/)? 1 : 0;
}The Stanford CS Ph.D. candidate whose solution included a Perl function for converting decimal numbers of up to three digits to binary was rejected.
- writing a subroutine
- understanding Perl parameter passing
- understanding Perl regexps, including =~, anchoring, alternatives, metacharacter escaping, character classes, and repeat counts;
- the ternary operator.
And then you could probe things like:
- Do they know how to fix the bug in your version where it incorrectly accepts an IP address with a newline appended to it?
- Do they know it would still work without the return and the ?1:0?
- Can they figure out that they could simplify and clarify the code substantially with qr?
- Do they understand why someone might prefer a non-regexp-based approach? :)
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.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.
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)
And it's not as if we have less welfare, healthcare, worse education, low productivity, or an instable economy. In fact, in pretty much all rankings Western European countries are doing fine.
Unfortunately, government policies that make such thinks possible are called 'socialist' on the other side of the pond.
They are called 'Socialist' here (EU) aswell.
* The 2nd largest political party in the European Parliament is.... "Progressive Alliance of Socialists and Democrats".
* The UK Labour Party (many times in government) has a footer to "Affiliated socialist societies" in it's homepage ( http://www.labour.org.uk/home ) (Though it's not really viewed as socialist party in UK as much now that it's "New Labour").
* The "Core Party Principles" of the Irish Labour Party (which is in government) starts with: "The four principles on which Socialism is based are …" ( http://www.labour.ie/principles/ )
The difference is that "socialist" isn't a dirty word in European countries.
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).
What's interesting is I work for a large multi-national (listed on NYSE and TSX) - local expectations override the rest of their US-centric culture.
Your point still stands, but student loans from med school are nothing to brush aside.
E.g., in Belgium, any year spent studying at college- or university-level costs €550 (±$720), plus the cost of the books. If your parents earn less than a middle class income, you pay significantly less.
The major difference that does hold true everywhere, is the fact that doctors start earning a salary much later.
Oh, I see, you're having an issue where you're executing 10,000 queries. Let me just open up this book and copy/paste the solution to you.
#2 Yes you are. It's called StackOverflow and a million other sites on the internet where you can google for an answer to your question.
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.
Also, don't assume that what I am demanding from recruiters is what I am currently receiving. Just because I ask for 30 vacation days doesn't mean I currently have 30 vacation days.
Maybe it's just me, but if you actually think this is relevant/interesting then I can't help doubting your credibility.
TBH, I don't see why living in the midwest should drop the salary a company owes you that much. If you are a good developer, you should command a salary comparable to the value you add plus a profit margin for the business.
The only two explanations I can see is that, collectively, software engineers in the midwest are simply not negotiating for the salaries they deserve because given the cost of living they don't feel like they have to negotiate for better or that they are on average of much lower quality in the midwest that there is no room in the salary range there for being an outlier commanding a salary outside that range (i.e. no room for a unicorn in a stable full of horses).
If I worked remotely from Timbuktu, I would laugh at any employer that offered me less based on the cost of living in Timbuktu. It should be no different working in the midwest. Our world is flat.
If I move back to Memphis, TN, I can make approximately half of what I make now in the DC area to live as comfortably as I do. Does that mean I'm worth half as much? No. Does it mean I should expect to make half as much? Pretty much, yeah.
Beyond meeting my basic needs (rent, food, whatever) then it's just a matter of how much expendable income does that salary leave me. I don't know if 'percentage of salary' is the best way to measure it, but it factors in.
Paying me 'market rate' in a place where a 3 bedroom 3 bath house can be had for $150k is a vastly different proposal when that same house is $450k in a different place. That is the 'cost-of-living' difference. Sure, I might add the same x amount of dollars of value to the company in both locations, but if I can't live comfortably in my market, then it doesn't matter.
Note, this argument ignores the competitiveness of the markets as well. There are naturally more potential developers in silicon valley than there are in Bumfuck, Nowhere. Supply and demand does factor here.
Lastly, except in situations of outsourcing, you're generally not paid based on where YOU are, but based on where the company (or the location you report to) is. If you're working remotely from Timbuktu while reporting to an office in Silicon Valley, you should expect SV (or near-to) rates. If you're telecommuting to the midwest, you should expect midwest pay.
The big difference there is in what it costs to replace you. If you're Linus Torvalds, that cost probably goes way up. If you're like most of us, that cost is probably a close approximation to 'whatever they can hire a local developer for', assuming there are local developers in the area with the skills you possess.
A radiologist makes $350k whether he's in Manhattan or Memphis. A hedge fund analyst makes comparable, whether he's in LA or Louisville. A BIGLAWyer makes comparable, whether he's in Chicago or Charlestown. They are paid for the value of services rendered, and the doctors, bankers, and lawyers I know seem perfectly content to maximize their income while minimizing their expenses. Only the programmers seem interested in making as little money as possible.
Put differently: a radiologist thinks about moving from Manhattan to Memphis and says "Boy, that $350k will let me live like a king down there!" Meanwhile, a programmer says "Boy, I only have to make $75k down there to live like I'm living up here for $150k!"
/facepalm
I just did some (admittedly) anecdotal job searches for radiology, and there's a $150k price difference between New York and Indiana.
I knew a few attorneys that have moved into the DC area to raise their rates (and one who commutes two hours in to DC because otherwise, his billable rate is halved.)
The positions people are paid also depend on the cost of living in the area. If the median income for an area is $28k vs. $50k, they're simply not able to afford legal services that cost twice the market. This might mean that lawyers in rural areas only work half as much at the same rate, but that means that without some clever accounting, their yearly income is still (approximately) halved.
I'm not saying that no such positions exist, but I know that doctors, lawyers and the like ARE subject to cost of living variance. I don't know of any position in any field that isn't at least somewhat affected by the median income of the municipality in which they operate.
Choice quote: "As in Medscape's 2011 survey, the highest-earning physicians practice in the North Central region, comprising Iowa, Missouri, Kansas, Nebraska, and South and North Dakota; the mean income of physicians there is $234,000. The next-highest earners were doctors in the Great Lakes region ($228,000). Physicians in the Northeast earned the least, at a mean of $204,000."
As for attorneys, I said BIGLAW. Not "get local joe bob out of jail." (But law does have a bifurcated career path, i.e. T14 or bust these days.)
I note your silence about hedge fund analysts.
Here are the people who are paid in accordance with COL: labor. Programmers seem to think of themselves as laborers, despite having the intellectual caliber to be professionals. Or maybe I am overestimating my tribe. Perhaps we just anemic right hemispheres in our brain, leading to savant-like abilities in the left, leading to the warm embrace of pathetic compensation.
Worse than that in fact. Never heard of any labor union that would be OK with workers putting in extra hours without overtime pay.
From the article you linked, that statement is reinforced:
"There's less competition among physicians in smaller communities and rural areas," says Bohannon. "There isn't that same downward pressure on reimbursement that you have in metropolitan areas. Generally, smaller communities have to pay more to attract physicians."
This is the market at work. It doesn't matter what the cost of living is in those areas, what matters is the demand for the position.
I also can't ignore that that study is done against 'regions' so large that the cost of living within any of those regions probably swings wide in both directions. This is to say that a doctor in the "Northeast region" could either be in NYC, or way up in the Aidirondacks. Both New York state, both factoring into the ranges on the study, but huge differences in CoL. If you have something more specific, I'm happy to be proven wrong, but in my experience, I don't have anything to refute it.
Regarding BIGLaw, I wasn't referring to ambulance chasers either, but I concede that I don't personally know of any biglaw attorneys that have jumped locality. I also don't know anybody in hedge fund analysts, nor do I know anything about the job market.
FedEx is headquartered in Memphis, as is International Paper, AutoZone, etc.
Of course, they aren't exactly software companies.
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.
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.)
FAIR wage is not meant to cover your living expenses, they supposed to compensate you for your time, effort and results. This isn't slavery, we are no longer working for merely surviving at somebody else's mercy.
If a firm is in Memphis instead of NYC and selling their services to essentially the same clients, then the owners of that business are already earning a greater profit on other cheaper operating costs like commercial real estate. By accepting a lower salary that simply covers a comfortable style of living you're simply putting even more money in the owner's pocket instead of yours.
It's a classic case of pareto optimality. The only explanation I can think of is that many developers don't see themselves as professionals commanding the salaries of professionals as skerrit_bwoy pointed out. There is no reason that good developer in any market shouldn't be living at the exact same standard of living as the good doctors, lawyers, finance people in that market. They should be living in the same homes and sending their kids to the same schools, etc.
These words should be stapled to every CS degree, and reinforced with classes if necessary. The lawyers/doctors have an ingrained culture in their professions of, well, being professions. We should totally steal that. (They can keep the guild systems, though.)
It's should be an obligation of every professional in our industry to negotiate higher and be seen as valuable as we actually are to society. The fact that most professional software engineers know their value and demand it severely hurts the salary bar for every other software engineer.
Silicon Valley and NYC are the only two places where I see developers actually beginning to demand what they are worth.
Many entrepreneurs in a lot of areas outside software were able to do what they did because they were highly paid professionals in a prior life that could afford to invest a chunk of their own money in their endeavor.
If we, as a profession don't ask to be paid according to value added, then in general there are going to be a lot less of us starting our own businesses and when we do, we'll have to cede control to non-technical types that did demand their worth like lawyers and finance guys.
My theory is that the first dotcom boom paved the road for the growth we are experiencing now because it took money from Wall Street and used it to line the pockets of technical folks with cash.
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.
It may be the single biggest driver against the growth of cities.
You can pay me too much money.
If you give me say, a million dollars a year, I will work for one year, and then you will never see me again. I will go home and live my life as I please, and only code what I want to code. The code may or may not make money. I may or may not try.
If I work at a startup that cashes out big, then I will travel the world, settle in the tropics, and you will not see me again. If someone acquired us as a way of acquiring talent, they will be sorely disappointed.
seems to me you chaff quite a bit about being a "wage slave"
There are certainly a lot of people who do in fact do nothing when they become independently wealthy. But many also continue working regardless because they actually enjoy what they do.
People should absolutely be paid fairly and treated with respect. But if you expect someone to worship you for some reason, wether employer or employee, you should probably adjust your attitude.
No doubt his phrasing is overboard, perhaps due to a poor working environment or mistreatment by management. Personally, even I "won the lottery" tomorrow, I would not just abandon the projects I'm working on and the people I'm working with. I enjoy the work and respect the people.
The current state of the software industry is funny that way. The worst case outcome of being a failed startup founder is a six figure job ;)
Typically in that scenario, there would be an "earn-out" period. Leave within n years, get nothing.
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 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.
It's a bit of a tall (impossible?) order for a programmer - regardless of skill or experience - to expect to interview without going through some serious technical conversations and writing some code to solve problems.
But please don't go on and on with Math problems endlessly over weeks and months. Asking arcane and rare facts about stuff and then deciding his worth over his perceived inability to solve problems in math which don't have any connection with programming in the real world.
TL;DR If you want to punch out when the clock strikes 5, get a job in Detroit.
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.
This smacked of a level of entitlement that I think would be cancerous to any group of people working together. Just my $.02.
And a studio is hovering around $2K a month around here, and rising.
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.
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.