Burnout - <AUTHOR> https://johnnyrodgers.is/burnout <comment><USER2> I think there's two types of work-induced burnout. "White collar" burnout is generally self-inflicted, and to me less about working oneself to exhaustion and more about working any amount of hours on something that you subconsciously believe is fundamentally misaligned with your core principles/true self. My hypothesis on why this seems to be happening at higher rates is because without a focus on raising a family and/or participation in organized religion, our careers/workplace have become the "things" that we now try to put all this meaning behind, and what was once separated from our "life" (e.g. work/life balance) _has_ become our life, and the psychological burden of being forced to be 100% emotionally invested/devoted to our work has consequences.

"Blue collar" burnout, to me, is the archetypal fast food worker making minimum wage working paycheck to paycheck, who not only has to deal with financial insecurity that comes with the job but the physical (actual manual "work") and psychological (rude customers) burdens that come with those types of jobs.

<comment><USER3> > more about working any amount of hours on something that you subconsciously > believe is fundamentally misaligned with your core principles/true self.

That rings true to me. My speculation as to why: at the most general level, our 'work' in life resembles a hierarchical optimization process--goals and sub-goals (and so on) forming a structure defined by nested utility functions.

Our professional goals (and their day-to-day sub-goals), may be pretty significant, but they're still subservient to more fundamental goals implied by fundamental values.

I think burnout is working extensively on some sub-goal (that may be large enough to appear as a top-level goal in itself), that is fundamentally misaligned with some ancestor goal(s): working on it makes no progress or even regression on more significant goals.

