Why can't you find a job with a Stanford computer science Ph.D? (2013) - <AUTHOR> http://lemire.me/blog/archives/2013/09/23/why-cant-yo-find-a-job-with-a-stanford-computer-science-ph-d/

<comment><USER3> One challenge with the PhD->CS Industry sidestep is that PhD candidates are extremely picky about the kind of jobs they're willing to accept, and many companies are suspicious of the value/cost ratio of a fresh PhD.

If you're a graduating PhD headed into academia, you will be the boss of your group, with almost nothing above you in the org chart telling you what to do. So it is natural for a PhD headed into industry to start from a place of expecting the same---from their perspective.

But from the perspective of industry, the PhD's value isn't judged the same way. They've just spent six years doing research, not shipping code. Their management experience is managing students and classrooms, not employees.

So this mismatch results in a perception of "I'm being undervalued!" from the perspective of the PhD and "He's overvaluing himself" from the perspective of the company.

If the student and company don't have high social IQ to navigate this situation, I can see how it would result in no offers being made.

Source: I've made hiring decisions about PhDs when I worked in industry, and now I'm a graduating PhD student going back into industry, so I can see it from both sides.

<comment><USER4> > If you're a graduating PhD headed into academia, you will be the boss of > your group, with almost nothing above you in the org chart telling you what > to do.

Uhhh... what? Where did you get your PhD, and what did you do after? Most graduating PhDs end up in a research group as postdocs, with everything above them in the org chart. Even if you get a tenure track job right after graduating, you'll still have to answer to a lot of people.

<comment><USER3> This is dependent on what field you're in and where you graduate from, of course. CS is less heavy on postdocs [1] and I'm biased by only having had the experience of top-tier schools.

As a tenure track professor, you don't really answer to many people. You have to beg for money (grants), constantly prove yourself (publications), and always be recruiting (students). Of course you also have to teach classes, do community service, and participate in department politics and initiatives. I'm not counting these as "answering to people," however, because _none_ of them involve someone telling you to do something. They're all activities you must decide to do yourself, and then it's completely up to you how to do them. Is this what you meant by answering to lots of people, or something else?

The relevant academic joke is: "It's the best job ever! You can do whatever you want with your 80 hour weeks!"

[1] In CS, from my experience, postdocing is usually a 1-year "reset your brain" time before taking an academic job. I know in other fields it's often a mandatory many-year grunt-work experience.

<comment><USER4> > Is this what you meant by answering to lots of people, or something else?

Yes, this is what I meant. I dropped out of my PhD (CS as well), but when I was a student my advisor (who was still an assistant professor at the time) was spending most of his waking hours in department meetings, writing grants, finding a way to make $RANDOM_OLD_PROFESSOR happy, and so on. To me it seemed very much like he had 10 million voices telling him what to do (of course he got to choose what he would actually do and what he wouldn't, but it didn't feel to me like he was much more "free" than he would have been in an industry job).

</comment></comment></comment></comment><comment><USER5> I'm a PhD in industry, and interview many candidates. Their attitudes and expectations are irrelevant to me. I only try to answer one question when interviewing: can they actually program a computer to do something non- trivial?

I've seen a lot of PhDs whose answer is "no." They didn't build that skill, and they do poorly in interviews. They may have weaker skill than they did before they started their research. All the other knowledge they have is irrelevant if they can't express it in code for a computer to run.

It's not like there aren't a lot of CS PhDs in industry, they're usually just quiet about it.

</comment><comment><USER6> OK, here is the answer why he couldn't get a job. It makes sense to me. I am quoting comment #6 from the original blog post: [http://lemire.me/blog/archives/2013/09/23/why-cant-yo- find-a...](http://lemire.me/blog/archives/2013/09/23/why-cant-yo-find-a-job- with-a-stanford-computer-science-ph-d/)

BEGIN_QUOTE "...It's worth noting that he has a CS PhD but his research was in biomechanical simulation.

He then applied to a bunch of Product Management jobs without any industry experience. Nothing about him suggests he'd be a better candidate for an entry level spot than the typical BS-CS. The bit about 47k users is not really all that relevant to anyone hiring for a PM position in the Valley. He's definitely nowhere near a live candidate for anything past an entry level position.

Regarding programming jobs, he's definitely not all that interesting a candidate on either the data science or systems front. He should have been able to get a job _somewhere_ but that would strictly be off potential as opposed to anything relevant.

I'm not entirely clear on what he expected, given the skills he focused on during his PhD.

For context: I also went to Stanford, did some biomechanics research and then had to do a fair bit of resume rehab to be employable. Spent big portions of the last 5+ years actively hiring engineers for various places I've worked. I'm surprised it took him a year, but was less surprised when I read about the jobs he went after..." END_QUOTE

