"The reason people are quitting today is because the labor market is so competitive that the only way they can get a significant increase in income is by quitting and going to another job."
Well, no, the opposite is true. Employees have to quit because companies stubbornly refuse to be competitive on salary.
The reason for that is mismanagement - managers and HR would be personally criticized for "being soft" if they offered raises, regardless of the benefits to the company of doing so.
I've seen this so much now that I feel like I must be missing a piece of the puzzle.
You work for a company for X amount of time, and you gain domain knowledge of the company, and general industry experience. Some other company looks at your CV, and without knowing you, and probably without caring about your specific company domain knowledge, decides you are worth say 20% more than you are earning.
You then go to your current company, and say 'my general skills are worth 20% more on the market, you know how well I work, and you know I have extra domain knowledge specific to this role, I would like more money' - and the company refuses.
They then spend time and money finding someone with similar skills to what you have, but without your domain knowledge, and probably at a similar amount you asked for since that's the market rate.
How is it not in the companies best interests to just keep you on and give you a raise? How do they justify all that wasted time and money every time? Do they just not measure it?
Suppose salaries are going up, and the average person at FooCorp could get 10% more by changing jobs. You are more underpaid than most; you establish that you could get 20% more by moving, and say to your manager at FooCorp that you'd like a 20% pay rise.
Suppose they say yes. What happens next: other people hear about it and go to their managers saying "I think I'm underpaid; give me a 20% pay rise". If the answer is yes, then FooCorp is paying 20% more in salaries for the same work as before. If the answer is no, then those people have a concrete motivation to go and interview elsewhere, and probably a bunch of them will then leave even if they get counteroffers at FooCorp once they've demonstrated that they could earn more elsewhere.
Suppose they say no. What happens next: most likely you leave for that better-paid job; others at FooCorp hear about this and understand that they aren't going to get paid more at FooCorp even with a job offer in hand. Some of them will decide to move, but maybe fewer than in the first scenario (because they haven't had the specific motivating experience of asking for more money and getting turned down, and because they don't feel like they have the lower-risk option of interviewing elsewhere, getting a counteroffer, and thus being paid more without having to move jobs). And the ones who don't move can go on being paid less.
It's not obvious to me that the first of those scenarios is better for FooCorp than the second, if all they care about is maximizing their profits.
In the first case, if you think the person deserves the extra money and give it to them, you keep your best people. If other staff ask for the same, you can either give it to them if you think they deserve it, or risk losing them to elsewhere. The end result is you always keep your best staff, and potentially lose your worst staff.
The second scenario, you always keep your worst staff and you potentially lose your best staff.
You're granting them way too much introspection. In reality its goes more like:
"Company policy is that raises are no more than 2.5% per year with a perfect yearly review. You got your 2.5%. You can't have a raise." Umm I'm about to leave and get 30% more from your competitor! I know you don't want that and I don't want it either. Surely... "Company policy is that raises are no more than 2.5% per year..."
Of course! But the question is why there would be a policy of no raises above 2.5%, and I think the reason is the sort of thing I describe.
In response to others who said "this is a good recipe for losing your best people": yeah, it might be. But if you don't believe your best people are dramatically better than the rest, or if you think that actually your best people aren't the same as the people who will go shopping around for higher pay elsewhere, maybe the calculation works out differently.
Also, for the avoidance of doubt, I'm not saying that this is good on balance. Only that it's not so hard to understand how a company might arrive at that sort of policy while trying to maximize its performance.
the answer is that company policies like only small raises are dumb ass, and are clearly bad for the company. We all know if someone knowledgeable leaves, it will take time for the new hire to ramp up, and replace an existing good person. For that reason we should try harder to keep them. But higher up the ladder, people look at stats like average pay - it's much harder to measure productivity than average pay, that's why pay is used in stupid ways, in negative incentive ways.
Managers need to evaluate the strength of the claim of the experienced person - are they really underpaid? Has the person done their homework?
I've had those conversations and they've worked out positively for me, but I've spent time building rappour with management, along with very carefully gathering data sources, cost of living shifts, and current income.
If I just rolled up and asked for money, I expect I'd be shot down, and laughed at after I left the room...
As a software manager who has both approved and turned down raises, pnathan pretty much nails it -- you need to bring data to the table. Are you underpaid? What's your target? Why now (what work have you completed that helps me sell this upwards?)
Expect it to be a conversation, but it's a healthy conversation to have with a good manager -- we can't help meet your expectations if you do not communicate them to us!
Companies rarely hesitate to pile on more work or responsibility often with zero conversion. If I can provide data and examples of work I’ve recently finished to support my request for a raise, the flip side of that is the company is already getting that value, and is happy to continue receiving that value without paying for it. It’s absurd that companies try to justify not giving out raises because the employee is not making their case. If a company gives me more work and responsibility, they have already made my case for me.
Plain and simple. It’s the asymmetry of power in the relationship that is causing all this. The power dynamic is in the employers favor and the employer exploits that. Historically. Currently. Systematically.
> It’s absurd that companies try to justify not giving out raises because the employee is not making their case.
There's a subtle difference between this argument and what I said. I said, "If you want to make your case, then you need to bring data." not "If you want a raise, then you need to make your case."
I think the typically way they address this is by promoting people. This is why you have subroles in a job. e.g. soft. eng. I, soft eng II ... You can have yearly and even mid term promotions as well. The promotion aspect of it saves face for everyone. So you go to your boss or you talk about promotion opportunities, you may even talk about the market. This is especially relevant when your company is hiring. Then you see how it goes. Eventually if you don't get the raise or promotion you leave.
But a really good reason to switch jobs is to increase the size of your network.
That logic is a good formula for losing your most employable employees. Those that can hop will. You’ll be left with the bottom of the barrel. Doesn’t seem reasonable to me.
and you know I have extra domain knowledge specific to this role
Funny story, at a previous employer people who had been there 10+ years, would always say, it takes 3 years to really hit your stride in this company. They meant the time taken to have made the contacts and established the reputation that you could really be effective, be trusted with important decisions, and so on. It was a vast company and operated on multi-year cycles was a large part of the reason.
But the average tenure of an engineer at this company was 2.5 years...
> How is it not in the companies best interests to just keep you on and give you a raise?
Better to be less profitable than bankrupt due to lack of cashflow. Mark Zuckerberg would have been a great hire for any company even at a salary of a billion dollars a year, but any startup that hired him for that salary would immediately go bankrupt.
This is assuming that they hire someone else to replace you, which is usually the case, so they're only saving a couple of months of salary, but now they have less staff developing the product, the staff they have are busy doing interviews, and they then have to pay a recruiter fee.
This is the real answer. Companies have been stubbornly refusing to grant raises in line with market rates.
It makes sense on the balance sheet. A large fraction of employees (33% if we take the article at face value) are unwilling to exercises their market options, and will stay at a company that underpays them.
The rest leave for greener pastures, and are replaced with new hires that are paid as much as a promoted position would be paid. But this way, companies can hold on to those 33% that never see a raise that exceeds inflation.
Large companies don't factor in things like loss of domain expertise, retraining, or loss of productivity due to hiring in their spreadsheets. So they will continue to do this and the only way to negotiate a true raise will be to leave; or threaten to leave.
Domain knowledge? Heck, at most of the places I've worked they don't even do a cost benefit analysis on whether or not the dev costs will produce a positive ROI.
For those confused by the use of the word "fraud" here, the US government today considers fraud to cover both financial misdeeds, as well as (their) rules violations where no money is involved.
If you follow the news, you'll see the word "fraud" increasingly thrown around as it gives the government a bigger hammer to use on its citizens.
Meanwhile, actual fraud like civil asset forfeiture rolls along with full government endorsement.
The biggest issue in my opinion are Detroit schools, they're just abysmal. Directly to the south of the houses I posted is a separate group of cities called the Grosse Pointes. They're in the same county as Detroit, but they're their own cities complete with different schools. The same houses I posted above would go for 1.5-2x their price if they were less than a mile south simply due to the school districts.
Yes, precisely, a 'normal' market would have a 5-6% vacancy rate. If your vacancy rate is only 2% and 5% of the inventory is empty but not for sale or rent, that is a huge distortion.
As far as being able to visualize what it's like to be a 10x developer, such a person can continuously type whatever is needed to get to the next step, whether it's code or sql or whatever, while maintaining adequate performance and quality.
They don't have to type fast, but they're also not relying on Stackoverflow for learning concepts.
Most web applications start as prototypes written by one guy in 90 days or less, then just re-labelled as "production."
MySQL with Innodb is easier to manage in large replication clusters, doesn't require connection pooling, and doesn't have write amplification problems.
MySQL out of the box is more secure and easier to configure than Postgresql because of pg's public and the legacy config files.
I read the article, but they missed an important point.
A lot of landlords are only choosing well-known brand chains because the value of their property increases - ie. the brand attaches to their portfolio, aside from the fact that chains may pay less because they have staff negotiators.
One landlord I read about said his property is worth 5% more if signs a Starbucks, for example.
Often they don't even want to talk to mom and pop stores anymore.
They're both correct in that both need to be true for lift to occur. If there is a force upwards on the wing then there needs to be an opposing force, and this necessarily must come from a difference in air pressure between the top and the bottom of the wing. Also, for the force upwards to exist, there must be an acceleration of the air around the wing downwards. It's also true that for a pressure difference between the top and bottom of the wing to exist, the air must accelerate downwards and vice-versa. Similarly, the low-pressure air on the top of the wing must be going faster, and faster air must be lower pressure (it is, however, not true that the air travelling over the top of the wing must take the same time to pass the wing and the air travelling over the bottom. This is in fact usually false).
These are all fairly straightforward consequences of the basic rules which air must follow when flowing. The wing produces lift because the shape of it means that all the consequences of the above are the only ones which follow all the rules, much like a sudoku or crossword. The details of actually solving the full puzzle (in way which tells you how much lift and drag you get) turn out to be fiendishly complex, but the basic reasoning is not too hard to understand, apart from the fact that people get confused by the fact that you can explain it 'simply' in multiple different ways by focusing on only one part of the whole crossword.
Please clarify what you mean by ‘accurately’ ... without reducing this discussion to a coarse dichotomy between ‘accurate’ or ‘not accurate’ —- which would miss a main point of what models do and why they are useful.
My very rough understanding is that computer simulations of air flow are sufficently accurate for a high percentage of predictions for many kinds of objects. Fair? If not, under what cases does their accuracy suffer? Do we know why?
I am interested in why wind tunnels are sometimes used. Possible reasons I see are:
1. building computer models of an object being tested is sufficently difficult that it is more efficient to test in a wind tunnel
2. computer simulations lose significant accuracy when it comes to certain conditions ... but I don’t know what these conditions are
3. human or policy issues, e.g. some people trust a wind tunnel result more than a computer simulation.
Short version: Scale models (like wind tunnels) are useful because the most accurate simulations are extremely computationally expensive or computationally intractable, and the faster less accurate simulations are often so inaccurate that they are untrustworthy. Scale models are not 100% trustworthy themselves, and to construct and use them you need to understand similarity theory.
Long version:
The general field is called computational fluid dynamics (CFD for short). There are broadly two types of turbulent computer simulations of flows: DNS and not-DNS.
DNS stands for direct numerical simulation. These simulations are very accurate, and sometimes are regarded as more trustworthy than experiments because in a particular experiment you may not be able to set a variable precisely, but you can always set variables precisely in a simulation.
Howver, in DNS you need to resolve all scales of the flow. Often this includes the "Kolmogorov scale" where turbulent dissipation occurs. It could also include even smaller scales like those involved in multiphase flows or combustion. This is so extremely computationally expensive that it's impractical (in terms of something you could run on a daily basis and iterate on) for anything but toy problems like "homogeneous isotropic turbulence". In terms of real world problems, DNS is limited to fairly simple geometries like pipe flows. Those simulations will take weeks on the most powerful supercomputers today. It's very rare for someone to attempt a DNS of a flow with a more complex geometry, and I'd argue that such works are mostly a waste of resources. Here's an interesting perspective on that: https://wjrider.wordpress.com/2015/12/25/the-unfortunate-myt...
"Not-DNS" includes a variety of "turbulence modeling" approaches which basically try to reduce the computational cost to something more manageable. This can reduce the cost to hours or days on a single computer or cluster. The two most popular turbulence modeling approaches are called RANS and LES.
Instead of solving the Navier-Stokes equations as is done in DNS, modified versions of the Navier-Stokes equations are solved. If you time average the equations instead, you'll get the Reynolds averaged Navier-Stokes (RANS) equations: https://en.wikipedia.org/wiki/Reynolds-averaged_Navier%E2%80...
These equations are "unclosed" in the sense that they contain more unknowns than equations. In principle, you could write a new equation for the unclosed term (which is called the Reynolds stress in the RANS equations), but you'll end up with even more unclosed terms. So, the unclosed terms are instead modeled.
RANS is older, computationally cheaper, and usually computes the quantity that you want (e.g., a time averaged quantity). LES is newer, and has better justification in theory (e.g., good LES models converge to DNS if you make the grid finer, but RANS will not), but it often doesn't compute precisely what you want and the specifics of the LES models are often specified in inconsistent ways. My experience is that people tend to ignore the problems with LES or be ignorant of them. (Though I do believe LES is more trustworthy.)
The problem is that modeling turbulence has proved to be rather difficult, and none of these models work particularly well. Some are better than others, but the more accurate ones typically are more computationally expensive. Personally, I don't trust any turbulence model outside of its calibration data.
Some people lately have proposed that machine learning could construct a particularly accurate turbulence model, but that seems unlikely to me. People said that same things about chaos theory and other buzzwords in the past, but we're still waiting. Many turbulence models are fitted to a lot of data, and they're still not particularly credible. Also, machine learning doesn't take into account the governing equations. Methods which are similar to machine learning but do take into account the governing equations are typically called "model order reduction". If you want to do machine learning for turbulence, you actually should do model order reduction for turbulence. Otherwise, you're missing a big source of data: the governing equations themselves. (I could write more on this topic, in particular about constraints you'd want the model to fit which machine learning doesn't necessarily satisfy.)
Anyhow, scale models are basically treating the world as a computer. Often testing at full scale is too expensive, particularly if you want to iterate. "Similarity theory" gives a theoretical basis to scale models, so that you know how to convert between the model and reality.
This theorem shows that two systems governed by the same physics are "similar" if they have the same dimensionless variables, even if the physical variables differ greatly.
If any of this is confusing, I'd be happy to answer further questions.
Wow, thanks for your well-written response. I didn't quite follow all the details; in any case, I have a slightly better idea of what is going on. Next, I look forward to learning a bit more about laminar versus turbulent flow.
I can relate to your comment: "Some people lately have proposed that machine learning could construct a particularly accurate turbulence model, but that seems unlikely to me". A healthy skepticism is important. Different inductive biases in various machine learning algorithms will have a significant effect here, I'd expect.
Here's some additional comments you or some other reader might find useful:
Dimensional homogeneity is the most important constraint I think most machine learning folks would miss. It's not really an "inductive bias", rather something which everyone agrees models need to satisfy, so it should be baked in from the start. This is trivial to meet, actually; just make sure all of the variables are dimensionless and it's automatically satisfied. (Depending on the larger model, you might have to convert back to physical variables.)
In terms of "inductive biases", I'm not certain what that would entail in terms of turbulence, but I'll think about it. Might be something to figure out empirically.
Turbulence models which satisfy certain physical constraints are called "realizable". Some of these constraints are seemingly trivial, but not necessarily satisfied, like requiring that a standard deviation be greater than zero. (Yes, some turbulence models might get that wrong!) The "Lumley triangle" is a more advanced example of a physical constraint that a (RANS) model needs to satisfy that often is not satisfied.
I'd be interested in applying machine learning type methods (combined with the model order reduction approaches to include information from the Navier-Stokes equations), but I'm not knowledgeable about them. My impression is that most people applying machine learning to turbulence are novices at machine learning. And I imagine most machine learning people applying machine learning to turbulence are novices in turbulence and wouldn't know much anything about the realizability constraints I mentioned.
Another issue worth mentioning is experimental design. I think the volume of data needed to make a truly good turbulence model is probably several orders of magnitude higher than anything done today for turbulence. Experimental design could make this more efficient. I don't think most machine learning people worry much about this. They seem to focus on problems which can be run many times without much trouble. Acquiring data for turbulence is slow and hard, so it's outside their typical experience.
Well yes, because he owns more than 50% of the voting stock. That’s how ownership works. This isn’t “Facebook has a rule that says the ceo is replaced by his child”, it’s a matter of “Facebook ceo owns more than 50% of voting stock, and is leaving it to his family”. Feudal is: irrespective of ownership, control is hereditary. (Monarchies generally don’t own more than 50% of the assets in a country)
The alternative would be to prohibit leaving assets to your family in your will.
Well, no, the opposite is true. Employees have to quit because companies stubbornly refuse to be competitive on salary.
The reason for that is mismanagement - managers and HR would be personally criticized for "being soft" if they offered raises, regardless of the benefits to the company of doing so.