I think a common source of this misalignment for tech people of my generation (I'm 33) is being taught as kids that we can do "anything we put our minds to" and that fundamentally we should be aiming to "change the world". Then we grow up and find ourselves faced with the practical reality of the large scale professional world where not everyone gets to run things and the vast majority of folks end up working on insignificant little corners of someone else's probably anti-altruistic money making scheme--just consider the opposition between the early-formed life goals/values and the day-to-day goals of your typical tech worker.

(And perhaps what makes it extra bad is that contemporary perception of how evil/exploitative etc. tech is, is quite high: our culture is steeped in the likes of Black Mirror and other sources of tech paranoia [or maybe just tech cautionaries--who knows].)

<comment><USER4> What would you tell your kids today? I have 2 boys, 7 and 10, and I don't want to lead them into the same trap. We are already dealing with the fear that the schools put into kids about tests. The pressure on kids to be in "performance" mode all the time is really disappointing to me.

<comment><USER5> Tell them they can work at Starbucks and lead a happy life. If you genuinely believe it, you won't have to tell your kids anything.

There is no pressure on kids, other than their idiot parents. School should be seen as trivial and boring, because grades don't matter. Grades don't matter because if you're not an idiot, you can flunk school and do well in life with minimal effort. Just try many things to see what you like and then do it for 10 years.

If it's athletics, you can go work a physically demanding job that pays well. If it's an intellectual pursuit, you'll be well suited for university and a high paying job. If it's creative, the admiration you get for your art will matter far more than living in a basement. If it's just being a nice, easy- going, kind human being, quality relationships will matter more than living in a basement.

Whichever way you go, you win, unless you have idiot parents who teach you to be unhappy and insecure, like them.

</comment></comment></comment></comment><comment><USER6> My wife is a clinical psychologist focusing on the mental health impact of high-pressure jobs. She had me build this "Burnout Calculator" based on a self-evaluation protocol they use in their practice. Leaving it here in case it's helpful for anyone: [https://azimuthpsych.com/burnout- calculator](https://azimuthpsych.com/burnout-calculator)

<comment><USER7> Assuming this is a relatively standardized protocol this is a great idea. However, getting a score at the end and then the tag line "you're fine but you should contact us anyway to see if therapy could help" feels icky

<comment><USER6> If you actually feel fine, then of course therapy isn't likely to do much for you. The idea is if you're feeling terrible enough to evaluate yourself, but it turns out you likely aren't suffering from burnout, that doesn't mean you shouldn't look into therapy. Often people think they are suffering from burnout, but it turns out they actually have underlying trauma, anxiety, depression, etc. unrelated to work stress.

<comment><USER8> Everyone, even healthy people, should attend therapy if able. There's a lot of tricky ground to navigate as a person and you don't have to be experiencing trauma to get help.

<comment><USER9> > Everyone, even healthy people, should attend therapy if able.

I feel like this is just a weaponized meme developed for the purpose of marketing.

<comment><USER8> Marketing what? Mental health? Everything isn't some shill post or /r9k/ nonsense. People do speak authentically.

<comment><USER9> Therapy. Therapy is a service, and one that in my experience is of dubious value. It is difficult to look at a statement that is essentially "pay for something you don't need" and not think of it as marketing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is good post on experiencing burnout (and avoiding it).

Written by an early programmer at Slack, and someone involved with their recent desktop app rewrite project.

For me, "team marathon running" on software projects means only rarely "sprinting".

As the author suggests, sacrificing sleep, body, and hours eventually catches up with you. But, it's very easy to do and we've all been there. This is part of the reason that medical residents are burnt out on medicine even though they love medicine. It doesn't matter that you're doing what you love -- that's only the top little self actualization triangle of Maslow's heirarchy/pyramid of needs. You need all the base components of Maslow's heirarchy satisfied, too -- financial health, bodily health, emotional health.

</comment><comment><USER11> I like the note in the end about his advice:

 _This advice doesn't get you very far. In the abstract, it's just more self- help cliché. For me these are hard-won lessons, and it's unlikely I would have done anything differently if someone had told me this when I was 26 or 30._

I feel like the cause of burnout generally lies much deeper than not asking for help or not putting health first. It's more about certain values embedded in you from your past. Those values make you feel responsible for things you aren't, and might make you push yourself. Which might also bring you good things in life, but you have to wonder where those values came from and if they are indeed true for you and helping you.

<comment><USER12> "A soldier does not become a shrewd general merely by endorsing the strategic principles of Clausewitz; he must also be competent to apply them."

"Knowing how to apply maxims cannot be reduced to, or derived from, the acceptance of those or any other maxims."

— Ryle, Gilbert. _The Concept of Mind_ (1949)

I started reading this a couple of weeks ago after seeing it referenced in Peter Naur's "Programming as Theory Building", and this point of his in particular keeps coming up in all sorts of contexts: there's a fundamental difference between knowing _how something is done_ and knowing _how to do it_. The former is what you get from any sort of how-to or advice article, but the latter comes from experience. It's unclear if there's any internal transfer at all between these two kinds of knowledge.

<comment><USER13> I've come to believe that reading isn't as useful as I previously thought. I still read prolifically, because it is pleasurable, and occasionally inspiring, but not because there are any causal benefits I can point to.

"The saying experientia magistra rerum, 'experience is a great teacher', was familiar in the Middle Ages: you don't learn to ride a horse or shoot an arrow by reading books." (from the book, oh the irony, The Invention of Science by Wooton)

<comment><USER14> It sounds like you might be over-correcting if you truly believe reading doesn't have any "causal benefits". The vast majority of what you read might not be directly applicable to your pursuits, but when you find those nuggets that reveal a flaw you hadn't perceived, or point you in a new direction the results can be dramatic. Practice and knowledge go hand-in-hand, the key is judgement on where to focus day-to-day.

<comment><USER13> I agree - it is a bit of over-correction.

</comment></comment></comment></comment></comment><comment><USER15> I think I'm burning out because my job is too easy. I _like_ working. Satisfaction of completing a good job makes me happy. Is anyone else experiencing burnout as a result of numbingly boring tasks rather than from intense bursts of mentally challenging work? Am I conflating burnout with something else like depression?

Writing up UI designed by a designer who doesn't understand my domain's interface guidelines, reexplaining how my software works to the product person during every product meeting, trudging along under leadership that doesn't understand the costs of all the manual things I'm not being empowered to automate and not having new features to show off every 2 weeks is what is making me feel like I'm burnt out.

I've been at the opposite end of things. I've had to sprint through terminals to catch flight after an incredibly slow deployment at a hotel like out of a nail-biting Hollywood thriller. I've crunched through long days before critical events, and then crunched even longer days to work through all the issues we came across afterwards. But these things usually resulted in satisfaction more than frustration.

My symptoms have been physical too. I've vomited before going into work at least a dozen times. I had to start embracing it to get on with my day. Thankfully this is no longer an issue for myself but I couldn't even tell you what had changed to start preventing that.

<comment><USER16> > Is anyone else experiencing burnout as a result of numbingly boring tasks > rather than from intense bursts of mentally challenging work?

For me it's boring, meaningless and ill-defined tasks. Especially if you have many of those assigned without clear priorities.

I actually like a good crisis at work. E.g. a major production system suddenly going down. Suddenly, there is focus, interrupts go away, the desired result is completely clear and you feel like doing something that matters.

On the other end of the spectrum, working on some meaningless feature (e.g. adding some performance metrics to the system management decided could possibly be useful as if they actually bothered to look at them) has me completely exhausted at the end of the day.

<comment><USER17> >>>a major production system suddenly going down. Suddenly, there is focus, interrupts go away

Do you want to do that everyday for next 20 years?

</comment></comment></comment><comment><USER18> The bit about ending up in hospital with an obstructed bowel from diverticulitis? I call misdiagnosis - either on his part or mine.

I had an uncannily similar experience, except in my case it was about a week a month (sometimes much more, sometimes less) that I lost to the vomiting, the nausea, the delirium, the totally immobile bowel. In my case, the stress went on for years, and years, utterly relentlessly, day and night, incessantly, and so did the gut attacks. I'd get angry when people mentioned they'd slept badly, because at least they'd _got_ to sleep. I'd spend a sleepless week shivering and roasting and dripping sweat and reeling with nausea, unable to make words or thoughts, then finally suddenly recover, and the moment I was capable of any movement or coherent thought, I'd be writing apologetic emails and heading back to the office, where I'd get a barrage of abuse from both clients and cofounder for my absence.

After multiple hospitalisations they'd decided I had everything from diverticulitis to gallstones to salmonella to a brainstem injury. They took my gallbladder out, did exploratory surgery, every endoscopy you care to name. It kept happening, nothing worked.

Then, I quit my business. Two months later, I had my last "attack", as I'd come to call them, and it's now been three years.

So... I wonder if the author had diverticulitis, or was having the same violent physiological reaction to stress that I had apparently developed.

</comment><comment><USER19> Is this really burnout, or just overheating?

To me burnout is more the psychological state of "why am I even doing this anymore?", loss of enthusiasm, perhaps even some degree of despondency and hopelessness about the future, etc.

This seems more like just temporary over-exertion, under- nutrition/exercise/etc, which can be fixed with a lazy holiday, safe in the knowledge that all those Slack shares are vesting.

<comment><USER20> Two things surprised me about burnout:

1\. It has physical symptoms.

2\. It doesn't go away when you stop.

Vacation is good. But two weeks after my vacation I had a rough couple of days, nothing that I couldn't handle before, and I was right back where I started.

I've come to think of it like a mental equivalent of a torn muscle. Recovery takes time—probably far more time than I expect, and if you overexert it, even a little, you'll do a lot more damage a lot faster than you did the first time around.

<comment><USER21> Sometimes vacation makes it worse because it makes you realize just how much your job makes you unhappy.

</comment></comment></comment><comment><USER22> I hope someone will (or has?) conducted a historical and geographical analysis of the concept of "burnout". I'm curious about where precisely it emerges (hypothesis, predominantly America) and when (hypothesis, the 21st century).

It's a peculiar concept in that it seems to capture the idea that we've reached a stage in human development in which _we shouldn't really have to work that much, but do so anyway_. It a sort of paradoxical situation in which we've eliminated the conditions which necessitated or fostered overwork with material ends (must produce xyz units of consumable goods, food etc) for overwork with largely frivolous ends (the sustainment of online systems which don't actually create any material value—only abstract or cultural value—not true in every case, of course) enter the "burnout" concept—the big boss no longer needs to forcibly push his workers to the edge, they'll do it for him through some odd sense of pride or ridiculous notions of performance which are enforced not through punishment but through the allocation of "benefits" like respect, small bonuses, etc etc. —the workplace "culture" (though the social dynamics which emerge at workplaces are not worthy of the name) is an effective system for ensuring people overextend themselves.

<comment><USER23> I recently read a book (Behemoth [0]) about the history of the 'factory' and I can tell you that burnout is omnipresent throughout the entire narrative. Particularly, the 18th century textile mills were a brutal and oppressive place to work. Burnout, financial ruin and pressure, and worker unhappiness were persistent elements of the book. To this day, we still have manufacturing settings that heavily rely in oppressive and abusive labor practices.

I think that what is "new" is burnout in the context of the office and knowledge work.

[0] [https://www.theguardian.com/books/2018/mar/14/behemoth- joshu...](https://www.theguardian.com/books/2018/mar/14/behemoth-joshua- freeman-history-factory-review)

</comment></comment><comment><USER24> I had my first major career failure this year and lost a very good job. I was able to land another good job quickly but I've been full of doubt and am seriously lacking in confidence ever since. I can't sleep and have anxiety. The new job has significantly more responsibility and in many ways the pressure that the author describes in rewriting Slack is very similar to what I'm going through. Every time I have a setback at work I am afraid of losing my job. I finally recognized this as burnout and am trying to come back from it but it's a slow process. I'm trying to exercise more and get enough sleep but the sleep part is still not working all that well.

</comment><comment><USER25> This was the hardest one for me and caused me a burnout a couple times, especially when working remote from home.

 _Separate your work and personal life. This was a major change for me. I've always identified very closely with my work. I'm learning to separate my sense of self-worth and purpose from my professional self._

<comment><USER26> How did you manage to separate it? I've been remote 2 years now, and I'm just now starting to become aware of how big of a problem this is.

<comment><USER25> Filled my calendar with things like gym and family time outside of working hours. Set my calendar to reject double booked meetings / events automatically was the first step

After that it depends on the reactions you get from that.

</comment></comment></comment><comment><USER27> There is some incredibly obnoxious script on this page that won't let you resize the text. First time I've seen that.

I often feel like the web couldn't possibly get any worse, and every day it finds a new way to surprise me and get worse.

<comment><USER28> There is some horrible javascript that calculates what the font size should be based on the height of the browser. A large screen gets a huge font and if you zoom out then the resize event triggers which keeps the font the same size.

Might be one of the worst things I've seen on the web so far

</comment></comment><comment><USER29> Burnout fucking sucks. I thought I went through it once in the past (and maybe I did), but when compared to how I feel now it was nowhere near as bad. I recently tried a few things: 1) nootropic supplements, which have helped a bit to an extent; and 2) take a week long tech-free vacation to the mountains, but when I came back my state didn't really change.

I think my burnout is due to feeling utterly unchallenged at work. The work I've been doing feels way below my pay grade. I'm also attempting to grow my own SaaS business and growth is very slow (3 years in, at $4k MRR), which makes that "light at the end of the tunnel" of going full-time on my business seem unreachable at times. I also have a 5 month old, so I'd also factor that into the lower-bound of my stress level (but I do feel like she helps me slog through hard days more than anything).

I'm starting to be more open about my mental health with family/friends, and I feel like I'm in a rut and not sure how to get out of it. I wish I could take a sabbatical.

</comment><comment><USER30> > I design and build technology in Vancouver. I spend most of my time working > on Slack, a paradigm-shifting tool for team communication. In my work I > strive for usefulness, beauty, and positive impact on the lives of others.

From this chap's tag line on his home page it seems like he still identifies strongly with his work and over emphasises the importance of it.

</comment><comment><USER31> Something I think that has helped me avoid burnout is to stop at 16.00 (or whenever your regular working day ends) and leave work, physically and mentally.

On the weekends, I don't think about work ever (unless something happens to the system and I'm on-call, which very rarely happens. I realise I'm lucky in this regard.)

I just can't work more than 6-7 hours on a given day. Working more won't make me more productive, on the other hand I'll waste more time on reddit since I can't stay focused and I can "catch up" my pre-noon procrastination later.

A part of this, of course, is to insist on not working outside work hours from the beginning of joining a company. In doing so, your colleagues will learn to know not to disturb you outside of work unless it's really necessary.

I feel like that's the mistake the author of this article is committing: not doing anything else than work. Everyone needs time off to recoup no matter what business they're in.

</comment><comment><USER32> I have never been burned out, but I think I would have been. I did a couple stints at various places (non dev work) where I was pretty excited to continue working and get higher in the org. Fortunately for me they were co-ops which ended and allowed me to see that, retrospectively, they kind of sucked, were not especially fruitful career tracks, and would have ground me down after a year or so. It's really hard to check yourself while engaged and working on something.

</comment><comment><USER33> Caretaker burnout anyone? Nobody talks about it but this is the hardest of all. You can turn the back on a career but not to your loved ones.

</comment><comment><USER34> Slack spends a lot of time promoting itself as a "work hard, them go home" culture. Do others fimd tat to be true? If so, why would burnout be a risk for someone at Slack?

</comment><comment><USER35> Great advice if you're already a millionaire.

<comment><USER36> Not sure what being a millionaire has to do with avoiding burn out. There are plenty of wealthy people who still burn out. If you're burning yourself out solely for "getting rich" you should probably buy lotto tickets instead.

<comment><USER16> If you are rich you're burning out by choice. Having to go through something like long workdays because you want to is a completely different experience than doing so because you have to.

I never understood why people keep working once they have accumulated enough to not have to work anymore.

<comment><USER36> The wealthiest people I know work 6-7 days a week. It's no coincidence they're rich. The money is nice but that's not their motivation.

</comment></comment></comment></comment><comment><USER37> That was a great read. I think the most important thing is letting go when stressful problems become a danger to your health. Just think "I'm not that important in the grand scheme of things" and take a few steps away from the problem (obviously that's not always possible, but it's more often possible than people think). What will happen is the following:

\- Maybe you're right, and things go on nicely without you

\- Maybe things go not so well, so your coworkers have to learn redundancy and that they cannot pile all the problems on one person

\- Often, you come back from your break (be it going home early, or taking a few days off, etc.) refreshed and you look at the problem from a new perspective. Potential emotions like anger and impatience have worn off, enabling you to act calmly and rationally.</comment>


If You've Had Success, You've Also Had Luck - <AUTHOR> http://moz.com/rand/if-youve-had-success-youve-also-had-luck/ <comment><USER2> not very "Right" thinking are we</comment>


Show HN: Key Values – Find engineering teams that share your values - <AUTHOR> https://www.keyvalues.io/ <comment><USER2> I would second the option to negate some of these "values." There are about eight that I don't consider to be "values", but just to pick one of them at random, I don't consider "has good beer" to be a value I look for in a company. In fact, I consider a focus on alcohol in the workplace to be a red flag and would like the ability to filter out a place like that. In my experience, workplaces with alcohol in them tend to focus their work-related happy hours around drinking. As someone who does not drink, I often feel left out of those social activities, and am often actively shamed for not participating.

Some of the "values" are kind of ambiguous. How do you quantify "bonded by love of product"? What does that even mean? Doesn't everyone consider themselves "Creative + Innovative" and "Customer Comes First"? Would anyone advertise a company that doesn't have a "High Quality Codebase"?

I do like the overall idea of the site and the filtering mechanisms. I'm glad you're considering adding more "values" to the system, and hope you can add some more nuanced selection of those values (i.e., negation). You're approaching this from a tough but clever angle, and it'll be a lot of work to tweak it and get it right. Keep it up.

Also, site looks beautiful. Love the logo.

<comment><USER3> > In my experience, workplaces with alcohol in them tend to focus their work- > related happy hours around drinking. As someone who does not drink, I often > feel left out of those social activities, and am often actively shamed for > not participating.

I also don't drink, and in my (relatively short) experience in the tech industry, the term "social event" almost exclusively refers to events where the primary focus is alcohol. Is this a tech-industry specific thing, or just a thing with "industry" in general?

<comment><USER4> It's an issue with mandatory fun time. I can totally see myself enjoying my time at a pub with some colleagues, but throw in the whole team plus managers/leaders and it's just four more hours of unwanted social interaction and work talk for which to survive the only focus become getting drunk as fast as possible to cut the losses.

</comment></comment></comment><comment><AUTHOR> Hello! Lynne here, the creator of Key Values.

I'm an indie hacker, and I've spent the last few months putting this together. I interviewed dozens of engineers to come up with a list of values: things we care about most when evaluating new opportunities. I then worked with engineering teams (which you see listed on Key Values) to identify the 8 values that best describe their engineering team and culture.

I'm working to add more teams to the site and would love to hear from you!

<comment><USER5> This is a really great idea. Please consider adding value ranking. For example, many people might value both meritocracy and diversity but valuing one more highly than another creates a completely different culture. P.S. Please consider adding "meritocracy" as a value.

<comment><USER6> You can't really have one without the other. It's not really meritocracy if you're excluding a large portion of your candidate pool due to bias.

<comment><USER7> I really don't understand this meme. I've never seen a company where I felt like straight white males (myself being one of them) were excluded due to diversity initiatives. We're still pretty well-represented at even the most staunchly pro-diversity companies.

<comment><USER5> Personally, I would prefer to work exclusively with those who value meritocracy more because diversity proponents are very often believers in the ideology of perpetual victimhood. As such they are always in conflict with everyone and generally suck the joy out of life. I find them intolerable and want to keep them as far away from me as possible.

<comment><USER6> > Personally, I would prefer to work exclusively with those who value > meritocracy more because diversity proponents are very often believers in > the ideology of perpetual victimhood.

I think you're projecting. The only displays of victimhood I've seen in this context is from white males who (incorrectly) believe that an increased focus on diversity means they are somehow being discriminated against.

If you create value for your employer and can demonstrate a minimum level of competence when it comes to technical and people skills you really have nothing to fear from diversity. It is ridiculous that this even needs to be pointed out.

</comment></comment></comment></comment></comment></comment><comment><USER8> Practically all the advice here is rubbish in my opinion. As a user, allow me to request the following:

* Please do not attempt to make it an objective rating of values

* Please do not make it so I must rank values

* Please do not auto-disallow values based on your interpretation of them (like this 8 PM going-home being incompatible with work/life)

* Please do not list which frameworks they use and whatnot

I like this site because it's simple. When I select a set of values, I get a few matches. I'm not left wondering if I missed out on companies because somewhere in the list of 1024 values there was one I didn't select. And I like that you let teams choose what they think is most important and had a maximum number of values they could select.

Great work.

<comment><AUTHOR> Duly noted ;) Thanks arjie!