<comment><USER7> I guess the root of the problem is a mismatch in expectations. The PhD thinks his PhD puts him a notch above people with merely a Master's, therefore he must be ready for management. The industry sees him as someone with talent, but fresh out of university, with no industry experience. First get some experience on how projects are run before you expect to manage them.

</comment></comment><comment><USER8> There is such thing as being over-qualified for many jobs. Just because you have the degree doesn't mean you are skilled enough to warrant the type of pay someone with a PhD would demand.

Social skills or management skills could be lacking, past work experience could be lacking, the person might not be good at finding the jobs which are obviously out there because programming skills are very desirable right now.

When applying for a job sometimes you have to sell yourself and make the company know that you can provide value and won't slack off after being hired. This isn't always easy, just a degree doesn't mean jack shit.

The education system is partially to blame. Spending almost 20 years at a desk being "taught" (pushed through) doesn't seem like the most effective way to prepare someone for life. People need experience and variety. Social skills, organization, self-motivation, and loyalty are all skills that are extremely important but are hard to learn in the current educational environment, at least in my experience.

<comment><USER9> Plus, simple like-ability is a huge factor. At least in organizations where the people you would be working with or directly for are involved in the selection process.

"Do I want to spend all day with this person?" is a completely valid question when interviewing the person who will be at the desk next to yours all day, every day.

That isn't to say that people with PhD's are any more or less likely than anyone else :D just that there are numerous non-education related factors that can factor heavily in hiring decisions.

</comment></comment><comment><USER10> Why are we even discussing this?

I remember reading Chand's blog post when it was first written and found it unbelievable. First of all, it doesn't even _try_ to find evidence of a so- called "PhD-Industry Gap" beyond his own personal experience. This rehash, written a few days later, doesn't try either. Is there any actual evidence for the claim that industry doesn't want CS PhDs?

As someone with a CS PhD from a top school, my own anecdotal evidence is that there are lots of companies, both established and startup, who are interested in such people for programming positions. I'm with the professors and industry veterans who found Chand's story incredible. Either he was extremely unlucky or, more likely, there was something else going on with him personally that turned off these companies.

<comment><USER11> Anecdotal evidence is useless.

The truth is, to learn any information about the usefullness of a PhD you need a proper study following the life of a group of people with CS PhDs, and a control group without CS PhDs. And then, what is "usefullness" anyway? net worth? happiness?

My theory is that, like most professions, you are born a PhD. If you are not one, then don't waste time getting it. You'll be miserable.

<comment><USER10> I don't think anecdotal evidence or non-controlled studies are useless, but they do have their limitations. In this case, though, the original article is laughably bad. To quote:

"As a scientist, I had already been gathering data about that question. Each time I was rejected from a job, I asked the companies for reasons."

From this "data" the conclusion was made that there exists some sort of "Ph.D.-industry gap".

<comment><USER11> Heh. The conclusion should be "I have some sort of Ph.D.-industry gap"

</comment></comment></comment></comment><comment><USER12> Everything about this article seems hand-wavy and just...wrong. I don't mean to paint with a wide brush but as someone in "the industry"(and in SV) I have to guess that there is something else at play here if someone with a Stanford CS PhD really had this much trouble finding a job in 2014.

<comment><USER13> Very few folks in the industry want to hire a PhD because they are a) expensive b) often know-it-alls with little practical experience churning out boilerplate code which is the majority of positions.

Now, you can hate on my comment without realizing that I respect the work and knowledge represented by such an achievement, but this is just real-talk from 15 years in the trenches. I have no college degree and am probably more marketable simply due to my wide experience in various industries and projects. That is sad but true and maybe indicative of the funked up system we inhabit.

<comment><USER8> Everything you said is very true from what I've seen.

I would suggest against a PhD in CS right now unless you know exactly where you want to work and that they require that kind of degree, or if you want to be a teacher then a PhD is very valuable. I need stuff that works and fast, not to re-invent the wheel by using outdated techniques your professors taught you.

A masters degree is probably the best higher education in this field. For programming it's all about ability, work-ethic, and long term relationships with the company, because you are an investment as an employee.

I do consulting and have never had anyone ask me about a degree (I have a degree in a completely unrelated field), I don't even give out a resume and would not hesitate to tell a potential client to piss off just because of the huge amount of work available for someone who can create value for a company.

<comment><USER11> >I need stuff that works and fast, not to re-invent the wheel by using outdated techniques your professors taught you.

It seems you have a very wrong idea of what PhD training is. It isn't about any outdated techniques, unless you call science outdated. PhDs is about doing research and writing scientific articles and presentations documenting that research. Everything else is a side effect.

<comment><USER14> Except you've been studying this very narrow topic for 6 years and spending all your time on it. Any technique you're using is most likely very specialised to that topic or something you learnt in either masters or undergrad.

