p4wnc6
Joined 15 years ago
Joined 15 years ago
It is often thought of as a prediction about what level of contribution is expected, but that's basically a farce. In every organization I've seen that makes distinctions between junior and senior developers, the only thing different between them is that senior developers are paid more. They don't do more, manage more, design with more foresight, or anything like that.
The exception is that developers who are brand new to a job function as junior engineers until they get calibrated and learn some parts of the codebase in which they can be effective. But this is just as true for a brand new senior dev with 10 years experience in your company's primary domain application as it is for a kid straight out of a bachelor's program whose only prior work experience has been theoretical REUs or something.
Basically, it's just a status tool.
In my experience, the problem is that interviewers have no idea how to correctly value a candidate's performance. Maybe the candidates are closer to being well-calibrated, but their self-assessments don't match up with the interviewers' because the interviewers don't know how to gauge what they are looking for?
Making the assumption that an interviewer knows how to measure the response of a candidate, even in cases of extremely quantitative questions with well-defined answers, is highly suspect to me. I think virtually no one knows how to do that effectively.
I experience the same problem with shortage-at-price-X in the field you describe. I'm a machine learning engineer with experience in MCMC methods, but I also have a lot of low-level Python and Cython experience, some intermediate experience with database internals, and lots of experience writing well-crafted code for production systems.
There are basically zero companies willing to pay what I'm seeking (which is a salary based on my previous job and a few offers I got around the time I took that job). In fact, in some of the more expensive cities, the real wage offered is far lower than other markets.
I've seen reputable, multi-billion dollar companies offering in the $140k range for this type of role in New York. That's wildly below anything reasonable for this sort of thing in New York. I've seen companies in Minneapolis offering $130k for the same kind of job -- and even that is still too low for Minneapolis! The same has been true in San Francisco as well.
Because these companies value you more for simply looking good on paper and looking good as a piece of office ornamentation when investors stroll through, and they view you as an arbitrary work receptacle closer to a software janitor than a statistical specialist, their whole mindset is about how to drive wage down.
Frankly, given the stresses of the job and the risk of burnout, I think it's actually a terrible time to be in the machine learning / computational stats employment field, despite all of the interesting new work and advances being made. The intellectual side is good, but the quality of jobs is through the floor.
I imagine they would say that your statement about crashing vs. e.g. launching the missiles is a false dilemma. You don't crash and you don't incorrectly launch the missiles.
I'm not a C++ developer so I can't say it with certainty. I more agree with what you're saying. I'm just relaying that my experience has been that out of many different language communities, C++ actually seems adamantly the opposite of what you're describing.
The software is junk software. There's no other secret thing going on -- no misdirection or duplicitous motives. A certain class of high-paying customers responds more to the Goldman brand name -- or at least believes it buys them cache with regulators or investors. For that class of customers, vetting the reliability and quality of the tech stack is at best an afterthought. Since that pile of money exists as a thing for Goldman to target, they do target it.
I advocate that more people should prioritize vetting the technology. If so, they would see it is not of sufficient quality to justify its use, let alone paying to perpetuate it elsewhere. But I'm not naive -- the political approach will always matter more to a wide range of people than will a more objective assessment.
This whole topic is not all that newsworthy. The team within Goldman that had architected and developed this years ago had spun out into a consulting group that essentially reimplemented the same thing in Bank of America (Quartz), JPMorgan (Athena) and many others, now including Morgan Stanley, and even trickling down to smaller banks like PNC.
I consider it one of the biggest ripoffs in modern finance that those organizations have paid untold fortunes to adopt the Goldman-like approach, sometimes even with new or additional proprietary languages brought in on the project. It also adds systemic risk for society because it further correlates these internal banking systems between the largest banks. If something goes systematically wrong with it in one place, there's a comparatively high risk the same sort of thing can or will go wrong in another too.
If we were bearing that risk for a good reason it might be OK. But really we're only bearing it because of the superficial branding of Goldman, and the pressure on banks to hand wave and appear to be doing something in the aftermath of the 2008 crisis. And so they go for what looks politically defensible (e.g. "well, this is what Goldman did and they survived the crash" -- despite it being widely researched and reported that Goldman's position in the crash truly had nothing at all to do with superior risk management systems and was a mixture of political favors and luck) instead of anything sensible from a system design point of view.
> Staying in the depression doesn't help you to take action at all.
It definitely can. Precisely when you lack the power to change your own extrinsic circumstances, and it is those circumstances causing the harm that leads to depression, then staying in the depression keeps sending out that distress signal for help. Taking you out of the depression without also addressing the circumstances makes it seem like you're managing it, when really you're still being harmed.
Sometimes depression is a correct, reasonable, and even necessary reaction to un-live-with-able life circumstances. It's a way of your body generating warning signals that others might see and then offer you help, not unlike shooting up a flare if you're stuck on a life raft.
If the circumstances truly are un-live-with-able, then medication that simply makes you superficially feel like the circumstance is live-with-able, when really it's just continuing to be destructive to your life in every single same way apart from your now-masked-with-medication feelings, then medication can be counter-productive.
Many people with depression don't actually have un-live-with-able circumstances. Instead, they have live-with-able circumstances and either they have medical issues preventing them from doing the actions necessary to manage that living, or else they have what I'll call psychological issues preventing them from it, where 'psychological' here is meant to mean the subset of mental health issues that are not well-treated by medication, but may be treated with counseling or changes to other life habits.
The problem I've always faced when seeking counseling or mental health help is that every single mental health professional I've ever interacted with, every single time across many years and highly varied geographical situations, has always, always, always dismissed completely the possibility that a person can actually have un-live-with-able circumstances within which the depressive reaction makes reasonable sense. Instead, they begin from a point of view fundamentally rooted in the belief that that cannot ever happen to a human.
I mean, if they were pressed to think about like a child soldier forcibly addicted to cocaine or something, maybe they'd agree people really can have circumstances such that depression is the correct reaction. But in general, with first world people, they just assume it's impossible and have a pervasive Occam's Razor sort of filter, before ever meeting you or even talking to you the first time, that, nope, you're wrong about how you view your own problems, that there's no way you could be thoughtful enough to have done meaningful introspection before seeing them, and that your circumstances are never a justifiable reason for feeling depressed.
And from this attitude, the next step is almost always to suggest medication right away. And any time I've tried to say something like, "well, I'll consider medication, but I'm not just going to jump right into it. I want to speak more about my circumstances and explain why I feel like it's a real life Catch-22 that truly, utterly is depressing, rather than the depression being a part of me as I respond to it," then it's like talking to a brick wall. The counselor / therapist / psychiatrist doesn't want to hear about about. They already know you need drugs within one 1-hour visit, and now that you're saying you won't just rush right out and get them, that means further that you are a problem because you won't just go get the drugs you need.
And what's crazy is that the underlying rationalizations from the different mental health professionals have been all over the place. One person thinks it's because I have issues about my childhood and my father. Another thinks it's because I grew up in a relatively more religious community. Someone else thinks I have PTSD from an abusive relationship in my late 20s. Yet another thinks that it's related to overwork and job stress.
All of these are important issues and some mixture of all of them is affecting me. But every counselor I see has their own colored opinion about which magic answer it is, all those magic answers are different from each other, and yet, every one of them thinks that drugs, drugs, drugs is what will magically solve the problem.
It really gives me no faith in the mental health treatment infrastructure, and causes me to be even more guarded about when or if I will consider trying anti-depressants.
From some of these statistics, it makes me feel like anti-depressants are way over-prescribed, and that counselors are just extremely lazy. They don't want to hear the whiny, tearful narratives of their hurting patients' lives -- just like friends and family also don't want to hear it. And so shoveling out some drugs is an easy way to focus on something different than the thing they find unpleasant (i.e. actually listening).
If you are low-income, you can get the fees waived, and the majority of her school books are still free. But not all.
Of course, developers don't have to contribute to an open source project at all. And if they do, it doesn't have to be in a "volunteering" sense in which their work actively offers benefit to others. They are free to choose instead to more selfishly only prioritize contributing in ways they personally want or like. But if they do, then they no longer can turn around and act like others should be gracious for their "generous" contribution to the project.
I guess I would say that developers can ignore the useful stream of +1s in order to more selfishly work on aspects that bring them personal satisfaction, instead of deriving satisfaction from the benefit offered to wide ranges of users. It's not that it's reasonable or unreasonable. It's just literally a particular option they could choose.
If they choose that, in cases where no serious rationale is given to explain why there is some more beneficial project agenda in the short term, then such petty disregard for a massive pile of evidence about what your project users needs are is a pretty strong indication of a bad library/project, with alarming dysfunction.
So in this sense, the +1 stream is a really useful barometer of the project.
Either the core developers say, "whoops, my bad, I had been intending to volunteer time which necessarily implies that my efforts should be focused on whatever the users benefit from the most -- let me switch to work on this hugely +1'd issue I'd been ignoring" ... or they say, "I hear you everybody, but since I'm more familiar with the project internals, let me offer a technical rationale for why we need to delay addressing this in order to work on other stuff first" ... or they say, "Screw you all for bothering me. I'm 'volunteering' my time on this, so I'm going to do what I want. I don't like this big +1'd issue, so I'm going to ignore it and just do whatever."
Either way it gives you a ton of information about the health and reliability of the project.