The most important thing you can do for your career is:
* Accept a job somewhere
* Get promoted (doesn't matter how)
* let yourself get hired away from your current company
Getting hired away from your current company is the only way to get a fair raise based on increased experience. Companies never give substantial raises to current employees.
This simply isn't true. I received a >$30,000 raise at one of my previous employers after they realized that I was being grossly underpaid for the work I was doing. Granted, I had to bring my managers' attention to this, but they were understanding & did right by me.
Your anecdote is the exception to the rule. I've been in the industry for 20 years and can affirm the rule: you don't get raises from your current employer. You get raises by changing employers.
I have overseen 25-30% increases for developers as part of a normal salary review process as recognition that their experience at the current company had grown them in to more senior developers.
No negotiation, no threats to leave, they weren't aware until we gave them the cash.
Ah, the outside offer is an absolute game changer, which IMO puts it in the same league as actually changing jobs. Often you have to show that you are willing and able to leave for a much better salary to actually get the much better salary.
If you are just internally lobbying for a salary increase at your existing employer, regardless of how successful you may be, how much revenue you are bringing in, etc. I would say at the vast majority of companies you will not see nearly the same raise as either presenting a compelling outside offer, or actually taking an outside offer.
Another way of thinking of it is that a company cannot pay their employees an arbitrary amount, it has to be justified up the chain, and usually that justification is based on "grades" or "scales" of some kind or another. Most of these scales will include a fixed range for annual raises. By bringing an outside offer, you are providing the necessary documentation that your manager, HR, all the way up the chain is required to actually sign off on the raise. The outside offer means no one is sticking their neck out to justify an out-of-spec raise, or claim someone was being previously underpaid, it's just a simple equation -- the employee has an offer, and the company can make a counter-offer or not.
Of course the trick is if they decline to counter, or counter low, you have to consider if you then leave, or stay? You also probably can't come back year after year with new outside offers, it's a trick you can only turn to so often.
My opinion only, but if I had to bring an outside offer to get an inside raise, I'd take the offer. "We'll pay everyone what we can get away with, except the few who we need for the moment that make a stink." But then, I make too big a deal about personal relationships, and I forget that it's just bidness.
That said, I did get a raise once with an outside offer. But I left just inside a year later.
I agree and it can be personally very distressing when you know you are delivering tremendous value and are not getting nearly the financial reward for the value you bring.... and yet can't seem to convince the bosses to put up!
That's why I look at it now as a system that just needs the outside data point in order to properly process the request. It's not a person holding back the raise, more often the process which the outside offer fixes.
If there was such a thing as an "employee appraisal" service maybe you could do it without actually going to interview, which would be pretty cool!
Pretty much my experience too. My dad worked at one job for nearly 25 years of his life and I learned a couple years ago that I already make over twice what he did by the time he retired.
My dad was a little like Al Bundy though, he never really sought to improve himself like I do constantly and I'm sure almost everyone here does too.
I think the industry still has a lot of managers who think in terms of running a shoe store with employees that are improving themselves at a rapid pace.
Depends who you are. I've always been ranked in the top tier of employees wherever I've worked, and worked my ass off to make myself indispensable. I've gotten multiple 15-20% raises, and even 30% bonuses without having to jump ship. Make sure you work on visible projects (front office, not back office), and that your managers are fearful of losing you because you're crucial.
Yep, if it's technical work that requires a large amount of learning and investment in employees, the company will typically move mountains to keep you if you are good.
I've experienced the same, but it doesn't mean the general rule is untrue. More specifically, if you are making market salary then the greatest raise will come from switching companies. If that's not true and your current employer will give you a substantial increase, then by definition you are not making market salary; the raise simply corrects your salary to the level they would have paid for a person of your experience.
Also had the same exact bump in salary while working for a media company after my managers manager realized my pay grade. However I do agree this is the exception to the rule.
Mind sharing what company this is? I'm 100% sure if I leave to go somewhere else and come back, I'll still make a lot more than sticking around. This is the unfortunate reality.
Not true at all. You just need to find a company that values you and your work.
Our company intentionally hires juniors so that we can groom them as they grow. I was one of those juniors < 5 years ago and I've increased my salary > 100%.
You can't just dismiss their experience based on your experience. I, for one, have also found it to be very true, and I think most people would agree (insofar as it seems to be a bit of a meme).
Definitely not true, i have doubled my salary at my current employer through a combination of negotiation and normal pay raises. I never explicitly threatened to walk out, but i did point out when i was substantially below market rate, and that was enough.
I do think that overall switching employers makes it easier to get a raise, because a current employer is more likely to know your true market rate making it harder to convince them to pay you above that, or even at that rate (with them figuring you won't leave for a small difference).
You do have to be careful not to become a 'job hopper'. When i see a resume where somebody never stayed somewhere more than 18 months i'll figure we won't be any different and am less inclined to give a thumbs up to HR if that person needs a sizeable training investment from my part.
100% agree with you. I've been able to get 30-40% raises YoY by job hopping roughly every 1.5 years. It's enough time to get experience somewhere, but not enough to become complacent. YMMV
I've gone from making 65k to 90k at the same company in the past two years. Though someone trying to poach me from another team in the company probably contributed to that.
Apple, Google, and Amazon will all make similar offers.
My initial offer from Google was $150k base, ~15% holiday bonus, and came with >$100k in stock vesting over four years, and they give another four-year stock grant each year. I have 7 years of industry experience and I interview well.
TDD is best when you're writing code that talks to other code. So APIs, database models, etc. Pure functions, and code that has dependencies you can inject and mock. You should never abandon TDD in situations like this.
It's true that it's harder to write TDD for code with side effects or that draws UI. It doesn't really make sense to use TDD for this.
You shouldn't conflate the two. Also, "always pass the majority of tests" is a trap. You should always pass all the tests.
Source: I've been managing and working in automated testing and continuous integration systems for 8 years, dating back to before the term was coined. I was the manager of the system, at IMVU, that coined the term "continuous integration". I've also worked on testing at Sauce Labs and Google.
You state that "TDD is best" in certain scenarios but fail to provide explanation. Why do you think TDD is best in the situations you enumerated? In fact, how does "database model" talk to other code?
I'm pretty sure unit tests, automated tests and continuous integration existed 8 years ago in 2008. According to wikipedia, CI was named by Grady Booch in 1991.
I think they were referring to back-end part of a application or complete applications that end up as a back-end piece (SQL, HTTP server, etc) of a more user facing application. This is generally where the amount of state easily manageable and well defined.
Front end testing is much harder as you have quite a bit of state you need to manage, and things like "Is this button visible to a user" are hard for a computer to answer as for a computer you need to render the entire page, then use machine vision to look for the button and verify the text is a readable size (not a cheap operation). In the front end, you can't get away with only rendering part of it, since anything could trigger a modal/overlay, or cause some z-order/clipping/scaling issue.
I think TDD is best in the situations I enumerated because writing tests for single behaviors of single functions is easy, fast, forces you to discover errors that cause your tests to trivially test, and forces you to discover bugs in your understanding of the problem.
Continuous "Deployment", I guess. The term may have existed before I realize, but it certainly wasn't in popular use before this:
> Continued advancement doesn't mean that it is accelerating, and even if this does represent an unexpected achievement that doesn't mean that future development will maintain that pace.
Advancement faster than predictions does mean accelerating advancement, coupled with the (true) fact that people's predictions tend to assume a constant rate of advancement [citation needed]. Actually, all you'd need to show accelerating advancement is a trend of conservative predictions and the fact that these predictions assume a non-decreasing rate of advancement; if we're predicting accelerating advancement and still underestimating its rate, advancement must still be accelerating.
It even seems like this latter case is where we're at, since people who assume an accelerating rate of advancement see to assume that the rate is (loosely) quadratic. However, given that the rate of advancement tends to be based on the current level of advancement (a fair approximation, since so many advancements themselves help with research and development), we should expect it to be exponential. That's what exponential means.
However, the reality seems like it might be even faster than exponential. This is what the singularitarians think. When you plot humanity's advancements using whatever definition you like, look at the length of time between them to approximate rate, and then try to fit this rate to a regression, it tends to fit regressions with vertical asymptotes.
It sounds like the point of this story is to illustrate by analogy that starting from first principles is sometimes a silly way to approach a problem, and by extrapolation that it's a silly way to make an AI that plays Go well.
Making an AI that plays Go well is not (and has never been) the real goal. They're trying to learn how to build a AI that can solve any problem.
I don't think that's the point of the story. In the story, Sussman says that because the initial state of his net was randomized, it will "have no preconceptions". But that's not true. It still has "preconceptions", but randomly chosen ones. Because Sussman didn't know what they were, that didn't mean they didn't exist, any more than closing your eyes means the room is empty.
The Taoist concept of the uncarved block, referenced in the title of the koan, refers to naturalness and simplicity. I'm sure someone more expert than me can give a better explanation but it seems highly relevant to the idea of learning to play Go based only on the rules, rather than any human tradition of strategy.
> Perhaps it was an attempt at nodding to the Las Vegas themed "bad behaviour" after dark, combined with a nerdy attempt at being funny
Switching from it-never-happened to maybe-she-misunderstood pretty quickly, no? Evidence of the latter would be enough to cost you $500. But It's pretty wild that you think someone who understands and plays the audience that well would misunderstand their intent.
I get the feeling that you actually realize how little you know about the event, and I encourage that. Weird things happen all the time, especially in Vegas.
FWIW, the event in question actually did happen - I'm not just taking sides in an internet argument here; I know it for a fact.
That is a monumentally stupid thing to say, and that's coming from a guy who's an active reader of /r/mensrights. I know the author personally and she's telling the truth.
Women with careers who accuse others of rape are telling the truth. False rape claims always come from someone who believes she stands to gain, and women with careers ruin their careers by reporting rape. Because of mouthbreathers like you. Go climb back under your rock.
We try to show ads that people will click on AND THEN buy/use whatever's on the other end. This maximizes advertiser value, long-term Google profit, and user experience all at once.
So we're trying to show you ads that you want to see, rather than ads that try to provoke you into clicking (like Buzzfeed articles)
I have a better idea. How about turning the tables and making a service that collects info about advertisers instead of users? Then let users browse your database of companies (and/or the products they're pushing) and actively search for what they went. Filters could be ecological stance of the company, color or style of the product, user reviews, published "expert" reviews, etc. Turn all that data over to the user and let them be in control of what ads they see. Let them spy on advertisers instead of vice-versa. It would also be way cheaper since you don't have to maintain this vast data-collecting network.
I already find tons of stuff I didn't know on Google! More, seriously, advertisers already "target" ads based on such loose parameters as age or location. Let me set my age as a filter if I want to, then you can show me those ads. Pinterest is starting to monetize people browsing semi-aimlessly through pages of tangentially-related items. This could just be a variation on that.
Actually, with Google, advertisers don't target anyone, really. They have a few knobs to tweak, but mostly it's Google that does the targeting, based on much smarter (but not yet smart enough) algorithms.
But it's hard to design something that can not be gamed. As a user, there's no reason to adopt the more obvious possible solutions, because I wouldn't be able to verify that I'm not being tracked. (What means that I'd adblock it like any other source, and thus there's no reason for the site owner to use this one service.)
This would work if it did not interrupt G's current revenue stream- not sure how the rates would be set for the advertisers- especially smaller ones who need high target niched key words.
That would be awesome. Google's one of the few players with enough clout and reach to make a micropayments system that might actually work, or at least get enough users to see how it would work in practice and work through some of the theoretical hurdles.
The only ads I ever notice are for things I already have. Everybody pro advertising tells me how good ads are for me. I started using the Internet in 1991 and have yet to see how advertising is good for me. Here are some ways in which ads are bad for me:
There's always the freebie users for every media form - piracy, adblock, etc. As a supplier of such things I can only really hope you'll spread the word to those that do fill my pockets with delicious fractions of a penny and not let it bug me
The rest? Not really my problem - I wouldn't redesign a website to save you time when you're (objectively speaking) worth nothing to me - that's bad business
On paying more - You might (might, I don't believe you) but you'd be in the minority. Having a system that allows you to paypal the site a penny every few months would be infeasible anyway
Agreed, I would pay for an ad free version of the internet.
Unfortunately, as I have to negotiate everywhere and many advertisers act badly or are misleading, I choose the scorched earth option as well.
This is because (as I think you implied) HN, in a show of consistency with other online forums, is fond of reaching conclusions that are contrary to (any) conventional wisdom. This is a source of bias: I'm a current Googler who thinks Google is great, but this opinion doesn't change anyone's mind.
But this bias is a good thing. It causes internal disagreement, hindering solidarity, but it increases the rate at which we learn new things.
* Accept a job somewhere
* Get promoted (doesn't matter how)
* let yourself get hired away from your current company
Getting hired away from your current company is the only way to get a fair raise based on increased experience. Companies never give substantial raises to current employees.