Whereas someone in the industry has been developing their generalist skills and keeping up with current technology.

<comment><USER15> "Except you've been studying this very narrow topic for 6 years and spending all your time on it. Any technique you're using is most likely very specialised to that topic or something you learnt in either masters or undergrad. Whereas someone in the industry has been developing their generalist skills and keeping up with current technology."

True. Although if you can complete a phd at Stanford you almost certainly have the ability and drive to get to senior developer level within a year or two in industry. But when it comes down to it most companies don't hire for who you will be or who you can become but for your current skills and abilities.

Which is ok, but don't then turn around and complain about a skills shortage. And don't complain that employees have very little loyalty. And don't complain when you have to pay $150-$300/hr for experienced developers with expertise in your specific stack.

</comment></comment></comment></comment></comment></comment><comment><USER16> Sadly there is hardly any correlation between your PhD skills and interview skills...once you get to the interview, all the previous stuff is out. Only how you handle the interview matters. Not saying this is optimal, but thats the brutal truth.

So if you go in thinking you will impress anyone with your credentials, you will be humbled. Learning to interview in relevance to today's practices is often skipped over - and people are stunned that their brilliance was not recognized. If you spend 10+ years getting a top class education, might as well spend an extra 6 months understanding the interview stuff too.

</comment><comment><USER17> I think the problem with getting a PhD is that a) You spend so much time in school that you'd expect a high position job the moment you apply and b) No employer is going to give it to you because education != industry. Also in Chand John's personal case, I get the feeling from reading his essay that he's a little bit too arrogant and that this might have turned employers away. For example:

"Imagine you're a brand-new Porsche in 2011. You're sitting in a dealership, being test-driven by many enamored consumers but never purchased. Later you hear that the 2011 Toyota Camry outsold the Lexus 1.5 to 1, the Cadillac 2 to 1, and the Porsche 10 to 1. You ask yourself: Was it worth being an impressive, expensive car, if no one ever buys you?

That ironic situation is very real for many Ph.D.'s. I faced it myself after getting my master's and doctorate in computer science from Stanford University, where I built software that revolutionized the study of human movement, became an early expert and core developer of software featured in Scientific American, and was one of four Ph.D.'s chosen from Stanford's engineering school for a research award.

...