</comment></comment><comment><USER9> What are you trying to accomplish here?

It looks like a nicely structured rigorous filtering tool based on values. But when you view the details for any company, it's not really rigorous. It's a narrative from the company with a clearly positive bias.

Now, getting more narrative content about companies is great (most companies don't do much of this) but the value you're creating here is a better "what's it like to work here" page that a company might want to share with prospective employees. It's not going to really help people find meaningful values-based matches, because the "pick your top N" ranking methodology is lousy and too subjective. As other have pointed out, there should be some max-hours rule if you want to claim to value work-life balance. The degree to which a culture is Eng/product/design/data-driven is really important to gauge fit, but this rank methodology will not give you credible answers to that. It would be better to look at the backlog of work and count who wrote the tickets - that would be eye-opening, and also help you identify negative attributes ("driven by highly-paid persons' opinions"). Other important things you've identified, like "high employee retention", would be far better off as quantitative data points instead of self-ranking.

On the other hand, maybe this is a feature, not a bug. You're trying to get engineers to voice preferences on values, and if that gets them to pay attention to your site as a source of jobs, and you continue to feature awesome companies that are great places to work, you will place some of those engineers in those companies. In this case, your product should probably do a better job of helping an engineer understand her own values. Again this would be better served with tradeoffs (Would you work 60-hour weeks in order to work with world-famous engineers? If most of the company participates in a push-up competition, would you find that exciting or off-putting?) than pick-8.

Still, it's great to see someone starting from the premise that personal value should align with organizational ones. Best wishes!

<comment><AUTHOR> You make a lot of great points!

Finding a job is a lot like dating. People typically don't share their worst qualities upfront, and I decided early on that I didn't want to force them to. Instead, I've become more of a coach/cheerleader for both companies and job- seekers.

When I work with teams to write their profiles, it's my job to say, "prove it" when we discuss each value, and suggest that they choose another when they can't. I encourage teams to use strong language, talk about disqualifiers, include concrete examples, incorporate quantitative data, and/or provide links to contact current team members wherever possible. But, for now, I won't make anyone to do or say anything that they aren't comfortable with.

I hope job-seekers are critical when comparing different teams. Some profiles deserve an A+ while others are perhaps a B- (though I won't say which). If you interview 20 different teams, it'd probably be similar. Those that speak your language would resonate with you and those that fail to answer authentically to you would lose you. That's okay.

Ultimately, I'm providing structure for teams to talk about what is inherently subjective and messy. There is no black or white when it comes to culture or compatibility (maybe you've tried setting up two great individuals who just didn't hit it off?) but at least we now have _some_ information to guide our decision making.

</comment></comment><comment><USER10> Seems like this list of "values" takes one side exclusively, without offering a counter-option. I would like to see an IQ > EQ option, for example.

<comment><USER11> This is relevant because otherwise companies can just claim they have all of the above.

<comment><USER12> about 26 do [https://i.imgur.com/QQqVyQX.png](https://i.imgur.com/QQqVyQX.png)

<comment><USER9> As noted elsewhere in this thread, the filters are ORs not ANDs. There are 26 total companies on the site right now.

</comment></comment></comment></comment><comment><USER13> Not sure how much you can consider Work/Life balance a key value when you expect people to work 50 hour weeks ([https://www.keyvalues.io/kite](https://www.keyvalues.io/kite)). Not to say that 50 hours is awful, there's certainly a lot worse out there, but I'd say it's enough to disqualify that as a 'key value'.

<comment><USER14> I agree that any company that asks for more than 40 hours should not be allowed to have the work/life balance key value. The profile says that the company eats dinner together and people go home at 8pm. That sounds pretty work centric and not much time for life left after that.

<comment><USER13> Also they accompany it with a picture of a fun work outing. Those can be great, but should go with some other key value. When I think of work/life balance I think of having time to myself, to relax, see friends/family and work on other things/hobbies. Company events are nice and I think a good idea in terms of teambuilding but they are still on the side of work, not life.

</comment></comment></comment><comment><USER15> Uh. I'm sorry about the tone, but about a half of that looks like they were taken straight out of some buzzword bingo. Things like "thoughtful office layout", "ideal for parents" or "has good beer" are almost meaningless, as they're really a matter of personal tastes and ideals. Take large enough number of people, and while there probably will be some general direction, I'm sure they'll inevitably come with very different ideas what it could mean.

Even stuff like "uses agile methodologies" is not really meaningful. Too many different approaches and implementations out there. Some can't imagine work without every single tiniest thing being filed as a separate ticket (because otherwise they feel like losing track of things), some believe that's insane micromanagement, borderline OCD. Both could say they're doing it "agile, just in the sane way". ;)

Also, I think many values really lack their opposites. I think it would be useful to be able to search for e.g. places that value age-proven tech over latest fads. Or places that specifically don't market themselves as "creative and innovative" but just doing what they believe is good, needed and profitable. Or places where engineers aren't expected to do stuff outside of their scope (as opposed to wearing many hats). That all may sound as bad things to some, but I'm certain there are persons who have different mindsets and treat that as positive values.

That said, maybe at least some values are better as some sort of gauges rather than statements? In particular, "risk-taking vs stability" and "cutting-edge technologies" looks like good candidates for the e.g. "1: we're writing software for a nuclear plant" <-> "10: we develop live on the production servers" scale.

</comment><comment><USER16> I was originally going to point out what I would like to see changed/added to the site - but after considering it and reading the other comments here, I don't think I'd add much constructive.

Instead I offer my congratulations - you've shipped a product, on your own, that is both useful and interesting to a wide audience. That's something that I've tried to do in the past and repeatedly failed to achieve.

Keep up the good work :)

</comment><comment><USER11> Cool idea! I would love to see some more opinionated product-oriented values, eg large js frameworks vs minimal client side code, tracking vs privacy, etc.

<comment><USER17> I second this. Additionally, would be interesting to also see these vectors on public policy issues. While DACA might have little variation, differentiation may come from issues affecting work forces and tech policy (subsidies, public programs, etc.)

see this recent article Aligns with this recent article. [https://www.fastcompany.com/40420834/the-non-paradox-of- high...](https://www.fastcompany.com/40420834/the-non-paradox-of-highly- successful-profit-from-purpose-businesses)

</comment></comment><comment><USER18> These are interesting but fairly generic and easy for a company to claim many to look good.

When defining culture I think it's best to avoid generalisations and have specifics:

\- If something breaks, what is more important: Preserving state for debuggability or getting online fast

\- Developers can always say they are not ready to push and continue testing

\- There are defined SLI's and error budgets

\- Design docs are required for new functionality

\- Senior developers are expected to {mentor junior developers, be proactive in creating tooling, understand the full technology stack, refactor}

\- Sliding scale of time spent on feature development vs keeping on top of technical debt

\- How much time is spent on automation

\- Are there well defined leadership tracks for technical and management (a yes/no isn't really enough here)

\- Onboarding/mentoring, paired with a senior developer or a hire that joined ~6 months ago

There are a lot more engineering culture questions based on ownership, communication, personal development and specific engineering tradeoffs.

</comment><comment><USER19> I must say, I like the logo and name.

</comment><comment><USER20> I see "uses agile methodologies" but I was expecting "doesn't use agile methodologies"...

</comment><comment><USER21> what also might be useful is to have reviews from former employees, and see how well they line up with what the team said.

I've worked on a few teams that claimed these "values" (or practices) but when the rubber hit the road, what they said and what they did didn't match up.

</comment><comment><USER22> Maybe I missed it, but I consider companies that DON'T embrace an open workspace as my top value. I also don't consider pair programming a value. I don't mind doing it on occasion, but I don't want it foisted upon me as a part of my daily work-life.

</comment><comment><USER23> I'm quite sad that I can't seem to find "Puts ethical considerations first" as one of the values. Possibly "Puts customers first", but that seems more like "drives value" or some other money oriented buzzword.

<comment><AUTHOR> That's an interesting value and I will definitely consider adding it! In some ways, this describes companies that are B-Corps/PBC but I agree, it's not perfect.

<comment><USER23> It's going to be difficult because there's no real ethical "Standard" in the space that I know of.

<comment><AUTHOR> I think that's okay actually. I see profiles to be like an interview with say, an engineering manager or current team members. We ask questions, they answer, and we decide how strong or convincing that answer is.

</comment></comment></comment></comment><comment><USER24> One thing I'd love to filter on is "Gives developers private/shared offices" as opposed to open-floor.

Also would be nice to filter on workflow/tools like git vs. perforce, or outlook vs. Google calendar, or TFS vs JIRA.

</comment><comment><USER25> How about "an actual workplace where people act as professionals, not another social club where everyone's desperately trying to look like a cute teddy bear"?

</comment><comment><USER26> I don't know if I got it from Hacker News, but I've adopted the position that workplace "values" don't mean anything unless they're:

a) verifiable

and/or

b) someone could reasonably disagree with it/would actively select its negation or opposite.

Take the work/life balance, which a number of people are, justifiably in my opinion, taking issue with.

Under the verifiable condition, we need to be able to see that someone actually lives up to that value, otherwise its just a marketing term to try to fool candidates (and becomes more of a trap, rather than helpful). So do team members work 40 hours or less per week? Do you provide sick/personal leave? Do you provide 4+ weeks of paid vacation (and people actually take it)? Can you take community/charity days? Ok, then you get to list yourself under work/life balance. If those things seem antithetical to you, or they don't happen in practice, I'm sorry, but you should be excluded, no matter what you say you value.

Lets then look at criteria b). Would someone reasonably agree with its negation? Well, the easiest way to test that would be to ensure you actually list the negation of all your values and see whether anyone selects them or whether you're willing to put anyone in those categories.

So for work/life balance, what about the teams that say "we do NOT value work/life balance: we want long hours, give yourself to the team". We know they're out there in practice, and some tech types might even self-select into such, but if you or no one else is publicly willing to be listed under such a category, then unfortunately the category and its negation becomes "fluff- worthy". Meaningless. Analytical noise.

So for instance, take the following oppositions:

-team is diverse vs team uniformity

-work/life balance vs work priority

-bonded by love of product vs feelings for product not important

-eq > iq vs iq > eq

-thoughtful office layout vs horrible/don't care about office layout

and so forth.

If you could verify the value, and have their negation as categories, and people actually listed under their negation, then many categories become EXTREMELY useful.

But if the values aren't verified, and if people wouldn't reasonably list or accept a categories negation, while I appreciate the concept/thought, well...it basically becomes corporate fluff :/

Edit: There are a couple of categories where I admit having the category without its negation is useful. Things like "uses agile methodologies" could be a candidate for example. But...even there, i would love for the alternative category "Hates scrum/agile consultants" :P

<comment><USER27> >thoughtful office layout vs horrible/don't care about office layout

"Workers / sq. ft" would be a good measurement.

</comment></comment><comment><USER28> To coin a cynical phrase, every job in the world advertises it requires excellent communication skills, and yet somehow they all get hired...

</comment><comment><USER29> What is the process for adding a company? How are these so-called values verified as being true for a given company?

</comment><comment><USER30> I would like to see values experience over ability to solve trick question on whiteboard.

</comment><comment><USER31> On firefox/linux, the icons are off the grid. [http://imgur.com/a/qakod](http://imgur.com/a/qakod) They align back when hovered over

</comment><comment><USER27> Can you add negation, like I do not want a company with "X"?

</comment><comment><USER12> 26 companies have "all" values apparently [https://i.imgur.com/QQqVyQX.png](https://i.imgur.com/QQqVyQX.png)

</comment><comment><USER32> Interesting.. How do you get these key-values from companies?

<comment><AUTHOR> Teams self-select their values! I've worked closely with each team and they write their own profiles.

<comment><USER33> Wouldn't every company say they just do everything? I mean, heck, I would...

<comment><USER34> Nah, people will just quit soon after. Then the company is faced with all the costs involved in hiring replacements. This idea works both ways, and ideally gets the right people into the right places for the benefit of the employees and employers.

</comment></comment></comment></comment><comment><USER35> It's a nice idea but I find how a company likes to describe itself can be vastly different to how it actually is.

<comment><AUTHOR> Sure that's true, but then the only way to really know what it's like to work at a company is to spend 4-12 weeks working there yourself. Some would argue that that is still not enough time to form a real opinion.

My hope with Key Values is to:

1\. Look beyond what companies say about themselves and focus on the culture and values of specific engineering teams.

2\. Let job-seekers access information about engineering teams sooner (ie. _before_ the hassles of applying, completing coding challenges, white- boarding, etc).

To your point, how interviewers describe their teams can be vastly different from how it actually is. Whether you "trust" that information or not, at least you have it sooner!

</comment></comment><comment><USER36> Neat idea. Once you have enough content, I think it would be beneficial to have location as one of the key values.

</comment><comment><USER37> > Good for junior devs

> 0 matches

Guess I'll just go to the sideline and wait until something actually populates that spot, if ever.

<comment><AUTHOR> They're coming! I promise :)

</comment></comment><comment><USER38> On mobile, when I click the number of matches on bottom right, I expect the screen to slide to the result section.

Good work

</comment><comment><USER39> I dont really get it. It seems like every company aspires to all of those values.

</comment><comment><USER40> What if my key value is money? Is there any hope for me after all?

</comment><comment><USER41> Its a little ironic that monetary compensation isnt on the list

<comment><USER42> Aren't there enough job sites out there focusing on exactly that? This looks to be someone trying to differentiate.

<comment><USER43> The reason why it is called a job and not a hobby is because those who do it expect money. The elephant in a room is money, not a company outing or 50 hour weeks.

<comment><USER42> A lot of people are willing to trade some of that financial expectation for a job they enjoy more whether it's because they can escape at 5pm or stay for regular team dinners, or for any of the other reasons on the site.

</comment></comment></comment></comment><comment><USER44> When I select multiple values, I expected the result to be companies which share all of those values, not all companies which share at least one of the values (which is what it does now).

</comment><comment><USER45> Plagued with millennial self-obsessed fluff. Ugh.

[https://youtu.be/Sz0o9clVQu8](https://youtu.be/Sz0o9clVQu8)

</comment><comment><USER46> I found this website to be excellent source material for the "PR Buzzword Bingo" (drinking) game.</comment>


Netflix: Non-'A' Players Unworthy of Jobs - <AUTHOR> http://slashdot.org/story/13/12/25/0242207/netflix-non-a-players-unworthy-of-jobs <comment><USER2> The best teams I've worked in has had A-players, B-players and C-players.

Some of the C-players were wild kids with potential, who needed mentoring.

Some of the B-players were people who were not motivated at all - some because they wanted money and the company didn't pay, some because they had been promoted upto their level of competence.

The best bit the A-players did more than anything else was to make the B-players competent & motivate them. They added in their abilities and sure, wasted a lot of time sitting in other people's desks. But the team of five or so around an A-player grew and prospered to become incredibly effective.

That was an awakening. That was when I stopped overworking myself to write tons of code and try to follow into the foot-steps of those A-players who became "force multipliers" in any team.

Knowing the people I admired, I feel like it will take another decade, at least.

<comment><USER3> I agree with most of your post, and the 'force-multiplier' aspect is important, however

The definition of A/B/C players is mostly subjective _and_ dependent on the company as well.

An excellent Java developer can suck at a Python house and vice-versa (probably will suck less, but still).

But, the main definition of "A-Players" seems to be people that will overwork themselves for the company

And for these I say: yes, I'm not an A-Player, sorry...

<comment><USER4> > An excellent Java developer can suck at a Python house and vice-versa > (probably will suck less, but still).

I've yet to meet an excellent developer who was only excellent in his language of choice. In my experience at least, almost all of the talents that make an A player an A transcend whatever language they're using and has far more to do with their ability to reason and hold an entire system in their head.

<comment><USER5> Then why do nearly all of the "A-player" organizations still require X years of language/framework-specific experience in their job postings?

</comment></comment></comment></comment><comment><USER6> What the heck is an "A-Player" or a "B-Player"? I think this is another American sporting term that has no place in the technology field, personally .. is it not discrimination wrapped up in a pop-cult package?

<comment><USER7> I see the answers given, and have to wonder if they know we are talking people and not slabs of warm meat.

<comment><USER8> USDA Prime beef won't complain when it's rewarded for the 60-hour work weeks with a firing.

</comment></comment></comment><comment><USER9> Firing once useful contributors is a failure of management. Managers should find a way to repurpose experienced employees and use their experience and knowledge of the company to greater mutual benefit.

<comment><USER10> Did you even read the original article? Even the part quoted above says:

> we had to be willing to let go of people whose skills no longer fit

If people's skills no longer fit, then by definition you cannot repurpose their skills. In the original article, the author explained Netflix's transition from DVD-over-mail to video-streaming-on-demand. I'm pretty sure there were quite a few people that were useful in the old business model and completely useless in the new one. The only fair thing in this case is to let them go, gracefully of course.

<comment><USER11> "If people's skills no longer fit, then by definition you cannot repurpose their skills."

A-players cannot learn new skills?

Basically, they want specialists and not A players[1] and then they discard and hire new specialists. Its HR checklistism disguised as elitism.

1) A players can learn new skills and still be A players. If they cannot, then they weren't A players.

<comment><USER10> I'm a programmer. I learned programming over the past 10 years. Take the best lawyer, doctor, or chemist, and I doubt that they can learn to be A player relatively soon (i.e. in 2-5 years). Even if they could learn programming, they would probably not be as good at it as they are at their own original skill. I'm sure it goes the other way round as well.

And after all, why would an A player _want_ to learn a new skill, if they can make a very good living using their present skillset (albeit in a different company)?

<comment><USER12> > why would an A player want to learn a new skill

Netflix is not giving those people a choice. They're firing them with no notice.

</comment></comment></comment></comment></comment><comment><USER13> This appears to be a repost of yesterdays; [https://news.ycombinator.com/item?id=6959269](https://news.ycombinator.com/item?id=6959269)

<comment><AUTHOR> Yes, I read the HBR post yesterday. But the reason I submitted this is (believe it or not) because of the rather cynical Slashdot commentary and links adding value, as well as the continued interest in employment and hiring trends on HN this week.

In the case of the latter, I'm not really sure why that's so. I suspect it may have to do with the fact that it's the end of the year and that is when a lot of companies do layoffs and firings, and an upcoming new year means some people are thinking about transitioning to new jobs or roles.

</comment></comment><comment><USER14> I'd have more confidence in a company that retained only "A-players" if the policy was applied to everyone up to the CEO. But I doubt we'll ever live to see the CEO of Netflix resign because the company isn't performing well enough. (If he ever gets fired by the board, it will only be after the company under-performs for a very long time.)

<comment><USER15> Heh. The attempted spinning of the DVD business plus the fee increases were a PR fiasco and cost Netflix huge amount of subscribers. Surely the CEO was off his "A game" and was fired accordingly.

</comment></comment><comment><USER16> Slashdot says it like it is. This made me remember why I liked it in the first place. Unlike HN where its mostly people who look to implement or have implemented such policies and so have no incentive to be harsh on Netflix.

</comment><comment><USER17> Everyone claims to hire "only A players." Alice interviews at TechCo, enters the interview anti-loop, and doesn't get an offer. Alice leaves while TechCo tells it's new hires "we only hire A players, you're the best of the best, welcome to the team." Alice avoids the anti-loop at MicroCo, gets an offer, and is told "we only hire A players, you're the best of the best, welcome to the team."

And the myth of only hiring A players perpetuates itself.

edit: grammar

<comment><USER18> I think the point of the article is that whether or not someone is an A-player is context dependent. Alice might not be an A-player at TechCo (for some reason e.g. the way they dole out projects) but is an excellent fit at MicroCo, where she is considered an A-player because she can work well in their context.

Whether or not this works in practice is obviously a bit iffy, since finding someone who fits exactly your context is incredibly difficult.

</comment></comment><comment><USER19> A, B && C players. First you categorise programming languages, next people. I thought this type of thinking died out in the late nineties, when people realised it was a load of shite.

<comment><USER20> As long as there's an asshole looking for an excuse to be an asshole they'll keep reinventing the same stupid shit.

</comment></comment><comment><USER21> Its amazing how different the Slashdot commentary is from yesterdays HN post...

<comment><USER22> The quality of /. comments section has been in a tailspin for years. so it's no great shock that the opinions differ by a vast amount.

<comment><USER23> There are many people who say the same thing about HN comments.

<comment><USER24> Everything in degrees, I suppose!

</comment></comment></comment></comment><comment><USER25> What I got out of it was that HR didn't want to micro-manage so they allowed employees and managers to think what was best for the company, rather than treating them like children. They gave them spending leeway and trusted them to spend it carefully. I think that was a good call.

They did let go a few people who they thought wouldn't be able to adapt but with a good severance. I'm halfway split on this one. Is this a general policy? Or do they re-purpose people who they think are capable of being re- purposed and letting go the rest of them? It's sad that this happens, but I'm not sure I'd blame Netflix. Maybe if we had a guaranteed living wage, then this wouldn't even be an issue :)

<comment><USER26> Unfortunately I think a lot of the tail functions in organizations (accounts ,HR building services) get delusions of grandeur and start trying to run the company instead of just doing what they are paid to do - disastrous PRP and stack ranking systems being some very good examples

As one "engineering" telecoms CEO told his building services director "world class telecoms companies dont have a head office in a F^%&*ing shed at Heathrow"

</comment></comment><comment><USER27> So if I put "A-Player" on my linked-in page I will get hired faster? Such an imbecilic way to divide up programmers. This definition is so open to multiple definitions it's totally useless. Everyone's idea of a good/bad programmer is radically different and likely a continuum. What matters in the end is the team you have doing what you need them to do. Calling people A, B or C is like trying to digitize an analog signal made up of multiple frequencies with 2 bits.

</comment><comment><USER28> Using a bad definition of "A-level performance" obviously makes the idea of only keeping A players sound like a bad plan. Individual performance evaluations should create incentives that are aligned to company incentives.

\- Evaluating performance based on effort fails to incentivize output totally; a high performer who works 9-5 is foolishly ranked underneath a mediocre performer who stays overtime: the mediocre performer will be around forever-- the high performer will find a better job.

\- Evaluating performance based on high quantity of output without regard to long-term viability (quality) of the output incentivizes reactionary behavior and leads to technical debt: over time, even your high performers won't be able to produce good output in a timely fashion because there is nothing sound to build upon.

If the incentives are aligned, "performance" at an individual level means increasing performance of the team and company, and involves the quantity of high-quality output (ignoring low-quality output) and the degree to which an individual enables the rest of the team to produce high-quality output.

I think the Slashdot comment totally misses the mark on how Netflix defines performance.

</comment><comment><USER29> I don't know if aggressively firing low performers is a good strategy, but it has zero bearing on the economy as a whole, or H-1Bs.

 _All_ tech companies would gain if they were allowed access to cheaper labor, regardless of their HR strategy. And all companies would prefer better employees over worse, regardless of whether they prefer to achieve this in the hiring stage or by firing people later.

</comment><comment><USER30> A friend of mine is a director at Netflix. He was explaining to me that compensation vs retention are different conversations there.

They want to pay people market+ for A players, but if you're not at the level expected, you'll be let go if you don't get (back) to that level.

So a conversation shouldn't (but sometimes does) go from "we shouldn't give her a $25k raise, {s}he hasn't been doing well enough" to firing her for not improving.

On the other hand, no one is supposed to be confused about where {s}he stands with respect to performance and improvement.

</comment><comment><USER31> Let the A-players clean their own toilets.

</comment><comment><USER32> Claiming to hire only 'A' players is probably much more important for successful hiring than actually doing it. It seems to be en vogue suddenly to claim to have only the best people. Is that really such a sought-after attribute of companies for people who are looking into new tech jobs?

</comment><comment><USER33> Im a member of the A-Team. I have a certificate from 1985 to prove it...

<comment><USER34> I pity you, fool.

</comment></comment><comment><USER35> I think this is totally OK. Pay me 10 dollars a minute, and I will surely understand when I will be let go because I am not fully adequate for your current purpose anymore.

</comment><comment><USER11> How does new, disruptive technology enter the company if the consequence of such technology is hiring new A players and firing the existing A players?

</comment><comment><USER15> I'm interested to read about the rating system they use to differentiate A players from others.

</comment><comment><USER20> You know who talked a lot about being A players who only hire A players?

The Bush administration.

</comment><comment><USER36> I no longer believe in A/B/C players. It's an excuse, as many have mentioned, of poorly managing a dysfunctional team.

Are there people at companies that shouldn't have been hired, or should be fired? Sure, but that doesn't mean you can't take a team of differing skill- set individuals and make great products.

When your product is iterating rapidly, you may suddenly find that your crack team of javascript developers suddenly needs to analyze an sql execution plan. The best guy on the team for the job probably isn't the smartest guy, it's the one whose dealt with these sorts of issues before.

A team learns from each other.</comment>


Ask HN: Do you need an angle/USP to start a successful business? - <AUTHOR> Is a unique selling proposition absolutely necessary to create a successful business? if so, why or why not? <comment><USER2> There are a lot of successful businesses whose "USP" is "we're local" or "we're friendly" or "we're open and we have the thing you need."

Does McDonald's have a USP? Ford? Target? Exxon?</comment>


Show HN: Minimum Viable Bash Prompt - <AUTHOR> https://github.com/chkhd/bash-prompt <comment><AUTHOR> I do not need 99% of what things like bash-it or oh-my-bash do so I made this simple prompt. If you like it enjoy :)

</comment><comment><USER2> Neat, I work on AWS all day so my main concern is "Which system am I on, DEV, QA, PROD?", so I modified my prompt to tell me that. Git status would be a cool addition too.</comment>


PinLater: An asynchronous job execution system - <AUTHOR> http://engineering.pinterest.com/post/91288882494/pinlater-an-asynchronous-job-execution-system

<comment><USER2> Would be nice to know why RabbitMQ/ZeroMQ didn't fit the bill [scale/speed?] -- I can somewhat understand the not relying on SQS but then there is anyways a reliance on EC2 right ?

<comment><USER3> I thought the same thing about Rabbit. PinLater's ACK system feels like a questionable reinvention of AMQP. I'm probably missing something.

Rabbit's advertised throughput doesn't reach 100,000/sec, but you should be able to shard your way around that. Or use Apache Kafka, which has the sharding built in.

<comment><USER4> Looks like they needed to have built-in support for time based scheduled execution of jobs at a specific time in the future. Rabbit MQ does not have that (that I'm aware of) without doing some horrible hacks around one queue per message.

<comment><USER5> ActiveMQ's had that for a couple of versions though. Another highly performant/available, atomic, consistent, durable and mature queueing server.

</comment></comment></comment></comment><comment><USER6> I would be interested if anybody could do a comparison between that PinLater and Celery. Feels like there is a bit of NIH involved, unless it's the 100K/sec rate is not something that celery could realize and PinLater can.

<comment><USER7> I have yet to dig deeper, but the fact that it uses Thrift and already has worker implementations in C++ and Java is a huge plus. Celery is a Python lock-in and makes it non-trivial to split your enqueue code and worker code. Celery on the other hand, since it is Python all the way down, let's you orchestrate the execution of dependant tasks. In my experience these features contribute to a more complex codebase that is harder to maintain, test and understand.

Celery has flexibility for message backends, but prefers RabbitMQ which comes with its own operations overhead, and does not have real horizontal scaling built in (it has failover techniques). RabbitMQ is great for mission critical messaging that survive system restarts.

My biggest worry is relying on Redis or MySQL. What happens if workers stop consuming tasks, wouldn't that balloon the redis memory consumption pretty quickly? I suppose memory consumption is a factor of load and task bytesize. MySQL on the other hand feels like the wrong tool for this job.

<comment><USER8> Celery can very well handle 100k tasks/sec. Celery is not locked in to Python, but you are right it's not a drop in solution for other languages as it doesn't support them natively (yet, but that will change soon).

You can write simple workers for Celery in other languages too, and there is one in active development for Java. But then Redis is not really a good choice, AMQP is more convenient for interoperability.

Have no idea if pinterest evaluated Celery, because they have not been in contact. If they did there are several pitfalls they could have gotten wrong at this scale, but I'm pretty confident it would have been more than suitable. It could have been a benefit for all of us and chances are they have underestimated the effort needed to maintain a custom solution.

</comment></comment></comment><comment><USER9> Thanks all for the comments about the PinLater post - great to see this discussion! Wanted to clarify a few things:

* Yes, we did evaluate a few open source solutions before deciding to build in-house. We couldn't at the time find any solution that met all the requirements that we had: scale, scheduling jobs ahead of time, transactional ACKs, priority queues, configurable retry policies, great manageability (e.g. ability to rate limit a queue online, inspect running jobs, review failed job stack traces). [update: also support for clients/jobs in multiple languages: Python, Java, Go, C++]

* Note that we were building a v2 system. Not improving substantially on the existing system on multiple dimensions would not quite make it worth the cost of doing large scale migration of tasks. We _had_ to meet all the requirements, could not compromise on missing a few.

* Sorry I didn't mention explicitly in the post, but we _do_ plan to open source PinLater, hopefully later this year.

Happy to answer any other questions or specifics!

</comment><comment><USER10> Gearman is a very simple queue that is even easier than RabbitMQ (in my opinion). You create worker threads, and submit jobs to the server. The server sends the job to a worker thread, handles re-queuing it if it fails, etc..

Basically these guys 'invented' the queue.

Also, the problem of acknowledging success without blocking can be solved without queues - by programming in async environments like NodeJS

<comment><USER11> > handles re-queuing it if it fails

kind of. It only re-queues if you drop the socket, I believe. Just sending an error status will not have the message re-queued sadly. I've looked into this, but everyone seems to be doing that manually.

</comment></comment><comment><USER12> Sounds like a perfect fit for beanstalkd[1]. It has scheduled jobs, explicit ACKs, priority and some other nice features (time-to-run, write ahead logging, job burying/kicking, queue pausing).

We have been using for years to process 1+ million/jobs per day without a single issue.

[1] [http://kr.github.io/beanstalkd/](http://kr.github.io/beanstalkd/)

</comment><comment><USER13> The ZeroMQ position on why brokers like this may not be a good idea: [http://zeromq.org/whitepapers:brokerless](http://zeromq.org/whitepapers:brokerless)

<comment><USER14> I was waiting for the big reveal of the solution, but it was this:

"While traditional messaging systems tend to use one of the models described above ("broker" model in most cases) ØMQ is more of a framework that allows you to use any of the models or even combine different models to get the optimal performance/functionality/reliability ratio."

</comment></comment><comment><USER15> Is this open source?

<comment><USER16> It doesn't look that way - it's not mentioned in the blog post neither on Pinterest's Github page.

Therefore, I don't really understand the purpose of this blog entry. Yay, they built something. What's the use, if it's not published and usable for others, too?

<comment><AUTHOR> The plan is to work on open sourcing it later this year.

</comment></comment></comment><comment><USER17> at my old job, we were using qless and storm. as much or as little guaranteed processing as you want</comment>


Show HN: Journal – Command line utility that creates a daily journal entry - <AUTHOR> https://github.com/davidkneely/journal <comment><USER2> It'd be cool if this pushed to slack or something like that or anywhere really. Like a daily commit.

Sort of like what hakka logs used to be:

[https://www.hakkalabs.co/logs/](https://www.hakkalabs.co/logs/)

"Log anything that has to do with building software or a software business. Are you learning a new language? Log it. Debugging that side project? Log it. Adding features to your killer startup? Log it. Be as specific as you like. The more specific you are the more specific your matches will be."

<comment><USER3> "Used to be?" Sorry, this is the first time I've heard of it. What changed from before?

</comment></comment><comment><USER4> It's nice to automate stuff. Since you use vim, here's a different approach to the same problem -- use a vim skeleton file -- [http://vim.wikia.com/wiki/Use_eval_to_create_dynamic_templat...](http://vim.wikia.com/wiki/Use_eval_to_create_dynamic_templates)

</comment><comment><AUTHOR> I like to write up my tasks in a journal entry. Thought I would automate the process and have a bash script create my journal for me, open it in vim and let me start writing for the day.

</comment><comment><USER5> Great work @davidkneely</comment>


Apple's Growing Arrogance - <AUTHOR> http://reinventedsoftware.com/blog/2007/09/29/apples-growing-arrogance/ <comment><USER2> I think apple quality control has gone downhill in the last few years. I've been an apple customer on and off for a long time. And I've been totally on the day they went back to OSX.

1) The wireless on my MBP has been an on and off disaster. When I first got it, wireless transfers from machine to machine were way slower than my old PBK. When I click the wireless signal button to choose a network it takes a full second+ for the networks to show up. Used to be instant. Their latest wireless driver (their 4th version!) dropped me from my network every 15 minutes requiring an archive install to get back to the last version. Wireless on my PBK was NEVER a problem at all.

2) I got the airport express for my parents a few years ago. It almost never worked. The music would incessantly drop out and no amount of network settings tweaking would fix it. Magically in Tiger the problem disappeared.

3) When the latest airport extreme came out I HAD to have the airdisk feature. I've had an old G4 tower as my file server and itunes repository for a while and it was annoying to move around. But my recent experience taught me to wait. I routinely monitored the forums and it turned out that the airdisk wasn't even close to ready for prime time. Hundreds of messages were posted about dropouts or their disk not even working at all. It took two firmware updates for the forum complaining to subside. I now have it and it works but...

4) If I leave my house w/o dismounting the network drive, the machine hangs for a full minute before it says the drive was disconnected. 30% of the time I wait two minutes and have to hard reset. On my PBK it was a consistent 15 second wait w/o ever having to hard reset.

Perhaps there is something rotten with the wireless engineers at apple. But really a bit of testing should have smoked these problems out. It used to be unusual for something to come out of apple so rough around the edges.

As for the iPhone, I really love mine. I haven't had time to play with the hacks and I'm glad I didn't. But I went to the iphone hacks sites yesterday and saw how prolific the extra apps had become. This phone only came out a few months ago and they have lots of useful apps with mature package management systems. It was sad to see such a promising developer community squashed at the dawn of its life.

<comment><USER3> Yeah, you might have those problems, but believe it or not, Apple's quality control has actually gone up.

I had a 400MHz Titanium Powerbook back in 2001, and by 2003 it was a 1Ghz PowerBook G4 due to the seventeen times I had to send in various computers that were replaced. One of them even melted ([http://gizmodo.com/gadgets/laptops/another-melted-g4-mac- lap...](http://gizmodo.com/gadgets/laptops/another-melted-g4-mac- laptop-231620.php)). So with my MacBook Pro having only a few minor problems (the power button has fallen inside the case, and the isight randomly stops working), I'd say the quality has improved significantly.

The networking systems in the Finder are so bad that when I use Vista, I actually breathe a sigh of relief that I can "map" network drives and have automatic discovery. Leopard somewhat fixes this, though.

As far as the iPhone debacle, I'm really amazed at how poorly Apple is handling the situation. Maliciously destroying their products and punishing their most geeky customers is retarded. Those geeky customers are the ones the non-geeky potential customers go to for advice. Hasn't Steve Jobs read The Tipping Point? When you've pissed off Brian Lam, you're really in trouble.

</comment></comment><comment><USER4> iBrick is certainly going to backfire - the arrogance due to brand power is going to have a negative halo effect and it may be too late for apple to un- do. I don't understand why apple went for a single vendor (at&t) distribution, i would have never done that, instead i would have used my strong brand power to distribute unlocked iphone thru multiple channels like walmart, costco, bestbuy etc. , this way customer would have got the power to choose their service provider - giving customer the power is always the biggest business benefit/wisdom in long and short term - if apple can hold the position against Hollywood for selling a song for 99c then they can do the same by selling unlocked iphone ... customer who don't want to use iphone as a phone device can still buy it to use it for playing music, video, surfing internet etc. I think this would have been a win-win situation ....

<comment><USER5> Everyone loves to play Apple iCEO; yet, few ever do a good job at it.

1) Apple went with AT&T because running a phone business is pretty tough. Apple focuses on making hardware and software.

2) That said, concessions have to be made. AT&T wants to sell usage and service. They paid an exclusive to do that.

3) The Phone business isn't like the music business which also coincidently isn't like the TV/movies/video business.

4) iPod touch.

<comment><USER6> Apple just played nice with the carriers, and screwing the customer even more. You paying FULL price (%200 markup from apple), for a device with a CONTRACT. At least most other phones come cheap/or free with a two year contract. This just made more money to apple.

They didn't change anything on the mobile space. The only thing was a pretty UI, that's pretty lame.

I can't wait for Google Phone. It is said that it will be powerful, but cheap, and sold open (independent from the carriers), just like most phones in europe. That would be a game changing phone.

<comment><USER3> You mean Steve Jobs didn't pound it into your head by saying it 50 times at Macworld? The iPhone isn't a phone. It's a "revolutionary phone," an "amazing ipod," and an "internet communication device."

Also, it's not just a pretty UI. It is a pretty UI, but it represents a complete change in mobile device interaction. They took touch technology and they did it right for the first time. That's definitely a shift in the paradigm, and it will certainly change the mobile space forever.

Also, by introducing the first usable/decent web browser for mobile devices, they've hopefully inspired other traditionally crappy companies like Nokia and SonyEricsson and Palm to do the same. Man, I hope so.

<comment><USER6> Actually the LG Prada was out in Europe before, and it is touch screen device, similiar screen size, and with a pretty UI. Not as nice as the iPhone, but 80% close. What iPhone made, is people demanding pretty UIs from all their phones, which is a step on the right direction. Still, there are plenty of things that you cannot do with the iPhone.

But as far as businnsess paradigm shift, iPhone has been a disapointment. Look at the latest update, it bricks your unlocked device, cannot do song to ringtone convertion, (you can with many european phones), etc. etc. Either ATT has Apple by the balls, or Apple just doesn't care at all for the user, and tries to screw them as much as they can.

<comment><USER3> Have you ever used a Prada? It's not nearly as cohesive an experience as the iPhone, and it's not easy to use. The screen is far too touch sensitive. My point is, the iPhone is the first practical touch device, and it's the phone that will mark a paradigm shift-- the Prada would never cause a change like that in the industry. LG is simply not a respectable company, especially in the US where they sell the crappiest phones on the market.</comment></comment></comment></comment></comment></comment>


HTTP status codes. And dogs - <AUTHOR> https://httpstatusdogs.com/ <comment><USER2> Missing the handy "API" and swanky TLD usage of [http://http.cat](http://http.cat)

</comment><comment><USER3> If ⌘-F/Ctrl-F worked, it would be perfect (though numerical orders does mitigate that). Single reference page...and dogs. I don't need a full page of in-depth explanation for each status, I just need a quick reminder of what 418 is.

</comment><comment><USER4> they don't do humor here, i guess its against regulations ;-)</comment>


The Roots of Lisp - <AUTHOR> http://www.paulgraham.com/rootsoflisp.html <comment><USER2> For nearly two decades I was a diehard LISP advocate. I even forced all my programers to code three Crash Bandicoot and four Jak & Daxter games in custom LISP dialects that I wrote the compilers for (an article on one here [http://all-things-andy-gavin.com/2011/03/12/making-crash-ban...](http://all- things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/)).

But by the mid 2000s I started doing the kind of programming I used to do in LISP in Ruby. It's not that Ruby is a better language, but mostly it was the momentum factor and the availability of modern libraries for interfacing with the vast array of services out there. Using the crappy unreliable or outdated LISP libraries -- if they worked at all -- was tedious. Plus the LISP implementations were so outmoded. It was very hard to get other programers (except a couple enthusiasts) to work that way.

Ruby struct a decent compromise. And it's type system and object model are better than CL anyway. The syntax is more inconsistent, and the macro model nowhere near as good. But it turns out. Libraries and implementation matter a lot. Still, you can feel lots and lots of LISP influence in all the new runtime typed languages (Ruby, Python, etc). And 30 years later, listeners still rule!

<comment><USER2> Thanks for all fan love :-)

One of the interesting things about LISP is that it's actually a pretty easy language to parse, interpret, and compile. This isn't actually an accident as the S-expression syntax I'm sure was initially chosen for it's machine regularity (in those early days of underpowered machines). Newer languages are syntactically much more complicated. Ironically most normal programmers, being human, seem to find the more complicated syntax easier and the "simple" S-expression syntax confusing (being backward much of the time to normal human convention). I always found it unambiguous, but go figure. It's also precisely this regularity that makes the awesome macrology of LISP possible. In Ruby you can manually build up strings and feed them into the interpreter, which is equivalent to simple backquote. But you can't do the kind of cool nested constructions that are trivial in LISP.

<comment><USER3> Its really not about the syntax. Its about writing in AST. Availability of large set of libraries. And especially I find it very difficult to use it for my day to day uses(Places where I use Awk, sed and Perl) or in other words everyday practical needs.

I still don't know _How to start learning lisp_ as a beginner and _use it for my day to day needs_?

I don't think anybody today has the time to study the science behind lisp and then see where its useful to them.

We want some thing that we can browse through and straight away go and use _now_!

Is there a recipe book?

<comment><USER4> I don't know about recipe books, but for a general introduction I've found Conrad Barski's _Land of Lisp_ to be very good and loads of fun, although the commentary gets a little triumphalist at times. You can grab it through NoStarch or Amazon iirc.

</comment></comment></comment></comment><comment><USER5> PG: "It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them."

We lost founders of both in the last couple weeks. Ritchie for C, McCarthy for Lisp.

What's cool about the paper Paul is talking about here: if you start with car, cdr, cons, quote, cond, atom, eq, and a notation for functions expressed as lists, you can write an "eval" function reimplementing the language. The rest can be built on top of it.

Graham calls this an "axiomatization of computation". The notion of a Turing machine was already well known before McCarthy's paper, and is its own fundamental description of computation. Then came this high-level language which constitues a new one. It isn't "THE axiomatization of computation", just "AN axiomatization of computation".

PG continues the story in a later essay, "Revenge of the Nerds":

"What happened next was that, some time in late 1958, Steve Russell, one of McCarthy's grad students, looked at this definition of eval and realized that if he translated it into machine language, the result would be a Lisp interpreter."

"This was a big surprise at the time. Here is what McCarthy said about it later in an interview:"

"'Steve Russell said, look, why don't I program this eval..., and I said to him, ho, ho, you're confusing theory with practice, this eval is intended for reading, not for computing. But he went ahead and did it. That is, he compiled the eval in my paper into [IBM] 704 machine code, fixing bugs, and then advertised this as a Lisp interpreter, which it certainly was. So at that point Lisp had essentially the form that it has today....'"

"Suddenly, in a matter of weeks I think, McCarthy found his theoretical exercise transformed into an actual programming language-- and a more powerful one than he had intended."

<http://www.paulgraham.com/icad.html>

Pretty cool story :)

<comment><USER6> There are more clean, consistent and interesting models of programming besides the C and Lisp models.

The Ml/Haskell family of languages. Logic languages (though these are somewhat subsumed by the former). Dependent-type languages.

<comment><USER7> TILs such as forth.

Smalltalk.

What family does APL belong to?

<comment><USER8> Certainly its own family, along with its successors J and K.

<comment><USER6> You could argue those languages are not very clean, at least syntactic-wise.

<comment><USER9> Don't confuse having lots of operators with being unclean. They're syntactically more internally consistent than Common Lisp, for example.

</comment></comment></comment></comment></comment></comment><comment><USER10> [http://www.cs.uni.edu/~wallingf/blog-images/code/jmc- lisp.sc...](http://www.cs.uni.edu/~wallingf/blog-images/code/jmc-lisp.scm)

</comment><comment><USER11> "As computers have grown more powerful, the new languages being developed have been moving steadily towards the Lisp programming model. A popular recipe for new programming languages in the past 20 years has been to take the C model of computing and add to it, piecemeal, parts from the Lisp model[.]"

Hey! That's what I think, too!

Around 2007 when I'd had quite a bit of exposure to both Python and then Ruby I'd started to think the same thing. Although I didn't have the foresight to say it in a public essay I would tell my friends "In five years Javascript will start to become a popular general (i.e. non-web only) programming language and Lisp in 20."

I now think think the big Lisp (or Scheme) event will happen even sooner--say in 5 to 7 years. (Meaning you will see the kinds of articles you see around Node today on HN about Lisp.)

</comment><comment><USER12> spanish translation [http://codigomaldito.blogspot.com/2008/02/las-rases-de- lisp....](http://codigomaldito.blogspot.com/2008/02/las-rases-de-lisp.html)</comment>


Show HN: DiagramJS – Create beautiful node diagrams and graph in JavaScript/TS - <AUTHOR> https://github.com/graphql-editor/diagram <comment><USER2> congrats on the launch.

a small UX suggest, after I register and ready to start a new project, the form is requiring me to enter a Namespace.. but when I click to create one, I get your modal pricing roadblock.

Perhaps it's better to just allow users to go through a frictionless new project flow?</comment>


Charlie Shrem: Only Bitcoin Would Survive a Nuclear Holocaust - <AUTHOR> https://www.btcwires.com/c-buzz/charlie-shrem-only-bitcoin-would-survive-a-nuclear-holocaust/ <comment><USER2> Delusional. Bitcoin can't survive now. Does anyone think power-hungry crypto nodes will survive and get priority for electricity after a real disaster?

</comment><comment><USER3> Unless there was no electricity...

<comment><USER4> Indeed, this also seems to be a (poor) summary of a more detailed article and gives very little in the way of answers as to why it would survive</comment></comment>


Terry Tao on how to compute non-converging infinite sums (2010) - <AUTHOR> http://terrytao.wordpress.com/2010/04/10/the-euler-maclaurin-formula-bernoulli-numbers-the-zeta-function-and-real-variable-analytic-continuation/ <comment><USER2> String theory likes this math because it assumes that there is a curve to the sum, it will get smaller eventually. This helps make the "vibration" part of sting theory work.

But just because you can prove something with math doesn't mean it is "real".

We all know that if you add any number of positive integers you get a positive integer. This is very "provable".

The two are in contradiction. The sum of all natural numbers can't be 1/12th if the sum of any two positive integers is another positive integer.

<comment><USER3> We all know that if you add any number of rational numbers you get a rational number. Yet the sum of an infinite number of rational numbers can be irrational (eg equation 2 in the article). Contradiction?

<comment><USER4> Not sure that's any less intuitive than getting a rational number from an infinite sum of integers, or a negative number from an infinite sum of positives. It is indeed a paradox until you rigorously define what you mean by "infinite sum", which is the whole point of the article :)

</comment></comment></comment><comment><USER5> The non-converging sum 1 + 2 + 3 ... = -1/12 has applications in Bosonic String Theory, interestingly enough [http://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B%...](http://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B%AF)

<comment><USER6> The non-converging sum you have mentioned is also called Ramanujan Summation.

</comment></comment><comment><USER7> Wonderful article, though I got slightly distraught once he got through all that hard math only to state essentially that it would get more interesting below the fold.

I used to understand some of that (Taylor and Maclaurin series). I think the "Integral Test" had been my high-water mark, it's amazing to see how much further the mathematical concepts can be carried.

</comment><comment><USER8> There's a wonderful proof of this on Numberphile's channel here: [https://www.youtube.com/watch?v=w-I6XTVZXww](https://www.youtube.com/watch?v=w-I6XTVZXww)

<comment><USER9> Warning, prolix rant ahead.

I actually think that video is awful and it certainly doesn't illustrate what Terry is illustrating in his blog post. Rather, the video goes through a bunch of non-rigorous symbolic manipulations which ends with the author writing down the sequence of symbols "1 + 2 + 3 + ... = -1/12".

However, unless one says precisely what one means by "+", "...", and "=" — which Terry does — then we have no way of really saying whether the steps taken to reach the so-called "conclusion" are valid or not. What's more, just because the same sequence of symbols appear in both the video and Terry's blog post doesn't mean they represent the same thing or have anything to do with each other at all.

Put another way, if you and I reach the same conclusion, but you do so rigorously and I do so speciously, that doesn't mean I've proven the same thing as you have.

For example, in the video, why are we allowed to add together two infinite series term by term in the way they describe? It seems "natural," I know, but if that's natural, why can't we also, say, group the addition differently or rearrange the terms? After all, a + (b + c) = (a + b) + c and a + b = b + a, no matter what a and b are. Why can't we write

      S = 1 - 1 + 1 - 1 + ...

as

      S = (1 - 1) + (1 - 1) + ...

If we permit ourselves to do that, well, suddenly the sum "appears" to be 0 and not 1/2\. BTW, if you want a somewhat-more rigorous reason for why the sum "should be" 1/2...

          S = 1 - 1 + 1 - 1 + ...

      So then

      1 - S = 1 - (1 - 1 + 1 - 1 + ...)
            = 1 - 1 + 1 - 1 + ...
            = S

      which implies S = 1/2

We're not proving that S = 1/2 here, though. We're proving this statement: if it makes sense to talk about S and we're permitted to do the things we just did to S then S = 1/2.

Terry knows all this, of course, which is why he says, "If one _formally_ applies (1) at these values of {s}..." That word "formally" is key here. To a mathematician "formally" means "in a purely symbolic manner without considering whether there's a sensible or consistent way of interpreting these symbols."

So, Terry is saying, "If we treat these sums as purely symbolic entities then when we substitute in s = -1 we get a the purely symbolic statement 1 + 2 + 3 + ... = -1/12." He then goes on to illustrate ways we might make sense of this purely symbolic (formal) sum.

The video, however, is no "proof" of anything at all. It's just a shell game with symbols on a page, relying on people's vague intuition about what we're allowed to do with numbers. Just because the symbols in the video include those we typically take to represent numbers and addition doesn't mean they actually do.

<comment><USER8> Thanks for the correction. I'm most definitely a layman when it comes to infinite series. A couple of things gave me confidence in this video: the result is presented in the string theory text and there's another video demonstrating the same result using Riemann Zeta functions (so it must be legit :)).

I sympathize with your frustration at the lack of rigor but isn't this kind of like taking pot shots at a middle school physics textbook for not covering Lagrangian mechanics?

<comment><USER9> No. While it's true that ζ(-1) = -1/12 and that the ζ function plays an important role in physics, your reasoning is fallacious.

If X implies Y and we know that Y is true, that does not mean X is true. So just because the video reached a "correct" conclusion does not mean that the means by which they reached that that conclusion are sensible or even consistent.

If I threw a dart at a dartboard labeled "What is 1 + 2 + 3 + ...?" and it landed on the section marked "-1/12", would you believe my answer? Would the fact that it happened to land on "-1/12" and also agreed with the ζ function lend credibility to my dart-throwing method of proof?

Indeed, if I encapsulated the methods used in that video, I could use those methods to have 1 + 2 + 3 + ... turn out to be any number I choose. This is the problem with specious reasoning — one can use it to reach _any_ conclusion.

</comment></comment></comment></comment><comment><USER10> I didn't read or listen to the OP, but 1+2+3+ ... = infinity, using infinity + k = infinity, then k=0 for any k, then -1/3 = 0 = Whatever, then like Bertrand Russel said, I am the Pope since 2=1 and the Pope and I are two people.

<comment><USER11> [https://news.ycombinator.com/item?id=7083272](https://news.ycombinator.com/item?id=7083272)

</comment></comment><comment><USER12> The first time I read this title, I read Terry Tate ([http://www.youtube.com/watch?v=RzToNo7A-94](http://www.youtube.com/watch?v=RzToNo7A-94)). I thought "woah, triple-T is really changing careers!"</comment>