It was like being a chameleon and trying to get jobs where you had to be red, blue, or black. Yes, you're capable of becoming any of those colors, but companies would rather hire animals that already were those specific colors. My unusual Ph.D.—in contrast to my professors' beliefs—severely limited my career options in industry, despite my software background and my Stanford computer-science degrees (which are widely considered synonymous with wild success in Silicon Valley's tech scene).

...

So we have today's employment climate. At one end, companies hire whoever can get the job done, like consumers buying reliable, affordable sedans. At the other end, universities, including deeply industry-savvy ones like Stanford, pump out Ph.D.'s who, like luxury cars, are too specialized and expensive for most employers."

</comment><comment><USER18> It's breathtaking how out of touch academia is with the real world job market. No one is going to hire a Phd just to code. By getting a Phd you've basically narrowed your potential job space down to literally a few dozen spots.

<comment><USER19> > By getting a Phd you've basically narrowed your potential job space down to > literally a few dozen spots.

No you haven't. The job market is just as open. What I think you mean is "PhD's want jobs which are rarely available".

<comment><USER20> Or perhaps "academia prepares them for jobs which are rarely available?"

</comment></comment></comment><comment><USER21> A better title would be, "Why can't you find a job you _want_ with a ___________ computer science PhD?"

You can most certainly find a programming job with a PhD. They're literally everywhere

</comment><comment><USER22> tl:dr version - companies hire software developers to solve business problems, not to write software. Most of the time, good enough is all is takes. You do not need PhDs working on your corp software to get good enough.

I think that one of the main point here may be being lost.

Most of the arguments I read here argue the point from the programmer's perspective.

What is the employer's perspective? They hold most of, if not, all the cards? And the story is about employers not acting to tap a resource (this PhD) that clearly should be valuable to them.

Businesses hire programmers to write software to solve business problems. In most cases, these business problems are operational in nature - <USER2> information to run a process.

Writing software for software's sake is not the primary objective of most businesses.

This means that most businesses are more than happy with good enough.

Systems do not have to be especially robust, they just have to be good enough to run business operations.

In the case of companies like Google (whose primary business objective is to sell ads so as to make money), the software is complicated because they way they sell ads is complicated. The software has to be robust because it is used by many users simultaneously, is run on multiple machines at the same time (for many definitions of machine from Google Glass to phones to desktops to tablets to Nest thermostats) and needs to be integrated across all of this in a way that makes the whole much greater than the sum of its parts by many many software developers (PhD. or not).

This need for a complex set of systems to function in a fast and reliable way is the reason that coding quality is a key issue at play.

Software is the primary asset for these orgs that allows them to make money and they manage it carefully and spend big money on it.

In hospitals, it is staff, equipment and drugs - that is where the money goes.

In schools, it is meant to be teachers (and kids) but we have that one wrong.

For most other businesses, there is some other asset that is key to success and the money will always go there, not to software. Businesses typically make the decision to have just good enough for software to run ops especially if this software is running on in house systems for use by staff.

</comment><comment><USER23> Imagine you're preparing for an interview with a guy who's applying for a product management job and compares himself with a Porsche. You go to LinkedIn and click the 'personal website' link.

[http://unusualinsights.com](http://unusualinsights.com)

<comment><USER24> I'm sorry, I'm missing the point.

</comment></comment><comment><USER25> I have a CS masters from Stanford. I work for Google, and other top tech companies frequently make it clear they'd be happy to have me too. I don't think finding out I had a PhD would cause any of them to change their minds.

<comment><USER26> PhD student here. A legitimate, but seemingly snarky question: is your job at Google something exciting, challenging, or is it more or less standard engineering?

(From your reply I assume that you're a recent hire at Google with not much prior work experience; I can easily imagine people with several years of expertise _can_ do exciting stuff at Google.)

Being in my first year on my PhD, I have friends that have been recently accepted to companies such as Google or Microsoft. Unfortunately, their work there does not sound exciting to a person that has fun working on an intellectual challenge (which I believe many PhDs do, but not only PhDs -- for instance, people loving programming contests do so too).

To give a few examples:

* I've heard of a guy that was one of the smartest when it came to the programming contests; he ended up working for Google on the frontend of their site, I think.

* One of my friends got hired by Microsoft; his work is mostly developing code for Skype text servers. Soon he and his group will be given the task of porting it from C++ (a non-MS technology) into C#/Azure. That also doesn't sound very exciting.

* Another of my friends got hired by Google into a Site Reliability Engineer position. That might be challenging (and very stressful), but I expect more time-critical fixes than intellectual challanges.

\---

That's pretty much my reason for doing a PhD -- low pay, but challenging.

<comment><USER27> " __One of my friends got hired by Microsoft; his work is mostly developing code for Skype text servers. Soon he and his group will be given the task of porting it from C++ (a non-MS technology) into C# /Azure. That also doesn't sound very exciting. _" "_That's pretty much my reason for doing a PhD -- low pay, but challenging.*"

Be prepared to have your bubble burst, badly. Industry is hardly ever like what you'd find "exciting", and even when it is, the odds aren't likely that it'll be given to a "PHD" student, but rather the company favorite. i.e. The person that plays politics better than you.

<comment><USER28> Wow, really?

I left a PhD program to go into industry. I get to work on way more fascinating things in industry than I ever would have in academia. I also get to work on lots of _different_ interesting things, rather than focusing entirely in one narrow field. Generally, my advice to PhD students considering working in industry is "if you've identified one specific problem that you want to devote years to, then academia may be for you. If you want to have a constant flow of challenging problems and don't particularly care about sticking to one narrow field, industry may be a better fit for you."

My experience is that the incentives in industry are aligned so that it's nearly impossible to succeed without having broad interests that allow you to have impact on multiple projects. Incentives in academia are aligned so that it's nearly impossible to succeed without being able to focus almost single- mindedly on one specific area and churn out the publications; there isn't much time for exploration until you get tenure, at least.

Maybe I've just been lucky, though?

</comment></comment></comment></comment><comment><USER29> Keep it simple!

Moving from academics to industry can be difficult. My experience: several of my applications were rejected even though I considered me as a perfect match. I analyzed my resume and suspected, there was too much academical stuff in it. I deleted most of my research work from the resume and kept only "down-to- earth-stuff". Same strategy in the interviews. And voila, within no time got a bunch of offers for really great industry jobs.

</comment><comment><USER30> His article starts with "Imagine you are a brand new Porsche". When I interview a person who thinks of himself as a brand new Porsche, no matter how much I try to compensate for my knee-jerk reaction, i most likely raise the bar significantly. If you come in with an attitude like that, you will have to really cruise through the interview.

<comment><USER5> Well, it's more like "Imagine that you just finished working your ass off for a half decade, and are finally looking to reap the rewards." It's a normal human response to want to see a quick reward after having spent so much time in research.

<comment><USER31> see "Imagine that you just finished working your ass off for a half decade, and are finally looking to reap the rewards." suggests "I worked hard" vs "imagine you are a porsche" exhibits "I am just way way better than the rest of you".

The first statement is just about the guy himself and what he did. It does not present a comparison. The second one comes off as arrogant

</comment></comment></comment><comment><USER32> When I see a resume that reads like a CV, heavy on publications, light on experience, as an interviewer it gives me pause, because it will be harder for the candidate to demonstrate the skill set that I need to see.

Harder but not impossible or unusual

<comment><USER31> I am a little confused, i thought the current industry placed projects > places you have worked, hence the entire fuss about github profiles

</comment></comment><comment><USER33> Odd that he couldn't play up his open source code more. Grad school is a great place to build up your portfolio of code.

<comment><USER34> Nobody cares about open source code, unless it made you famous in some niche.</comment></comment>


BBC - Einstein and Eddington - <AUTHOR> http://www.bbc.co.uk/iplayer/episode/b00ft62c <comment><AUTHOR> Unless you live in the UK, grab foxy proxy for firefox to get access to this very solid show.</comment>


Enterprise to soon rent out electrical vehicles - <AUTHOR> http://www.enterpriseholdings.com/press_room/PressReleaseDetail.aspx?ReleaseID=371

<comment><AUTHOR> I think this is fantastic because it means people can try them and assure that they actually work without having to take the big leap of buying one. Something you might only otherwise be able to do if you're Jay Leno rich.

Way to go Enterprise!

Also, with Enterprise buy 7% of all new cars in America; them showing this kind of initiative is very welcomed from a environmental point of view.</comment>


Next time you are bored, read one of these - <AUTHOR> http://citeseerx.ist.psu.edu/stats/articles?y=2008 I just found citeseerx (a citation counter for computer science papers).
I wish i had more time to beef up my CS background knowledge -- I think this might be a good place to start ;) <comment><USER2> Heh, I didn't know the original paper of Aspect Oriented Programming has the examples in Common Lisp :-)

[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.115....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.115.8660)

Kiczales et al.</comment>


Marten Mickos: Open Source Needs To Have An Unfair Advantage To Succeed - <AUTHOR> http://www.computerworlduk.com/community/blogs/index.cfm?entryid=3048&blogid=41&utm_source=reddit&utm_medium=sb&utm_content=schapman&utm_campaign=sb&utm_source=ycombinator&utm_medium=sb&utm_content=schapman&utm_campaign=sb <comment><USER2> I take exception to the term "unfair" here. It's an incredibly ambiguous term, and he seems to be using it to mean "added features that aren't really open source, which allow people to make money off of their work." In what world is this unfair? He then goes on to say how the open source guys have taken open projects with closed components (web service based? Not familiar with the examples given) and made them purely open. After reading the whole thing, I can't help but feel like I missed the point; is he for this sort of thing (seems unlikely, since he's using the term "unfair"), against it, or trying to make some sort of argument in the middle?

<comment><USER3> He's pointing out that you can't make money providing something that isn't scarce. So, because lack of scarcity is a good thing, we want to see more kinds of businesses that work by bundling a little bit of scarce stuff with a lot of non-scarce stuff. Such as for example this "open core" stuff and what Red hat does, but we also need some new ways just for variety.

</comment></comment><comment><USER4> Even if it were true, last I checked a lot of industries receive "unfair" advantages in the form of government subsidies.</comment>


Can we improve products by making them less efficient? - <AUTHOR> <comment><USER2> You forgot the URL. Try submitting again.</comment>


In New Office Designs, Room to Roam and to Think - <AUTHOR> http://www.nytimes.com/2012/03/18/business/new-office-designs-offer-room-to-roam-and-to-think.html

<comment><USER2> I'm pleased to see that designers and architects show awareness of privacy.

> _"You have spaces where you go and seek refuge," says Eric LeVine, an NBBJ > architect. "Or you hunker down at your desk, maybe you put your headphones > on, and people will know to leave you alone."_

> _Brent Rogers, another architect at the company, adds: "If someone's wanting > privacy, they're sending out signals that tell you. You become more > sensitive to body language in an open office environment."_

Open environments can be hard for some people.

I've recently seen two products that attempt to give little bit of noise insulation and privacy. In my opinion they'd fail pretty hard in a real office, not least because you couldn't get big monitors in them.

(<http://www.studio-kg.com/deskshell/>)

(<https://shop.ligne-roset.co.uk/store/540-p-rewrite-desk.html>)

(That last one, at £1771.00 or $2813.05 U.S. is too expensive.)

</comment><comment><USER3> and the 'open' office design debate continues...... Noted there are no developers in any of these so-called office scenarios...maybe a mention or two of a 'type of work' that needed more concentration and 'noise cancelling headphones'. IMO the open office concept push that's been on and off for years is no good overall other than a perception that it's great and helps productivity.</comment>


Computational REST: A New Model for Decentralized, Internet-Scale Applications - <AUTHOR> http://www.erenkrantz.com/CREST/ <comment><USER2> I'm sure this is brilliant, but it's wrapped in so much fancy thesis-speak that I can't tell what they are actually trying to say.

TL;DR</comment>


Redis Sentinel beta released - <AUTHOR> http://antirez.com/post/redis-sentinel-beta-released.html

<comment><USER2> Redis has been working here on a high traffic site without any trouble for more than a year. Excellent software. The only software I might think that's bug free, due to the attitude of @antirez.

<comment><USER3> This thread will likely get a million "us too" style posts but Redis is core infrastructure at Shopify. It's been so solid that we recently waived our defensive requirements that the app remains working if Redis goes down. This allowed us to port our inventory reservation system (a huge point of potential lock contention) completely to the new server sided LUA scripts. We have seen a full order of magnitude speed increase from this. A reservation for a complicated order is now measured in µs instead of ms.

<comment><USER4> I love it that you're doing it in Lua. Can you tell us more about it?

<comment><USER5> Redis now lets you write extensions in Lua so it's not unusual. It would be interesting to hear more about though.

</comment></comment></comment></comment><comment><USER6> Hey Antirez, the link to hires in the announcement is broken. Replace "anirez" with "antirez".

<comment><USER7> thanks, fixed now.

</comment></comment><comment><USER8> Thanks Antirez, could you share more insight on TILT mode? Any other alternative approaches you considered? Why use a value of 30 seconds to leave TILT mode? If the time has shifted is it likely ever to be correct thereafter?

<comment><USER7> Hello, basically 30 seconds is exit time _only_ if no other time shifts are detected, otherwise we set again the exit to now+30sec, and so forth.

30 seconds is set as 3 times the biggest period we have in info collection (INFO itself is sampled every 10 seconds, while PING is every 1 second), so that if there was a problem with the timer, in 30 seconds we are sure the new state will get new readings for every kind of request and information we collect, so when the TILT mode is exited, and the function to evaluate the state is called again, it should see clean values.

Note that from the point of view of Sentinel it is ok that the new time is wrong compared to what the real time is, we never use the absolute time. All we need is that we have a computer clock that more or less advances regularly.

</comment></comment><comment><USER9> I think this can also be used as monitoring & notification for other services as well in cluster & not just Redis instances !!

<comment><USER10> I imagine there is some overlap in parts of the logic for Sentinel and repmgr (a similar tool for PostgreSQL). For example, checking to see if members of the cluster are in-service, and choosing a new master in the event of a failover.

I would love to see a generic tool for handing the clustering/failover problem.

<comment><USER7> It's true there is some overlap, but also Sentinel uses things that are specific of Redis. For instance for us two things are crucial:

1) The ability to use the master as a message bus to auto-discover things. This is possible because every Redis instance is also a Pub/Sub server.

2) The idea that after every restart of every Redis instance we have a "runid" that changes.

And in general the logic of the failover itself, the fact that the failure detection is precise (some specific reply codes are considered in a way, some others in another way), makes a non specific solution much harder to implement with the "methods" to perform the service-specific tasks that may end to be complex, or sometimes forces to completely change the logic of the system (lack of Pub/Sub).

</comment></comment></comment><comment><USER11> Can anyone comment if this criticism is valid?

"In which monitoring agents rely upon correct, truthful, answers about cluster state from the system they're monitoring"

Original: <https://twitter.com/cscotta/status/227515068030537728>

<comment><USER7> It is not :) Just replied:

"@cscotta Hi, you misunderstood how it works: Pub/Sub is only used for discovery on startup. Sentinel-to-sentinel p2p for critical stuff."

Pub/Sub is used to make the configuration simpler when you start a Sentinel cluster at a cold time when everything is working and your master is ok.

This allows us to auto-discover the other Sentinels, to check the slaves, and so forth.

Instead in order to understand if a system is down, who is the Sentinel that performs the failover, and for all the critical stuff, Sentinel to Sentinel messages are used without caring if the master Pub/Sub works.

</comment></comment><comment><USER12> > a known bug in the hiredis library that can make Sentinel crash from time to > time, but it's not a problem with Sentinel itself

Surely if a bug in a client can crash your server that's a bug in the server by definition even if the client is also buggy?

<comment><USER7> Sorry I was not clear. Sentinel uses the hiredis C library itself in order to talk with other Redis instances. A bug in the C library crashes the library and the process it is running into.

<comment><USER12> Ah, I see. That makes sense. Thanks.

</comment></comment></comment><comment><USER13> I've written a little experimental python client that connects to a sentinel and keeps an image of the state of the monitored cluster as it changes. <http://bit.ly/NNrQdI>

</comment><comment><USER14> The boldface isn't showing up correctly for me. Viewing on Chromium.

</comment><comment><USER15> That sounds sweet. Congrats. Redis has been of great use to me.</comment>


BigCommerce raises $64M to power e-commerce sites - <AUTHOR> https://techcrunch.com/2018/04/25/bigcommerce-raises-64-million-to-build-e-commerce-sites/ <comment><USER2> I don't understand how companies like Big Commerce and WP Engine, which have raised hundreds of millions of dollars and have 10's of thousands of business customers are "growth stage startups." I don't understand how they are startups at all. They are businesses. Is the fact that they are unprofitable the thing that makes them startups?

<comment><USER3> For what it's worth WP Engine didn't raise "hundreds of millions of dollars." Their most recent round was a PE deal that resulted in the investor taking a controlling interest in the company. Most of the $250 million figure went to buying out option holders.

I worked there for 2.5 years (a great experience) and it mostly felt like a mature business rather than a growth stage startup.

<comment><USER2> I worked there too back when it actually was a growth stage startup. What you say only further proves the point: I don't understand how it is a "startup" when there is no exit left for founders and employees. Their exit pretty much happened already.

</comment></comment></comment><comment><USER4> I haven't tried Shopify for a real shop, neither have I Big Commerce or any other e-commerce engine. There're downsides to such engines one of them being is that they're not completely customizable a way you may want to. And I simply have built my e-shop engine, by myself and from scratch.

Shopify looks decent, I let my inspiration come from it.

</comment><comment><USER5> I've never had a worse webdev experience than attempting to create a BigCommerce theme. There are hundreds of theme files, and a maddeningly incomplete and inconsistent templating tag system.

I was so jealous (as I was creating hundreds of duplicative templates) of Shopify and their Liquid templating language.

I now hate BigCommerce for being so hard to work with.

</comment><comment><USER6> It looks like BigCommerce offers single sign on for customer accounts[0], which Shopify charges an outrageous $2K/month to turn on with their Plus plan. Does anyone know what tier of BC supports SSO?

[0][https://www.bigcommerce.com/login-api/](https://www.bigcommerce.com/login- api/)

<comment><USER7> That particular feature (or, API endpoint) isn't something that's restricted by plan or tier on BigCommerce.

It does work slightly differently in terms of functionality to what Shopify call Multipass, which is probably worth calling out. Ultimately you can accomplish the same functionality (on the fly account creation, address management, and SSO based login) with a few calls to the customer API endpoint.

We talk more about the API endpoint here: [https://developer.bigcommerce.com/api/v2/#customer-login- api](https://developer.bigcommerce.com/api/v2/#customer-login-api)

[Disclosure: I work on various infrastructure related things at BigCommerce]

<comment><USER6> Thanks! Any chance you know of a sample static React frontend example for BigCommerce? It looks like it should be possible to use the API to bypass the BigCommerce templating and just make a conventional static React site with BigCommerce API backinng it. I've done this for Shopify sites (painful but mostly possible) and am thinking about porting the sites to BigCommerce because I don't want to pay Shopify $2K/mo/store just to get SSO. It's not a huge deal for me if there's no boilerplate on how to do this, unless you think there's some core thing that I couldn't in principle pull off over the API.

</comment></comment></comment><comment><USER8> Big congrats to BigCommerce. I absolutely hate Shopify and any alternative to them is a good thing in my book.

I did try BigCommerce, but there were many issue with them. The software was very slow, and the app ecosystem was rather incomplete. From what I understand from talking to one developer, they weren't able to dependibly connect to the API without throttling or losing connection.

I don't really know if BC is a viable alternative to Shopify, but the e-commerce space is very much unsolved. No other industry in the world would tolerate Shopify, Solid Commerce, Channel Advisor, and Megento, and so on, as their top platforms. It's a sad mess of uninformed companies attempting to build for an industry they have zero knowledge of, and the sellers are squeezed dry for systems with broken and missing features.

<comment><USER9> What frustrates you about Shopify that you wish could be better?

<comment><USER10> One of the worst and most indicative things about the Shopify developer ecosystem is that there is no first-class support for source control - of any type - in Shopify's online theme editing system. It is expected that if you wish to integrate any nontrivial application, you'll give access to your full admin panel to low-paid, marginally-English-speaking integration techs at the app developers, and they will _edit your live theme code_. Woe to anyone trying to integrate two such applications at once - what usually happens is one app's devs will give up mid process due to the interference of the other, and leave you high and dry. I've had to "rescue" botched integrations by pulling down historical theme versions, manually diffing them, and retroactively committing changes into an offline Git repository just to make sense of who touched what.

It's impossible to customize the information collected at checkout, including structured shipping instructions, so there are various hacks around doing this on the cart page. It's impossible to customize pricing for certain classes of logged in users, beyond simple discounts that wreak havoc on your accountants trying to get effective line item prices into their systems. Adding structured data to any objects requires parsing description text _in the template language_ and makes you wish you had the flexibility of the Salesforce API... and just typing that sentence makes me shudder.

For those without the training or resources to build a full-stack modern website, Shopify is far better than the alternative of adding shopping cart widgets to Wordpress or Squarespace. But it's far from perfect, and its capabilities as a frontend platform have stagnated: [https://developers.shopify.com/api- changelog](https://developers.shopify.com/api-changelog) . Knowing what I know now, I'd recommend that anyone with full-stack experience jump directly to [https://spreecommerce.org/](https://spreecommerce.org/) or [http://getsaleor.com/](http://getsaleor.com/) \- a higher learning curve, but when you inevitably hit the ceiling of Shopify's capabilities you'll wish you'd used one of those.

<comment><USER11> just use shopify slate and github

<comment><USER10> We already do for our core theme development... but I have never seen an app integration team be willing to use anything other than the native interface.

</comment></comment></comment></comment></comment><comment><USER12> This is good news for Austin tech ecosystem. BigCommerce is a pretty big player here. Is it true that they are unprofitable? The article didn't dig into those details. A company may need capital in order to maintain growth rates and hire more talent rapidly and yet still generating some profits.

</comment><comment><USER13> How does BigCommerce stack up against Shopify? They seem to offer very similar products

<comment><USER14> BigCommerce ships with a lot more features for B2B and enterprise out of the box, than Shopify.

To get a Shopify store configured to the B2B & enterprise features of BigCommerce you need a fair amount of 3rd party apps, bubblegum and duct tape

<comment><AUTHOR> Actually if you want a serious B2B tool set Shopify wants you to get ShopifyPlus thats 2000 per month, 12 months upfront and no free trial.

<comment><USER14> I love Shopify and Shopify Plus, have worked with their team very closely on many large re-platform projects and I have to say for B2B it is getting there, very slowly, but still miles away from being B2B enterprise-ready without a significant amount of custom build work, hacks, apps and workarounds.

There are so many issues with Shopify Plus for B2B use cases that it's hard to recommend unless the store is very simplistic.</comment></comment></comment></comment>


One in ten people never delete emails, are you an email hoarder? - <AUTHOR> http://www.winbeta.org/news/one-ten-people-never-delete-emails-are-you-email-hoarder#.T2U7mlLl-gk.hackernews <comment><USER2> When you delete your trash in Gmail the following message appears when all the trash messages have been removed.

"Who needs to delete when you have so much storage?!"

I saw this message the first day I started using Gmail back when invites were selling for $50 a pop on Ebay. I guess I continued to follow that idea.

It does seem pointless to delete messages. Being able to access old messages is helpful. However, I find that I rarely have to access messages which are more than a few months old unless I have a project which has been going that long.

I suppose there are better methods to organize important information than just leaving things in email for later access, though Gmail search is damn good.

<comment><USER3> I thought the same but in my experience, I've rarely, if ever, had the need to search for email. When I did (super rare), I found that the search function in gmail was mostly busted. Sometimes it would omit results for email that is clearly there that match specific queries or filters. I'd have to try several different methods and even manually going back at times to get the email in question. In the end, having it overloaded with email was more of a pain for those instances where I needed to find a specific email.

Sometime towards the end of last year, I decided to wipe my entire email record (which was a lot) and start from a clean slate. Since then, I made an effort to delete any unimportant emails instantly, file the important ones I think I may need to keep, and tag temp emails that needs to be there but would be deleted once they serve their purpose (for example, online orders for items shipped).

For several months now, I've managed to keep my entire email account under 50 emails. It makes managing it much easier and great for emails I would need. This of course is base on my habits. I never really have a need to pull up the majority of old emails and leaving it there is just unnecessary clutter (personal opinion).

<comment><USER2> This is the direction I would like to go when I get the time to do it. Probably I will first do a backup of all my messages and setup some sort of searchable archive for them. Then delete all new messages, but saving to a different format anything which I believe will be important for the future.

Another issue which has prompted me to think in this direction is the change in information handling by Google. It may not be better or worse than before, but it still got me thinking about keeping my email well pruned.

</comment></comment></comment><comment><USER4> With Gmail I don't really see any point. "Archive" is easier. Besides, it's handy to pull up conversations from several years ago ("I didn't tell you to do X!" "Yes you did, on January 7, 2007" etc) to dig up information you or other people have lost. I lean on e-mails of over a year old at least a few times a week.

</comment><comment><USER5> People who never delete (incoming) emails could just be lawyers. The lawyers' saying is, "Never discard a letter from anyone. Never write a letter to anyone." In other words, watch other people's on-record words and try not to leave any of your own.

<comment><USER6> Are these the same lawyers who advise companies to have a retention policy which throws away all documents more than 90 days old? I speak here specifically of JWZ's description of Mozilla's internal policies at <http://www.jwz.org/gruntle/rbarip.html> .

Ahh, I understand. Your 'anyone' is 'anyone outside the company."</comment></comment>